@charset "UTF-8";
/** Montserrat ExtraBold **/
@font-face {
  font-family: "Montserrat";
  font-weight: 800;
  font-style: normal;
  src: url("../fonts/Montserrat-ExtraBold.woff2") format("woff2"), url("../fonts/Montserrat-ExtraBold.woff") format("woff");
}
/** Montserrat SemiBold **/
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: normal;
  src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2"), url("../fonts/Montserrat-SemiBold.woff") format("woff");
}
/** Work Sans Regular **/
@font-face {
  font-family: "Work Sans";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/WorkSans-Regular.ttf") format("truetype");
}
/** Work Sans SemiBold **/
@font-face {
  font-family: "Work Sans";
  font-weight: 600;
  font-style: normal;
  src: url("../fonts/WorkSans-SemiBold.ttf") format("truetype");
}
/** OoohBaby Regular **/
@font-face {
  font-family: "Oooh Baby";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/OoohBaby-Regular.ttf") format("truetype");
}
:root {
  --white: white;
  --black: black;
  --text-main: #1d0057;
  --text-contrast: #8C52FF;
  --text-contrast-light: #BBB1F1;
  --text-light: #f2efff;
  --selection-color: #8C52FF;
  --selection-bkg: #EFECFF;
  --background-main: white;
  --background-darker: #0B001F;
  --background-dark: #1d0057;
  --background-contrast: #8C52FF;
  --background-contrast-light: #b4a3f3;
  --background-light: #f2efff;
  --background-detail: #EFECFF;
  --stroke-dark: #1d0057;
  --stroke-contrast: #8C52FF;
  --stroke-contrast-light: #b4a3f3;
  --stroke: #BBB1F1;
  --stroke-light: #f2efff;
  --stroke-detail: rgba(187, 177, 241, 0.15);
  --alert: #ed3965;
  --alert-light: #fcdde4;
  --succeed: #4aac91;
  --succeed-light: #d5ede6;
  --font-family: "Work Sans", helvetica, arial, sans-serif;
  --font-size-xxl: 2.1rem;
  --font-size-xl: 2.1rem;
  --font-size-lg: 1.8rem;
  --font-size-md: 1.8rem;
  --font-size-sm: 1.6rem;
  --font-size-xs: 1.6rem;
  --font-size-xxs: 1.6rem;
  --font-size: 1.4rem;
  --font-family-hand: "Oooh Baby", cursive;
  --font-family-title: "Montserrat", helvetica, arial, sans-serif;
  --font-size-legend: 2.4rem;
  --columns: 12;
  --gut: 0.8rem;
  --gap: 2.4rem;
  --grid-margin: 0.8rem;
  --border-radius-xxs: 0.4rem;
  --border-radius-xs: 0.8rem;
  --border-radius-sm: 1.2rem;
  --border-radius-md: 1.6rem;
  --z-content: 0;
  --z-widget: 50;
  --z-header: 100;
  --z-nav: 150;
  --z-logo: 200;
  --z-dialog: 300;
  --z-guids: 2000;
  --header-height: 7.2rem;
  --t-property: all;
  --t-easing: cubic-bezier(0.65, 0.17, 0, 1);
  --t-duration: 0.32s;
  --t-main: all 0.32s cubic-bezier(0.65, 0.17, 0, 1);
}
@media screen and ( min-width: 24.375em ) {
  :root {
    --font-size-xxl: 2.4rem;
    --font-size: 1.5rem;
  }
}
@media screen and ( min-width: 40em ) {
  :root {
    --font-size-xxl: 3.2rem;
    --font-size-xl: 2.4rem;
    --font-size-lg: 2.1rem;
    --font-size: 1.6rem;
  }
}
@media screen and ( min-width: 48em ) {
  :root {
    --font-size-xxl: 4rem;
    --font-size-xl: 3.2rem;
    --font-size-lg: 2.4rem;
    --font-size-md: 2.1rem;
    --font-size-sm: 1.8rem;
  }
}
@media screen and ( min-width: 80em ) {
  :root {
    --font-size-xxl: 4.8rem;
    --font-size-xl: 4rem;
    --font-size-lg: 3.2rem;
    --font-size-md: 2.4rem;
    --font-size-sm: 2.1rem;
    --font-size-xs: 1.8rem;
  }
}
@media screen and ( min-width: 85.375em ) {
  :root {
    --font-size-xxl: 5.6rem;
    --font-size-xl: 4.8rem;
    --font-size-lg: 4rem;
    --font-size-md: 3.2rem;
    --font-size-sm: 2.4rem;
    --font-size-xs: 2.1rem;
    --font-size-xxs: 1.8rem;
    --font-size-legend: 4rem;
  }
}
@media screen and ( min-width: 64em ) {
  :root {
    --font-size-legend: 3.2rem;
  }
}
@media screen and ( min-width: 26.75em ) {
  :root {
    --grid-margin: 3.2rem;
  }
}
@media screen and ( min-width: 48em ) {
  :root {
    --header-height: 9.6rem;
  }
}
@media screen and ( min-width: 64em ) {
  :root {
    --grid-margin: 4.8rem;
    --gap: 3.2rem;
    --header-height: 12rem;
  }
}
@media screen and ( min-width: 85.375em ) {
  :root {
    --grid-margin: 9.6rem;
    --gap: 4rem;
  }
}
/***
    The new CSS reset - version 1.7.3 (last updated 7.8.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *, path, clipPath)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
  -webkit-tap-highlight-color: transparent;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-width: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

/* reset default text opacity of input placeholder */
::-moz-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}
.guid, .grid-main {
  display: grid;
  grid-template-columns: var(--grid-margin)  repeat(var(--columns) , 1fr) var(--grid-margin) ;
  grid-gap: 0 var(--gap) ;
}

.grid {
  display: grid;
  grid-template-columns: repeat(var(--columns) , 1fr);
  grid-gap: 0 var(--gap) ;
}
.grid:not(.grid--auto) > *:not([class*=start-]) {
  grid-column: 1/-1;
}

.guid {
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 50%;
  z-index: var(--z-guids) ;
  transform: translate(-50%, 0);
}
@media screen and ( min-width: 96.0625em ) {
  .guid {
    max-width: 153.6rem;
  }
}
.guid span {
  display: block;
  width: 100%;
  justify-self: end;
  background: rgba(0, 255, 255, 0.2);
}
.guid:not(.visible) {
  opacity: 0;
}

.flex, .flex-row {
  display: flex;
}

.flex-row {
  margin: 0 calc(var(--gap)  * -0.5);
}
.flex-row > * {
  padding: 0 calc(var(--gap)  * 0.5);
}
.flex-row > *:not([class*=fcol-]) {
  flex: 0 0 100%;
}
.flex-row .flex-row {
  padding-left: 0;
  padding-right: 0;
  margin-right: 0;
}
.flex-row .flex-row:not([class*=fml-]) {
  margin-left: 0;
}
.flex--w {
  flex-wrap: wrap;
}
.flex--h-center {
  justify-content: center;
}
.flex--h-aside {
  justify-content: space-between;
}
.flex--v-center {
  align-items: center;
}
.flex--v-end {
  align-items: flex-end;
}
.flex .first {
  order: -1;
}

.start-1 {
  grid-column-start: 1;
}

.size-1 {
  grid-column-end: span 1;
}

.size-2 {
  grid-column-end: span 2;
}

.start-3 {
  grid-column-start: 3;
}

.size-3 {
  grid-column-end: span 3;
}

.size-6 {
  grid-column-end: span 6;
}

.fcol-8 {
  flex: 0 0 66.6666666667%;
}

 .section--texted.section--right .section-title, .section--texted:not(.section--right) .section-title {
  width: calc( 9 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 8 * var(--gap)  );
}

 .section--texted.section--right .section-blob, .section--texted:not(.section--right) .section-content {
  width: calc( 10 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 9 * var(--gap)  );
}

 .section--texted:not(.section--right) .section-blob {
  width: calc( 11 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 10 * var(--gap)  );
}

.col-12, .section--texted.section--right .section-content {
  width: 100%;
}

.fcol-12 {
  flex: 0 0 100%;
}

.ml-0, .section--texted.section--right .section-content {
  margin-left: 0;
}

 .section--texted:not(.section--right) .section-content {
  margin-left: calc( 1 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 1 * var(--gap)  );
}

 .section--texted:not(.section--right) .section-title {
  margin-left: calc( 3 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 3 * var(--gap)  );
}

.m-auto {
  margin-left: auto;
  margin-right: auto;
}
@media screen and ( min-width: 24.375em ) {
  .col-10-xxs {
    width: calc( 10 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 9 * var(--gap)  );
  }
}
@media screen and ( min-width: 26.75em ) {
  .col-7-xs {
    width: calc( 7 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 6 * var(--gap)  );
  }
  .col-8-xs, .section--texted.section--right .section-title, .section--texted:not(.section--right) .section-title {
    width: calc( 8 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 7 * var(--gap)  );
  }
  .col-9-xs {
    width: calc( 9 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 8 * var(--gap)  );
  }
   .section--texted:not(.section--right) .section-title {
    margin-left: calc( 4 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 4 * var(--gap)  );
  }
  .ml-5-xs {
    margin-left: calc( 5 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 5 * var(--gap)  );
  }
}
@media screen and ( min-width: 40em ) {
  .size-4-xs-mid {
    grid-column-end: span 4;
  }
  .fcol-4-xs-mid {
    flex: 0 0 33.3333333333%;
  }
  .col-6-xs-mid {
    width: calc( 6 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 5 * var(--gap)  );
  }
  .fcol-6-xs-mid {
    flex: 0 0 50%;
  }
   .section--texted.section--right .section-content {
    width: calc( 8 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 7 * var(--gap)  );
  }
}
@media screen and ( min-width: 48em ) {
  .col-6-sm {
    width: calc( 6 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 5 * var(--gap)  );
  }
  .fcol-6-sm {
    flex: 0 0 50%;
  }
  .col-7-sm, .section--texted.section--right .section-blob, .section--texted:not(.section--right) .section-blob {
    width: calc( 7 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 6 * var(--gap)  );
  }
  .col-10-sm {
    width: calc( 10 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 9 * var(--gap)  );
  }
  .col-11-sm {
    width: calc( 11 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 10 * var(--gap)  );
  }
  .ml-1-sm {
    margin-left: calc( 1 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 1 * var(--gap)  );
  }
}
@media screen and ( min-width: 50.625em ) {
  .col-8-sm-mid {
    width: calc( 8 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 7 * var(--gap)  );
  }
  .ml-2-sm-mid {
    margin-left: calc( 2 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 2 * var(--gap)  );
  }
}
@media screen and ( min-width: 64em ) {
  .size-3-md {
    grid-column-end: span 3;
  }
  .fcol-3-md {
    flex: 0 0 25%;
  }
  .fcol-4-md, .blockquote-l::before, .articles-l--line::before {
    flex: 0 0 33.3333333333%;
  }
  .col-5-md {
    width: calc( 5 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 4 * var(--gap)  );
  }
   .section--texted.section--right .section-content, .section--texted:not(.section--right) .section-content {
    width: calc( 6 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 5 * var(--gap)  );
  }
  .col-8-md {
    width: calc( 8 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 7 * var(--gap)  );
  }
  .fcol-8-md {
    flex: 0 0 66.6666666667%;
  }
  .col-10-md {
    width: calc( 10 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 9 * var(--gap)  );
  }
  .ml-1-md, .section--texted.section--right .section-content {
    margin-left: calc( 1 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 1 * var(--gap)  );
  }
  .fml-2-md {
    margin-left: 16.6666666667%;
  }
  .fml-4-md {
    margin-left: 33.3333333333%;
  }
   .section--texted:not(.section--right) .section-content {
    margin-left: calc( 5 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 5 * var(--gap)  );
  }
}
@media screen and ( min-width: 80em ) {
  .col-6-md-mid {
    width: calc( 6 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 5 * var(--gap)  );
  }
  .ml-3-md-mid {
    margin-left: calc( 3 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 3 * var(--gap)  );
  }
}
@media screen and ( min-width: 96em ) {
  .fcol-3-xl, .blockquote-l::before, .articles-l--line::before {
    flex: 0 0 25%;
  }
  .fcol-6-xl {
    flex: 0 0 50%;
  }
}
html,
body {
  background: var(--background-main) ;
  overflow-x: hidden;
}

.main-wrapper {
  max-width: 100%;
  min-height: 100vh;
  grid-template-rows: var(--header-height)  auto auto;
}
@media screen and ( min-width: 96.0625em ) {
  .main-wrapper {
    max-width: 153.6rem;
    margin: 0 auto;
  }
}

.main-content {
  grid-column: 2/-2;
  grid-row: 2/span 1;
  position: relative;
}
.main-content > * {
  grid-column: 1/-1;
}

.main-footer {
  grid-column: 1/-1;
  grid-row: span 1/-1;
}

picture, img {
  display: block;
}
.grecaptcha-badge {
  visibility: hidden;
}
html,
body {
  font-family: var(--font-family) ;
  font-size: 10px;
  line-height: 1.5;
  color: var(--text-main) ;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.main-wrapper {
  font-size: var(--font-size) ;
}

.title-xxs, .title-sm, .title-xl, .title-xxl {
  font-family: var(--font-family-title) ;
  font-weight: 800;
}
.title-xxs + *, .title-sm + *, .title-xl + *, .title-xxl + * {
  margin-top: 1em;
}
@media screen and ( max-width: 47.9375em ) {
  .text--handwrite.title-xxs, .text--handwrite.title-sm, .text--handwrite.title-xl, .text--handwrite.title-xxl {
    font-size: 3.2rem;
  }
}
.text--handwrite.title-xxs span, .text--handwrite.title-sm span, .text--handwrite.title-xl span, .text--handwrite.title-xxl span {
  padding-left: 1.5em;
}
.text--handwrite.title-xxs span::first-letter, .text--handwrite.title-sm span::first-letter, .text--handwrite.title-xl span::first-letter, .text--handwrite.title-xxl span::first-letter {
  margin-left: -1.5em;
}
.text--handwrite.title-xxs span::after, .text--handwrite.title-sm span::after, .text--handwrite.title-xl span::after, .text--handwrite.title-xxl span::after {
  content: ".";
  margin-left: 0.1em;
  color: var(--text-contrast) ;
  -webkit-text-stroke: 0.0535714286em currentColor;
}

.title-xxl {
  font-size: var(--font-size-xxl) ;
}
.title-xl {
  font-size: var(--font-size-xl) ;
}
.title-sm {
  font-size: var(--font-size-sm) ;
}
.title-xxs {
  font-size: var(--font-size-xxs) ;
}
.title--thin {
  font-weight: 600;
}
.title--offset::first-letter {
  margin-left: 0.5em;
}
.title--offset br + span, .title--offset br + mark {
  margin-left: 1.5em;
}

.text-intro {
  font-size: var(--font-size-xxs) ;
}
.text--handwrite {
  font-family: var(--font-family-hand) ;
  font-weight: 400;
  line-height: 1;
  -webkit-text-stroke: 0.0267857143em currentColor;
}
.text--handwrite span {
  display: inline-block;
  transform: rotate(-12deg);
}
.text--handwrite br {
  display: inline-block;
  margin-left: -1rem;
}
.text--right {
  text-align: right;
}
.text--center {
  text-align: center;
}
.text-link {
  color: var(--text-contrast) ;
  border-bottom: 0.1rem solid var(--stroke-contrast) ;
}

::-moz-selection {
  background: var(--selection-bkg) ;
  color: var(--selection-color) ;
  -webkit-text-stroke-color: var(--selection-color) ;
}

::selection {
  background: var(--selection-bkg) ;
  color: var(--selection-color) ;
  -webkit-text-stroke-color: var(--selection-color) ;
}

.highlight {
  color: var(--text-contrast) ;
}
.highlight span {
  display: inline-block;
  white-space: pre;
  position: relative;
  z-index: 2;
}
.highlight span::before {
  display: inline-block;
  content: attr(data-text);
  -webkit-text-stroke: 0.1rem var(--stroke) ;
  color: transparent;
  line-height: inherit;
  position: absolute;
  z-index: -1;
  transform: translate(0.05em, 0.05em);
}

strong {
  font-weight: 600;
}

em {
  font-style: italic;
}

select {
  cursor: pointer;
}

.logo {
  --logo-font-size: 2.4rem;
  font-family: var(--font-family-title) ;
  font-size: var(--logo-font-size) ;
  font-weight: 800;
  text-transform: lowercase;
}
@media screen and ( min-width: 85.4375em ) {
  .logo {
    --logo-font-size: 3.2rem;
  }
}
.logo span {
  pointer-events: none;
  position: relative;
}
.logo span::after {
  content: "";
  display: block;
  width: calc(var(--logo-font-size)  * 0.15);
  height: calc(var(--logo-font-size)  * 0.15);
  border-radius: 100rem;
  background: var(--text-contrast) ;
  position: absolute;
  bottom: calc(var(--logo-font-size)  * 0.24);
  left: 100%;
  transform: translate(25%, 0);
}
.logo--light {
  color: var(--text-light) ;
}

 .btn, .btn-secondary {
  --h-space: 2.4rem;
  --v-space: 0.8rem;
  --h-gap: 1.2rem;
  --btn-color: var(--text-light) ;
  --btn-border: var(--background-contrast) ;
  --btn-background: var(--background-contrast) ;
  --btn-background-hover: var(--background-detail) ;
  --btn-font-size: 1.1rem;
  display: inline-grid;
  min-height: 4.8rem;
  grid-template-columns: var(--h-space)  auto var(--h-space) ;
  grid-template-rows: var(--v-space)  var(--h-gap)  auto var(--h-gap)  var(--v-space) ;
  color: var(--btn-color) ;
  font-size: var(--btn-font-size) ;
  font-weight: 600;
  line-height: 1.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  transition: var(--t-main) ;
}
@media screen and ( min-width: 64em ) {
   .btn, .btn-secondary {
    --btn-font-size: 1.2rem;
  }
}
 .btn span, .btn-secondary span {
  align-self: center;
  grid-column: 2/span 1;
  grid-row: 3/span 1;
  pointer-events: none;
  position: relative;
  z-index: 2;
}
 .btn::before, .btn-secondary::before, .btn::after, .btn-secondary::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100rem;
  pointer-events: none;
  grid-column: 1/-1;
  grid-row: 2/span 3;
  align-self: center;
  justify-self: center;
  transform: translate(0, 0);
  transition: var(--t-main) ;
}
 .btn::after, .btn-secondary::after {
  background: var(--btn-background) ;
  border: 0.1rem solid var(--btn-border) ;
}
 .btn::before, .btn-secondary::before {
  padding: 0.8rem;
  box-sizing: content-box;
  opacity: 0;
  transform: translate(0, 0) scale(0.9);
  background: var(--btn-background-hover) ;
}
 .btn:hover, .btn-secondary:hover {
  transform: scale(1.05);
}
 .btn:hover::before, .btn-secondary:hover::before {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

.btn-arrow {
  display: grid;
  height: 4.8rem;
  grid-template-columns: 4.8rem 2.4rem;
  cursor: pointer;
  position: relative;
}
.btn-arrow .arrow {
  display: block;
  grid-column: span 1/-1;
  align-self: center;
  pointer-events: none;
  position: relative;
  transform: translate(-50%, 0);
}
.btn-arrow .arrow, .btn-arrow .arrow::before {
  transition: all 0.48s var(--t-easing) ;
}
.btn-arrow .arrow::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.1rem;
  box-shadow: 0 0.1rem var(--background-main) ;
  background: var(--stroke-contrast) ;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
}
.btn-arrow .arrow::after {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  box-shadow: 0 0.1rem var(--background-main) ;
  border: 0.1rem solid var(--stroke-contrast) ;
  border-top: 0;
  border-right: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -45%) rotate(45deg);
}
.btn-arrow span {
  display: block;
  width: 1.2rem;
  height: 100%;
  border-radius: 0 0.4rem 0.4rem 0;
  border: 0.1rem solid var(--stroke-light) ;
  border-left: 0;
  pointer-events: none;
  text-indent: -999.9rem;
  position: absolute;
  right: 2.4rem;
  transition: all 0.48s var(--t-easing) ;
}
.btn-arrow span::after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 4.8rem;
  border-radius: 0.4rem 0 0 0.4rem;
  border: 0.1rem solid var(--stroke-light) ;
  border-right: 0;
  position: absolute;
  top: 0;
  right: -0.1rem;
  transform: translate(-100%, -0.1rem);
  transition: all 0.48s var(--t-easing) ;
}
.btn-arrow span::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 4.8rem;
  border: 0.1rem solid var(--stroke-light) ;
  border-left: 0;
  border-right: 0;
  position: absolute;
  top: 0;
  right: 1.1rem;
  transform-origin: right center;
  transform: translate(0, -0.1rem) scale(0, 1);
  transition: all 0.48s var(--t-easing) ;
}
.btn-arrow:hover .arrow {
  transform: translate(-133.3333333333%, 0);
}
.btn-arrow:hover .arrow::before {
  transform: scale(0.8333333333, 1);
}
.btn-arrow:hover span::before, .btn-arrow:hover span::after, .btn-arrow:hover span {
  background: var(--stroke-light) ;
}
.btn-arrow:hover span::before {
  transform: translate(0, -0.1rem) scale(1, 1);
}
.btn-arrow:hover span::after {
  transform: translate(-300%, -0.1rem);
}

.btn-text-arrow {
  display: inline-grid;
  grid-template-columns: auto 4.8rem 1.2rem;
  grid-template-rows: 0.8rem 3.2rem 0.8rem;
  align-items: center;
  color: var(--text-contrast) ;
  font-size: 1.4rem;
  position: relative;
  z-index: 2;
}
.btn-text-arrow > * {
  grid-row: 1/-1;
}
.btn-text-arrow::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 0.1rem;
  background: var(--stroke-contrast) ;
  box-shadow: 0 0.1rem var(--background-main) ;
  grid-column: span 1/-1;
  grid-row: 2/span 1;
  position: relative;
  z-index: 2;
  transform-origin: right center;
  transform: translate(-150%, 0);
  transition: transform 0.48s var(--t-easing) ;
}
.btn-text-arrow::after {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border: 0.1rem solid var(--stroke-contrast) ;
  border-left: 0;
  border-bottom: 0;
  box-shadow: 0.1rem 0 var(--background-main) ;
  grid-column: span 1/-1;
  grid-row: 2/span 1;
  position: relative;
  z-index: 2;
  transform: translate(-2.2rem, 0) rotate(45deg);
  transition: transform 0.48s var(--t-easing) ;
}
.btn-text-arrow:hover::before {
  transform: translate(-111%, 0) scale(0.5, 1);
}
.btn-text-arrow:hover::after {
  transform: translate(-1rem, 0) rotate(45deg);
}
.btn-text-arrow:hover span {
  transform: translate(0, 0);
}
.btn-text-arrow:hover span::after {
  transform: translate(0, 0);
}
.btn-text-arrow span {
  display: block;
  padding-right: 6rem;
  padding-left: 1.2rem;
  isolation: isolate;
  line-height: 3.2rem;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0.6rem;
  grid-column: 1/-1;
  grid-row: 2/span 1;
  position: relative;
  transform: translate(-1.2rem, 0);
  transition: all 0.48s var(--t-easing) ;
}
.btn-text-arrow span::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--background-detail) ;
  border-radius: 0.6rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translate(calc(100% - 3.2rem), 0);
  transition: transform 0.48s var(--t-easing) ;
}

.btn-arrow--right {
  transform: scale(-1, 1);
}

.btn-secondary {
  --btn-background: var(--background-main) ;
  --btn-color: var(--text-contrast) ;
}

.btn-wrapper {
  display: flex;
  flex-wrap: wrap;
  transform: translate(-1em, 0);
}
.btn-wrapper > * {
  margin: 0 1em;
}

* + .btn-wrapper {
  margin-top: 1em;
}

.img-wrapper {
  position: relative;
}
.img-legend {
  font-size: var(--font-size-legend) ;
  color: var(--text-contrast) ;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.icon, .form-info::before {
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url("../img/icons/sprites.svg");
  background-size: 500%;
  pointer-events: none;
}
.icon-user {
  background-position: 0% 0%;
}

.icon-user--w {
  background-position: 0% 50%;
}

.icon-mail {
  background-position: 25% 0%;
}

.icon-mail--w {
  background-position: 25% 50%;
}

.icon-message {
  background-position: 50% 0%;
}

.icon-message--w {
  background-position: 50% 50%;
}

.icon-phone {
  background-position: 75% 0%;
}

.icon-phone--w {
  background-position: 75% 50%;
}

.icon-info, .form-info::before {
  background-position: 100% 0%;
}

.icon-info--w {
  background-position: 100% 50%;
}

.icon-facebook {
  background-position: 0% 25%;
}

.icon-facebook--w {
  background-position: 0% 75%;
}

.icon-instagram {
  background-position: 25% 25%;
}

.icon-instagram--w {
  background-position: 25% 75%;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.form .form-field {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}
@media screen and ( min-width: 48em ) {
  .form .form-field {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.form-field:not([class*="--check"]) {
  display: grid;
  grid-template-columns: 1fr 4.8rem;
  grid-template-rows: 6.4rem;
}
.form-field:not([class*="--check"]) > * {
  grid-row: 1/-1;
}
.form-field:not([class*="--check"]) .icon, .form-field:not([class*="--check"]) .form-info::before {
  width: 4.8rem;
  height: 4.8rem;
  grid-column: span 1/-1;
  transform-origin: center center;
  transform: translate(0, 0.8rem) scale(0.5);
}
.form-field:not([class*="--check"])::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 0.1rem solid var(--stroke) ;
  border-radius: var(--border-radius-xs) ;
  background: var(--background-main) ;
  grid-column: 1/-1;
  grid-row: 1/-1;
  transition: var(--t-main) ;
}
.form-field--select {
  position: relative;
  z-index: 4;
}
.form-field--select::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border: 0.2rem solid var(--stroke-contrast-light) ;
  margin-left: auto;
  margin-right: 2rem;
  border-left: 0;
  border-top: 0;
  grid-column: span 1/-1;
  grid-row: 1/-1;
  align-self: center;
  transform: rotate(45deg);
}
.form-field--select .form-label {
  color: var(--text-contrast-light) ;
  transform: translate(0.4rem, -1rem) scale(0.75);
}
.form-field--text {
  grid-template-rows: auto !important;
}
.form-field--check {
  display: grid;
  min-height: 4.8rem;
  grid-template-columns: 4rem 1fr;
  grid-template-rows: auto;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: center;
}
.form-field--check > * {
  grid-row: 1/-1;
}
.form-field--check .form-input {
  height: 100%;
  grid-column: 1/-1;
  cursor: pointer;
}
.form-field--check .form-label {
  max-height: none;
  padding: 1.2rem 0;
  grid-column: span 1/-1;
}
.form-field--check::before, .form-field--check::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  border: 0.1rem solid var(--stroke) ;
  border-radius: 0.6rem;
  grid-column: 1/span 1;
  grid-row: 1/-1;
  transition: var(--t-main) ;
}
.form-field--check::after {
  opacity: 0;
  background: var(--stroke-contrast-light) ;
  transform: scale(0);
}
.form-label, .form-input, .form-select, .form-text {
  grid-column: 1/-1;
  line-height: 2.4rem;
  transition: var(--t-main) ;
}
.form-input, .form-text {
  padding: 2.8rem 4.8rem 1.2rem 1.6rem;
}
.form-label {
  max-height: 6.4rem;
  padding: 2rem 4.8rem 2rem 1.6rem;
  cursor: pointer;
  transform-origin: left center;
}
.form-input {
  position: relative;
  z-index: 2;
}
.form .form-select {
  padding: 2.8rem 4.8rem 1.2rem 1.6rem;
  grid-column: 1/-1;
  position: relative;
  z-index: 2;
}
.form .form-select-l {
  min-width: 100%;
  grid-column: 1/-1;
  grid-row: span 1/-1 !important;
  padding: 0.4rem 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  z-index: -1;
  transition: opacity 0.32s var(--t-easing) ;
}
.form .form-select-l::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% + 6.4rem);
  box-sizing: content-box;
  padding: 0.8rem;
  border-radius: var(--border-radius-sm) ;
  background: var(--background-detail) ;
  position: absolute;
  bottom: -0.8rem;
  left: -0.8rem;
  z-index: -1;
}
.form .form-select-i {
  padding: 0.4rem 1.2rem;
  cursor: pointer;
  transition: var(--t-main) ;
}
.form .form-select-i:not(.selected):hover {
  color: var(--text-contrast) ;
}
.form-info {
  font-size: 1.4rem;
  position: relative;
  margin-top: 1em;
}
.form-info small {
  display: block;
}
.form-info small,
.form-info dt {
  padding-left: 1.6rem;
}
.form-info::before {
  content: "";
  flex: 0 0 2.4rem;
  transform: scale(1.3333333333);
}
.form-loader {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  border: 0.2rem solid var(--stroke-contrast) ;
  border-left-color: transparent;
  border-radius: 100rem;
  margin-left: 2.4rem;
  animation: spin 0.64s linear infinite;
}
.form sup {
  color: var(--alert) ;
}
.dialog-wrapper {
  --bkg: var(--succeed-light) ;
  --border: var(--succeed) ;
  max-width: calc(100% - 6.4rem);
  padding: 1.6rem 3.2rem;
  position: fixed;
  bottom: 3.2rem;
  left: 3.2rem;
  z-index: var(--z-dialog) ;
}
.dialog-wrapper > * + * {
  margin-left: 2.4rem;
}
.dialog-wrapper .btn {
  --btn-border: var(--succeed) ;
  --btn-background: var(--succeed) ;
  --btn-background-hover: var(--succeed-light) ;
}
.dialog-wrapper::before, .dialog-wrapper::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.dialog-wrapper::before {
  box-sizing: content-box;
  padding: 0.8rem;
  background: var(--bkg) ;
  border-radius: var(--border-radius-sm) ;
  transform: translate(-0.8rem, -0.8rem);
}
.dialog-wrapper::after {
  border: 0.1rem solid var(--border) ;
  border-radius: var(--border-radius-xs) ;
  background: var(--background-main) ;
}
.dialog-wrapper.error {
  --bkg: var(--alert-light) ;
  --border: var(--alert) ;
}
.dialog-wrapper.error .btn {
  --btn-border: var(--alert) ;
  --btn-background: var(--alert) ;
  --btn-background-hover: var(--alert-light) ;
}

.main-header {
  width: 100%;
  height: var(--header-height) ;
  padding: 0 calc(var(--grid-margin)  + var(--gap) );
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-header) ;
  grid-column: 2/-2;
}
@media screen and ( max-width: 64em ) {
  .main-header::before {
    content: "";
    width: calc( 4 * ( 100% - ( var(--grid-margin)  + var(--gap)  ) * 2 - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 3 * var(--gap)  );
    height: calc(100vh - var(--header-height)  - var(--grid-margin)  - var(--gap)  - 0.8rem);
    box-sizing: content-box;
    padding: 0.8rem;
    border-radius: var(--border-radius-sm) ;
    background: var(--background-detail) ;
    position: absolute;
    top: var(--header-height) ;
    right: calc(var(--grid-margin)  + var(--gap) );
    transform: translate(0.8rem, 0);
  }
}
@media screen and ( max-width: 47.9375em ) {
  .main-header::before {
    width: calc(100% - (var(--grid-margin)  + var(--gap) ) * 2);
  }
}
.main-header::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-bottom: 0.1rem solid var(--stroke-detail) ;
  background: rgba(240, 238, 252, 0.85);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  position: absolute;
  top: -2.4rem;
  left: 0;
  z-index: -1;
}
.main-header .logo {
  line-height: var(--header-height) ;
  position: relative;
  z-index: 3;
}
.main-header-btn {
  padding-right: 3.2rem;
  font-family: var(--font-family-title) ;
  text-transform: uppercase;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  position: relative;
  z-index: 3;
}
.main-header-btn:active {
  box-shadow: none !important;
}
.main-header-btn span::after, .main-header-btn::before, .main-header-btn::after {
  content: "";
  display: block;
  width: 2rem;
  height: 0.1rem;
  background: var(--stroke-dark) ;
  position: absolute;
  top: 50%;
  right: 0;
}
.main-header-btn:before {
  transform: translate(0, -0.5rem);
}
.main-header-btn::after {
  transform: translate(0, 0.5rem);
}
.main-header-btn span {
  grid-column: 1/span 1;
  grid-row: 1/-1;
  pointer-events: none;
}
@media screen and ( min-width: 64.0625em ) {
  .main-header-btn {
    display: none;
  }
}
@media screen and ( max-width: 64em ) {
  .main-header-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: calc( 4 * ( 100% - ( var(--grid-margin)  + var(--gap)  ) * 2 - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 3 * var(--gap)  );
    height: calc(100vh - var(--header-height)  - var(--grid-margin)  - var(--gap)  - 0.8rem);
    box-sizing: content-box;
    padding: 0.8rem;
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--border-radius-sm) ;
    position: absolute;
    top: var(--header-height) ;
    right: calc(var(--grid-margin)  + var(--gap) );
    transform: translate(0.8rem, 0);
  }
}
@media screen and ( max-width: 47.9375em ) {
  .main-header-nav {
    width: calc(100% - (var(--grid-margin)  + var(--gap) ) * 2);
    right: auto;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
.main-header-nav-l {
  display: flex;
}
@media screen and ( max-width: 64em ) {
  .main-header-nav-l {
    flex: 0 0 100%;
    flex-wrap: wrap;
  }
}
@media screen and ( min-width: 64.0625em ) {
  .main-header-nav-l {
    height: 100%;
  }
}
@media screen and ( max-width: 64em ) {
  .main-header-nav-i {
    flex: 0 0 100%;
  }
}
@media screen and ( min-width: 64.0625em ) {
  .main-header-nav-i + * {
    margin-left: 4rem;
  }
}
.main-header-nav-i a {
  display: flex;
  height: 100%;
  align-items: center;
  font-size: 1.6rem;
  white-space: nowrap;
  transition: var(--t-main) ;
}
@media screen and ( max-width: 64em ) {
  .main-header-nav-i a {
    justify-content: center;
    padding: 1.2rem;
    position: relative;
    z-index: 2;
  }
  .main-header-nav-i a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 0.1rem solid var(--stroke-contrast) ;
    border-radius: var(--border-radius-xs) ;
    background: var(--background-main) ;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
.main-header-nav-i span {
  pointer-events: none;
  position: relative;
  z-index: 2;
}
.main-header-nav-i span::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.8rem;
  background: var(--background-light) ;
  border-radius: 0.2rem;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  transform-origin: right center;
  transform: translate(0.3125em, 25%) scale(0, 1);
  transition: transform var(--t-duration) var(--t-easing) ;
}
.main-header-nav-i a:hover,
.main-header-nav-i .active {
  color: var(--text-contrast) ;
}
@media screen and ( max-width: 64em ) {
  .main-header-nav-i a:hover::before,
  .main-header-nav-i .active::before {
    opacity: 1;
  }
}
.main-header-nav-i .active span::before {
  transform: translate(0.3125em, 25%) scale(1, 1);
}
.main-header-social-l {
  display: flex;
  justify-content: center;
  flex: 0 0 100%;
  align-self: flex-end;
  box-sizing: content-box;
  padding: 7.2rem 0.8rem 2.4rem 0.8rem;
  overflow: hidden;
  border-radius: var(--border-radius-sm) ;
  position: relative;
  z-index: 2;
  transform: translate(-0.8rem, 0.8rem);
}
@media screen and ( min-width: 64.0625em ) {
  .main-header-social-l {
    display: none;
  }
}
.main-header-social-i {
  font-size: 166.6666666667%;
}
.main-header-social-i span {
  display: none;
}
.main-header-social-blob {
  display: block;
  width: 100%;
  max-width: 36rem;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, 0);
}
.main-header-social-blob .blob-first {
  fill: var(--stroke) ;
}
.main-header-social-blob .blob-second {
  fill: var(--background-contrast) ;
}
.main-header-social-blob svg {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: center top;
  transform: scale(2, 1);
}

.section + * {
  margin-top: 8em;
}
@media screen and ( min-width: 64em ) {
  .section + * {
    margin-top: 10em;
  }
}
.section-hero {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(4, auto);
  padding: 3em 0;
  align-content: center;
  position: relative;
  z-index: 2;
}
@media screen and ( min-width: 64em ) and ( max-width: 95.9375em ) {
  .section-hero {
    min-height: calc(100vh - var(--header-height) );
  }
}
@media screen and ( min-width: 96em ) {
  .section-hero {
    padding: 10em 0 10em 0;
  }
}
.section--texted {
  padding: 8em 0 2em 0;
  position: relative;
  z-index: 2;
}
@media screen and ( min-width: 48em ) {
  .section--texted {
    padding: 8em 0 3em 0;
  }
}
@media screen and ( min-width: 64em ) {
  .section--texted {
    padding: 4em 0 5em 0;
  }
}
.section--texted .section-title + * {
  margin-top: 1.5em;
}
.section--texted p + p {
  margin-top: 1em;
}
.section--texted * + .btn,
.section--texted * + .btn-wrapper {
  margin-top: 2em;
}
.section--texted .section-blob {
  position: absolute;
  top: 0;
  z-index: -1;
}
@media screen and ( min-width: 64em ) {
  .section--texted .section-blob {
    top: 50%;
  }
}
.section--texted.section--right .section-blob {
  right: 0;
  transform: translate(calc( 6 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 5 * var(--gap)  ), -15%);
}
@media screen and ( min-width: 48em ) {
  .section--texted.section--right .section-blob {
    transform: translate(calc( 3.5 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 2.5 * var(--gap)  ), -20%);
  }
}
@media screen and ( min-width: 64em ) {
  .section--texted.section--right .section-blob {
    transform: translate(calc( 3 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 2 * var(--gap)  ), -50%);
  }
}
.section--texted:not(.section--right) .section-blob {
  left: 0;
  transform: translate(calc( -4 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + -5 * var(--gap)  ), -40%);
}
@media screen and ( min-width: 48em ) {
  .section--texted:not(.section--right) .section-blob {
    transform: translate(calc( -2 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + -3 * var(--gap)  ), -35%);
  }
}
@media screen and ( min-width: 64em ) {
  .section--texted:not(.section--right) .section-blob {
    transform: translate(calc( -2 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + -3 * var(--gap)  ), -50%);
  }
}
.section--bkg {
  --selection-bkg: var(--background-contrast) ;
  --selection-color: var(--text-light) ;
  position: relative;
  z-index: 2;
}
.section--bkg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 0.8rem;
  box-sizing: content-box;
  border-radius: var(--border-radius-md) ;
  background: var(--background-detail) ;
  position: absolute;
  top: 0;
  right: -0.8rem;
  z-index: -1;
}
@media screen and ( min-width: 26.75em ) {
  .section--bkg::before {
    width: 100%;
    padding: 0;
    right: 0;
  }
}
@media screen and ( min-width: 64em ) {
  .section--bkg::before {
    width: calc( 10 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 9 * var(--gap)  );
  }
}
.section--bkg [data-blob] use {
  fill: var(--stroke) ;
}

.feed-title {
  margin-bottom: 1em;
}
.feed-l {
  grid-gap: var(--gap) ;
  align-items: start;
}
.feed-i {
  position: relative;
}
.feed-i::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: content-box;
  padding: 0.4rem;
  background: var(--background-detail) ;
  border-radius: var(--border-radius-sm) ;
  position: absolute;
  top: -0.4rem;
  left: -0.4rem;
  z-index: -1;
}
@media screen and ( min-width: 64em ) {
  .feed-i::before {
    padding: 0.8rem;
    top: -0.8rem;
    left: -0.8rem;
  }
}
.feed-i img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--border-radius-xs) ;
}
@media screen and ( max-width: 39.9375em ) {
  .feed-i:nth-child(2), .feed-i:nth-child(4) {
    transform: translate(0, 60%);
  }
}
@media screen and ( min-width: 40em ) and ( max-width: 63.9375em ) {
  .feed-i:nth-child(1) {
    transform: translate(0, -60%);
  }
  .feed-i:nth-child(2) {
    grid-column-start: 1;
    transform: translate(0, -60%);
  }
  .feed-i:nth-child(3) {
    grid-column-start: 5;
    grid-row: 1/span 1;
    transform: translate(0, -30%);
  }
  .feed-i:nth-child(4) {
    grid-column-start: 5;
    grid-row: 2/span 1;
    transform: translate(0, -30%);
  }
  .feed-i:nth-child(5) {
    grid-column-start: 9;
    grid-row: 1/span 1;
  }
}
@media screen and ( min-width: 64em ) {
  .feed-i:nth-child(1) {
    transform: translate(0, -30%);
  }
  .feed-i:nth-child(2) {
    transform: translate(0, -60%);
  }
  .feed-i:nth-child(3) {
    grid-column-start: 4;
    transform: translate(0, -60%);
  }
  .feed-i:nth-child(4) {
    grid-column-start: 7;
    grid-row: 1;
  }
  .feed-i:nth-child(5) {
    grid-column-start: 10;
    grid-row: 1;
    transform: translate(0, 40%);
  }
}

.main-footer {
  grid-column: 2/-2;
  padding-top: 4.8rem;
  color: var(--text-light) ;
  position: relative;
  z-index: 2;
}
@media screen and ( min-width: 48em ) {
  .main-footer {
    padding-top: 6.4rem;
  }
}
@media screen and ( min-width: 64em ) {
  .main-footer {
    padding-top: 9.6rem;
  }
}
.main-footer::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: var(--background-darker) ;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, 0);
}
* + .main-footer {
  margin-top: 4em;
}
@media screen and ( min-width: 64em ) {
  * + .main-footer {
    margin-top: 6em;
  }
}

.main-footer-logo {
  align-self: start;
}
@media screen and ( max-width: 47.9375em ) {
  .main-footer-logo {
    margin-bottom: 4.8rem;
  }
}
@media screen and ( min-width: 48em ) and ( max-width: 63.9375em ) {
  .main-footer-logo {
    margin-bottom: 6.4rem;
  }
}
@media screen and ( min-width: 64em ) {
  .main-footer-logo {
    transform: translate(0, -1.6rem);
  }
}
.main-footer-title {
  padding-bottom: 1em;
  border-bottom: 0.1rem solid var(--stroke-detail) ;
}
.main-footer-title + * {
  margin-top: 1em;
}
@media screen and ( max-width: 39.9375em ) {
  .main-footer-col + * {
    margin-top: 4.8rem;
  }
}
.main-footer-nav-i a,
.main-footer address a {
  display: block;
  line-height: 4rem;
}
.main-footer-newsletter .form-field:not([class*="--check"]) {
  color: var(--text-main) ;
}
.main-footer-legals {
  padding-top: 2.4rem;
  padding-bottom: 4.8rem;
  margin-top: 4.8rem;
  font-size: 1.3rem;
  position: relative;
}
@media screen and ( min-width: 40em ) {
  .main-footer-legals {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
    margin-top: 4.8rem;
  }
}
@media screen and ( max-width: 47.9375em ) {
  .main-footer-legals {
    flex-wrap: wrap;
  }
}
@media screen and ( min-width: 48em ) {
  .main-footer-legals {
    margin-top: 9.6rem;
  }
}
.main-footer-legals p {
  align-self: flex-end;
}
@media screen and ( max-width: 47.9375em ) {
  .main-footer-legals p {
    margin-top: 4.8rem;
    flex: 0 0 100%;
  }
}
.main-footer-legals::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.1rem;
  padding-left: inherit;
  padding-right: inherit;
  background: var(--stroke-detail) ;
  background-clip: content-box;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and ( min-width: 64em ) {
  .main-footer-legals-l {
    display: flex;
  }
}
@media screen and ( max-width: 63.9375em ) {
  .main-footer-legals-i + * {
    margin-top: 0.8rem;
  }
}
@media screen and ( min-width: 64em ) {
  .main-footer-legals-i + * {
    margin-left: 3.2rem;
  }
}

.squared-l {
  flex-wrap: wrap;
  padding-top: 4em;
  position: relative;
  z-index: 2;
}
@media screen and ( min-width: 40em ) {
  .squared-l {
    padding-top: 7em;
  }
}
.squared-i {
  display: grid;
  grid-template-columns: 1fr;
  grid-column-end: span 8;
  position: relative;
  z-index: 2;
}
@media screen and ( min-width: 40em ) {
  .squared-i {
    grid-column-end: span 3;
    grid-template-columns: 1fr 10%;
  }
}
.squared-i a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -999.9rem;
  position: absolute;
  top: 0;
  left: 0;
}
.squared-i svg {
  width: 100%;
  position: absolute;
  top: 0%;
  left: 0;
  z-index: -1;
  transform-origin: center top;
  transition: var(--t-main) ;
  transform: translate(-25%, -25%) scale(0.8, 0.75);
}
.squared-i use {
  fill: transparent;
  stroke: var(--stroke) ;
  transition: var(--t-main) ;
}
.squared-i:hover .squared-title {
  color: var(--text-contrast) ;
}
.squared-i:hover use {
  fill: var(--background-light) ;
  stroke: var(--background-light) ;
}
@media screen and ( max-width: 39.9375em ) {
  .squared-i + * {
    margin-top: 20%;
  }
  .squared-i:nth-child(even) {
    margin-left: auto;
  }
}
@media screen and ( min-width: 40em ) {
  .squared-i:nth-child(1) {
    transform: translate(0, -80%);
  }
  .squared-i:nth-child(2) {
    transform: translate(0, 0%);
  }
  .squared-i:nth-child(3) {
    transform: translate(0, -20%);
  }
  .squared-i:nth-child(4) {
    transform: translate(0, -50%);
  }
}
@media screen and ( min-width: 64em ) {
  .squared-i:nth-child(3) {
    transform: translate(0, 20%);
  }
  .squared-i:nth-child(4) {
    transform: translate(0, -10%);
  }
}
.squared-img {
  width: 100%;
  grid-column: 1/span 1;
}
.squared-img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--border-radius-md) ;
}
.squared-title {
  white-space: nowrap;
  transition: var(--t-main) ;
}

.articles-l {
  position: relative;
  z-index: 2;
}
@media screen and ( max-width: 39.9375em ) {
  .articles-l {
    margin-top: 0;
  }
}
.articles-l--line::before {
  content: "";
}
@media screen and ( max-width: 63.9375em ) {
  .articles-l--line::before {
    display: none;
  }
}
.articles-l:not(.article-l--line) .articles-i {
  padding-top: var(--gap) ;
}
.articles-nav, .articles-nav + * {
  margin-top: 6em;
}

.blockquote-l::before {
  content: "";
}
@media screen and ( max-width: 63.9375em ) {
  .blockquote-l::before {
    display: none;
  }
}
.blockquote-i blockquote {
  --selection-bkg: var(--background-contrast) ;
  --selection-color: var(--text-light) ;
  display: grid;
  grid-template-columns: 1.6rem 1.6rem 1fr 1.6rem;
  grid-template-rows: auto auto auto auto;
  grid-gap: 0.8rem 0;
  position: relative;
}
.blockquote-i blockquote::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius-sm) ;
  grid-column: 1/-1;
  grid-row: 2/span 2;
  position: relative;
  z-index: -1;
}
.blockquote-i blockquote::before {
  background-color: var(--background-main) ;
  border: 0.1rem solid var(--stroke-light) ;
}
.blockquote-i blockquote p {
  grid-column: 2/-1;
  grid-row: 3/span 1;
  padding: 1.6rem 0;
  font-style: italic;
  font-size: 1.6rem;
  color: var(--text-contrast) ;
  position: relative;
}
@media screen and ( min-width: 40em ) {
  .blockquote-i blockquote p {
    margin-top: -1em;
    grid-column: 3/span 1;
  }
}
.blockquote-i blockquote p::before {
  content: "“";
  grid-row: 1/span 1;
  grid-column: 1/span 1;
  font-size: 4em;
  line-height: 1;
  font-style: normal;
  position: absolute;
  top: 0;
  transform: translate(-10%, -30%);
}
@media screen and ( min-width: 40em ) {
  .blockquote-i blockquote p::before {
    left: 0;
    transform: translate(-150%, 15%);
  }
}
.blockquote-i blockquote picture, .blockquote-i blockquote svg {
  width: 16rem;
  justify-self: center;
  grid-row: 1/span 2;
  grid-column: 1/-1;
  position: relative;
  z-index: 3;
}
.blockquote-i blockquote svg {
  z-index: 2;
}
.blockquote-i blockquote footer {
  grid-column: 3/-1;
  grid-row: span 1/-1;
}
.blockquote-i blockquote cite {
  display: block;
}
.blockquote-i blockquote use {
  fill: var(--stroke) ;
}
.blockquote-name {
  font-family: var(--font-family-title) ;
}

.article {
  display: grid;
  grid-template-columns: 1.6rem 1.6rem 1fr 1.6rem;
  grid-template-rows: 1.6rem repeat(3, auto);
}
.article::before, .article::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius-sm) ;
  grid-column: 2/-1;
  grid-row: 2/span 2;
  position: relative;
  z-index: -1;
}
.article::before {
  background-color: var(--background-contrast) ;
  background: linear-gradient(225deg, var(--background-contrast) , var(--background-detail)  40%);
}
.article::after {
  width: calc(100% - 0.2rem);
  height: calc(100% - 0.2rem);
  border-radius: calc(var(--border-radius-sm)  - 0.1rem);
  background: var(--background-main) ;
  transform: translate(0.1rem, 0.1rem);
  transition: all 0.48s var(--t-easing) ;
}
.article-header {
  padding: 0.8rem 0 1.2rem 0;
  grid-row: 3/span 1;
}
.article-info {
  margin-top: 0;
  font-size: 1.4rem;
  color: var(--text-contrast) ;
}
.article-content {
  padding-top: 1.2rem;
  grid-row: span 1/-1;
}
.article-content > * + .btn-text-arrow {
  margin-top: 0.5em;
}
.article-img {
  width: 100%;
  height: 100%;
}
.article-img img {
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.1);
  transition: all 0.48s var(--t-easing) ;
}
.article-img-wrapper {
  grid-row: 1/span 2;
  border-radius: var(--border-radius-sm) ;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}
.article:not(.article--main):hover::after {
  opacity: 0;
}
.article:hover .article-img img {
  transform: scale(1);
}
.article--main {
  grid-template-columns: 1.6rem repeat(2, 1fr) 1.6rem;
  grid-template-rows: 1.6rem repeat(3, auto) 1fr 1.6rem;
  height: 100%;
}
@media screen and ( min-width: 40em ) {
  .article--main {
    grid-gap: 0 var(--gap) ;
  }
}
.article--main::before, .article--main::after {
  grid-row: 2/span 2;
}
@media screen and ( min-width: 40em ) {
  .article--main::before, .article--main::after {
    grid-column: 2/-1;
    grid-row: 2/-1;
  }
}
.article--main .article-header {
  padding-left: 1.6rem;
  grid-row: 3/span 1;
  grid-column: 2/-2;
  position: relative;
}
@media screen and ( min-width: 40em ) {
  .article--main .article-header {
    grid-row: 2/span 1;
    grid-column: 3/span 2;
    padding-top: 3.2rem;
    padding-left: 0;
    padding-right: 4rem;
  }
  .article--main .article-header::after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 0.1rem;
    margin-top: 2.4rem;
    background: var(--stroke-contrast) ;
  }
}
@media screen and ( min-width: 40em ) {
  .article--main .article-info {
    margin-top: 0.8rem;
  }
}
.article--main .article-content {
  grid-column: 2/-2;
  grid-row: 4/span 1;
  padding-left: 1.6rem;
}
@media screen and ( min-width: 40em ) {
  .article--main .article-content {
    grid-column: 3/span 2;
    grid-row: 3/span 1;
    padding-left: 0;
    padding-right: 4rem;
    padding-bottom: 1.6rem;
  }
}
.article--main .article-img img {
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and ( min-width: 40em ) {
  .article--main .article-img img {
    height: 100%;
    aspect-ratio: none;
  }
}
.article--main .article-img-wrapper {
  height: 100%;
  grid-row: 1/span 2;
  grid-column: 1/-2;
  position: relative;
}
@media screen and ( min-width: 40em ) {
  .article--main .article-img-wrapper {
    grid-row: 1/-2;
    grid-column: 1/span 2;
  }
}
.article--main .article-img-wrapper::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: radial-gradient(65.23% 156.01% at 8.02% 96.74%, #8C52FF 0%, rgba(11, 0, 31, 0) 100%);
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.48s var(--t-easing) ;
}
.article:hover .article-img-wrapper::after {
  opacity: 0;
}

.slideshow-wrapper {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto auto auto;
  touch-action: manipulation;
}
.slideshow-wrapper > * {
  grid-column: 1/span 1;
}
.slideshow-title {
  grid-row: 1/span 1;
  position: relative;
}
@media screen and ( max-width: 39.9375em ) {
  .slideshow-title {
    margin-bottom: 1.5em;
  }
}
.slideshow-title::before {
  content: "";
  display: block;
  width: calc( 1.5 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 0.5 * var(--gap)  );
  padding-top: calc( 1.5 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 0.5 * var(--gap)  );
  min-width: 5.6rem;
  min-height: 5.6rem;
  background: url("../img/arrows/arrow-02.svg") no-repeat center/cover;
  position: absolute;
  left: calc( 6 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 5 * var(--gap)  );
  top: 50%;
  transform: translate(0, -50%) scale(1, -1) rotate(-60deg);
}
@media screen and ( min-width: 40em ) {
  .slideshow-title::before {
    left: calc( 4 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 3 * var(--gap)  );
  }
}
@media screen and ( min-width: 64em ) {
  .slideshow-title::before {
    top: 100%;
    left: calc( 2 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 1 * var(--gap)  );
    transform: rotate(10deg);
  }
}
@media screen and ( min-width: 96em ) {
  .slideshow-title::before {
    width: calc( 1.3 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 0.3 * var(--gap)  );
    padding-top: calc( 1.3 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 0.3 * var(--gap)  );
  }
}
.slideshow-controller {
  grid-row: 2/span 1;
  align-self: end;
}
@media screen and ( max-width: 39.9375em ) {
  .slideshow-controller {
    justify-content: space-between;
  }
}
@media screen and ( min-width: 40em ) {
  .slideshow-controller {
    grid-row: 1/span 1;
    margin-left: auto;
    transform: translate(2.4rem, 0);
  }
}
.slideshow-controller-i {
  text-indent: -999.9rem;
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  margin: 0 0.4rem;
  border-radius: 100rem;
  background: var(--background-light) ;
  transition: var(--t-main) ;
}
@media screen and ( min-width: 40em ) {
  .slideshow-controller-i {
    margin: 0 0.6rem;
    width: 0.6rem;
    height: 0.6rem;
  }
}
.slideshow-controller-i.active {
  background: var(--background-contrast) ;
}
@media screen and ( min-width: 40em ) and ( max-width: 95.9375em ) {
  .slideshow-controller-i:nth-last-child(1) {
    display: none;
  }
}
@media screen and ( min-width: 96em ) {
  .slideshow-controller-i:nth-last-child(1), .slideshow-controller-i:nth-last-child(2) {
    display: none;
  }
}

.sheet-header {
  display: grid;
  grid-template-columns: 1.6rem 1fr 1.6rem;
  grid-template-rows: 1.6rem auto auto auto;
  position: relative;
  z-index: 2;
}
@media screen and ( max-width: 39.9375em ) {
  .sheet-header {
    width: calc(100% + (var(--grid-margin)  + var(--gap) ) * 2);
    left: 50%;
    transform: translate(-50%, 0);
  }
}
.sheet-header--simple {
  margin-top: 2em;
  margin-bottom: 2em;
}
.sheet-header::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius-md) ;
  border: 0.1rem solid var(--stroke-light) ;
  grid-column: 2/-1;
  grid-row: 2/span 2;
  position: relative;
  z-index: -1;
}
@media screen and ( max-width: 39.9375em ) {
  .sheet-header::after {
    display: none;
  }
}
.sheet-header > * {
  grid-column: 1/-1;
}
.sheet-header-title, .sheet-header-info {
  padding-left: calc(var(--grid-margin)  + var(--gap) );
  padding-right: calc(var(--grid-margin)  + var(--gap) );
}
@media screen and ( min-width: 40em ) {
  .sheet-header-title, .sheet-header-info {
    padding-left: 3.2rem;
    padding-right: 3.2rem;
  }
}
@media screen and ( min-width: 64em ) {
  .sheet-header-title, .sheet-header-info {
    padding-left: 4.8rem;
    padding-right: 4.8rem;
  }
}
.sheet-header-info, .sheet-header-tags {
  grid-row: span 1/-2;
}
.sheet-header-title, .sheet-header-img {
  grid-row: 1/span 2;
}
.sheet-header-title {
  align-self: end;
  padding-bottom: 2.4rem;
  color: var(--text-light) ;
  position: relative;
  z-index: 2;
}
@media screen and ( min-width: 64em ) {
  .sheet-header-title {
    padding-bottom: 3.2rem;
  }
}
.sheet-header-img {
  grid-column: 1/-1;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}
@media screen and ( min-width: 40em ) {
  .sheet-header-img {
    grid-column: 1/span 2;
    border-radius: var(--border-radius-md) ;
  }
}
.sheet-header-img::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: radial-gradient(65.23% 156.01% at 8.02% 96.74%, #8C52FF 0%, rgba(11, 0, 31, 0) 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.sheet-header-img img {
  width: 100%;
  aspect-ratio: 2/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.sheet-header-info {
  align-self: center;
  margin-top: 1.6rem;
  font-size: 1.4rem;
}
@media screen and ( min-width: 40em ) {
  .sheet-header-info {
    margin: 1.6rem 0;
  }
}
.sheet-header-info time {
  color: var(--text-contrast) ;
}
.sheet-header-tags {
  grid-column: 1/-1;
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
  transform: translate(-0.4rem, 0);
}
@media screen and ( max-width: 39.9375em ) {
  .sheet-header-tags {
    grid-row: span 1/-1;
    padding-left: calc(var(--grid-margin)  + var(--gap) );
    padding-right: calc(var(--grid-margin)  + var(--gap) );
  }
}
@media screen and ( min-width: 40em ) {
  .sheet-header-tags {
    grid-column: 1/-2;
    margin-left: auto;
    justify-content: flex-end;
    transform: translate(0.4rem, 0);
  }
}
.sheet-header-tags a {
  padding: 0.4rem 0.8rem;
  background: var(--background-detail) ;
  border-radius: var(--border-radius-xxs) ;
  font-size: 1.4rem;
  color: var(--text-contrast) ;
}
.sheet-header-tags li {
  margin: 0.4rem;
}
.sheet-content {
  padding-top: 2em;
  font-size: var(--font-size-xxs) ;
  line-height: 1.6;
}
.sheet-content > * + * {
  margin-top: 1em;
}
.sheet-content h2,
.sheet-content h3,
.sheet-content h4,
.sheet-content h5,
.sheet-content h6 {
  font-family: var(--font-family-title) ;
  font-weight: 800;
  line-height: 1.4;
}
.sheet-content h2 + *,
.sheet-content h3 + *,
.sheet-content h4 + *,
.sheet-content h5 + *,
.sheet-content h6 + * {
  margin-top: 0.5em;
}
.sheet-content h2::first-letter,
.sheet-content h3::first-letter,
.sheet-content h4::first-letter,
.sheet-content h5::first-letter,
.sheet-content h6::first-letter {
  text-transform: uppercase;
}
.sheet-content h2 {
  font-size: var(--font-size-lg) ;
}
.sheet-content h3 {
  font-size: var(--font-size-md) ;
}
.sheet-content h4 {
  font-size: var(--font-size-sm) ;
}
.sheet-content h5 {
  font-size: var(--font-size-xs) ;
}
.sheet-content h6 {
  font-size: var(--font-size-xxs) ;
}
.sheet-content img, .sheet-content picture {
  border-radius: var(--border-radius-sm) ;
}
@media screen and ( max-width: 39.9375em ) {
  .sheet-content img, .sheet-content picture {
    max-width: none;
    width: calc(100% + var(--gap)  * 2);
    position: relative;
    right: var(--gap) ;
  }
}
.sheet-content a {
  color: var(--text-contrast) ;
  border-bottom: 0.1rem solid var(--stroke-contrast) ;
}
.sheet-content ul li {
  padding-left: 4rem;
  position: relative;
}
.sheet-content ul li::before {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  grid-column: 1/span 1;
  background: var(--text-contrast) ;
  border-radius: 100rem;
  position: absolute;
  top: 1.6ex;
  left: 1.6rem;
}
.sheet-content ol {
  counter-reset: n;
}
.sheet-content ol li {
  display: grid;
  grid-template-columns: 4rem 1fr;
}
.sheet-content ol li::before {
  counter-increment: n;
  content: counter(n);
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  border: 0.1rem solid var(--stroke-contrast-light) ;
  border-radius: var(--border-radius-xxs) ;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 3rem;
  text-align: center;
  color: var(--text-contrast) ;
}
.sheet-content ul li + li,
.sheet-content ol li + li {
  margin-top: 0.8rem;
}
.sheet-content * + blockquote,
.sheet-content blockquote + * {
  margin-top: 2em;
}
.sheet-content blockquote {
  --selection-bkg: var(--background-contrast) ;
  --selection-color: var(--text-light) ;
  display: grid;
  grid-template-columns: 4.8rem 1fr;
  grid-template-rows: auto auto;
  position: relative;
}
@media screen and ( max-width: 39.9375em ) {
  .sheet-content blockquote {
    padding-top: 2.4rem;
  }
}
.sheet-content blockquote > * {
  grid-row: 1/span 1;
}
.sheet-content blockquote::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: content-box;
  grid-column: 1/-1;
  grid-row: 1/-1;
  border-radius: var(--border-radius-sm) ;
  background: var(--background-detail) ;
}
@media screen and ( min-width: 40em ) {
  .sheet-content blockquote::before {
    grid-column: 2/-1;
  }
}
.sheet-content blockquote p {
  grid-column: 1/-1;
  padding: 2.4rem 3.2rem;
  margin-top: 1.6rem;
  font-style: italic;
  color: var(--text-contrast) ;
}
@media screen and ( min-width: 40em ) {
  .sheet-content blockquote p {
    margin-top: 0;
    grid-column: span 1/-1;
  }
}
.sheet-content blockquote p::before {
  content: "“";
  grid-row: 1/span 1;
  grid-column: 1/span 1;
  font-size: 8em;
  line-height: 1;
  font-style: normal;
  position: absolute;
  top: 0;
  transform: translate(-10%, -30%);
}
@media screen and ( min-width: 40em ) {
  .sheet-content blockquote p::before {
    left: 0;
    transform: translate(-50%, 0);
  }
}

.main-header {
  --header-t-duration: .56s;
  transition: transform var(--header-t-duration)  var(--t-easing) ;
}
.main-header::before {
  pointer-events: none;
  transform-origin: center top;
  transition: transform var(--header-t-duration)  var(--t-easing) , opacity var(--header-t-duration)  var(--t-easing) ;
}
.main-header::after {
  transition: transform var(--header-t-duration)  var(--t-easing) , opacity var(--header-t-duration)  var(--t-easing) ;
}
.main-header .logo {
  transform-origin: left center;
  transition: transform var(--header-t-duration)  var(--t-easing) ;
}
.main-header-nav {
  transition: opacity var(--header-t-duration)  var(--t-easing) ;
}
.main-header-btn::before, .main-header-btn::after,
.main-header-btn span::after {
  transform-origin: center center;
  transition: all 0.32s var(--t-easing) ;
}

@media screen and ( max-width: 63.9375em ) {
  .header-open .main-content,
  .header-open .main-footer {
    opacity: 0.2;
  }
}
@media screen and ( max-width: 47.9375em ) {
  .header-open .main-content,
  .header-open .main-footer {
    opacity: 0;
    pointer-events: none;
  }
}
@media screen and ( max-width: 64em ) {
  .header-open .main-header::before {
    opacity: 1;
  }
  .header-open .main-header-btn::before {
    transform: rotate(-45deg);
  }
  .header-open .main-header-btn::after {
    transform: rotate(-135deg);
  }
  .header-open .main-header-btn span::after {
    opacity: 0;
    transform: scale(0, 1);
  }
}

@media screen and ( max-width: 64em ) {
  body:not(.header-open) .main-header::before {
    opacity: 0;
  }
  body:not(.header-open) .main-header-nav {
    pointer-events: none;
    opacity: 0;
  }
}

body:not(.scrolled) .main-header::after {
  transform: translate(0, -100%);
  opacity: 0;
}

body.scrolled .main-header {
  transform: translate(0, -2.4rem);
}
@media screen and ( max-width: 47.9375em ) {
  body.scrolled .main-header {
    transform: translate(0, -1.6rem);
  }
}
body.scrolled .main-header::after {
  opacity: 1;
}
@media screen and ( max-width: 47.9375em ) {
  body.scrolled .main-header::after {
    transform: translate(0, 0.8rem);
  }
}
body.scrolled .main-header .logo {
  transform: scale(0.75);
}

.js-blob-wrapper {
  position: relative;
}
.js-blob-wrapper img {
  position: relative;
  z-index: 2;
}
.js-blob-wrapper svg {
  position: absolute;
  top: 0;
  left: 0;
}

[data-blob] use {
  fill: var(--background-detail) ;
}

.js-slideshow {
  --index: 0;
  --index-limit: 1;
}
@media screen and ( min-width: 40em ) {
  .js-slideshow {
    --index-limit: 2;
  }
}
@media screen and ( min-width: 96em ) {
  .js-slideshow {
    --index-limit: 3;
  }
}
.js-slideshow .article-title,
.js-slideshow .article-info,
.js-slideshow .article-content {
  transition: opacity 0.64s var(--t-easing) ;
}
.js-slideshow li {
  transition: transform 0.64s var(--t-easing) , opacity 0.64s var(--t-easing) ;
  transform: translate(var(--index) , 0);
  will-change: transform;
}
.js-slideshow li:not(.active) {
  pointer-events: none;
}
@media screen and ( max-width: 39.9375em ) {
  .js-slideshow li:not(.active) .article-title,
  .js-slideshow li:not(.active) .article-info,
  .js-slideshow li:not(.active) .article-content {
    opacity: 0;
  }
}
@media screen and ( min-width: 40em ) {
  .js-slideshow li:not(.active) {
    opacity: 0;
  }
}
.js-slideshow li.active {
  opacity: 1;
}
@media screen and ( max-width: 39.9375em ) {
  .js-slideshow li.active ~ * {
    opacity: 1;
    pointer-events: none;
  }
  .js-slideshow li.active ~ * .article-title,
  .js-slideshow li.active ~ * .article-info,
  .js-slideshow li.active ~ * .article-content {
    opacity: 0;
  }
}
@media screen and ( min-width: 40em ) and ( max-width: 95.9375em ) {
  .js-slideshow li.active + * {
    opacity: 1;
    pointer-events: auto;
  }
  .js-slideshow li.active + * + * {
    opacity: 1;
    pointer-events: none;
  }
  .js-slideshow li.active + * + * .article-title,
  .js-slideshow li.active + * + * .article-info,
  .js-slideshow li.active + * + * .article-content {
    opacity: 0;
  }
}
@media screen and ( min-width: 96em ) {
  .js-slideshow li.active + *, .js-slideshow li.active + * + * {
    opacity: 1;
    pointer-events: auto;
  }
}
.js-slideshow-btn {
  touch-action: manipulation;
  transition: opacity 0.64s var(--t-easing) ;
}
.js-slideshow-btn.hidden {
  opacity: 0;
  pointer-events: none;
}
.js-slideshow-controller {
  transition: opacity 0.64s var(--t-easing) ;
}
.js-slideshow-controller.hidden {
  opacity: 0;
  pointer-events: none;
}
.form-field:not([class*="--check"]) .form-input:focus + .form-label, .js-form .is-filled:not([class*="--check"]) .form-label,
.js-form .is-focused:not([class*="--check"]) .form-label {
  color: var(--text-contrast-light) ;
  transform: translate(0.4rem, -1rem) scale(0.75);
}

.js-form .form-loader {
  transition: var(--t-main) ;
}
.js-form:not(.is-submitting) .form-loader {
  opacity: 0;
}
.js-form .is-invalid::before {
  border-color: var(--alert)  !important;
}
.js-form .is-invalid .form-label {
  color: var(--alert)  !important;
}
.js-form .is-filled.form-field--check::after {
  opacity: 1;
  transform: scale(0.7);
}
.js-form .is-focused::before {
  border-color: var(--stroke-contrast) ;
}
.js-form .is-focused.form-field--check::after {
  border-color: var(--stroke-contrast) ;
  background: var(--stroke-contrast) ;
}
.js-form .is-focused .form-input,
.js-form .is-focused .form-text,
.js-form .is-focused .form-select {
  color: var(--text-contrast) ;
}
.form-field:not([class*="--check"]):hover::before {
  border-color: var(--stroke-contrast) ;
}

.form-field:not(.open) .form-select-l {
  opacity: 0;
  pointer-events: none;
}

.open .form-select-l {
  opacity: 1;
  pointer-events: auto;
}

.js-select .selected {
  cursor: default;
  color: var(--text-contrast-light) ;
}
.dialog-wrapper {
  transform-origin: left bottom;
  transition: transform var(--t-duration)  var(--t-easing) , opacity var(--t-duration)  var(--t-easing) ;
}
.dialog-wrapper:not(.visible) {
  opacity: 0;
  pointer-events: none;
  transform: translate(0, 100%);
}
.calendar-wrapper {
  position: relative;
  z-index: 2;
  touch-action: manipulation;
}
.calendar-wrapper::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: content-box;
  padding: 0.8rem;
  border-radius: var(--border-radius-sm) ;
  background: var(--background-detail) ;
  position: absolute;
  top: -0.8rem;
  left: -0.8rem;
  z-index: -1;
}
.calendar-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6rem;
  border: 0.1rem solid var(--stroke) ;
  border-radius: var(--border-radius-xs)  var(--border-radius-xs)  0 0;
  background: var(--background-main) ;
}
.calendar-month {
  font-family: var(--font-family-title) ;
  font-size: var(--font-size-xs) ;
}
.calendar-btn {
  transition: var(--t-main) ;
}
.calendar-btn.invisible {
  opacity: 0;
  pointer-events: none;
}
.calendar-btn--previous {
  order: -1;
}
.calendar-l, .calendar-legend-l {
  display: flex;
  flex-wrap: wrap;
}
.calendar-i, .calendar-legend-i {
  flex: 0 0 14.2857142857%;
  text-align: center;
}
.calendar-legend-l {
  padding: 1.6rem;
  border: 0.1rem solid var(--stroke) ;
  border-top: 0;
  border-radius: 0 0 var(--border-radius-xs)  var(--border-radius-xs) ;
  background: var(--background-main) ;
  font-family: var(--font-family-title) ;
  font-size: 1rem;
  letter-spacing: 0.0714285714em;
}
@media screen and ( min-width: 40em ) {
  .calendar-legend-l {
    font-size: 1.4rem;
  }
}
.calendar-legend-i {
  text-transform: uppercase;
}
.calendar-l {
  padding: 1.6rem;
}
.calendar-l--1::before {
  content: "";
  flex: 0 0 14.2857142857%;
}
.calendar-l--2::before {
  content: "";
  flex: 0 0 28.5714285714%;
}
.calendar-l--3::before {
  content: "";
  flex: 0 0 42.8571428571%;
}
.calendar-l--4::before {
  content: "";
  flex: 0 0 57.1428571429%;
}
.calendar-l--5::before {
  content: "";
  flex: 0 0 71.4285714286%;
}
.calendar-l--6::before {
  content: "";
  flex: 0 0 85.7142857143%;
}
.calendar-i {
  height: 4.4rem;
  line-height: 4.4rem;
  color: var(--text-main) ;
  position: relative;
  z-index: 2;
}
@media screen and ( max-width: 39.9375em ) {
  .calendar-i {
    height: 4rem;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 4rem;
  }
}
.calendar-i--today {
  color: var(--text-light) ;
  position: relative;
  z-index: 2;
}
.calendar-i--today::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  background: var(--background-contrast) ;
  border-radius: var(--border-radius-xs) ;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -50%);
}
.calendar-i--disabled, .calendar-i--unavailable {
  --selection-bkg: var(--background-contrast) ;
  --selection-color: var(--text-light) ;
  cursor: default;
}
.calendar-i--disabled::after, .calendar-i--unavailable::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 0.1rem;
  background: currentColor;
  opacity: 0.75;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.calendar-i--disabled {
  color: var(--text-contrast-light) ;
}
.calendar-i--available {
  color: var(--text-contrast) ;
}
.calendar-i--available::before {
  content: "";
  display: block;
  width: 100%;
  height: 3.2rem;
  border: 0.1rem solid var(--stroke) ;
  border-left-width: 0;
  border-right-width: 0;
  background: var(--background-main) ;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -50%);
}
.calendar-i--available + .calendar-i--last::before {
  border-right-width: 0.1rem;
  border-left-width: 0;
  border-radius: 0 var(--border-radius-xs)  var(--border-radius-xs)  0;
}
.calendar-i--last::before {
  border: 0.1rem solid var(--stroke) ;
  border-radius: var(--border-radius-xs) ;
}
.calendar-i:first-child::before {
  border-top-left-radius: var(--border-radius-xs) ;
  border-bottom-left-radius: var(--border-radius-xs) ;
  border-left-width: 0.1rem;
}
.calendar-i:not(.calendar-i--available) + .calendar-i--available::before {
  border-top-left-radius: var(--border-radius-xs) ;
  border-bottom-left-radius: var(--border-radius-xs) ;
  border-left-width: 0.1rem;
}
.calendar-i:not(.calendar-i--available) + .calendar-i--last::before {
  border-radius: var(--border-radius-xs) ;
  border: 0.1rem solid var(--stroke) ;
}
[data-flag=header] {
  height: 0.1rem;
  width: 0.1rem;
  visibility: hidden;
  position: absolute;
  top: 100vh;
  left: 0;
}

body.home .section-hero {
  align-self: center;
}
body.home .section-hero > * {
  grid-column: 1/-1;
}
@media screen and ( max-width: 26.6875em ) {
  body.home .section-hero .section-title {
    grid-row: 1/span 1;
    padding-bottom: 43vw;
  }
}
body.home .section-hero .section-blob {
  width: 80vw;
  max-width: 92rem;
  position: absolute;
  z-index: -1;
}
@media screen and ( max-width: 26.6875em ) {
  body.home .section-hero .section-blob {
    grid-row: 1/span 1;
    margin-left: auto;
    right: calc( -4 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + -5 * var(--gap)  );
  }
}
@media screen and ( min-width: 26.75em ) {
  body.home .section-hero .section-blob {
    width: calc( 9 * ( 100% - ( var(--gap)  * ( var(--columns)  - 1 ) ) ) / var(--columns)  + 8 * var(--gap)  );
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(40%, -55%);
  }
}
@media screen and ( min-width: 64em ) {
  body.home .section-hero .section-blob {
    width: 60vw;
    transform: translate(35%, -48%);
  }
}
body.home .section-hero .img-legend {
  top: 70%;
  left: 0;
  position: absolute;
  z-index: 3;
}
@media screen and ( max-width: 26.6875em ) {
  body.home .section-hero .img-legend {
    transform: translate(-80%, 0);
  }
}
@media screen and ( min-width: 26.75em ) {
  body.home .section-hero .img-legend {
    top: 90%;
    left: 20%;
  }
}
@media screen and ( min-width: 64em ) {
  body.home .section-hero .img-legend {
    top: 85%;
    left: 5%;
  }
}
body.home .section-hero .img-legend span {
  transform: rotate(-19deg);
}
body.home .section-hero .img-legend::before {
  content: "";
  display: block;
  width: 8vw;
  height: 8vw;
  max-width: 14.4rem;
  max-height: 14.4rem;
  min-width: 5.6rem;
  min-height: 5.6rem;
  background: url("../img/arrows/arrow-01.svg") no-repeat center/cover;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(140%, -100%) rotate(11deg);
}
body.home .section-hero .img-legend[data-smiley]::after {
  content: attr(data-smiley);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -200%) rotate(19deg);
}
body.blog .section-blog {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  align-items: center;
  margin-top: 3em;
}
body.blog .section-blog > * {
  grid-column: 1/-1;
  grid-row: 1/span 1;
}
body.blog .form {
  margin-top: 0;
  margin-left: auto;
}
body.blog .form-field + * {
  margin-left: 2.4rem;
}
body.blog .articles-l {
  padding-top: 0;
  margin-top: 0;
  grid-row: span 1/-2;
}
body.blog .articles-nav {
  grid-row: span 1/-1;
}
@media screen and ( max-width: 26.6875em ) {
  body.about .section--texted {
    margin-top: 20%;
  }
}
@media screen and ( max-width: 39.9375em ) {
  body.about .section--texted .section-content {
    width: 100%;
    margin-left: 0;
  }
}
@media screen and ( max-width: 63.9375em ) {
  body.about .section--texted .section-title {
    margin-top: 10%;
  }
}
@media screen and ( max-width: 26.6875em ) {
  body.about .section--texted .section-title {
    margin-top: 0;
    margin-bottom: 5%;
  }
}
body.contact .section-calendar .section-title + * {
  margin-top: 4em;
}