/*!************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/preview_buttons/preview_buttons.scss ***!
  \************************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Magazine preview buttons
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-preview_buttons {
  --cn-c-preview_buttons--AlignItems: flex-start;
  --cn-c-preview_buttons--ColumnGap: 1.57em;
  --cn-c-preview_buttons--FlexDirection: column;
  --cn-c-preview_buttons--RowGap: 4.29em;
  /**
   * First column
   */
  --cn-c-preview_buttons__column--ColumnGap: var(--cn-c-preview_buttons--ColumnGap);
  /**
   * First column buttons
   */
  --cn-c-preview_buttons__first_buttons--PaddingBlock: 0.29em;
  --cn-c-preview_buttons__first_buttons--PaddingInline: 0.89em;
  /**
   * Buy button
   */
  --cn-c-preview_buttons__buy--FontSize: clamp(1em, 1.39vw ,1.43em);
  --cn-c-preview_buttons__buy--FontWeight: var(--cn-global--FontWeight-semibold);
  --cn-c-preview_buttons__buy--hover--BackgroundColor: var(--cn-global--palette-white);
  --cn-c-preview_buttons__buy--hover--Color: var(--cn-global--palette-black);
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-preview_buttons {
    --cn-c-preview_buttons--AlignItems: center;
    --cn-c-preview_buttons--FlexDirection: row;
  }
}

/**
 * Component
 */
.cn-c-preview_buttons {
  align-items: var(--cn-c-preview_buttons--AlignItems);
  -moz-column-gap: var(--cn-c-preview_buttons--ColumnGap);
       column-gap: var(--cn-c-preview_buttons--ColumnGap);
  display: flex;
  flex-direction: var(--cn-c-preview_buttons--FlexDirection);
  justify-content: space-between;
  row-gap: var(--cn-c-preview_buttons--RowGap);
}

/**
 * First column
 */
.cn-c-preview_buttons > div {
  align-items: center;
  -moz-column-gap: var(--cn-c-preview_buttons__column--ColumnGap);
       column-gap: var(--cn-c-preview_buttons__column--ColumnGap);
  display: flex;
  flex-direction: row;
  text-transform: uppercase;
}

/**
 * First column buttons
 */
.cn-c-preview_buttons > div > .cn-c-button {
  padding-block: var(--cn-c-preview_buttons__first_buttons--PaddingBlock);
  padding-inline: var(--cn-c-preview_buttons__first_buttons--PaddingInline);
  pointer-events: none;
}

/**
 * Buy button
 * 1: icon first
 */
.cn-c-preview_buttons > .cn-c-button {
  --cn-c-button--hover--BackgroundColor: var(--cn-c-preview_buttons__buy--hover--BackgroundColor);
  --cn-c-button--hover--Color: var(--cn-c-preview_buttons__buy--hover--Color);
  flex-direction: row-reverse; /* 1 */
  font-size: var(--cn-c-preview_buttons__buy--FontSize);
  font-weight: var(--cn-c-preview_buttons__buy--FontWeight);
}
/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/next_cta/next_cta.scss ***!
  \**********************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Next article call to action
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-next {
  --cn-c-next--AccentColor: var(--cn-c-page--AccentColor);
  --cn-c-next--BackgroundColor: var(--cn-c-page--Color);
  --cn-c-next--Color: var(--cn-c-page--BackgroundColor);
  --cn-c-next--ColumnGap: var(--cn-c-page__main--ColumnGap);
  --cn-c-next--FontSize: 1.5rem;
  --cn-c-next--PaddingBlockEnd: 0;
  --cn-c-next--PaddingBlockStart: 3.84em;
  --cn-c-next--TemplateColumns: var(--cn-c-page__main--TemplateColumns);
  --cn-c-next--TransitionDuration: 0.3s;
  --cn-c-next__content--GridColumn: 2 / -2;
  /**
   * Title
   */
  --cn-c-next__title--FontSize: 1.6em;
  --cn-c-next__title--FontWeight: var(--cn-global--FontWeight-semibold);
  --cn-c-next__title--MarginBlockEnd: 0.575em;
  /**
   * Article
   */
  --cn-c-next__article--PaddingBlock: 1.36em;
  --cn-c-next__article--RowGap: 1em;
  --cn-c-next__article--TemplateColumns: var(--cn-c-page__main--content_columns);
  /** Borders */
  --cn-c-next__border--Opacity: 0.24;
  /**
   * Header
   */
  --cn-c-next__header--GridColumn: 1 / -1;
  --cn-c-next--m-vertical__header--GridColumn: var(--cn-c-next__header--GridColumn);
  /** Subtitle */
  --cn-c-next__subtitle--FontSize: 0.56em;
  --cn-c-next__chapter--FontWeight: var(--cn-global--FontWeight-bold);
  /** Label */
  --cn-c-next__label--FontFamily: var(--cn-global--FontFamily-serif);
  --cn-c-next__label--FontWeight: var(--cn-global--FontWeight-semibold);
  --cn-c-next__label--LineHeight: 1.28;
  /**
   * Button
   */
  --cn-c-next__button--FontSize: 0.52em;
  --cn-c-next__button--FontWeight: var(--cn-global--FontWeight-semibold);
  --cn-c-next__button--GridColumn: 1 / -1;
  /** Medium: 768px */
  /** Large: 1024px */
}
@media all and (min-width: 48rem) {
  .cn-c-next {
    --cn-c-next__article--TemplateColumns: repeat(10, 1fr);
    --cn-c-next__button--GridColumn: 7 / -1;
    --cn-c-next__header--GridColumn: 1 / span 6;
    --cn-c-next--PaddingBlockEnd: 3.12em;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-next {
    --cn-c-next--m-vertical__header--GridColumn: 3 / span 4;
  }
}

.cn-c-next.cn-m-image {
  /**
   * Picture
   */
  --cn-c-next__picture--AspectRatio: 296 / 197;
  --cn-c-next__picture--m-vertical--AspectRatio: 185 / 239;
  --cn-c-next__picture--GridColumn: 1 / -1;
  --cn-c-next__picture--m-vertical--GridColumn: var(--cn-c-next__picture--GridColumn);
  /** Medium: 768px */
  /** Large: 1024px */
}
@media all and (min-width: 48rem) {
  .cn-c-next.cn-m-image {
    --cn-c-next__content--GridColumn: 3 / -3;
    --cn-c-next__picture--m-vertical--GridColumn: 1 / span 2;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-next.cn-m-image {
    --cn-c-next__header--GridColumn: 4 / span 4;
    --cn-c-next__picture--GridColumn: 1 / span 3;
  }
}

/**
 * Component
 */
.cn-c-next {
  accent-color: var(--cn-c-next--AccentColor);
  background-color: var(--cn-c-next--BackgroundColor);
  color: var(--cn-c-next--Color);
  display: grid;
  font-size: var(--cn-c-next--FontSize);
  grid-column-gap: var(--cn-c-next--ColumnGap);
  grid-template-columns: var(--cn-c-next--TemplateColumns);
  padding-block: var(--cn-c-next--PaddingBlockStart) var(--cn-c-next--PaddingBlockEnd);
}

.cn-c-next > * {
  grid-column: var(--cn-c-next__content--GridColumn);
}

/**
 * Title
 */
.cn-c-next > :first-child {
  font-size: var(--cn-c-next__title--FontSize);
  font-weight: var(--cn-c-next__title--FontWeight);
  margin-block: 0 var(--cn-c-next__title--MarginBlockEnd);
}

/**
 * Article
 * 1: contain borders and arrow link
 */
.cn-c-next > article {
  align-items: center;
  display: grid;
  grid-column-gap: inherit;
  grid-row-gap: var(--cn-c-next__article--RowGap);
  grid-template-columns: var(--cn-c-next__article--TemplateColumns);
  grid-template-rows: auto;
  padding-block: var(--cn-c-next__article--PaddingBlock);
  position: relative; /* 1 */
}
.cn-c-next > article::before, .cn-c-next > article::after {
  background-color: currentcolor;
  block-size: 1px;
  border-radius: 100vmax;
  content: "";
  display: block;
  inset-inline: 0;
  opacity: var(--cn-c-next__border--Opacity);
  position: absolute;
}
.cn-c-next > article::before {
  inset-block-start: 0;
}
.cn-c-next > article::after {
  inset-block-end: 0;
}

/**
 * Header
 */
.cn-c-next > article > header {
  display: grid;
  grid-column: var(--cn-c-next__header--GridColumn);
  grid-row: 1;
  grid-template-rows: auto;
}

.cn-c-next.cn-m-vertical > article > header {
  grid-column: var(--cn-c-next--m-vertical__header--GridColumn);
}

.cn-c-next.cn-m-head > article > header {
  grid-template-rows: repeat(2, auto);
}

/** Subtitle */
.cn-c-next__subtitle {
  font-size: var(--cn-c-next__subtitle--FontSize);
  grid-column: 1;
  grid-row: 1;
}

/* Chapter number */
.cn-c-next__subtitle strong {
  font-weight: var(--cn-c-next__chapter--FontWeight);
}

/** Label */
.cn-c-next > article > header > :first-child {
  font-family: var(--cn-c-next__label--FontFamily);
  font-weight: var(--cn-c-next__label--FontWeight);
  grid-column: 1;
  grid-row: -2;
  line-height: var(--cn-c-next__label--LineHeight);
  margin: 0;
}

/** Arrow link */
.cn-c-next > article > header > a {
  display: contents;
}
.cn-c-next > article > header > a::before {
  content: "";
  display: block;
  inset: 0;
  position: absolute;
  z-index: 1;
}

.cn-c-next > article > header > a > span {
  align-self: center;
  display: none;
  grid-column: 1;
  grid-row: 1/-1;
  opacity: 0;
  transform: scale(0);
  transition: opacity var(--cn-c-next--TransitionDuration) ease, transform var(--cn-c-next--TransitionDuration) ease;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-next > article > header > a > span {
    display: flex;
  }
}

.cn-c-next > article:is(:hover, :focus-within) > header > a > span {
  opacity: 1;
  transform: scale(1);
}

/** Text content */
.cn-c-next > article > header > :is(:first-child, .cn-c-next__subtitle) {
  transition: transform var(--cn-c-next--TransitionDuration) ease;
}

/** Medium: 768px */
@media all and (min-width: 48rem) {
  .cn-c-next > article:is(:hover, :focus-within) > header > :is(:first-child, .cn-c-next__subtitle) {
    transform: translateX(3.25rem);
  }
}
/**
 * Picture
 */
.cn-c-next > article > .cn-c-picture {
  --cn-c-picture--BackgroundColor: transparent;
  --cn-c-picture__image--AspectRatio: var(--cn-c-next__picture--AspectRatio);
  display: none;
  grid-column: var(--cn-c-next__picture--GridColumn);
  /** Large: 1024px */
}
.cn-c-next > article > .cn-c-picture.cn-m-vertical {
  --cn-c-picture__image--AspectRatio: var(--cn-c-next__picture--m-vertical--AspectRatio);
  grid-column: var(--cn-c-next__picture--m-vertical--GridColumn);
}
@media all and (min-width: 64rem) {
  .cn-c-next > article > .cn-c-picture {
    display: block;
    grid-row: 1;
  }
}

/**
 * Button
 * 1: over arrow link (1)
 */
.cn-c-next > article > footer {
  font-size: var(--cn-c-next__button--FontSize);
  font-weight: var(--cn-c-next__button--FontWeight);
  grid-column: var(--cn-c-next__button--GridColumn);
  justify-self: start;
  z-index: 2; /* 1 */
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-next > article > footer {
    grid-row: 1;
    justify-self: end;
  }
}

.cn-c-next > article > footer > .cn-c-button {
  --cn-c-button--hover--BackgroundColor: var(--cn-c-next--Color);
  --cn-c-button--hover--Color: var(--cn-c-next--BackgroundColor);
}
/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/heading/heading.scss ***!
  \********************************************************************************************************************************************************************************************/
/** ***************************************************************************
 * Digital / Organisms / Heading
 *************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/** ***************************************************************************
 * Digital / Organisms / Heading
 *************************************************************************** */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-heading {
  --cn-c-heading__first_line--MarginBlockEnd: 1.875rem; /* 30px */
}
@media screen and (min-width: 48rem) {
  .cn-c-heading {
    --cn-c-heading__first_line--MarginBlockEnd: 2.9375rem; /* 47px */
  }
}

.cn-c-heading .main-container {
  align-items: center;
  display: grid;
  grid-gap: 0 var(--cn-c-page--Grid-Gap);
  grid-template-columns: var(--cn-c-page--Grid-Template);
  margin-inline: auto;
  max-width: var(--cn-c-catalog--content--MaxWidth, var(--cn-c-template_shared--content--MaxWidth));
  padding-block: 1.9375rem 1.875rem;
  padding-inline: var(--cn-global--content-grid--offsetsize);
}
@media screen and (min-width: 64rem) {
  .cn-c-heading .main-container {
    padding-block: 6.9375rem 6.25rem;
  }
}
.cn-c-heading .subtitle {
  grid-column: 1/-1;
}
.cn-c-heading .subtitle p {
  font-size: 1.125rem;
  font-weight: var(--cn-global--FontWeight-regular);
  margin-block: 0;
}
@media screen and (min-width: 37.5rem) {
  .cn-c-heading .subtitle p {
    font-size: 1.4375rem;
  }
}
.cn-c-heading .subtitle p:first-of-type {
  margin-block-start: 1em;
}
@media screen and (min-width: 48rem) {
  .cn-c-heading .subtitle p:first-of-type {
    margin-block-start: 3.125rem;
  }
}
.cn-c-heading .subtitle p:last-of-type {
  margin-block-end: 1em;
}
@media screen and (min-width: 48rem) {
  .cn-c-heading .subtitle p {
    font-size: 1.875rem;
  }
}
@media screen and (min-width: 48rem) {
  .cn-c-heading .subtitle {
    grid-column: 7/-1;
  }
}
/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/header/index/index.scss ***!
  \***********************************************************************************************************************************************************************************************/
/** ***************************************************************************
 * Digital / Organisms / Header / Publication index
 *************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-index_header {
  --cn-c-index_header--TemplateRows: repeat(5, auto);
  /**
   * Title
   */
  --cn-c-index_header__title--FontFamily: var(--cn-global--FontFamily-serif);
  --cn-c-index_header__title--FontSize: clamp(2.8125rem, 3.89em, 4.375rem);
  --cn-c-index_header__title--FontWeight: var(--cn-global--FontWeight-heavy);
  --cn-c-index_header__title--GridColumn: 2 / -2;
  --cn-c-index_header__title--GridRow: 3;
  --cn-c-index_header__title--LineHeight: 1.06;
  --cn-c-index_header__title--MarginBlockStart: 0.71em;
  /**
   * Subtitle
   */
  --cn-c-index_header__subtitle--FontSize: clamp(1.5rem, 2em, 2.25rem);
  --cn-c-index_header__subtitle--FontWeight: var(--cn-global--FontWeight-medium);
  --cn-c-index_header__subtitle--GridColumn: 2 / -2;
  --cn-c-index_header__subtitle--GridRow: 4;
  --cn-c-index_header__subtitle--LineHeight: 1.11;
  --cn-c-index_header__subtitle--MarginBlockStart: 1.28em;
  /**
   * Breadcrumbs
   */
  --cn-c-index_header__breadcrumb--GridColumn: 2 / span 2;
  --cn-c-index_header__breadcrumb--GridRow: 1;
  --cn-c-index_header__breadcrumb--MarginBlock: 1.41em 0;
  /**
   * Authors
   */
  --cn-c-index_header__authors--GridColumn: 2 / -2;
  --cn-c-index_header__authors--GridRow: 2;
  --cn-c-index_header__authors--JustifySelf: start;
  --cn-c-index_header__authors--MarginBlockStart: 3.61em;
  /**
   * Image
   */
  --cn-c-index_header__image--BlockSize: 20rem;
  /**
   * Overlay
   */
  --cn-c-index_header__overlay--BackgroundColor: black;
  --cn-c-index_header__overlay--Opacity: 0.3;
  /** Medium: 768px */
  /** Large: 1024px */
  /** Extra extralarge: 1440px */
}
@media all and (min-width: 48rem) {
  .cn-c-index_header {
    --cn-c-index_header--TemplateRows: repeat(4, auto);
    --cn-c-index_header__authors--GridColumn: 5 / -2;
    --cn-c-index_header__authors--JustifySelf: end;
    --cn-c-index_header__breadcrumb--GridColumn: 2 / span 3;
    --cn-c-index_header__breadcrumb--GridRow: 2;
    --cn-c-index_header__breadcrumb--MarginBlock: 3.61em 3.06em;
    --cn-c-index_header__subtitle--GridColumn: 3 / -3; /*5 / -3;*/
    --cn-c-index_header__title--GridColumn: 3 / -3;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-index_header {
    --cn-c-index_header__subtitle--GridColumn: 5 / -3;
  }
}
@media all and (min-width: 90rem) {
  .cn-c-index_header {
    --cn-c-index_header__image--BlockSize: clamp(20rem, 33.34vw, 30rem);
  }
}

/**
 * Component
 * 1: subgrid
 */
.cn-c-index_header {
  display: grid;
  grid-column-gap: inherit; /* 1 */
  grid-template-columns: inherit; /* 1 */
  grid-template-rows: var(--cn-c-index_header--TemplateRows);
}

/**
 * Title
 */
.cn-c-index_header > :first-child {
  font-family: var(--cn-c-index_header__title--FontFamily);
  font-size: var(--cn-c-index_header__title--FontSize);
  font-weight: var(--cn-c-index_header__title--FontWeight);
  grid-column: var(--cn-c-index_header__title--GridColumn);
  grid-row: var(--cn-c-index_header__title--GridRow);
  line-height: var(--cn-c-index_header__title--LineHeight);
  margin-block: var(--cn-c-index_header__title--MarginBlockStart) 0;
}

/**
 * Subtitle
 */
.cn-c-index_header > p {
  font-size: var(--cn-c-index_header__subtitle--FontSize);
  font-weight: var(--cn-c-index_header__subtitle--FontWeight);
  grid-column: var(--cn-c-index_header__subtitle--GridColumn);
  grid-row: var(--cn-c-index_header__subtitle--GridRow);
  line-height: var(--cn-c-index_header__subtitle--LineHeight);
  margin-block: var(--cn-c-index_header__subtitle--MarginBlockStart) 0;
}

/**
 * Breadcrumbs
 * 1: on top of overlay
 */
.cn-c-index_header > .cn-c-digital_breadcrumb {
  align-self: baseline;
  grid-column: var(--cn-c-index_header__breadcrumb--GridColumn);
  grid-row: var(--cn-c-index_header__breadcrumb--GridRow);
  margin-block: var(--cn-c-index_header__breadcrumb--MarginBlock);
  z-index: 2; /* 1 */
}

/**
 * Authors
 */
.cn-c-index_header__authors {
  align-self: baseline;
  grid-column: var(--cn-c-index_header__authors--GridColumn);
  grid-row: var(--cn-c-index_header__authors--GridRow);
  justify-self: var(--cn-c-index_header__authors--JustifySelf);
  margin-block-start: var(--cn-c-index_header__authors--MarginBlockStart);
}

/**
 * Image
 * 1: behind overlay
 * 2: this is a /horrible/ workaround
 */
.cn-c-index_header > .cn-c-picture,
.cn-c-index_header > .cn-c-figure {
  grid-column: 1/-1;
  grid-row: 1;
  inline-size: 100%;
  z-index: 0; /* 1 */
}
.cn-c-index_header > .cn-c-picture img,
.cn-c-index_header > .cn-c-figure img {
  block-size: var(--cn-c-index_header__image--BlockSize); /* 2 */
}

.cn-c-index_header .cn-c-picture {
  --cn-c-picture--BackgroundColor: transparent;
  --cn-c-picture__image--BorderRadius: 0;
}

.cn-c-index_header > .cn-c-figure {
  --cn-c-figure__picture--BorderRadius: 0;
}

/**
 * Overlay
 * 1: over image
 * 2: reset
 */
.cn-c-index_header > :is(.cn-c-picture, .cn-c-figure)::before {
  background-color: var(--cn-c-index_header__overlay--BackgroundColor);
  box-shadow: initial; /* 2 */
  content: "";
  display: block;
  grid-column: 1/-1;
  grid-row: 1;
  opacity: var(--cn-c-index_header__overlay--Opacity);
  pointer-events: none;
  z-index: 1; /* 1 */
}
/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/header/article/article.scss ***!
  \***************************************************************************************************************************************************************************************************/
/** ***************************************************************************
 * Digital / Organisms / Header / Article
 *************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-article_header {
  --cn-c-digital_header--BorderColor: var(--cn-global--palette-black--50);
  --cn-c-digital_header--ColumnGap: min(2.78vw, 2.5rem);
  --cn-c-digital_header--Grid:
    "breadcrumbs"
    "heading"
    "subheading"
    "authors";
  --cn-c-digital_header--PaddingBlockEnd: 0;
  --cn-c-digital_header--md--PaddingBlockEnd: clamp(.5rem, 1.46vw, 1.25rem);
  /**
   * Image
   */
  --cn-c-digital_header__image--BorderRadius: min(1.67vw, 1.5rem);
  --cn-c-digital_header__image--InlineSize: 100%;
  --cn-c-digital_header__image--JustifySelf: center;
  --cn-c-digital_header__image--MarginBlockStart: 1.125rem;
  /**
   * Figure
   */
  --cn-c-digital_header__figure--FontSize: 1rem;
  /**
   * Heading
   */
  --cn-c-digital_header__heading--FontFamily: var(--cn-global--FontFamily-serif);
  --cn-c-digital_header__heading--FontSize: clamp(2rem, 4.86vw, 4.375rem);
  --cn-c-digital_header__heading--FontWeight: var(--cn-global--FontWeight-heavy);
  --cn-c-digital_header__heading--LineHeight: 1.13;
  --cn-c-digital_header__heading--MarginBlockStart: .625rem; /* 10px */
  /**
   * Subheading
   */
  --cn-c-subheading--FontFamily: var(--cn-c-digital_header__heading--FontFamily);
  --cn-c-subheading--FontSize: calc(var(--cn-c-digital_header__heading--FontSize) * 0.57);
  --cn-c-subheading--FontWeight: var(--cn-c-digital_header__heading--FontWeight);
  /**
   * Breadcrumbs
   */
  --cn-c-digital_header__breadcrumbs--FontSize: clamp(.875rem, 1.25vw, 1.125rem);
  --cn-c-digital_header__breadcrumbs--MarginBlockStart: 1.25rem;
  /**
   * Authors
   */
  --cn-c-digital_header__authors--FontSize: clamp(.875rem, 1.39vw, 1.25rem);
  --cn-c-digital_header__authors--MarginBlockStart: 2.25rem;
  /**
   * Location
   */
  --cn-c-digital_header__location--FontSize: clamp(.75rem, .97vw, .875rem);
  /**
   * Chapter counter
   */
  --cn-c-digital_header__chapter--FontSize: 1.125rem;
  --cn-c-digital_header__chapter--FontWeight: var(--cn-global--FontWeight-book-regular);
  --cn-c-digital_header__chapter--PaddingblockEnd: 1.67em;
  --cn-c-digital_header__chapter--MarginBlockStart: 1.33em;
  --cn-c-digital_header--m-vertical__chapter--MarginBlockStart: 1.33em;
  --cn-c-digital_header__chapter__counter--FontWeight: var(--cn-global--FontWeight-bold);
  --cn-c-digital_header__chapter__border--Opacity: 0.5;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-article_header {
    --cn-c-digital_header--PaddingBlockEnd: var(--cn-c-digital_header--md--PaddingBlockEnd);
    --cn-c-digital_header__image--InlineSize: calc(
      100%
      + (var(--cn-c-page--column-width) + var(--cn-global--content-grid--guttersize)) * 2 /* + two columns + two gutters */
    );
    --cn-c-digital_header--Grid:
      "breadcrumbs breadcrumbs"
      "heading     heading"
      "subheading  subheading"
      "authors     location"
    / 1fr 1fr;
    --cn-c-digital_header__heading--MarginBlockStart: 1rem; /* 9.58px / 16px */
    --cn-c-digital_header__breadcrumbs--MarginBlockStart: min(3.9vw, 2.5rem);
    --cn-c-digital_header__authors--MarginBlockStart: 2.875rem; /* 46px */
    --cn-c-digital_header__chapter--PaddingblockEnd: 0.33em;
    --cn-c-digital_header__chapter--MarginBlockStart: 0.33em;
    --cn-c-digital_header--m-vertical__chapter--MarginBlockStart: 3.06em;
  }
}
@media all and (min-width: 90rem) {
  .cn-c-article_header {
    --cn-c-digital_header__image--MarginBlockStart: 0;
    --cn-c-digital_header__authors--MarginBlockStart: 3.125rem; /* 50px */
  }
}
@media all and (min-width: 120rem) {
  .cn-c-article_header {
    --cn-c-digital_header__image--InlineSize: calc(100% + 44.125rem);
  }
}

.cn-c-article_header.cn-m-image {
  --cn-c-digital_header__image--AspectRatio: 17 / 11;
  --cn-c-digital_header--Grid:
    "breadcrumbs"
    "image"
    "heading"
    "subheading"
    "authors";
}
@media all and (min-width: 48rem) {
  .cn-c-article_header.cn-m-image {
    --cn-c-digital_header__image--AspectRatio: 162 / 71;
    --cn-c-digital_header--Grid:
      "image       image"
      "breadcrumbs breadcrumbs"
      "heading     heading"
      "subheading  subheading"
      "authors     location"
    / 1fr 1fr;
  }
}

@media all and (min-width: 48rem) {
  .cn-c-article_header.cn-m-image.cn-m-vertical {
    --cn-c-digital_header--Grid:
      "image   ." 1fr
      "image   breadcrumbs"
      "image   heading"
      "image   subheading"
      "image   ." 2fr
      "authors location"
    / 1fr 1fr;
    --cn-c-digital_header__breadcrumbs--MarginBlockStart: 0;
    --cn-c-digital_header__image--AspectRatio: 4 / 5;
    --cn-c-digital_header__image--JustifySelf: end;
    --cn-c-digital_header__image--InlineSize: calc(100% + 5vw + 2.78vw); /* one column + one gutter */
    --cn-c-digital_header__chapter--MarginBlockStart: var(--cn-c-digital_header--m-vertical__chapter--MarginBlockStart);
  }
}
@media all and (min-width: 120rem) {
  .cn-c-article_header.cn-m-image.cn-m-vertical {
    --cn-c-digital_header__image--InlineSize: calc(100% + 22.06rem); /* 44.125rem / 2 */
  }
}

/**
 * Component
 */
.cn-c-article_header {
  display: grid;
  grid-column-gap: var(--cn-c-digital_header--ColumnGap);
  grid: var(--cn-c-digital_header--Grid);
  padding-block-end: var(--cn-c-digital_header--PaddingBlockEnd);
}
@media all and (min-width: 48rem) {
  .cn-c-article_header.cn-m-border {
    border-block-end: 1px solid var(--cn-c-digital_header--BorderColor);
  }
}

/**
 * Image
 */
.cn-c-article_header > .cn-c-picture,
.cn-c-article_header > .cn-c-figure {
  align-self: stretch;
  box-sizing: content-box;
  grid-area: image;
  inline-size: var(--cn-c-digital_header__image--InlineSize);
  justify-self: var(--cn-c-digital_header__image--JustifySelf);
  margin-block-start: var(--cn-c-digital_header__image--MarginBlockStart);
  transition: block-size 0.3s linear;
}

.cn-c-article_header .cn-c-picture {
  --cn-c-picture__shadow--Display: none;
}

/**
 * Plain image
 */
.cn-c-article_header > .cn-c-picture {
  --cn-c-picture__image--AspectRatio: var(--cn-c-digital_header__image--AspectRatio);
  --cn-c-picture__image--BorderRadius: var(--cn-c-digital_header__image--BorderRadius);
}

/**
 * Figure
 */
.cn-c-article_header > .cn-c-figure {
  --cn-c-figure__picture--AspectRatio: var(--cn-c-digital_header__image--AspectRatio);
  --cn-c-figure__picture--BorderRadius: var(--cn-c-digital_header__image--BorderRadius);
  font-size: var(--cn-c-digital_header__figure--FontSize);
}

/**
 * Heading
 * 1: reset
 */
.cn-c-article_header > h1 {
  font-family: var(--cn-c-digital_header__heading--FontFamily);
  font-size: var(--cn-c-digital_header__heading--FontSize);
  font-weight: var(--cn-c-digital_header__heading--FontWeight);
  grid-area: heading;
  line-height: var(--cn-c-digital_header__heading--LineHeight);
  margin-block-end: 0; /* 1 */
  margin-block-start: var(--cn-c-digital_header__heading--MarginBlockStart);
}

/**
 * Subheading
 */
.cn-c-article_header > p {
  font-family: var(--cn-c-subheading--FontFamily);
  font-size: var(--cn-c-subheading--FontSize);
  font-weight: var(--cn-c-subheading--FontWeight);
  grid-area: subheading;
  margin: 0;
}

/**
 * Breadcrumbs
 */
.cn-c-article_header > .cn-c-digital_breadcrumb {
  font-size: var(--cn-c-digital_header__breadcrumbs--FontSize);
  grid-area: breadcrumbs;
  margin-block-start: var(--cn-c-digital_header__breadcrumbs--MarginBlockStart);
}

/**
 * Authors
 */
.cn-c-article_header > .cn-c-authors {
  align-self: end;
  font-size: var(--cn-c-digital_header__authors--FontSize);
  grid-area: authors;
  margin-block-start: var(--cn-c-digital_header__authors--MarginBlockStart);
}

/**
 * Location
 */
.cn-c-article_header > .cn-c-location {
  align-self: end;
  display: none;
  font-size: var(--cn-c-digital_header__location--FontSize);
  justify-self: end;
  /** medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-article_header > .cn-c-location {
    display: inherit;
    grid-area: location;
  }
}

/**
 * Chapter counter
 * 1: contain border
 */
.cn-c-article_header__chapter {
  grid-column: 1/-1;
  grid-row: -1;
  text-align: start;
  position: relative; /* 1 */
  font-size: var(--cn-c-digital_header__chapter--FontSize);
  font-weight: var(--cn-c-digital_header__chapter--FontWeight);
  padding-block-end: var(--cn-c-digital_header__chapter--PaddingblockEnd);
  margin-block-start: var(--cn-c-digital_header__chapter--MarginBlockStart);
  /** Border */
  /** medium: 768px */
}
.cn-c-article_header__chapter > strong {
  font-weight: var(--cn-c-digital_header__chapter__counter--FontWeight);
}
.cn-c-article_header__chapter::after {
  content: "";
  position: absolute;
  display: block;
  inset-inline: 0;
  inset-block-end: 0;
  block-size: 1px;
  background-color: currentcolor;
  border-radius: 100vmax;
  opacity: var(--cn-c-digital_header__chapter__border--Opacity);
}
@media all and (min-width: 48rem) {
  .cn-c-article_header__chapter {
    text-align: end;
  }
}

/** medium: 768px */
@media all and (min-width: 48rem) {
  .cn-c-article_header.cn-m-vertical .cn-c-article_header__chapter {
    text-align: start;
  }
}
/*!************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/content_index_trigger/content_index_trigger.scss ***!
  \************************************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Content Index Trigger
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-content_index_trigger {
  position: fixed;
  bottom: 0.875rem;
  left: 0;
  right: 0;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--cn-c-page--AccentColor);
  color: var(--cn-c-page--BackgroundColor);
  margin-inline: var(--cn-global--content-grid--offsetsize);
  border-radius: 1.5625rem;
  height: 3.125rem;
  padding-inline: 1.875rem;
  cursor: pointer;
}
.cn-c-content_index_trigger .initial {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.cn-c-content_index_trigger .initial svg {
  block-size: 1.25rem;
}
.cn-c-content_index_trigger .cn-c-label {
  font-size: 1.5rem;
}
.cn-c-content_index_trigger > .cn-c-button {
  display: none;
}
.cn-c-content_index_trigger .cn-c-index_logo {
  display: none;
}
.cn-c-content_index_trigger .back-top-wrapper {
  display: flex;
  align-items: center;
  --cn-c-button--no-frame--Color: var(--cn-c-page--BackgroundColor);
}
.cn-c-content_index_trigger .back-top-wrapper .cn-c-button--no-frame {
  --cn-c-button--PaddingInline: unset;
  padding-inline-start: 0.8125rem;
  font-size: 0.875rem;
  font-weight: var(--cn-global--FontWeight-semibold);
  gap: 0.6875rem;
}
.cn-c-content_index_trigger .back-top-wrapper .vertical-separator {
  width: 1px;
  height: 1.125rem;
  background-color: var(--cn-global--palette-white);
}
.cn-c-content_index_trigger .back-top-wrapper .icon-wrapper {
  transform: rotate(-90deg);
  block-size: 1rem;
  background-color: unset;
  padding: unset;
}
.cn-c-content_index_trigger:hover {
  background-color: var(--cn-c-page--Color);
}
.cn-c-content_index_trigger:hover > .cn-c-button {
  --cn-c-button--Color: var(--cn-c-page--Color);
}
@media all and (min-width: 64rem) {
  .cn-c-content_index_trigger {
    bottom: unset;
    margin-inline: unset;
    height: unset;
    position: fixed;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    border-radius: 2px;
    padding-block: 0.9375rem;
    padding-inline: 1.75rem;
    width: 7.0625rem;
  }
  .cn-c-content_index_trigger .initial svg {
    display: none;
  }
  .cn-c-content_index_trigger .cn-c-label {
    font-size: unset;
  }
  .cn-c-content_index_trigger > .cn-c-button {
    --cn-c-button--Color: var(--cn-c-page--AccentColor);
    --cn-c-button--BackgroundColor: var(--cn-c-page--BackgroundColor);
    --cn-c-button--icon-only--Padding: unset;
    display: flex;
    pointer-events: none;
  }
  .cn-c-content_index_trigger .cn-c-index_logo {
    display: flex;
  }
  .cn-c-content_index_trigger .back-top-wrapper {
    display: none;
  }
}
/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/content_index/content_index.scss ***!
  \********************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Content Index
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-content_index {
  position: fixed;
  width: 0;
  overflow: hidden;
  height: 100%;
  top: 0;
  z-index: 9;
}
.cn-c-content_index .index-label {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(50%);
  background-color: var(--cn-c-page--AccentColor);
  padding-block: 2.875rem 1.125rem;
  padding-inline: 2rem;
  text-align: center;
  z-index: 3;
}
.cn-c-content_index .index-label:has(.cn-c-index_logo) {
  width: 5.625rem;
  padding-block: 1.5625rem 0.25rem;
  padding-inline: 1.375rem;
  right: 2.0625rem;
  transform: unset;
}
.cn-c-content_index .index-label > .subtitle {
  display: flex;
  justify-content: center;
  gap: 0.3125rem;
  font-size: 0.75rem;
  padding-block-end: 0.1875rem;
  margin-block-end: 0.3125rem;
  border-block-end: 1px solid var(--cn-c-page--BackgroundColor);
}
.cn-c-content_index .index-label > .title {
  font-size: 1.375rem;
}
@media all and (min-width: 64rem) {
  .cn-c-content_index .index-label {
    display: block;
  }
}
.cn-c-content_index .cn-c-content_index_detail {
  height: 100%;
  position: relative;
  min-height: 100vh;
  z-index: 9;
  transform: translateX(-101%);
  transition: transform var(--cn-global--Duration--sm);
  background-color: var(--cn-c-page--Color);
  color: var(--cn-c-page--BackgroundColor);
}
.cn-c-content_index .cn-c-content_index_detail.is-opened {
  transform: translateX(0);
}
.cn-c-content_index .cn-c-content_index_detail .header {
  display: flex;
  justify-content: space-between;
  padding-block-end: 0.875rem;
  border-block-end: 1px solid var(--cn-c-page--BackgroundColor);
  margin-inline: var(--cn-global--content-grid--offsetsize);
  padding-block-start: 2.0625rem;
}
.cn-c-content_index .cn-c-content_index_detail .header .cn-c-label {
  font-size: 1.5rem;
}
.cn-c-content_index .cn-c-content_index_detail .header .cn-c-button--no-frame {
  --cn-c-button--PaddingInline: unset;
  --cn-c-button--PaddingBlock: unset;
  gap: 0.6875rem;
  --cn-c-button--hover--Color: var(--cn-c-page--BackgroundColor);
  --cn-c-button--no-frame--Color: var(--cn-c-page--BackgroundColor);
  font-weight: var(--cn-global--FontWeight-semibold);
}
.cn-c-content_index .cn-c-content_index_detail .header .cn-c-button--no-frame .icon-wrapper {
  color: var(--cn-c-page--BackgroundColor);
  block-size: 0.8125rem;
  background-color: unset;
  padding: unset;
}
@media all and (min-width: 64rem) {
  .cn-c-content_index .cn-c-content_index_detail .header {
    padding-block-start: unset;
  }
}
.cn-c-content_index .cn-c-content_index_detail section {
  height: calc(100% - 77px);
  overflow-y: auto;
  overflow-x: hidden;
  padding-block-start: 0.875rem;
  padding-block-end: 2.0625rem;
}
.cn-c-content_index .cn-c-content_index_detail section > header {
  --cn-c-content_index__title--FontSize: 1rem;
  --cn-c-content_index__title--FontWeight: var(--cn-global--FontWeight-regular);
  --cn-c-content_index__subtitle--FontSize: 2.5rem;
  --cn-c-content_index__subtitle--FontWeight: var(--cn-global--FontWeight-semibold);
  padding-inline: var(--cn-global--content-grid--offsetsize);
}
.cn-c-content_index .cn-c-content_index_detail section > header > h2 {
  font-size: var(--cn-c-content_index__title--FontSize);
  font-weight: var(--cn-c-content_index__title--FontWeight);
  margin-block: unset;
}
.cn-c-content_index .cn-c-content_index_detail section > header > h3 {
  font-size: var(--cn-c-content_index__subtitle--FontSize);
  font-weight: var(--cn-c-content_index__subtitle--FontWeight);
  border-block-end: 1px solid rgba(255, 255, 255, 0.24);
}
@media all and (min-width: 64rem) {
  .cn-c-content_index .cn-c-content_index_detail section > header > h3 {
    margin-inline-end: 7.6875rem;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-content_index .cn-c-content_index_detail section > header {
    padding-block-start: 2.0625rem;
  }
}
.cn-c-content_index .cn-c-content_index_detail section > ul {
  counter-reset: chapter-count;
  display: block;
  grid-column: var(--cn-c-page__list--GridColumn);
  list-style-type: none; /* 1 */
  margin-inline: 0; /* 1 */
  margin-block: var(--cn-c-page__list--MarginBlockStart) 0;
  padding: 0; /* 1 */
  padding-inline: var(--cn-global--content-grid--offsetsize);
}
.cn-c-content_index .cn-c-content_index_detail section > ul > li {
  position: relative;
}
.cn-c-content_index .cn-c-content_index_detail section > ul > li::before {
  display: none; /* 1 */
}
.cn-c-content_index .cn-c-content_index_detail section > ul > li.is-active::before {
  content: "";
  display: block;
  background-color: var(--cn-c-page--BackgroundColor);
  width: 3px;
  height: 100%;
  position: absolute;
  left: calc(-1 * var(--cn-global--content-grid--offsetsize));
}
.cn-c-content_index .cn-c-content_index_detail section > ul .cn-c-article_item {
  --fluid-18-24: clamp(1.125rem, 0.5rem + 2.6667vw, 1.5rem);
  --cn-c-article_item--PaddingBlockEnd: 0.28em;
  --cn-c-article_item__border--BackgroundColor: rgba(255, 255, 255, 0.2);
  --cn-c-article_item--FontSize: var(--fluid-18-24);
}
.cn-c-content_index .cn-c-content_index_detail section > ul .cn-c-article_item > :first-child {
  font-weight: 700;
}
.cn-c-content_index .cn-c-content_index_detail section > ul .cn-c-article_item > .cn-c-picture {
  display: none;
}
@media all and (min-width: 64rem) {
  .cn-c-content_index .cn-c-content_index_detail section > ul .cn-c-article_item {
    --cn-c-article_item--TemplateColumns: 1 / -1;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-content_index .cn-c-content_index_detail section {
    height: 100%;
    padding-block-start: unset;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-content_index .cn-c-content_index_detail {
    width: 50vw;
    max-width: 40rem;
  }
  .cn-c-content_index .cn-c-content_index_detail .header {
    display: none;
  }
}
.cn-c-content_index:has(.cn-c-content_index_detail.is-opened) {
  grid-column: 1/-1;
  background-color: var(--cn-global--palette-dark-gray--60);
  width: 100%;
  z-index: 101;
}
/*!****************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles/shared/variables.module.scss ***!
  \****************************************************************************************************************************************************************************/
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/buy_cta/buy_cta.scss ***!
  \********************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Buy product call to action
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-buy {
  --cn-c-buy--BackgroundColor: var(--cn-c-page--Color);
  --cn-c-buy--Color: var(--cn-c-page--BackgroundColor);
  --cn-c-buy--ColumnGap: var(--cn-c-page__main--ColumnGap);
  --cn-c-buy--FontSize: 1.25rem;
  --cn-c-buy--PaddingBlockEnd: 2em;
  --cn-c-buy--PaddingBlockStart: 3.35em;
  --cn-c-buy--TemplateColumns: var(--cn-c-page__main--TemplateColumns);
  /**
   * Content
   */
  --cn-c-buy__content--GridColumn: 2 / -2;
  /**
   * Title
   */
  --cn-c-buy__title--FontFamily: var(--cn-global--FontFamily-serif);
  --cn-c-buy__title--FontSize: 3.5em;
  --cn-c-buy__title--FontWeight: var(--cn-global--FontWeight-heavy);
  --cn-c-buy__title--LineHeight: 1.06;
  --cn-c-buy__title--MarginBlockStart: 1.2em;
  /**
   * Subtitle
   */
  --cn-c-buy__subtitle--FontSize: 1.8em;
  --cn-c-buy__subtitle--FontWeight: var(--cn-global--FontWeight-medium);
  --cn-c-buy__subtitle--LineHeight: 1.11;
  --cn-c-buy__subtitle--MarginBlockStart: 1.28em;
  /**
   * Authors
   */
  --cn-c-buy__authors--FontWeight: var(--cn-global--FontWeight-light);
  --cn-c-buy__authors--LineHeight: 2;
  --cn-c-buy__authors--MarginBlockStart: 2.3em;
  /** Author names */
  --cn-c-buy__authors__name--FontWeight: var(--cn-global--FontWeight-medium);
  /**
   * Button
   */
  --cn-c-buy__button--FontWeight: var(--cn-global--FontWeight-semibold);
  /**
   * Border
   */
  --cn-c-buy__border--GridColumn: 2 / -2;
  --cn-c-buy__border--Opacity: 0.24;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-buy {
    --cn-c-buy--PaddingBlockEnd: 7.8em;
    --cn-c-buy__content--GridColumn: 3 / -3;
  }
}

/**
 * Component
 */
.cn-c-buy {
  background-color: var(--cn-c-buy--BackgroundColor);
  color: var(--cn-c-buy--Color);
  display: grid;
  font-size: var(--cn-c-buy--FontSize);
  grid-column-gap: var(--cn-c-buy--ColumnGap);
  grid-template-columns: var(--cn-c-buy--TemplateColumns);
  padding-block-start: var(--cn-c-buy--PaddingBlockStart);
}

/**
 * Content
 */
.cn-c-buy > * {
  grid-column: var(--cn-c-buy__content--GridColumn);
  margin: 0;
}

/**
 * Title
 */
.cn-c-buy > *:first-child {
  font-family: var(--cn-c-buy__title--FontFamily);
  font-size: var(--cn-c-buy__title--FontSize);
  font-weight: var(--cn-c-buy__title--FontWeight);
  line-height: var(--cn-c-buy__title--LineHeight);
  margin-block-start: var(--cn-c-buy__title--MarginBlockStart);
}

/**
 * Subtitle
 */
.cn-c-buy > p:first-of-type {
  font-size: var(--cn-c-buy__subtitle--FontSize);
  font-weight: var(--cn-c-buy__subtitle--FontWeight);
  line-height: var(--cn-c-buy__subtitle--LineHeight);
  margin-block-start: var(--cn-c-buy__subtitle--MarginBlockStart);
}

/**
 * Authors
 */
.cn-c-buy > p:nth-of-type(2) {
  font-size: inherit;
  font-weight: var(--cn-c-buy__authors--FontWeight);
  line-height: var(--cn-c-buy__authors--LineHeight);
  margin-block-start: var(--cn-c-buy__authors--MarginBlockStart);
}

/** Author names */
.cn-c-buy > p:nth-of-type(2) > span {
  font-weight: var(--cn-c-buy__authors__name--FontWeight);
}

/**
 * Button
 */
.cn-c-buy > .cn-c-button {
  --cn-c-button--hover--BackgroundColor: var(--cn-c-buy--Color);
  --cn-c-button--hover--Color: var(--cn-c-buy--BackgroundColor);
  font-weight: var(--cn-c-buy__button--FontWeight);
  grid-row: 1;
  justify-self: center;
}

/**
 * Border
 */
.cn-c-buy::after {
  background-color: currentcolor;
  block-size: 1px;
  border-radius: 100vmax;
  content: "";
  display: block;
  grid-column: var(--cn-c-buy__border--GridColumn);
  margin-block-start: var(--cn-c-buy--PaddingBlockEnd);
  opacity: var(--cn-c-buy__border--Opacity);
}
/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/brand_link/brand_link.scss ***!
  \**************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Brand link
 *********************************************************************************** */
.cn-c-brand_link {
  /**
   * Link
   */
  --cn-c-brand_link__link--MarginBlockStart: 1.32em;
  --cn-c-brand_link__link--Color: var(--cn-global--palette-red);
  /**
   * Logo
   */
  --cn-c-brand_link__logo--MaxBlockSize: clamp(4.5rem, 13.06vw, 11.75rem);
  /**
   * Text decoration
   */
  --cn-c-brand_link__decoration--Opacity: 0.18;
  --cn-c-brand_link__decoration--TransitionDuration: .15s;
}

/**
 * Component
 * 1: reset
 * 2: contain link
 */
.cn-c-brand_link {
  margin: 0; /* 1 */
  position: relative; /* 2 */
}

/**
 * Logo
 */
.cn-c-brand_link > img {
  block-size: auto;
  display: block;
  max-block-size: var(--cn-c-brand_link__logo--MaxBlockSize);
}

/**
 * Link
 */
.cn-c-brand_link a {
  color: var(--cn-c-brand_link__link--Color);
  display: inline-block;
  margin-block-start: var(--cn-c-brand_link__link--MarginBlockStart);
}
.cn-c-brand_link a::before {
  content: "";
  display: block;
  inset: 0;
  position: absolute;
}
.cn-c-brand_link a::after {
  background-color: currentcolor;
  block-size: 1px;
  border-radius: 100vmax;
  content: "";
  display: block;
  inline-size: 100%;
  opacity: var(--cn-c-brand_link__decoration--Opacity);
  transform-origin: 0;
  transition: transform var(--cn-c-brand_link__decoration--TransitionDuration) ease;
}
.cn-c-brand_link a:hover::after {
  transform: scaleX(0);
}
/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/bookmark/bookmark.scss ***!
  \**********************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Bookmark
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-bookmark h2 {
  font-size: var(--cn-global--FontSize-title--lg);
}
.cn-c-bookmark .box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.5625rem;
  border-block: 1px solid rgba(255, 255, 255, 0.24);
  padding-block: 21px;
}
.cn-c-bookmark .box > div {
  display: flex;
  align-items: center;
  gap: 1.5625rem;
}
.cn-c-bookmark .box > div .vertical-separator {
  width: 2px;
  height: 6.25rem;
  background-color: var(--cn-global--palette-white);
}
.cn-c-bookmark .box > div .cn-c-article_item {
  pointer-events: none;
  --cn-c-article_item__title--GridColumn: 1 / -1;
  --cn-c-article_item--PaddingBlockStart: 0;
  --cn-c-article_item--PaddingBlockEnd: 0;
  --cn-c-article_item__counter--MarginBlockEnd: 0;
}
.cn-c-bookmark .box > div .cn-c-article_item:first-child {
  font-size: 1.875rem;
  line-height: 1.167;
}
.cn-c-bookmark .box > div .cn-c-article_item::after {
  content: none;
}
.cn-c-bookmark .box > div .cn-c-article_item__chapter {
  font-size: 0.875rem;
  line-height: 2.286;
}
.cn-c-bookmark .box > div .paragraph-title {
  font-size: 1.125rem;
  line-height: 2.222;
  font-weight: 500;
}
.cn-c-bookmark .box .cn-c-button {
  --cn-c-button--Color: var(--cn-c-page--Color);
  --cn-c-button--hover--BackgroundColor: var(--cn-c-page--Color);
  --cn-c-button--hover--Color: var(--cn-c-page--BackgroundColor);
}
.cn-c-bookmark .box .cn-c-button.cn-c-button--icon-only {
  --cn-c-button--icon-only--Dimension: 2.75rem;
  pointer-events: none;
}
.cn-c-bookmark .box .cn-c-button:not(.cn-c-button--icon-only) {
  font-weight: var(--cn-global--FontWeight-semibold);
  padding-block: 0.6875rem;
  padding-inline: 1.3125rem;
  flex-shrink: 0;
}
.cn-c-bookmark .box .cn-c-button:not(.cn-c-button--icon-only) span {
  font-size: 0.8125rem;
}
@media all and (min-width: 64rem) {
  .cn-c-bookmark .box {
    flex-direction: row;
    align-items: center;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-bookmark {
    margin-block-start: 4.375rem;
  }
}
/*!***********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/banner/advertorial/advertorial.scss ***!
  \***********************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Banner / Advertorial
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-banner.cn-m-advertorial {
  /**
   * Content
   */
  --cn-c-banner--m-advertorial__content--PaddingInline: 0;
  --cn-c-banner--m-advertorial__content--RowGap: 1.21em;
  /**
   * Image
   */
  --cn-c-banner--m-advertorial__image--AspectRatio: 270 / 61;
  /**
   * Overlay
   */
  --cn-c-banner--m-advertorial__overlay--BackgroundColor: var(--cn-global--palette-dark-gray--60);
  --cn-c-banner--m-advertorial__overlay--Opacity: 0.5;
  /**
   * Subtitle
   */
  --cn-c-banner--m-advertorial__subtitle--FontSize: clamp(1.42rem, 2.36vw, 2.125rem);
  --cn-c-banner--m-advertorial__subtitle--FontWeight: var(--cn-global--FontWeight-semibold);
  /**
   * Button
   */
  --cn-c-banner--m-advertorial__button--FontWeight: var(--cn-global--FontWeight-semibold);
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-banner.cn-m-advertorial {
    --cn-c-banner--m-advertorial__content--PaddingInline: 7.5em 3em;
  }
}

/**
 * Component
 */
.cn-c-banner.cn-m-advertorial {
  --cn-c-banner__overlay--BackgroundColor: var(--cn-global--palette-black--60);
}

/**
 * Content
 * 1: contain button and image
 */
.cn-c-banner.cn-m-advertorial > .cn-c-banner__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-inline: var(--cn-c-banner--m-advertorial__content--PaddingInline);
  position: relative; /* 1 */
  row-gap: var(--cn-c-banner--m-advertorial__content--RowGap);
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-banner.cn-m-advertorial > .cn-c-banner__content {
    aspect-ratio: var(--cn-c-banner--m-advertorial__image--AspectRatio);
  }
}

/**
 * Subtitle
 * 1: reset
 */
.cn-c-banner.cn-m-advertorial > .cn-c-banner__content > :first-child {
  font-size: var(--cn-c-banner--m-advertorial__subtitle--FontSize);
  font-weight: var(--cn-c-banner--m-advertorial__subtitle--FontWeight);
  margin: 0; /* 1 */
}

/**
 * Image
 * 1: contain image and overlay
 */
.cn-c-banner.cn-m-advertorial > .cn-c-banner__content > .cn-c-banner__image {
  aspect-ratio: var(--cn-c-banner--m-advertorial__image--AspectRatio);
  inline-size: 100%;
  order: -1;
  position: relative; /* 1 */
  z-index: -1;
  /** Overlay */
  /** Medium: 768px */
}
.cn-c-banner.cn-m-advertorial > .cn-c-banner__content > .cn-c-banner__image::before {
  background-color: var(--cn-c-banner--m-advertorial__overlay--BackgroundColor);
  content: "";
  display: block;
  inset: 0;
  opacity: var(--cn-c-banner--m-advertorial__overlay--Opacity);
  position: absolute;
  z-index: 1;
}
.cn-c-banner.cn-m-advertorial > .cn-c-banner__content > .cn-c-banner__image > img {
  block-size: 100%;
  inline-size: 100%;
  inset: 0;
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  z-index: 0;
}
@media all and (min-width: 48rem) {
  .cn-c-banner.cn-m-advertorial > .cn-c-banner__content > .cn-c-banner__image {
    aspect-ratio: initial;
    position: absolute;
    inset: 0;
  }
}

/**
 * Button
 * 1: extend link area
 */
.cn-c-banner.cn-m-advertorial .cn-c-button {
  --cn-c-button--BackgroundColor: var(--cn-global--palette-red);
  --cn-c-button--Color: var(--cn-global--palette-white);
  --cn-c-button--hover--BackgroundColor: var(--cn-global--palette-white);
  --cn-c-button--hover--Color: var(--cn-global--palette-black);
  font-weight: var(--cn-c-banner--m-advertorial__button--FontWeight);
}
.cn-c-banner.cn-m-advertorial .cn-c-button::before {
  content: ""; /* 1 */
  display: block; /* 1 */
  inset: 0; /* 1 */
  position: absolute; /* 1 */
}
/*!************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/banner/00-base/base.scss ***!
  \************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / Banner / Base
 *********************************************************************************** */
.cn-c-banner {
  --cn-c-banner--BorderColor: var(--cn-global--palette-white--30);
  --cn-c-banner--PaddingBlockend: 1.86em;
  /**
   * Title
   */
  --cn-c-banner__title--FontWeight: var(--cn-global--FontWeight-regular);
  --cn-c-banner__title--LetterSpacing: 0.08em;
  --cn-c-banner__title--MarginBlockEnd: 1.21em;
}

/**
 * Component
 */
.cn-c-banner {
  border-block-end: 1px solid var(--cn-c-banner--BorderColor);
  padding-block-end: var(--cn-c-banner--PaddingBlockend);
}

/**
 * Title
 * 1: reset
 */
.cn-c-banner > :first-child {
  font-size: inherit;
  font-weight: var(--cn-c-banner__title--FontWeight);
  letter-spacing: var(--cn-c-banner__title--LetterSpacing);
  margin-block: 0 var(--cn-c-banner__title--MarginBlockEnd);
  margin-inline: 0; /* 1 */
  text-transform: uppercase;
}
/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/00-cms_plugins/tip/tip.scss ***!
  \***************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / CMS plugins / Tip
 *********************************************************************************** */
.cn-c-tip {
  /**
   * Header
   */
  --cn-c-tip__header--ColumnGap: 1em; /* eyeballed */
  --cn-c-tip__header--MarginBlockEnd: 0.67em;
  /** Border */
  --cn-c-tip__border--Opacity: 0.5;
  /**
   * Title
   */
  --cn-c-tip__title--FontWeight: var(--cn-global--FontWeight-semibold);
  --cn-c-tip__title--MarginBlock: 0.22em 0.44em;
  /**
   * Icon
   */
  --cn-c-tip__icon--BlockSize: 1.11em;
}

/**
 * Header
 * 1: contain border
 */
.cn-c-tip > header {
  align-items: center;
  -moz-column-gap: var(--cn-c-tip__header--ColumnGap);
       column-gap: var(--cn-c-tip__header--ColumnGap);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-block-end: var(--cn-c-tip__header--MarginBlockEnd);
  position: relative; /* 1 */
}

/** Border */
.cn-c-tip > header::after {
  background-color: currentcolor;
  block-size: 1px;
  border-radius: 100vmax;
  content: "";
  display: block;
  inset-block-end: 0;
  inset-inline: 0;
  opacity: var(--cn-c-tip__border--Opacity);
  position: absolute;
}

/**
 * Title
 */
.cn-c-tip > header > :first-child {
  font-size: inherit;
  font-weight: var(--cn-c-tip__title--FontWeight);
  margin-block: var(--cn-c-tip__title--MarginBlock);
}

/**
 * Icon
 */
.cn-c-tip > header > img {
  block-size: var(--cn-c-tip__icon--BlockSize);
  inline-size: auto;
}
/*!*****************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/00-cms_plugins/product_ad/product_ad.scss ***!
  \*****************************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / CMS plugins / Product ad
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-product_ad {
  --cn-c-product_ad--PaddingBlockEnd: 2.64em;
  /**
   * Brand
   */
  --cn-c-product_ad__brand--FontFamily: var(--cn-global--FontFamily-serif);
  --cn-c-product_ad__brand--FontSize: 1.82em;
  --cn-c-product_ad__brand--FontWeight: var(--cn-global--FontWeight-heavy);
  --cn-c-product_ad__brand--MarginBlockStart: 1.76em;
  /**
   * Product
   */
  --cn-c-product_ad__product--FontSize: 1.09em;
  --cn-c-product_ad__product--FontWeight: var(--cn-global--FontWeight-bold);
  --cn-c-product_ad__product--MarginBlock: 0.46em 1em;
  /**
   * Image
   */
  --cn-c-product_ad__image--AspectRatio: 37 / 49;
  --cn-c-product_ad__image--BackgroundColor: var(--cn-c-global--palette-coronation);
  --cn-c-product_ad__image--BorderRadius: 0.54em;
  --cn-c-product_ad__image--JustifySelf: start;
  --cn-c-product_ad__image--MarginBlockEnd: 0;
  --cn-c-product_ad__image--Padding: 0.45em;
  /**
   * Link
   */
  --cn-c-product_ad__link--Color: var(--cn-global--palette-red);
  --cn-c-product_ad__link--MarginBlockStart: 0.73em;
  --cn-c-product_ad__link_underline--Opacity: 0.18;
  --cn-c-product_ad__link_underline--TransitionDuration: 0.15s;
  /**
   * Border
   */
  --cn-c-product_ad__border--Opacity: 0.3;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-product_ad {
    --cn-c-product_ad__brand--MarginBlockStart: 0;
    --cn-c-product_ad__image--JustifySelf: stretch;
    --cn-c-product_ad__image--MarginBlockEnd: 1em;
  }
}

/**
 * Component
 */
.cn-c-product_ad {
  display: grid;
  grid: "image" "brand" "product" "content" "link" "border" var(--cn-c-product_ad--PaddingBlockEnd);
  grid-column-gap: inherit;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-product_ad {
    grid: "image brand" "image product" "image content" "image link" "image border" minmax(var(--cn-c-product_ad--PaddingBlockEnd), auto)/calc(3 * var(--cn-c-page--column-width) + 2 * var(--cn-c-page__main--ColumnGap)) 1fr;
  }
}

/**
 * Brand
 * 1: reset
 */
.cn-c-product_ad > :first-child {
  font-family: var(--cn-c-product_ad__brand--FontFamily);
  font-size: var(--cn-c-product_ad__brand--FontSize);
  font-weight: var(--cn-c-product_ad__brand--FontWeight);
  margin-block: var(--cn-c-product_ad__brand--MarginBlockStart) 0;
  grid-area: brand;
}

/**
 * Product
 */
.cn-c-product_ad > :nth-child(2) {
  font-size: var(--cn-c-product_ad__product--FontSize);
  font-weight: var(--cn-c-product_ad__product--FontWeight);
  grid-area: product;
  margin-block: var(--cn-c-product_ad__product--MarginBlock);
}

/**
 * Image
 * 1: reset
 * 2: cut corners
 */
.cn-c-product_ad > figure {
  align-self: start;
  aspect-ratio: var(--cn-c-product_ad__image--AspectRatio);
  background-color: var(--cn-c-product_ad__image--BackgroundColor);
  border-radius: var(--cn-c-product_ad__image--BorderRadius);
  display: flex;
  flex-direction: column;
  grid-area: image;
  justify-content: center;
  justify-self: var(--cn-c-product_ad__image--JustifySelf);
  margin-block: 0 var(--cn-c-product_ad__image--MarginBlockEnd);
  margin-inline: 0; /* 1 */
  overflow: hidden; /* 2 */
  padding: var(--cn-c-product_ad__image--Padding);
}

.cn-c-product_ad > figure > img {
  inline-size: 100%;
}

/**
 * Content
 */
.cn-c-product_ad > div {
  grid-area: content;
}

/**
 * Link
 * 1: contain underline
 * 2: pill
 */
.cn-c-product_ad > footer {
  grid-area: link;
}

.cn-c-product_ad > footer a {
  color: var(--cn-c-product_ad__link--Color);
  display: inline-block;
  margin-block-start: var(--cn-c-product_ad__link--MarginBlockStart);
  position: relative; /* 1 */
}
.cn-c-product_ad > footer a::after {
  background-color: currentcolor;
  block-size: 1px;
  border-radius: 100vmax; /* 2 */
  content: "";
  display: block;
  inline-size: 100%;
  margin-block-end: -0.5px;
  opacity: var(--cn-c-product_ad__link_underline--Opacity);
  transform-origin: 0;
  transition: transform var(--cn-c-product_ad__link_underline--TransitionDuration) ease;
}
.cn-c-product_ad > footer a:hover::after {
  transform: scaleX(0);
}

/**
 * Border
 * 1: pill
 */
.cn-c-product_ad::after {
  align-self: end;
  background-color: currentcolor;
  block-size: 1px;
  border-radius: 100vmax; /* 1 */
  content: "";
  display: block;
  grid-area: border;
  opacity: var(--cn-c-product_ad__border--Opacity);
}
/*!*************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/00-cms_plugins/picture_slider/picture_slider.scss ***!
  \*************************************************************************************************************************************************************************************************************************/
/** ***************************************************************************
 * Digital / Organisms / CMS Slider
 *************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/** ***************************************************************************
 * Digital / Organisms / CMS Slider
 *************************************************************************** */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-cms_slider {
  --cn-c-cms_slider--AnimationDuration: 500ms;
  --cn-c-cms_slider--MarginBottom: 0.6875rem;
  /**
   * Shadow
   */
  --cn-c-cms_slider__shadow--BackgroundColor: var(--cn-c-page--BackgroundColor);
  --cn-c-cms_slider__shadow--Display: none;
  --cn-c-cms_slider__shadow--InlineSize: calc(3 * var(--cn-c-page--column-width) + 3 * var(--cn-c-page__main--ColumnGap));
  --cn-c-cms_slider__shadow--InsetInlinestart: calc(-1 * (var(--cn-c-page--column-width) + 2 * var(--cn-c-page__main--ColumnGap)));
  --cn-c-cms_slider__shadow--blur: var(--cn-c-cms_slider__shadow--size);
  --cn-c-cms_slider__shadow--color: var(--cn-c-cms_slider__shadow--BackgroundColor);
  --cn-c-cms_slider__shadow--size: 2rem; /* must be overridden */
}

/**
 * Component
 * 1: contain shadow
 */
.cn-c-cms_slider {
  position: relative; /* 1 */
}
.cn-c-cms_slider .splide {
  --fluid-18-49: clamp(1.125rem, 0.0055rem + 4.7766vw, 3.0625rem);
  --arrows-width: 14.5rem;
}
.cn-c-cms_slider .splide > * {
  grid-column: 1/-1;
}
.cn-c-cms_slider .splide ul {
  grid-column-gap: unset;
}
.cn-c-cms_slider .splide li {
  display: unset;
}
.cn-c-cms_slider .splide li::before {
  content: unset;
}
.cn-c-cms_slider .splide .splide__track {
  margin-block-end: unset;
  overflow: visible;
  background-color: var(--cn-c-cms_slider--BackgroundColor);
}
.cn-c-cms_slider .splide .splide__slide {
  color: var(--cn-c-page--BackgroundColor);
  padding-block: unset;
}
.cn-c-cms_slider .splide .splide__slide .cn-c-image_wrapper {
  position: unset;
  height: 100%;
  width: auto;
}
.cn-c-cms_slider .splide .splide__slide .cn-c-image_wrapper img {
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 100%;
  width: auto;
  border-radius: 0.75rem;
}
.cn-c-cms_slider .splide .splide__slide.will-active .content-wrapper > h1, .cn-c-cms_slider .splide .splide__slide.will-active .content-wrapper ~ .content-wrapper > h1, .cn-c-cms_slider .splide .splide__slide.will-active h2, .cn-c-cms_slider .splide .splide__slide.is-active .content-wrapper > h1, .cn-c-cms_slider .splide .splide__slide.is-active .content-wrapper ~ .content-wrapper > h1, .cn-c-cms_slider .splide .splide__slide.is-active h2 {
  transform: translateY(0);
}
.cn-c-cms_slider .splide .splide__slide.will-active .cn-c-home_cta .cn-c-label, .cn-c-cms_slider .splide .splide__slide.is-active .cn-c-home_cta .cn-c-label {
  opacity: 1;
  transition: opacity var(--cn-c-cms_slider--AnimationDuration);
  transition-delay: var(--cn-c-cms_slider--AnimationDuration);
}
.cn-c-cms_slider .splide .splide__arrows {
  position: relative;
  top: calc(var(--fluid-18-49) + 0.875rem);
  width: var(--arrows-width);
}
.cn-c-cms_slider .splide .splide__arrows .splide__arrow {
  bottom: unset;
  border: none;
  color: var(--cn-c-page--Color);
  background-color: transparent;
}
.cn-c-cms_slider .splide .splide__arrows .splide__arrow:hover {
  color: var(--cn-c-page--AccentColor);
}
.cn-c-cms_slider .splide .splide__arrows .splide__arrow:disabled {
  display: none;
}
.cn-c-cms_slider .splide .splide__arrows .splide__arrow--prev {
  left: 0;
}
.cn-c-cms_slider .splide .splide__arrows .splide__arrow--next {
  right: 0;
}
@media all and (min-width: 48rem) {
  .cn-c-cms_slider .splide .splide__arrows {
    left: calc(-1 * var(--arrows-width) / 2 + 19px);
  }
}
.cn-c-cms_slider .splide .splide__pagination {
  position: unset;
  margin-block-start: unset;
}
.cn-c-cms_slider .splide .notation {
  font-family: var(--cn-global--FontFamily-book);
  font-size: 1.25rem;
  margin-block-start: var(--fluid-18-49);
  margin-inline-start: calc((var(--arrows-width) - 62px) / 2);
}
.cn-c-cms_slider .splide .notation .currentItemPosition {
  color: var(--cn-c-page--AccentColor);
  font-size: 2.5rem;
  font-weight: var(--cn-global--FontWeight-semibold);
  position: relative;
}
.cn-c-cms_slider .splide .notation .currentItemPosition::after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.125rem;
  border-radius: 1px;
  background-color: var(--cn-c-page--AccentColor);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media all and (min-width: 48rem) {
  .cn-c-cms_slider .splide .notation {
    margin-inline-start: unset;
  }
}

/**
 * Shadow
 */
/** Medium: 768px */
@media all and (min-width: 48rem) {
  .cn-c-cms_slider::before {
    background-color: var(--cn-c-cms_slider__shadow--BackgroundColor);
    box-shadow: 0 var(--cn-c-cms_slider__shadow--size) var(--cn-c-cms_slider__shadow--blur) var(--cn-c-cms_slider__shadow--color), 0 calc(-1 * var(--cn-c-cms_slider__shadow--size)) var(--cn-c-cms_slider__shadow--blur) var(--cn-c-cms_slider__shadow--color);
    /*clip-path: inset(-100vmax 0);*/
    content: "";
    display: var(--cn-c-cms_slider__shadow--Display);
    inline-size: var(--cn-c-cms_slider__shadow--InlineSize);
    inset-block: 0;
    inset-inline-start: var(--cn-c-cms_slider__shadow--InsetInlinestart);
    position: absolute;
  }
}
/*!*********************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/00-cms_plugins/picture_pair/picture_pair.scss ***!
  \*********************************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / CMS plugins / Picture pair
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-picture_pair {
  --cn-c-picture_pair--BackgroundColor: var(--cn-global--palette-white);
  --cn-c-picture_pair--RowGap: 2rem;
  --cn-c-picture_pair--TemplateRows: auto auto;
  --cn-c-picture_pair--column-first: 1 / -1;
  --cn-c-picture_pair--column-last: 1 / -1;
  --cn-c-picture_pair--column-second: 1 / -1;
  --cn-c-picture_pair--column-third: 1 / -1;
  /**
   * Shadow
   */
  --cn-c-picture_pair__shadow--Display: none;
  --cn-c-picture_pair__shadow--GridColumn: 1 / span 4;
  --cn-c-picture_pair__shadow--blur: var(--cn-c-picture_pair__shadow--size);
  --cn-c-picture_pair__shadow--color: var(--cn-c-picture_pair--BackgroundColor);
  --cn-c-picture_pair__shadow--size: 0; /* must be overridden */
  /** Large: 1024px */
}
@media all and (min-width: 64rem) {
  .cn-c-picture_pair {
    --cn-c-picture_pair--TemplateRows: auto;
    --cn-c-picture_pair--column-first: 1 / span 4;
    --cn-c-picture_pair--column-last: 5 / -1;
    --cn-c-picture_pair--column-second: 2 / span 5;
    --cn-c-picture_pair--column-third: 7 / span 5;
  }
}

/**
 * Component
 * 1: cut shadows
 */
.cn-c-picture_pair {
  align-items: center;
  background-color: var(--cn-c-picture_pair--BackgroundColor);
  grid-auto-flow: column dense;
  grid-row-gap: var(--cn-c-picture_pair--RowGap);
  grid-template-rows: var(--cn-c-picture_pair--TemplateRows);
}

/**
 * Shadow
 */
.cn-c-picture_pair::before {
  align-self: stretch;
  box-shadow: 0 var(--cn-c-picture_pair__shadow--size) var(--cn-c-picture_pair__shadow--blur) var(--cn-c-picture_pair__shadow--color), 0 calc(-1 * var(--cn-c-picture_pair__shadow--size)) var(--cn-c-picture_pair__shadow--blur) var(--cn-c-picture_pair__shadow--color);
  clip-path: inset(-100vmax 0); /* 1 */
  content: "";
  display: none;
  grid-column: var(--cn-c-picture_pair__shadow--GridColumn);
  grid-row: 1/-1;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-picture_pair::before {
    display: var(--cn-c-picture_pair__shadow--Display);
  }
}

/**
 * Pictures
 */
.cn-c-picture_pair .cn-c-picture {
  --cn-c-picture__shadow--Display: none;
}

.cn-c-picture_pair > :first-child {
  grid-row: 1;
}

.cn-c-picture_pair > :last-child {
  grid-row: 2;
  /** Large: 1024px */
}
@media all and (min-width: 64rem) {
  .cn-c-picture_pair > :last-child {
    grid-row: 1;
  }
}

.cn-c-picture_pair > .cn-c-figure {
  --cn-c-figure__caption--lg--InlineSize: min(
    18.75rem,
    calc(100% - var(--cn-c-figure__caption--InsetInlineEnd) - var(--cn-c-figure__button--MarginInlineEnd))
  );
}

/**
 * First column
 * 1: remove when :has is move widely supported
 * 2: uncomment when :has is move widely supported
 */
.cn-c-picture_pair.cn-m-horizontal > :first-child,
.cn-c-picture_pair.cn-m-vertical-horizontal > :first-child,
.cn-c-picture_pair.cn-m-horizontal-vertical > :last-child {
  grid-column: var(--cn-c-picture_pair--column-first); /* 1 */
}

.cn-c-picture_pair .cn-m-horizontal:first-child,
.cn-c-picture_pair:has(.cn-m-horizontal + .cn-m-vertical) .cn-m-vertical,
.cn-c-picture_pair:has(.cn-m-vertical + .cn-m-horizontal) .cn-m-vertical {
  /* grid-column: var(--cn-c-picture_pair--column-first); */ /* 2 */
}

/**
 * Second column
 * 1: remove when :has is move widely supported
 * 2: uncomment when :has is move widely supported
 */
.cn-c-picture_pair.cn-m-vertical > :first-child {
  grid-column: var(--cn-c-picture_pair--column-second); /* 1 */
}

.cn-c-picture_pair:has(.cn-m-vertical + .cn-m-vertical) .cn-m-vertical:first-child {
  /* grid-column: var(--cn-c-picture_pair--column-second); */ /* 2 */
}

/**
 * Third column
 * 1: remove when :has is move widely supported
 * 2: uncomment when :has is move widely supported
 */
.cn-c-picture_pair.cn-m-vertical > :last-child {
  grid-column: var(--cn-c-picture_pair--column-third); /* 1 */
}

.cn-c-picture_pair .cn-m-vertical + .cn-m-vertical {
  /* grid-column: var(--cn-c-picture_pair--column-third); */ /* 2 */
}

/**
 * Last column
 * 1: remove when :has is move widely supported
 * 2: uncomment when :has is move widely supported
 */
.cn-c-picture_pair.cn-m-horizontal > :last-child,
.cn-c-picture_pair.cn-m-vertical-horizontal > :last-child,
.cn-c-picture_pair.cn-m-horizontal-vertical > :first-child {
  grid-column: var(--cn-c-picture_pair--column-last); /* 1 */
}

.cn-c-picture_pair .cn-m-horizontal:last-child,
.cn-c-picture_pair:has(.cn-m-horizontal + .cn-m-vertical) .cn-m-horizontal {
  /* grid-column: var(--cn-c-picture_pair--column-last); */ /* 2 */
}
/*!***************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/00-cms_plugins/homepage_slider/homepage_slider.scss ***!
  \***************************************************************************************************************************************************************************************************************************/
/** ***************************************************************************
 * Digital / Organisms / Homepage Slider
 *************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/** ***************************************************************************
 * Digital / Organisms / Homepage Slider
 *************************************************************************** */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-homepage_slider {
  --cn-c-homepage_slider--MarginBottom: 0.6875rem;
  --cn-c-homepage_slider--AnimationDuration: 500ms;
}
.cn-c-homepage_slider .splide > * {
  grid-column: 1/-1;
}
.cn-c-homepage_slider .splide .splide__track {
  margin-block-end: unset;
}
.cn-c-homepage_slider .splide .splide__slide {
  height: calc(100vh - var(--cn-c-template_shared--top_nav--PositionY));
  display: grid;
  grid-template-columns: var(--cn-c-page--Grid-Template);
  grid-gap: 0 var(--cn-c-page--Grid-Gap);
  color: var(--cn-c-page--BackgroundColor);
  justify-items: center;
}
.cn-c-homepage_slider .splide .splide__slide .main-content {
  grid-column: 1/-1;
  width: 100%;
}
.cn-c-homepage_slider .splide .splide__slide .main-content .cn-c-digital_title {
  max-width: 19.6875rem;
  margin-inline: auto;
}
@media all and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content .cn-c-digital_title {
    max-width: unset;
    margin-inline: unset;
  }
}
.cn-c-homepage_slider .splide .splide__slide .main-content > div:first-child {
  grid-column: span 5;
  align-self: end;
}
@media all and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content > div:first-child {
    align-self: center;
    margin-block-end: 8.875rem;
  }
}
.cn-c-homepage_slider .splide .splide__slide .main-content .cn-u-divider {
  background-color: var(--cn-global--palette-white--60);
}
.cn-c-homepage_slider .splide .splide__slide .main-content > div:last-child {
  margin: 0 auto;
  grid-column: 1/-1;
  align-self: end;
}
@media all and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content > div:last-child {
    grid-column: 8/-1;
    margin: unset;
  }
}
.cn-c-homepage_slider .splide .splide__slide .main-content .cn-c-home_cta {
  margin-inline: 1.9375rem;
}
.cn-c-homepage_slider .splide .splide__slide .main-content .cn-c-home_cta .cn-c-label {
  opacity: 0;
}
@media all and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content .cn-c-home_cta {
    margin-inline: unset;
    font-size: 4.375rem;
    line-height: 4rem;
  }
}
.cn-c-homepage_slider .splide .splide__slide .main-content .content-wrapper {
  overflow: hidden;
}
.cn-c-homepage_slider .splide .splide__slide .main-content .content-wrapper > h1 {
  font-size: 3.125rem;
  font-weight: var(--cn-global--FontWeight-semibold);
  line-height: 3.25rem;
  margin-block-end: 1.0625rem;
  will-change: transform;
  transform: translateY(120%);
  transition: transform var(--cn-c-homepage_slider--AnimationDuration);
  transition-delay: var(--cn-c-homepage_slider--AnimationDuration);
}
@media all and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content .content-wrapper > h1 {
    font-size: 3.75rem;
    line-height: 4rem;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content .content-wrapper > h1 {
    font-size: 4.0625rem;
    line-height: 4rem;
  }
}
@media all and (min-width: 80rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content .content-wrapper > h1 {
    font-size: 4.375rem;
    line-height: 4rem;
  }
}
.cn-c-homepage_slider .splide .splide__slide .main-content .content-wrapper ~ .content-wrapper > h1 {
  font-weight: var(--cn-global--FontWeight-regular);
  color: var(--cn-c-page--BackgroundColor);
  transform: translateY(-120%);
}
.cn-c-homepage_slider .splide .splide__slide .main-content h2 {
  font-size: 1.25rem;
  font-weight: var(--cn-global--FontWeight-medium);
  letter-spacing: 0.34px;
  will-change: transform;
  transform: translateY(110%);
  transition: transform var(--cn-c-homepage_slider--AnimationDuration);
  transition-delay: 650ms;
}
@media all and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content h2 {
    font-size: 1.5rem;
  }
}
.cn-c-homepage_slider .splide .splide__slide .main-content .cn-c-button {
  margin-block-start: unset;
  font-size: 0.8125rem;
  line-height: 1.231;
}
@media all and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content .cn-c-button {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media screen and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__slide .main-content {
    text-align: unset;
    align-items: flex-start;
    margin-block-end: calc(var(--cn-c-homepage_slider--MarginBottom) + 5rem);
  }
}
.cn-c-homepage_slider .splide .splide__slide .cn-c-image_wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  width: auto;
  height: auto;
  z-index: -1;
}
.cn-c-homepage_slider .splide .splide__slide .cn-c-image_wrapper .mask-on-image {
  display: block;
}
.cn-c-homepage_slider .splide .splide__slide .cn-c-image_wrapper img {
  height: 100%;
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 100%;
}
.cn-c-homepage_slider .splide .splide__slide.will-active .content-wrapper > h1, .cn-c-homepage_slider .splide .splide__slide.will-active .content-wrapper ~ .content-wrapper > h1, .cn-c-homepage_slider .splide .splide__slide.will-active h2, .cn-c-homepage_slider .splide .splide__slide.is-active .content-wrapper > h1, .cn-c-homepage_slider .splide .splide__slide.is-active .content-wrapper ~ .content-wrapper > h1, .cn-c-homepage_slider .splide .splide__slide.is-active h2 {
  transform: translateY(0);
}
.cn-c-homepage_slider .splide .splide__slide.will-active .cn-c-home_cta .cn-c-label, .cn-c-homepage_slider .splide .splide__slide.is-active .cn-c-home_cta .cn-c-label {
  opacity: 1;
  transition: opacity var(--cn-c-homepage_slider--AnimationDuration);
  transition-delay: var(--cn-c-homepage_slider--AnimationDuration);
}
.cn-c-homepage_slider .splide .splide__arrows {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.cn-c-homepage_slider .splide .splide__arrows .splide__arrow {
  bottom: unset;
  transform: inherit;
}
.cn-c-homepage_slider .splide .splide__arrows .splide__arrow--prev {
  left: 0;
}
.cn-c-homepage_slider .splide .splide__arrows .splide__arrow--next {
  right: 0;
}
@media screen and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__arrows .splide__arrow {
    bottom: 5.875rem;
  }
}
@media screen and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .splide__arrows {
    position: relative;
  }
}
.cn-c-homepage_slider .splide .thumbnails {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  grid-column: 1/-1;
  bottom: 0;
  max-width: 14.25rem;
  color: var(--cn-c-page--BackgroundColor);
}
.cn-c-homepage_slider .splide .thumbnails .thumbnail {
  height: 4rem;
  border-block-color: var(--cn-global--palette-white--60);
}
.cn-c-homepage_slider .splide .thumbnails .text {
  display: flex;
  align-items: baseline;
  gap: 0.3125rem;
}
.cn-c-homepage_slider .splide .thumbnails .text .counter {
  margin-block-start: unset;
}
.cn-c-homepage_slider .splide .thumbnails .text .cn-c-label.semibold {
  font-size: 1rem;
}
.cn-c-homepage_slider .splide .thumbnails .my_splide__progress__bar {
  background: var(--cn-global--palette-white);
}
@media screen and (min-width: 37.5rem) {
  .cn-c-homepage_slider .splide .thumbnails {
    max-width: 22.75rem;
  }
}
@media screen and (min-width: 48rem) {
  .cn-c-homepage_slider .splide .thumbnails {
    display: flex;
    width: 400px;
    margin: 0 auto;
    bottom: var(--cn-c-homepage_slider--MarginBottom);
    max-width: unset;
  }
}
/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/00-cms_plugins/crag/crag.scss ***!
  \*****************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / CMS plugins / Crag section
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-crag {
  --cn-c-crag--BackgroundColor: var(--cn-global--palette-unbleached);
  --cn-c-crag--PaddingBlockStart: 5.19em;
  --cn-c-crag--PaddingBlockEnd: 5.19em;
  /**
   * Shadow
   */
  --cn-c-crag__shadow--Display: none;
  --cn-c-crag__shadow--InlineSize: 100%;
  --cn-c-crag__shadow--blur: var(--cn-c-crag__shadow--size);
  --cn-c-crag__shadow--color: var(--cn-global--palette-white);
  --cn-c-crag__shadow--size: 0; /* must be overridden */
  /**
   * Content
   */
  --cn-c-crag__content--GridColumn: 1 / -1;
  /**
   * Title
   */
  --cn-c-crag__title--FontFamily: var(--cn-global--FontFamily-serif);
  --cn-c-crag__title--FontSize: 1.54em;
  --cn-c-crag__title--FontWeight: var(--cn-global--FontWeight-heavy);
  --cn-c-crag__title--MarginBlockEnd: 1.45em;
  /**
   * Article descriptor
   */
  --cn-c-crag__descriptor--FontSize: max(0.875rem, 0.77em);
  --cn-c-crag__descriptor--GridColumn: 2 / span 2;
  --cn-c-crag__descriptor--InsetBlock: 9.5rem var(--cn-c-crag--PaddingBlockEnd);
  --cn-c-crag__descriptor--MarginInlineEnd: calc(-1 * var(--cn-global--content-grid--guttersize));
  /**
   * Wall button plugin
   */
  --cn-c-crag__button--MarginBlock: 3.75em;
  /**
   * Section plugin
   */
  --cn-c-crag__section--GridColumn: var(--cn-c-crag__content--GridColumn);
  /**
   * Picture plugin
   */
  --cn-c-crag__picture--m-horizontal--GridColumn: var(--cn-c-page__main--GridColumn);
  --cn-c-crag__picture--m-vertical--GridColumn: var(--cn-c-page__main--GridColumn);
  /**
   * Picture pair plugin
   */
  --cn-c-crag__picture_pair--GridColumn: 1 / -1;
  /**
   * Route list plugin
   */
  --cn-c-crag__routes--FontSize: 0.85em;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-crag {
    --cn-c-crag--PaddingBlockStart: 6.38em;
    --cn-c-crag--PaddingBlockEnd: 7.19em;
    --cn-c-crag__content--GridColumn: 5 / -2;
    --cn-c-crag__section--GridColumn: 1 / -1;
    --cn-c-section__picture--m-horizontal--GridColumn: 2 / -2;
    --cn-c-section__picture--m-vertical--GridColumn: 5 / -5;
  }
}

/**
 * Component
 * 2: contain background and shadow
 */
.cn-c-crag {
  padding-block: var(--cn-c-crag--PaddingBlockStart) var(--cn-c-crag--PaddingBlockEnd);
  position: relative; /* 2 */
}

/**
 * Background
 * 1: extend background horizontally
 */
.cn-c-crag::before {
  background-color: var(--cn-c-crag--BackgroundColor);
  box-shadow: 0 0 0 100vmax var(--cn-c-crag--BackgroundColor); /* 1 */
  clip-path: inset(0 -100vmax); /* 1 */
  content: "";
  display: block;
  inset: 0;
  position: absolute;
  z-index: -1;
}

/**
 * Shadow
 */
.cn-c-crag::after {
  box-shadow: 0 var(--cn-c-crag__shadow--size) var(--cn-c-crag__shadow--blur) var(--cn-c-crag__shadow--color), 0 calc(-1 * var(--cn-c-crag__shadow--size)) var(--cn-c-crag__shadow--blur) var(--cn-c-crag__shadow--color);
  box-sizing: content-box;
  clip-path: inset(-100vmax 0); /* 1 */
  content: "";
  display: none;
  inline-size: var(--cn-c-crag__shadow--InlineSize);
  inset-block: 0;
  inset-inline: 0 auto;
  position: absolute;
  z-index: 1;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-crag::after {
    display: var(--cn-c-crag__shadow--Display);
  }
}

/**
 * Content
 */
.cn-c-crag > * {
  grid-column: var(--cn-c-crag__content--GridColumn);
  z-index: 2;
}

/**
 * Title
 */
.cn-c-crag > :first-child {
  font-family: var(--cn-c-crag__title--FontFamily);
  font-size: var(--cn-c-crag__title--FontSize);
  font-weight: var(--cn-c-crag__title--FontWeight);
  margin-block: 0 var(--cn-c-crag__title--MarginBlockEnd);
}

/**
 * Article descriptor
 * 1: don't grow grid row
 */
.cn-c-crag > .cn-c-article_descriptor {
  align-self: start;
  block-size: 0; /* 1 */
  display: none;
  font-size: var(--cn-c-crag__descriptor--FontSize);
  grid-column: var(--cn-c-crag__descriptor--GridColumn);
  grid-row: 1;
  inset-block: var(--cn-c-crag__descriptor--InsetBlock);
  margin-inline-end: var(--cn-c-crag__descriptor--MarginInlineEnd);
  position: sticky;
  z-index: 0;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-crag > .cn-c-article_descriptor {
    display: block;
  }
}

/**
 * Wall button plugin
 */
.cn-c-crag > .cn-c-modal_plugin {
  margin-block: var(--cn-c-crag__button--MarginBlock);
}
.cn-c-crag > .cn-c-modal_plugin + * {
  margin-block-start: 0;
}

.cn-c-crag > :first-child + .cn-c-modal_plugin,
.cn-c-crag > .cn-c-article_descriptor + .cn-c-modal_plugin {
  margin-block-start: 0;
}

.cn-c-crag .cn-c-modal_plugin + .cn-c-modal_plugin,
.cn-c-crag .cn-c-modal_plugin + :is(.cn-c-picture, .cn-c-figure, .cn-c-video_section, .cn-c-picture_pair) {
  margin-block-start: 0;
}

/**
 * Section plugin
 */
.cn-c-crag > .cn-c-section {
  grid-column: var(--cn-c-crag__section--GridColumn);
}

.cn-c-crag > .cn-c-article_descriptor + .cn-c-section {
  margin-block-start: 0;
}

.cn-c-crag > .cn-c-section > :last-child {
  margin-block-end: 0;
}

/**
 * Picture plugin
 */
.cn-c-crag .cn-c-picture {
  --cn-c-picture--BackgroundColor: var(--cn-c-crag--BackgroundColor);
}

.cn-c-crag .cn-c-figure.cn-m-horizontal > .cn-c-picture,
.cn-c-crag .cn-c-picture.cn-m-horizontal {
  --cn-c-picture__shadow--color: var(--cn-c-crag--BackgroundColor);
}

.cn-c-crag > :is(.cn-c-picture, .cn-c-figure).cn-m-horizontal {
  grid-column: var(--cn-c-crag__picture--m-horizontal--GridColumn);
}

.cn-c-crag > :is(.cn-c-picture, .cn-c-figure).cn-m-vertical {
  grid-column: var(--cn-c-crag__picture--m-vertical--GridColumn);
}

/**
 * Picture pair plugin
 */
.cn-c-crag > .cn-c-picture_pair {
  grid-column: var(--cn-c-crag__picture_pair--GridColumn);
}

/**
 * Picture pair plugin
 */
.cn-c-crag .cn-c-picture_pair {
  --cn-c-picture_pair--BackgroundColor: var(--cn-c-crag--BackgroundColor);
}

/**
 * Route list plugin
 */
.cn-c-crag .cn-c-routes {
  font-size: var(--cn-c-crag__routes--FontSize);
}
/*!***************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/03-organisms/00-cms_plugins/ad_banner/ad_banner.scss ***!
  \***************************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Organisms / CMS plugins / Ad banner
 *********************************************************************************** */
.cn-c-banner.cn-m-ad {
  /**
   * Content
   */
  --cn-c-banner--m-ad__content--MaxInlineSize: 100%;
  --cn-c-banner--m-ad__content--AspectRatio: 270 / 61;
}

/**
 * Content
 * 1: contain image
 */
.cn-c-banner.cn-m-ad > .cn-c-banner__content {
  aspect-ratio: var(--cn-c-banner--m-ad__content--AspectRatio);
  display: block;
  max-inline-size: var(--cn-c-banner--m-ad__content--MaxInlineSize);
  position: relative; /* 1 */
}

/**
 * Background image
 */
.cn-c-banner.cn-m-ad > .cn-c-banner__content > img {
  block-size: 100%;
  display: block;
  inline-size: 100%;
  inset: 0;
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
}
/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/video_poster/video_poster.scss ***!
  \******************************************************************************************************************************************************************************************************/
/** ***************************************************************************
 * Ecommerce / Molecules / Video Poster
 *************************************************************************** */
.cn-c-video_poster {
  --fluid-7-26: clamp(0.4375rem, -0.9196rem + 2.8274vw, 1.625rem);
  grid-column: -1/1;
  position: relative;
  border-radius: var(--fluid-7-26);
  overflow: hidden;
  cursor: pointer;
}
.cn-c-video_poster .cn-c-button.cn-m-primary.cn-m-outline.cn-c-button-play.cn-c-button-play--pb {
  --fluid-132-190: clamp(8.25rem, 6.1554rem + 8.9368vw, 11.875rem);
  width: var(--fluid-132-190);
  height: var(--fluid-132-190);
}
.cn-c-video_poster:hover .cn-c-button.cn-m-primary.cn-m-outline.cn-c-button-play.cn-c-button-play--pb {
  background-color: var(--cn-c-button-play--hover--BackgroundColor);
  transition: all 0s;
}
.cn-c-video_poster img {
  font-family: "object-fit:cover";
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.cn-c-video_poster .image-mask {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--cn-global--palette-dark-grey);
  opacity: 0.5;
}
@media all and not (pointer: coarse) {
  .cn-c-video_poster {
    cursor: none;
  }
  .cn-c-video_poster .cn-c-button-play--pb {
    display: none !important;
  }
}
/*!*********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@splidejs/splide/dist/css/splide.min.css ***!
  \*********************************************************************************************************/
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/slider/slider/slider.scss ***!
  \*************************************************************************************************************************************************************************************************/
/** ***************************************************************************
 * Digital / Slider / Slider
 *************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
.splide {
  --fluid-45-85: clamp(2.8125rem, 1.9322rem + 3.7559vw, 5.3125rem);
  --fluid-227-422: clamp(14.1875rem, 9.8961rem + 18.3099vw, 26.375rem);
  --splide-items-gap--cms: 1.0625rem;
  --splide-items-height--cms: var(--fluid-227-422);
}
.splide__track {
  overflow-y: visible;
  overflow-x: clip;
  margin-block-end: 3.25rem;
}
.splide__list {
  align-items: center;
}
.splide__slide {
  background-color: var(--cn-global--palette-black--03);
  border-radius: 4px;
  padding-block: 2.0625rem;
}
.splide__slide .main-content {
  grid-gap: unset;
}
.splide__slide .main-content h1 {
  font: var(--cn-global--Font-title--sm-semibold);
  line-height: normal;
  margin-block-end: 0.1875rem;
}
.splide__slide .main-content h2 {
  font-size: 0.9375rem;
  font-weight: var(--cn-global--FontWeight-regular);
  line-height: normal;
  margin-block-end: 0.4375rem;
}
.splide__slide .main-content .cn-c-button {
  font-size: 1rem;
  font-weight: var(--cn-global--FontWeight-semibold);
  display: inline-flex;
  margin-block-start: 1.1875rem;
}
.splide__slide .main-content .cn-c-price_wrapper .period {
  font-size: 0.75rem;
  line-height: 1.375rem;
}
.splide__slide .main-content .cn-c-price {
  position: relative;
}
.splide__slide .main-content .cn-c-price:nth-child(1):not(:only-child)::before {
  height: 1px;
}
.splide__slide .main-content .cn-c-price .cn-c-label.semibold.extralarge {
  font-size: 1rem;
}
.splide__slide .main-content .cn-c-price .cn-c-label.decimal {
  font-size: 0.6875rem;
}
.splide__slide .main-content .cn-c-price .cn-c-label.currency {
  font-size: 0.75rem;
}
.splide__slide .main-content .cn-c-variant {
  margin-block-start: 0.75rem;
}
.splide__slide .main-content .cn-c-variant .options {
  border-block: none;
  gap: 0.4375rem;
  padding-block: 0;
}
.splide__slide .main-content .cn-c-variant .options .cn-c-button {
  --cn-c-button--PaddingInline: 0.625rem;
  font-size: 0.6875rem;
  letter-spacing: 0;
  height: 1.0625rem;
}
.splide__slide .cn-c-image_wrapper {
  position: absolute;
  bottom: 0;
  right: 5.6875rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 35.5625rem;
  height: 24.6875rem;
}
.splide__slide .cn-c-image_wrapper .mask-on-image {
  display: none;
}
.splide__slide .cn-c-image_wrapper img {
  max-width: 100%;
  max-height: 100%;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.splide__arrows .splide__arrow {
  --fluid-10-14: clamp(0.625rem, 0.0096rem + 0.9615vw, 0.875rem);
  --fluid-65-91: clamp(4.0625rem, 0.0625rem + 6.25vw, 5.6875rem);
  opacity: 1;
  border: 1px solid var(--cn-c-page--AccentColor);
  background-color: var(--cn-c-page--AccentColor);
  color: var(--cn-c-page--BackgroundColor);
  width: 1.9375rem;
  height: 1.9375rem;
  top: unset;
  bottom: 4rem;
  transform: none;
}
.splide__arrows .splide__arrow svg {
  z-index: 1;
  width: 1.25rem;
  height: 1.25rem;
}
.splide__arrows .splide__arrow--prev {
  left: -6.9375rem;
}
.splide__arrows .splide__arrow--next {
  right: -6.9375rem;
}
.splide__arrows .splide__arrow:hover {
  background-color: var(--cn-c-page--BackgroundColor);
  border-color: var(--cn-c-page--BackgroundColor);
  color: var(--cn-c-page--Color);
}
.splide__arrows .splide__arrow:disabled {
  background-color: transparent;
  color: var(--cn-c-page--AccentColor);
}
@media (min-width: 64rem) {
  .splide__arrows {
    display: block;
  }
}
.splide .splide__pagination {
  --fluid-10-14: clamp(0.625rem, 0.0096rem + 0.9615vw, 0.875rem);
  --fluid-17-24: clamp(1.0625rem, -0.0144rem + 1.6827vw, 1.5rem);
  --fluid-26-36: clamp(1.625rem, 0.0865rem + 2.4038vw, 2.25rem);
  counter-reset: pagination-num;
  background-color: transparent;
  position: relative;
  margin-block-start: var(--fluid-26-36);
}
.splide .splide__pagination__page {
  color: currentColor;
  background-color: transparent;
  opacity: 1;
  width: var(--fluid-17-24);
  height: var(--fluid-17-24);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: none;
}
.splide .splide__pagination__page.is-active {
  color: var(--cn-global--palette-white);
  background-color: var(--cn-c-page--AccentColor);
  transform: none;
}
.splide .splide__pagination__page:before {
  counter-increment: pagination-num;
  content: counter(pagination-num);
  font-size: var(--fluid-10-14);
}
.splide .splide__pagination__page:hover {
  color: var(--cn-global--palette-white);
  background-color: var(--cn-c-page--AccentColor);
}
.splide .my_splide__progress__bar {
  position: absolute;
  bottom: -2px;
  height: 3px;
  background: var(--cn-c-page--Color);
  border-radius: 3px;
}
.splide .thumbnails {
  display: flex;
  gap: 4.875rem;
  margin: 1rem auto 0;
  padding: 0;
  justify-content: center;
}
.splide .thumbnails .thumbnail {
  position: relative;
  flex: 1;
  height: 5rem;
  list-style: none;
  margin: 0;
  cursor: pointer;
  padding-block-start: 1.5625rem;
  border-block-end: 1px solid var(--cn-global--palette-black--60);
}
.splide .thumbnails .thumbnail img {
  width: 100%;
  height: auto;
}
.splide .thumbnails .counter {
  margin-block-start: 0.625rem;
}
/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/product_card/product_card.scss ***!
  \******************************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Molecules / Product Card
 *****************************************************************************/
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/******************************************************************************
 * Digital / Molecules / Product Card
 *****************************************************************************/
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-product_card.digital {
  /** Title */
}
.cn-c-product_card.digital .category-heading {
  display: flex;
  gap: 0.3125rem;
  font-size: 0.75rem;
  align-items: baseline;
  /** Subtitle */
}
.cn-c-product_card.digital .category-heading :first-child {
  font: var(--cn-global--Font-label--xs-semibold);
}
.cn-c-product_card.digital .category-heading + * {
  font: var(--cn-global--Font-title--md-semibold);
  margin-block-start: 0;
}
.cn-c-product_card.digital.not-purchased .cn-c-card_cta {
  background-color: var(--cn-c-page--BackgroundColor);
  border-radius: 0.25rem;
  margin-block-start: 0.5rem;
}
.cn-c-product_card.digital .cn-c-button.cta {
  background-color: var(--cn-c-page--Color);
}
.cn-c-product_card.digital:hover > div::after {
  background-color: var(--cn-c-page--Color);
}
.cn-c-product_card.digital:hover .cn-c-button.cta {
  display: block;
}
.cn-c-product_card.digital:hover.not-purchased::after {
  background-color: unset;
}
.cn-c-product_card.digital > .cn-c-card_cta {
  box-shadow: var(--cn-global--BoxShadow--CardButton);
  height: 2.4375rem;
}
.cn-c-product_card.digital > .cn-c-card_cta:hover {
  background-color: var(--cn-c-page--Color);
  color: var(--cn-c-page--BackgroundColor);
}
.cn-c-product_card.digital > .cn-c-card_cta:hover .icon-wrapper {
  color: var(--cn-c-page--BackgroundColor);
}
/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/location/location.scss ***!
  \**********************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Molecules / Location
 *****************************************************************************/
.cn-c-location {
  --cn-c-location--ColumnGap: .86em;
  --cn-c-location--RowGap: .14em;
  /**
   * Icon
   */
  --cn-c-location__icon--BlockSize: 1.43em;
  /**
   * Name
   */
  --cn-c-location__name--FontWeight: var(--cn-global--FontWeight-bold);
  /**
   * Coordinates
   */
  --cn-c-location__coordinates--Opacity: .6;
}

/**
 * Component
 * 1: reset
 */
.cn-c-location {
  display: grid;
  font-style: normal; /* 1 */
  grid-column-gap: var(--cn-c-location--ColumnGap);
  grid-row-gap: var(--cn-c-location--RowGap);
  grid: "icon name" "icon coordinates";
}

/**
 * Icon
 */
.cn-c-location svg {
  align-self: center;
  block-size: var(--cn-c-location__icon--BlockSize);
  grid-area: icon;
  inline-size: auto;
}

/**
 * Name
 */
.cn-c-location span:first-of-type {
  font-weight: var(--cn-c-location__name--FontWeight);
}

/**
 * Coordinates
 */
.cn-c-location span:last-of-type {
  opacity: var(--cn-c-location__coordinates--Opacity);
}
/*!******************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/language_selection/language_selection.scss ***!
  \******************************************************************************************************************************************************************************************************************/

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/index_logo/index_logo.scss ***!
  \**************************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Molecules / Index Logo
 *****************************************************************************/
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

/**
 * Component
 */
.cn-c-index_logo {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-family: var(--cn-global--FontFamily-serif);
  font-size: 1.74rem; /* 27.83px */
  font-weight: var(--cn-global--FontWeight-heavy);
}

/**
 * Separator
 */
.cn-c-index_logo::after {
  background-color: currentcolor;
  block-size: 1px;
  border-radius: 100vmax;
  content: "";
  display: block;
  inline-size: 100%;
  margin-block-end: 0.625rem;
  transform: scaleX(1.3);
}
/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/home_cta/home_cta.scss ***!
  \**********************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Molecules / Home CTA
 *****************************************************************************/
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/******************************************************************************
 * Digital / Molecules / Home CTA
 *****************************************************************************/
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-home_cta {
  position: relative;
  transform: rotate(0deg);
  max-width: 21.8125rem;
  background-color: var(--cn-global--palette-white);
  border-radius: 1.1875rem;
  padding-block: 2.375rem;
  padding-inline: 2.3125rem;
  color: var(--cn-c-page--Color);
  text-align: center;
}
.cn-c-home_cta .cn-c-label {
  font-size: 1.625rem;
  line-height: 1.077;
  font-weight: var(--cn-global--FontWeight-medium);
  margin-block-end: 1.375rem;
}
@media screen and (min-width: 48rem) {
  .cn-c-home_cta .cn-c-label {
    font-size: 2.125rem;
    line-height: 1.118;
    margin-block-end: 1.875rem;
  }
}
.cn-c-home_cta .cn-c-button::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  cursor: pointer;
}
@media screen and (min-width: 48rem) {
  .cn-c-home_cta {
    padding-block: 2.8125rem 2.1875rem;
    text-align: unset;
    border-radius: 1.8125rem;
  }
}
/*!********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/digital_title/digital_title.scss ***!
  \********************************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Molecules / Digital Title
 *****************************************************************************/
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/******************************************************************************
 * Digital / Molecules / Digital Title
 *****************************************************************************/
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-digital_title {
  grid-column: 1/-1;
}
.cn-c-digital_title h1 {
  grid-column: 1/-1;
  margin-block-end: 0.3125rem;
  font-size: 2.8125rem;
  line-height: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 37.5rem) {
  .cn-c-digital_title h1 {
    font-size: 3.125rem;
    line-height: 3.375rem;
  }
}
@media screen and (min-width: 48rem) {
  .cn-c-digital_title h1 {
    text-align: start;
    font-size: 3.75rem;
    line-height: 4rem;
  }
}
@media screen and (min-width: 64rem) {
  .cn-c-digital_title h1 {
    grid-column: 1/6;
  }
}
@media screen and (min-width: 90rem) {
  .cn-c-digital_title h1 {
    font-size: 4.375rem;
    line-height: 4.625rem;
  }
}
.cn-c-digital_title .cn-u-divider {
  background-color: var(--cn-global--palette-black--50);
}
.cn-c-digital_title .content-wrapper ~ .content-wrapper > h1 {
  grid-column: 1/-1;
  font-weight: var(--cn-global--FontWeight-regular);
  margin-block-end: 1.375rem;
  color: var(--cn-global--palette-red);
}
@media screen and (min-width: 48rem) {
  .cn-c-digital_title .content-wrapper ~ .content-wrapper > h1 {
    text-align: end;
  }
}
@media screen and (min-width: 64rem) {
  .cn-c-digital_title .content-wrapper ~ .content-wrapper > h1 {
    grid-column: 4/7;
    margin-block-end: 3.0625rem;
  }
}
.cn-c-digital_title .cn-c-header_heading {
  grid-column: 1/-1;
  padding-inline-start: unset;
  display: flex;
  flex-direction: row;
  gap: 0.3125rem;
  justify-content: center;
  margin-block-end: 1.25rem;
}
@media screen and (min-width: 64rem) {
  .cn-c-digital_title .cn-c-header_heading {
    grid-column: 4/7;
    justify-content: start;
  }
}
@media screen and (min-width: 48rem) {
  .cn-c-digital_title {
    grid-column: span 5;
    min-width: 22.5rem;
  }
}
/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/breadcrumb/breadcrumb.scss ***!
  \**************************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Molecules / Breadcrumbs
 *****************************************************************************/
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-digital_breadcrumb {
  --cn-c-digital_breadcrumb--ColumnGap: 1ch;
  --cn-c-digital_breadcrumb--FontWeight: var(--cn-global--FontWeight-semibold);
  /**
   * Link
   */
  --cn-c-digital_breadcrumb__link--ColumnGap: .71em;
  --cn-c-digital_breadcrumb__link--TextUnderlineOffset: .06em;
  /**
   * Arrow
   */
  --cn-c-digital_breadcrumb__arrow--BlockSize: 1.40em;
  --cn-c-digital_breadcrumb__arrow--InlineSize: var(--cn-c-digital_breadcrumb__arrow--BlockSize);
  --cn-c-digital_breadcrumb__arrow--BackgroundImage: url("data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2020%2020%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20stroke%3D%22%23282828%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%222%22%20y1%3D%2210%22%20x2%3D%2218%22%20y2%3D%2210%22%2F%3E%3Cpolyline%20points%3D%2210%202%2018%2010%2010%2018%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  /**
   * Digital label
   */
  --cn-c-digital_breadcrumb__digital--FontWeight: var(--cn-global--FontWeight-regular);
  --cn-c-digital_breadcrumb__digital--FontSize: .78em;
}
.cn-c-digital_breadcrumb.cn-m-dark {
  --cn-c-digital_breadcrumb__arrow--BackgroundImage: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%20version%3D%221.1%22%3E%3Cg%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%222%22%20y1%3D%2210%22%20x2%3D%2218%22%20y2%3D%2210%22%2F%3E%3Cpolyline%20points%3D%2210%202%2018%2010%2010%2018%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

/**
 * Component
 */
.cn-c-digital_breadcrumb {
  -moz-column-gap: var(--cn-c-digital_breadcrumb--ColumnGap);
       column-gap: var(--cn-c-digital_breadcrumb--ColumnGap);
  display: flex;
  flex-direction: row;
  font-weight: var(--cn-c-digital_breadcrumb--FontWeight);
}

/**
 * List
 */
.cn-c-digital_breadcrumb ul {
  display: contents;
  list-style-type: none;
}

/**
 * List item
 * 1: hide but not from screen readers
 * 2: reveal
 * 3: reset
 * 4: reset (digital template)
 */
.cn-c-digital_breadcrumb li {
  display: initial; /* 4 */
  white-space: nowrap;
}
.cn-c-digital_breadcrumb li::before {
  display: none; /* 3 */
}

.cn-c-digital_breadcrumb li:not(:nth-child(2)):not(:only-child) {
  opacity: 0; /* 1 */
  pointer-events: none; /* 1 */
  position: absolute; /* 1 */
}

/** Medium: 768px */
@media all and (min-width: 48rem) {
  .cn-c-digital_breadcrumb li:not(:nth-child(1)) {
    opacity: 1; /* 2 */
    pointer-events: initial; /* 2 */
    position: initial; /* 2 */
  }
}
/** Large: 1024px */
@media all and (min-width: 64rem) {
  .cn-c-digital_breadcrumb li:first-child {
    opacity: 1; /* 2 */
    pointer-events: initial; /* 2 */
    position: initial; /* 2 */
  }
}
/**
 * Item separator
 */
.cn-c-digital_breadcrumb li:nth-child(-n+1):not(:only-child)::after {
  display: inline-block;
  content: "/";
  margin-inline-start: var(--cn-c-digital_breadcrumb--ColumnGap);
}

.cn-c-digital_breadcrumb li:nth-child(2)::after {
  display: none;
}

/** Medium: 768px */
@media all and (min-width: 48rem) {
  .cn-c-digital_breadcrumb li:nth-child(2)::after {
    display: inline-block;
  }
}
/**
 * Link
 * 1: pill-shaped
 * 2: contain underline
 * 3: align arrow
 */
.cn-c-digital_breadcrumb a {
  align-items: center; /* 3 */
  -moz-column-gap: var(--cn-c-digital_breadcrumb__link--ColumnGap);
       column-gap: var(--cn-c-digital_breadcrumb__link--ColumnGap);
  display: inline-flex; /* 3 */
  flex-direction: row; /* 3 */
}

.cn-c-digital_breadcrumb a > span {
  padding-block-end: var(--cn-c-digital_breadcrumb__link--TextUnderlineOffset);
  position: relative; /* 2 */
}

.cn-c-digital_breadcrumb a > span::after {
  background-color: currentcolor;
  block-size: 1px;
  border-radius: 100vmax; /* 1 */
  content: "";
  display: block;
  inset-block-end: 0;
  inset-inline: 0;
  position: absolute;
  transition: transform 0.1s ease;
}

.cn-c-digital_breadcrumb a:hover > span::after {
  transform: scaleX(0);
}

/**
 * Arrow
 */
.cn-c-digital_breadcrumb li:is(:only-child, :nth-child(2)) a::before {
  background-image: var(--cn-c-digital_breadcrumb__arrow--BackgroundImage);
  block-size: var(--cn-c-digital_breadcrumb__arrow--BlockSize);
  content: "";
  inline-size: var(--cn-c-digital_breadcrumb__arrow--InlineSize);
  transform: rotateZ(180deg);
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-digital_breadcrumb li:is(:only-child, :nth-child(2)) a::before {
    display: none;
  }
}

/**
 * Digital label
 * 1: reset
 */
.cn-c-digital_breadcrumb i {
  font-size: var(--cn-c-digital_breadcrumb__digital--FontSize);
  font-style: inherit; /* 1 */
  font-weight: var(--cn-c-digital_breadcrumb__digital--FontWeight);
  text-transform: uppercase;
}
/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/authors/authors.scss ***!
  \********************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Molecules / Authors
 *****************************************************************************/
.cn-c-authors {
  --cn-c-authors--ColumnGap: .65em;
  --cn-c-authors--RowGap: calc(var(--cn-c-authors--ColumnGap) / 2);
  /**
   * Job
   */
  --cn-c-authors__job--FontWeight: var(--cn-global--FontWeight-bold);
  /**
   * Name
   */
  --cn-c-authors__name--FontWeight: var(--cn-global--FontWeight-light);
}

/**
 * Component
 * 1: reset
 */
.cn-c-authors {
  display: grid;
  grid-column-gap: var(--cn-c-authors--ColumnGap);
  grid-row-gap: var(--cn-c-authors--RowGap);
  grid-template-columns: max-content 1fr;
  margin-block-end: 0; /* 1 */
}

/**
 * Job
 */
.cn-c-authors dt {
  font-weight: var(--cn-c-authors__job--FontWeight);
}

/**
 * Name
 * 1: reset
 */
.cn-c-authors dd {
  font-weight: var(--cn-c-authors__name--FontWeight);
  margin: 0; /* 1 */
}
/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/02-molecules/article_item/article_item.scss ***!
  \******************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/** ***********************************************************************************
 * Digital / Molecules / Article item
 *********************************************************************************** */
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

@counter-style pad-3 {
  system: extends decimal;
  pad: 3 "0";
  speak-as: numbers;
}
.cn-c-article_item {
  --cn-c-article_item--ColumnGap: inherit;
  --cn-c-article_item--FontSize: 1.5rem;
  --cn-c-article_item--PaddingBlockEnd: 0.48em;
  --cn-c-article_item--PaddingBlockStart: 0.36em;
  --cn-c-article_item--TemplateColumns: auto 1fr;
  --cn-c-article_item--TransitionDuration: 0.3s;
  --cn-c-article_item--TemplateRows: auto var(--cn-c-article_item--PaddingBlockEnd) auto;
  --cn-c-article_item--m-head--TemplateRows: repeat(2, auto) var(--cn-c-article_item--PaddingBlockEnd) auto;
  --cn-c-article_item--m-preview--TemplateRows: repeat(2, auto) var(--cn-c-article_item--PaddingBlockEnd) auto;
  --cn-c-article_item--m-head--m-preview--TemplateRows: repeat(3, auto) var(--cn-c-article_item--PaddingBlockEnd) auto;
  /**
   * Title
   */
  --cn-c-article_item__title--FontFamily: var(--cn-global--FontFamily-serif);
  --cn-c-article_item__title--FontWeight: var(--cn-global--FontWeight-bold);
  --cn-c-article_item__title--GridColumn: 1 / -2;
  --cn-c-article_item__title--LineHeight: 1.28;
  --cn-c-article_item__title--MarginInlineEnd: 0;
  /**
   * Chapter counter
   */
  --cn-c-article_item__counter--FontSize: 0.56em;
  --cn-c-article_item__counter--GridColumn: 1 / -1;
  --cn-c-article_item__counter--MarginBlockEnd: 0.43em;
  --cn-c-article_item__counter--MarginInlineEnd: var(--cn-c-article_item__title--MarginInlineEnd);
  /**
   * Article category
   */
  --cn-c-article_item__category--FontSize: var(--cn-c-article_item__counter--FontSize);
  --cn-c-article_item__category--GridColumn: var(--cn-c-article_item__counter--GridColumn);
  --cn-c-article_item__category--MarginBlockEnd: var(--cn-c-article_item__counter--MarginBlockEnd);
  --cn-c-article_item__category--MarginInlineEnd: var(--cn-c-article_item__counter--MarginInlineEnd);
  /**
   * Link
   */
  --cn-c-article_item__link--GridColumn: 1 / span 1;
  /**
   * Arrow button
   */
  --cn-c-article_item__button--dimension: 2rem;
  --cn-c-article_item__button--hover--BackgroundColor: var(--cn-global--palette-red);
  --cn-c-article_item__button--hover--Color: currentcolor;
  --cn-c-article_item__button--MarginInlineEnd: 1.375rem;
  --cn-c-article_item__button--Padding: 0.375rem;
  /**
   * Border
   */
  --cn-c-article_item__border--BackgroundColor: var(--cn-global--palette-spanish-grey);
  --cn-c-article_item__border--GridColumn: 1 / -1;
  --cn-c-article_item--m-preview__border--GridColumn: 1 / -1;
  /**
   * Image
   */
  --cn-c-article_item__image--BorderRadius: 1em;
  --cn-c-article_item__image--InsetBlockEnd: 4.25rem;
  --cn-c-article_item__image--InsetInlineEnd: var(--cn-global--content-grid--offsetsize);
  --cn-c-article_item__image--ImageAspectRatio: 51 / 34;
  --cn-c-article_item__image--m-vertical--ImageAspectRatio: 148 / 191;
  --cn-c-article_item__image--InlineSize: calc(4 * var(--cn-c-page--column-width) + 3 * var(--cn-global--content-grid--guttersize));
  --cn-c-article_item__image--m-vertical--InlineSize: calc(3 * var(--cn-c-page--column-width) + 2 * var(--cn-global--content-grid--guttersize));
  /**
   * Preview indicator
   */
  --cn-c-article_item__preview--FontSize: 0.44em;
  --cn-c-article_item__preview--GridColumn: 1 / -1;
  --cn-c-article_item__preview--JustifySelf: start;
  --cn-c-article_item__preview--MarginBlockStart: 1.27em;
  --cn-c-article_item__preview--GridRow: 2;
  --cn-c-article_item--m-head__preview--GridRow: 3;
  /** Medium: 768px */
  /** Large: 1024px */
  /** Extra extralarge: 1440px */
}
@media all and (min-width: 48rem) {
  .cn-c-article_item {
    --cn-c-article_item--m-head__preview--GridRow: 1 / span 2;
    --cn-c-article_item--m-preview__border--GridColumn: 1 / -2;
    --cn-c-article_item--TemplateColumns: repeat(12, 1fr) calc(var(--cn-global--content-grid--offsetsize) - var(--cn-global--content-grid--guttersize));
    --cn-c-article_item__border--GridColumn: 1 / -2;
    --cn-c-article_item__preview--GridColumn: -3;
    --cn-c-article_item__preview--GridRow: 1;
    --cn-c-article_item__preview--JustifySelf: end;
    --cn-c-article_item__title--GridColumn: 1 / span 10;
  }
}
@media all and (min-width: 64rem) {
  .cn-c-article_item {
    --cn-c-article_item--m-preview__border--GridColumn: 1 / span 7;
    --cn-c-article_item--TemplateColumns: repeat(11, 1fr) calc(var(--cn-global--content-grid--offsetsize) - var(--cn-global--content-grid--guttersize));
    --cn-c-article_item__border--GridColumn: 1 / span 6;
    --cn-c-article_item__counter--GridColumn: 1 / span 5;
    --cn-c-article_item__preview--GridColumn: 6 / span 2;
    --cn-c-article_item__title--GridColumn: 1 / span 5;
    --cn-c-article_item__title--MarginInlineEnd: calc(-1 * var(--cn-global--content-grid--guttersize));
  }
}
@media all and (min-width: 90rem) {
  .cn-c-article_item {
    --cn-c-article_item--TemplateColumns: repeat(11, 4.5rem) 1fr;
    --cn-c-article_item__title--GridColumn: 1 / span 5;
  }
}
@media (prefers-reduced-motion) {
  .cn-c-article_item {
    --cn-c-article_item--TransitionDuration: 0s;
  }
}

.cn-c-article_item.cn-m-head {
  --cn-c-article_item--TemplateRows: var(--cn-c-article_item--m-head--TemplateRows);
  --cn-c-article_item__preview--GridRow: var(--cn-c-article_item--m-head__preview--GridRow);
}

.cn-c-article_item.cn-m-preview {
  --cn-c-article_item--TemplateRows: var(--cn-c-article_item--m-preview--TemplateRows);
  --cn-c-article_item__border--GridColumn: var(--cn-c-article_item--m-preview__border--GridColumn);
}

.cn-c-article_item.cn-m-head.cn-m-preview {
  --cn-c-article_item--TemplateRows: var(--cn-c-article_item--m-head--m-preview--TemplateRows);
}

/**
 * Component
 * 1: contain link
 */
.cn-c-article_item {
  counter-increment: chapter-count;
  display: grid;
  font-size: var(--cn-c-article_item--FontSize);
  grid-column-gap: var(--cn-c-article_item--ColumnGap);
  grid-template-columns: var(--cn-c-article_item--TemplateColumns);
  grid-template-rows: var(--cn-c-article_item--TemplateRows);
  padding-block-start: var(--cn-c-article_item--PaddingBlockStart);
  position: relative; /* 1 */
}

/**
 * Text content
 * 1: behind link
 */
.cn-c-article_item > :is(:first-child, .cn-c-article_item__chapter, .cn-c-article_item__category) {
  transition: transform var(--cn-c-article_item--TransitionDuration) ease;
  z-index: 0; /* 1 */
}

/** Medium: 768px */
@media all and (min-width: 48rem) {
  .cn-c-article_item:is(:hover, :focus-within) > :is(:first-child, .cn-c-article_item__chapter, .cn-c-article_item__category) {
    transform: translateX(calc(var(--cn-c-article_item__button--dimension) + var(--cn-c-article_item__button--MarginInlineEnd)));
  }
}
/**
 * Chapter counter
 */
.cn-c-article_item__chapter {
  font-size: var(--cn-c-article_item__counter--FontSize);
  grid-column: var(--cn-c-article_item__counter--GridColumn);
  grid-row: 1/span 1;
  margin-block-end: var(--cn-c-article_item__counter--MarginBlockEnd);
  margin-inline-end: var(--cn-c-article_item__counter--MarginInlineEnd);
}

.cn-c-article_item__chapter > span,
.cn-c-article_item__chapter:not(.cn-m-indexed)::after {
  display: inline;
  font-weight: var(--cn-global--FontWeight-heavy);
}

.cn-c-article_item__chapter:not(.cn-m-indexed)::after {
  content: "  " counter(chapter-count, pad-3);
}

/**
 * Article category
 */
.cn-c-article_item__category {
  font-size: var(--cn-c-article_item__category--FontSize);
  grid-column: var(--cn-c-article_item__category--GridColumn);
  grid-row: 1/span 1;
  margin-block-end: var(--cn-c-article_item__category--MarginBlockEnd);
  margin-inline-end: var(--cn-c-article_item__category--MarginInlineEnd);
}

/**
 * Title
 * 1: reset
 */
.cn-c-article_item > :first-child {
  font-family: var(--cn-c-article_item__title--FontFamily);
  font-weight: var(--cn-c-article_item__title--FontWeight);
  grid-column: var(--cn-c-article_item__title--GridColumn);
  grid-row: 1/span 1;
  line-height: var(--cn-c-article_item__title--LineHeight);
  margin-block: 0; /* 1 */
  margin-inline: 0 var(--cn-c-article_item__title--MarginInlineEnd);
}

.cn-c-article_item.cn-m-head > :first-child {
  grid-row: 2/span 1;
}

.cn-c-article_item:is(:hover, :focus-within) > :first-child {
  text-decoration: underline;
  /** Medium: 768px */
}
@media all and (min-width: 48rem) {
  .cn-c-article_item:is(:hover, :focus-within) > :first-child {
    text-decoration: none;
  }
}

/**
 * Link
 * 1: on top of text content
 */
.cn-c-article_item > a {
  align-self: center;
  grid-column: var(--cn-c-article_item__link--GridColumn);
  grid-row: 1/span 1;
}
.cn-c-article_item > a:focus {
  outline: none;
}
.cn-c-article_item > a::before {
  content: "";
  display: block;
  inset: 0;
  position: absolute;
  z-index: 1; /* 1 */
}

.cn-c-article_item.cn-m-head > a {
  grid-row: 1/span 2;
}

/**
 * Arrow button
 */
.cn-c-article_item > a > .cn-c-button {
  --cn-c-button--Color: currentcolor;
  --cn-c-button--hover--BackgroundColor: var(--cn-c-article_item__button--hover--BackgroundColor);
  --cn-c-button--hover--Color: var(--cn-c-article_item__button--hover--Color);
  --cn-c-button--icon-only--Dimension: var(--cn-c-article_item__button--dimension);
  --cn-c-button--icon-only--Padding: var(--cn-c-article_item__button--Padding);
  opacity: 0;
  transition: opacity var(--cn-c-article_item--TransitionDuration) ease;
}

/** Medium: 768px */
@media all and (min-width: 48rem) {
  .cn-c-article_item:is(:hover, :focus-within) > a > .cn-c-button {
    opacity: 1;
  }
}
/**
 * Border
 */
.cn-c-article_item::after {
  background-color: var(--cn-c-article_item__border--BackgroundColor);
  block-size: 1px;
  border-radius: 100vmax;
  content: "";
  display: block;
  grid-column: var(--cn-c-article_item__border--GridColumn);
  grid-row: -1;
  justify-self: stretch;
}

/**
 * Image
 * 1: reset
 * 2: over page footer (2)
 */
.cn-c-article_item > .cn-c-picture {
  --cn-c-picture--BackgroundColor: transparent; /* 1 */
  --cn-c-picture__image--AspectRatio: var(--cn-c-article_item__image--ImageAspectRatio);
  --cn-c-picture__image--BorderRadius: var(--cn-c-article_item__image--BorderRadius);
  block-size: 0;
  display: none;
  inline-size: var(--cn-c-article_item__image--InlineSize);
  inset-block-end: var(--cn-c-article_item__image--InsetBlockEnd);
  inset-inline-end: var(--cn-c-article_item__image--InsetInlineEnd);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transform-origin: right bottom;
  transform: scale(0);
  transition: opacity calc(3 * var(--cn-c-article_item--TransitionDuration)) ease, transform calc(3 * var(--cn-c-article_item--TransitionDuration)) ease;
  z-index: 3; /* 2 */
  /** Large: 1024px */
}
.cn-c-article_item > .cn-c-picture.cn-m-vertical {
  --cn-c-picture__image--AspectRatio: var(--cn-c-article_item__image--m-vertical--ImageAspectRatio);
  inline-size: var(--cn-c-article_item__image--m-vertical--InlineSize);
}
.cn-c-article_item > .cn-c-picture > img {
  transform: translateY(-100%);
}
@media all and (min-width: 64rem) {
  .cn-c-article_item > .cn-c-picture {
    display: block;
  }
}

.cn-c-article_item:is(:hover, :focus-within) > .cn-c-picture {
  opacity: 1;
  transform: scale(1);
}

/**
 * Preview indicator
 */
.cn-c-article_item > aside {
  align-self: center;
  font-size: var(--cn-c-article_item__preview--FontSize);
  grid-column: var(--cn-c-article_item__preview--GridColumn);
  grid-row: var(--cn-c-article_item__preview--GridRow);
  justify-self: var(--cn-c-article_item__preview--JustifySelf);
  margin-block-start: var(--cn-c-article_item__preview--MarginBlockStart);
}
.cn-c-article_item > aside > .cn-c-button--outline {
  --cn-c-button--PaddingInline: 1em;
  font-size: inherit;
}
/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/cms_plugins/routes/routes.scss ***!
  \**************************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Atoms / CMS plugins / Routes
 *****************************************************************************/
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
/* This is useful to use variables in JS files */
:export {
  xs: 0;
  sm: 37.5rem;
  md: 48rem;
  lg: 64rem;
  xl: 80rem;
  xxl: 90rem;
  xxxl: 120rem;
}

.cn-c-routes {
  --cn-c-routes--ColumnGap: var(--cn-global--content-grid--guttersize);
  --cn-c-routes--column-width: auto;
  /**
   * Divider
   */
  --cn-c-routes__divider--BackgroundColor: currentcolor;
  --cn-c-routes__divider--Column: 1 / -1;
  --cn-c-routes__divider--Opacity: 0.06;
  /**
   * Cell
   */
  --cn-c-routes__cell--PaddingBlockStart: .35em;
  /**
   * Route name
   */
  --cn-c-routes__name--FontWeight: var(--cn-global--FontWeight-medium);
  --cn-c-routes__name--LineHeight: 1.38;
  /**
   * Counter
   */
  --cn-c-routes__counter--FontSize: max(.875rem, 0.81em);
  --cn-c-routes__counter--FontWeight: var(--cn-global--FontWeight-regular);
  --cn-c-routes__counter--MarginBlockStart: 0; /*0.53em;*/
  /**
   * Route description
   */
  --cn-c-routes__description--FontSize: max(0.875rem, 0.81em);
  --cn-c-routes__description--FontWeight: var(--cn-global--FontWeight-book-regular);
  --cn-c-routes__description--MarginBlockEnd: 0.36em;
  /**
   * Pitch label
   */
  --cn-c-routes__pitch--FontSize: max(0.875rem, 0.91em);
  --cn-c-routes__pitch--FontWeight: var(--cn-global--FontWeight-regular);
  /**
   * Difficulty
   */
  --cn-c-routes__difficulty--FontSize: max(0.875rem, 1.09em);
  --cn-c-routes__difficulty--FontWeight: var(--cn-global--FontWeight-regular);
  /**
   * Length
   */
  --cn-c-routes__length--FontSize: var(--cn-c-routes__difficulty--FontSize);
  --cn-c-routes__length--FontWeight: var(--cn-c-routes__difficulty--FontWeight);
  /** Small: 600px */
  /** Medium: 768px */
}
@media all and (min-width: 37.5rem) {
  .cn-c-routes {
    --cn-c-routes__cell--PaddingBlockStart: 0;
    --cn-c-routes__divider--Column: 2 / -1;
  }
}
@media all and (min-width: 48rem) {
  .cn-c-routes {
    --cn-c-routes--column-width: var(--cn-c-page--column-width);
  }
}

/**
 * Component
 */
.cn-c-routes {
  align-items: baseline;
  border: none;
  display: grid;
  grid-column-gap: var(--cn-c-routes--ColumnGap);
  grid-template-columns: var(--cn-c-routes--column-width) 1fr auto auto auto;
}

.cn-c-routes tbody,
.cn-c-routes tr {
  display: contents;
}

/**
 * Divider
 * 1: pill
 */
.cn-c-routes tr::after {
  background-color: var(--cn-c-routes__divider--BackgroundColor);
  block-size: 1px;
  border-radius: 100vmax; /* 1 */
  content: "";
  display: block;
  grid-column: var(--cn-c-routes__divider--Column);
  opacity: var(--cn-c-routes__divider--Opacity);
}

/**
 * Cell
 * 1: reset
 */
.cn-c-routes :is(td, th) {
  border: none; /* 1 */
  padding: 0; /* 1 */
}

.cn-c-routes tr:nth-child(n+2) > :is(td, th) {
  padding-block-start: var(--cn-c-routes__cell--PaddingBlockStart);
}

/**
 * Counter
 */
.cn-c-routes th:first-child:not([colspan="2"]) {
  font-size: var(--cn-c-routes__counter--FontSize);
  font-weight: var(--cn-c-routes__counter--FontWeight);
  justify-self: end;
  margin-block-start: var(--cn-c-routes__counter--MarginBlockStart);
  white-space: nowrap;
}

/**
 * Route header
 */
.cn-c-routes th:nth-child(2),
.cn-c-routes th[colspan="2"] {
  display: flex;
  flex-direction: column;
}

.cn-c-routes th[colspan="2"] {
  grid-column-start: 2;
}

/**
 * Route name
 */
.cn-c-routes__name {
  font-weight: var(--cn-c-routes__name--FontWeight);
  line-height: var(--cn-c-routes__name--LineHeight);
  text-transform: uppercase;
}

/**
 * Route description
 */
.cn-c-routes__description {
  font-size: var(--cn-c-routes__description--FontSize);
  font-weight: var(--cn-c-routes__description--FontWeight);
  margin-block-end: var(--cn-c-routes__description--MarginBlockEnd);
}

/**
 * Pitch label
 */
.cn-c-routes td:nth-last-child(3) {
  font-size: var(--cn-c-routes__pitch--FontSize);
  font-weight: var(--cn-c-routes__pitch--FontWeight);
  justify-self: start;
  white-space: nowrap;
}

/**
 * Difficulty
 */
.cn-c-routes td:nth-last-child(2) {
  font-size: var(--cn-c-routes__difficulty--FontSize);
  font-weight: var(--cn-c-routes__difficulty--FontWeight);
  justify-self: center;
  white-space: nowrap;
}

/**
 * Length
 */
.cn-c-routes td:last-child {
  font-size: var(--cn-c-routes__length--FontSize);
  font-weight: var(--cn-c-routes__length--FontWeight);
  justify-self: end;
  white-space: nowrap;
}
/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/button/card_cta/card_cta.scss ***!
  \*************************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Atoms / Button / Card CTA
 *****************************************************************************/
/** ***************************************************************************
 * Conchiglia SASS utilities
 *************************************************************************** */
/* Function for converting a px based font-size to rem. */
.cn-c-card_cta {
  --cn-c-button--no-frame--Color: var(--cn-c-page--Color);
  justify-content: space-between;
}
.cn-c-card_cta:hover {
  --cn-c-button--hover--Color: var(--cn-c-page--Color);
}
.cn-c-card_cta .content-start {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
}
.cn-c-card_cta .cta-action svg {
  block-size: 1.1875rem;
  vertical-align: top;
}
.cn-c-card_cta .label {
  font: var(--cn-global--Font-label--xs-semibold);
}
.cn-c-card_cta .icon-wrapper {
  block-size: 1.3125rem;
  background-color: transparent;
  color: var(--cn-c-page--Color);
  padding: unset;
}
/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/button/camera/camera.scss ***!
  \*********************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Atoms / Button / Camera
 *****************************************************************************/
.cn-c-camera_button {
  --cn-c-camera_button--BackgroundColor: var(--cn-global--palette-black);
  --cn-c-camera_button--BlockSize: 1.25em;
  --cn-c-camera_button--Color: var(--cn-global--palette-white);
  --cn-c-camera_button--Padding: .75em;
}

/**
 * Component
 */
.cn-c-camera_button {
  aspect-ratio: 1;
  background-color: var(--cn-c-camera_button--BackgroundColor);
  block-size: var(--cn-c-camera_button--BlockSize);
  border-radius: 50%;
  box-sizing: content-box;
  color: var(--cn-c-camera_button--Color);
  display: grid;
  padding: var(--cn-c-camera_button--Padding);
  place-items: center;
}
/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/_modal_plugin/modal_plugin.scss ***!
  \***************************************************************************************************************************************************************************************************/
/******************************************************************************
 * Digital / Atoms / Modal plugin
 *****************************************************************************/
.cn-c-modal_plugin {
  --cn-c-modal_plugin--Color: var(--cn-c-page--Color);
  --cn-c-modal_plugin--ColumnGap: 0.8125em;
  --cn-c-modal_plugin--FontSize: max(1rem, 0.61em); /* 14px / 16px */
  --cn-c-modal_plugin--PaddingBlock: var(--cn-c-modal_plugin--ColumnGap);
  /**
   * Icon
   */
  --cn-c-modal_plugin__icon--BackgroundColor: var(--cn-c-page--AccentColor);
  --cn-c-modal_plugin__icon--Color: var(--cn-c-page--BackgroundColor);
  --cn-c-modal_plugin__icon--BorderColor: var(--cn-c-modal_plugin__icon--Color);
  --cn-c-modal_plugin__icon--Dimension: 2.75em;
  --cn-c-modal_plugin__icon--Padding: 0.7em;
  /**
   * Label
   */
  --cn-c-modal_plugin__label--FontWeight: var(--cn-global--FontWeight-semibold);
  /**
   * Help text
   */
  --cn-c-modal_plugin__help--FontWeight: var(--cn-global--FontWeight-book-regular);
}

:is(p, .cn-m-lead) > .cn-c-modal_plugin {
  --cn-c-modal_plugin--Color: var(--cn-c-page--AccentColor);
  --cn-c-modal_plugin--ColumnGap: 0.35em;
  --cn-c-modal_plugin--FontSize: 1em;
  --cn-c-modal_plugin__icon--BackgroundColor: var(--cn-global--palette-red--80);
  --cn-c-modal_plugin__icon--Dimension: 1.45em;
  --cn-c-modal_plugin__icon--Padding: 0.325em;
  --cn-c-modal_plugin__label--FontWeight: var(--cn-global--FontWeight-medium);
}

/**
 * Component
 * 1: reset
 */
.cn-c-modal_plugin {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; /* 1 */
  background-color: transparent; /* 1 */
  border: none; /* 1 */
  color: var(--cn-c-modal_plugin--Color);
  cursor: pointer;
  display: grid;
  font-family: inherit; /* 1 */
  font-size: var(--cn-c-modal_plugin--FontSize);
  grid-column-gap: var(--cn-c-modal_plugin--ColumnGap);
  grid: "icon ." minmax(var(--cn-c-modal_plugin--PaddingBlock), 1fr) "icon label" auto "icon help" minmax(var(--cn-c-modal_plugin--PaddingBlock), 1fr) ".    help" 0.5em/auto 1fr;
  justify-items: start;
  margin: 0; /* 1 */
  padding: 0; /* 1 */
  text-align: start; /* 1 */
}

:is(p, .cn-m-lead) > .cn-c-modal_plugin {
  display: inline-grid;
  grid: "label icon";
}

/**
 * Icon
 * 1: disable hover state
 */
.cn-c-modal_plugin > .cn-c-button {
  --cn-c-button--BackgroundColor: var(--cn-c-modal_plugin__icon--BackgroundColor);
  --cn-c-button--Color: var(--cn-c-modal_plugin__icon--Color);
  --cn-c-button--BorderColor: var(--cn-c-modal_plugin__icon--BorderColor);
  --cn-c-button--icon-only--Dimension: var(--cn-c-modal_plugin__icon--Dimension);
  --cn-c-button--icon-only--Padding: var(--cn-c-modal_plugin__icon--Padding);
  align-self: start;
  grid-area: icon;
  pointer-events: none; /* 1 */
}

/**
 * Label
 */
.cn-c-modal_plugin > span:nth-of-type(2) {
  align-self: center;
  font-weight: var(--cn-c-modal_plugin__label--FontWeight);
  grid-area: label;
}

/**
 * Help text
 * 1: hide when inline
 */
.cn-c-modal_plugin > :last-child {
  align-self: end;
  font-weight: var(--cn-c-modal_plugin__help--FontWeight);
  grid-area: help;
}

:is(p, .cn-m-lead) > .cn-c-modal_plugin > :last-child {
  display: none; /* 1 */
}
/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/01-typography/06-label/label.scss ***!
  \*****************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Atoms / Typography / Label
 *********************************************************************************** */
.label.extrasmall {
  font: var(--cn-global--Font-label--xs-light);
}
.label.small {
  font: var(--cn-global--Font-label--sm-regular);
}
.label.small.extrabold {
  font: var(--cn-global--Font-label--sm-extrabold);
}
.label.medium {
  font: var(--cn-global--Font-label--md-medium);
}
.label.large {
  font: var(--cn-global--Font-label--lg-regular);
}
.label.large.light {
  font: var(--cn-global--Font-label--lg-light);
}
.label.large.bold {
  font: var(--cn-global--Font-label--lg-bold);
}
.label.extralarge {
  font: var(--cn-global--Font-label--xl-light);
}
.label.extraextralarge {
  font: var(--cn-global--Font-label--2xl-bold);
}
/*!*************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/01-typography/03-inline_elements/03-strong/strong.css ***!
  \*************************************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Strong text styles
 *********************************************************************************** */
body {
  --cn-c-page__strong--FontWeight: var(--cn-global--FontWeight-semibold);
}

b,
strong {
  font-weight: var(--cn-c-page__strong--FontWeight);
}
/*!*************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/01-typography/03-inline_elements/01-anchor/anchor.css ***!
  \*************************************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Atoms / Typography / Inline elements / Anchor
 *********************************************************************************** */
body {
  /**
   * Link
   */
  --cn-c-page__link--FontWeight: var(--cn-global--FontWeight-bold);
}

/**
 * Component
 */
a {
  color: currentcolor;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

p a {
  font-weight: var(--cn-c-page__link--FontWeight);
}
/*!*************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/01-typography/02-paragraph/paragraph.scss ***!
  \*************************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Atoms / Typography / Paragraph
 *********************************************************************************** */
p.small {
  font: var(--cn-global--Font-paragraph--sm-regular);
}
p.medium {
  font: var(--cn-global--Font-paragraph--md-regular);
}
p.medium.light {
  font: var(--cn-global--Font-paragraph--md-light);
}
p.medium.bold {
  font: var(--cn-global--Font-paragraph--md-bold);
}
p.large {
  font: var(--cn-global--Font-paragraph--lg-bold);
}
@media all and (width < 64rem) {
  p.large {
    margin-block: 0.75rem;
  }
}
p.extralarge {
  font: var(--cn-global--Font-paragraph--xl-medium);
}
/*!*********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./components/03-digital/01-atoms/01-typography/01-heading/heading.scss ***!
  \*********************************************************************************************************************************************************************************************************/
/** ***********************************************************************************
 * Digital / Atoms / Typography / Heading
 *********************************************************************************** */

/*# sourceMappingURL=components.css.map*/
