/* Webflow */

html:is(.wf-design-mode, .wf-editor) {
  /* Empty Elements */

  .wf-empty {
    box-shadow: none;
    padding-bottom: 0;
    padding-right: 0;
  }

  .w-embed:empty {
    min-height: 0;
  }

  & .is--fit-cover {
    pointer-events: none;
  }

  & .is--designer-hide {
    display: none;
    visibility: hidden;
  }

  /* Modules - Accordions */

  & [data-accordion-status='not-active'] [data-accordion-bottom] {
    grid-template-rows: 1fr;
  }

  /* Modules - Lenticular */

  .lenticular__sources {
    width: 100%;
    height: 100%;
    opacity: 1;
    display: block;
  }

  /* Modules - Loader */

  .logo-loader {
    display: none;
  }

  /* Modules - Navigation */

  & :where([data-menu-status='open']) {
    [data-page-overlay] {
      visibility: visible;
      pointer-events: auto;
    }

    [data-page-overlay-dark] {
      opacity: 1;
    }

    [data-main] {
      transform: translateX(calc(var(--menu-width) * -1));
      visibility: visible;
    }
  }

  /* Modules - Book Details */

  .book-details__book-wrap {
    position: relative;
  }

  /* Modules - Scrolling Books */

  .scrolling-books__list {
    width: auto;
    padding-right: var(--_layout---container--margin);
    padding-left: var(--_layout---container--margin);
  }

  /* Modules - Slider Books */

  .slider-books {
    height: 100dvh;
    margin-left: 0;
  }

  .slider-books__item {
    margin-left: 0;
  }

  .trailer-button__click {
    pointer-events: none;
    visibility: hidden;
  }
}/* Webflow Reset */

/* Embed */

.w-embed {
  &::after,
  &::before {
    content: unset;
  }
}

/* Rich Text */

.w-richtext {
  &::after,
  &::before {
    content: unset;
  }

  & > :first-child {
    margin-top: 0;
  }

  & > :last-child {
    margin-bottom: 0;
  }

  & a {
    position: relative;
    z-index: 4;
    text-decoration: underline;
  }

  & li {
    list-style: none;
    position: relative;

    &::before {
      content: '\2022';
      position: absolute;
      top: 0.15em;
      left: -1.25em;
      font-size: 1.2em;
      line-height: 1em;
      color: currentcolor;
      display: inline-block;
    }
  }

  & figure.w-richtext-align-fullwidth {
    max-width: 100% !important;

    & > div {
      width: 100%;
    }
  }
}

/* Styleguide */

.sg-wrapper {
  & ::selection {
    background-color: var(--accent--accent);
    color: var(--accent--accent-text);
    text-shadow: none;
  }
}

html:not(.wf-design-mode) {
  /* Hide if Empty */
  [data-hide-empty]:not(:has(.w-dyn-item)),
  [data-hide-empty]:empty,
  [data-hide-empty]:has(> *):not(:has(> :not(.w-condition-invisible))) {
    display: none !important;
  }
}

/* Data Numbers */

[data-number='-1'] {
  --number: initial;
}

[data-number='0'] {
  --number: 0;
}

[data-number='1'] {
  --number: 1;
}

[data-number='2'] {
  --number: 2;
}

[data-number='3'] {
  --number: 3;
}

[data-number='4'] {
  --number: 4;
}

[data-number='5'] {
  --number: 5;
}

[data-number='6'] {
  --number: 6;
}

[data-number='7'] {
  --number: 7;
}

[data-number='8'] {
  --number: 8;
}

[data-number='9'] {
  --number: 9;
}

[data-number='10'] {
  --number: 10;
}

[data-number='11'] {
  --number: 11;
}

[data-number='12'] {
  --number: 12;
}

[data-number='13'] {
  --number: 13;
}

[data-number='14'] {
  --number: 14;
}

[data-number='15'] {
  --number: 15;
}

[data-number='16'] {
  --number: 16;
}

[data-number='17'] {
  --number: 17;
}

[data-number='18'] {
  --number: 18;
}

[data-number='19'] {
  --number: 19;
}

[data-number='20'] {
  --number: 20;
}

[data-number='21'] {
  --number: 21;
}

[data-number='22'] {
  --number: 22;
}

[data-number='23'] {
  --number: 23;
}

[data-number='24'] {
  --number: 24;
}

[data-number='25'] {
  --number: 25;
}

[data-number='26'] {
  --number: 26;
}

[data-number='27'] {
  --number: 27;
}

[data-number='28'] {
  --number: 28;
}

[data-number='29'] {
  --number: 29;
}

[data-number='30'] {
  --number: 30;
}

[data-number='31'] {
  --number: 31;
}

[data-number='32'] {
  --number: 32;
}

[data-number='33'] {
  --number: 33;
}

[data-number='34'] {
  --number: 34;
}

[data-number='35'] {
  --number: 35;
}

[data-number='36'] {
  --number: 36;
}

[data-number='37'] {
  --number: 37;
}

[data-number='38'] {
  --number: 38;
}

[data-number='39'] {
  --number: 39;
}

[data-number='40'] {
  --number: 40;
}

[data-number='41'] {
  --number: 41;
}

[data-number='42'] {
  --number: 42;
}

[data-number='43'] {
  --number: 43;
}

[data-number='44'] {
  --number: 44;
}

[data-number='45'] {
  --number: 45;
}

[data-number='46'] {
  --number: 46;
}

[data-number='47'] {
  --number: 47;
}

[data-number='48'] {
  --number: 48;
}

[data-number='49'] {
  --number: 49;
}

[data-number='50'] {
  --number: 50;
}

[data-number='51'] {
  --number: 51;
}

[data-number='52'] {
  --number: 52;
}

[data-number='53'] {
  --number: 53;
}

[data-number='54'] {
  --number: 54;
}

[data-number='55'] {
  --number: 55;
}

[data-number='56'] {
  --number: 56;
}

[data-number='57'] {
  --number: 57;
}

[data-number='58'] {
  --number: 58;
}

[data-number='59'] {
  --number: 59;
}

[data-number='60'] {
  --number: 60;
}

[data-number='61'] {
  --number: 61;
}

[data-number='62'] {
  --number: 62;
}

[data-number='63'] {
  --number: 63;
}

[data-number='64'] {
  --number: 64;
}

[data-number='65'] {
  --number: 65;
}

[data-number='66'] {
  --number: 66;
}

[data-number='67'] {
  --number: 67;
}

[data-number='68'] {
  --number: 68;
}

[data-number='69'] {
  --number: 69;
}

[data-number='70'] {
  --number: 70;
}

[data-number='71'] {
  --number: 71;
}

[data-number='72'] {
  --number: 72;
}

[data-number='73'] {
  --number: 73;
}

[data-number='74'] {
  --number: 74;
}

[data-number='75'] {
  --number: 75;
}

[data-number='76'] {
  --number: 76;
}

[data-number='77'] {
  --number: 77;
}

[data-number='78'] {
  --number: 78;
}

[data-number='79'] {
  --number: 79;
}

[data-number='80'] {
  --number: 80;
}

[data-number='81'] {
  --number: 81;
}

[data-number='82'] {
  --number: 82;
}

[data-number='83'] {
  --number: 83;
}

[data-number='84'] {
  --number: 84;
}

[data-number='85'] {
  --number: 85;
}

[data-number='86'] {
  --number: 86;
}

[data-number='87'] {
  --number: 87;
}

[data-number='88'] {
  --number: 88;
}

[data-number='89'] {
  --number: 89;
}

[data-number='90'] {
  --number: 90;
}

[data-number='91'] {
  --number: 91;
}

[data-number='92'] {
  --number: 92;
}

[data-number='93'] {
  --number: 93;
}

[data-number='94'] {
  --number: 94;
}

[data-number='95'] {
  --number: 95;
}

[data-number='96'] {
  --number: 96;
}

[data-number='97'] {
  --number: 97;
}

[data-number='98'] {
  --number: 98;
}

[data-number='99'] {
  --number: 99;
}

[data-number='100'] {
  --number: 100;
}

/* Core */

/* Variables  */

:root {
  /* Motion */

  --motion-osmo: cubic-bezier(0.625, 0.05, 0, 1);
  --motion-parallax: cubic-bezier(0.7, 0.05, 0.13, 1);
  --motion-focus: cubic-bezier(0.32, 0.72, 0, 1);
  --motion-showreel: cubic-bezier(0.87, 0, 0.13, 1);
  --motion-in-out: ease-in-out;

  /* Animations */

  --duration-fast: 0.4s;
  --duration-normal: 0.6s;
  --duration-slow: 0.9s;

  /* Navigation */

  --menu-width: 30rem;

  /* Underline */

  --underline-duration: var(--duration-normal);
  --underline-motion: var(--motion-osmo);
  --underline-color: currentcolor;
  --underline-offset: -0.125em;
  --underline-thickness: calc(0.0625em * 1.25);

  /* Webflow Memo */

  /*
  var(--core--text)
  var(--core--border)
  var(--core--background)
  var(--surface--background)
  var(--surface--text)
  var(--surface--border)
  */
}

@media screen and (width <= 767px) {
  :root {
    --menu-width: 95vw;
  }
}

/* Scaling */

:root {
  /* Container */

  --container-ideal: 1728;
  --container-min: 992px;
  --container-max: 1920px;
  --container-width: clamp(var(--container-min), 100vw, var(--container-max));

  /* Font scaling */

  --fs-strength: 1;
  --fs-unit: 16;
  --fs-base: calc(var(--fs-unit) * 1px);
  --fs-fluid: calc(var(--container-width) / (var(--container-ideal) / var(--fs-unit)));
  --fs: calc(var(--fs-base) + (var(--fs-fluid) - var(--fs-base)) * var(--fs-strength));

  /* Responsive */

  @media screen and (width <= 991px) {
    --container-ideal: 991;
    --container-min: 768px;
    --container-max: 991px;
  }

  @media screen and (width <= 767px) {
    --container-ideal: 550;
    --container-min: 480px;
    --container-max: 767px;
  }

  @media screen and (width <= 479px) {
    --container-ideal: 390;
    --container-min: 320px;
    --container-max: 479px;
  }
}

html {
  font-size: var(--fs);
}

/* Base */

::after,
::before {
  box-sizing: border-box;
}

body,
html {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
}

html {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
}

textarea {
  resize: none;
}

video {
  object-fit: cover;
  width: 100%;
}

svg {
  max-width: 100%;
  line-height: 1;
}

strong {
  font-weight: 600;
}

a {
  color: inherit;
  text-decoration: none;
  display: inline-block;
}

button {
  background-color: unset;
  border: none;
  margin: unset;
  padding: unset;
  text-align: inherit;
}

button:not(.is--disabled),
button:not(:disabled) {
  cursor: pointer;
}

button.is--disabled,
button:disabled {
  opacity: 0.1;
  pointer-events: none;
  cursor: not-allowed;
}

[data-disabled] {
  cursor: not-allowed;
}

/* [data-hover] {
  cursor: pointer;
} */

:where(a, button, input, textarea, select, summary, [tabindex]) {
  position: relative;
  outline: none;

  &::after {
    content: '';
    display: block;
    position: absolute;

    z-index: 1;
    border-radius: 0.125em;
    inset: -0.125em;
    pointer-events: none;
    transition: box-shadow 0.3s var(--motion-focus);
  }
}

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  &::after {
    box-shadow: 0 0 0 0.125em currentcolor;
  }
}

/* Selection */

::selection {
  background-color: var(--selection--background);
  color: var(--selection--text);
  text-shadow: none;
}

img::selection {
  background: transparent;
}

/* Scrollbar */

* {
  scrollbar-color: rgb(0 0 0 / 25%) transparent;
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  height: 0.25rem;
  width: 0.25rem;
}

::-webkit-scrollbar-thumb {
  background-color: rgb(0 0 0 / 25%);
  border-radius: 100vw;
}

::-webkit-scrollbar-track {
  background: transparent;
}

body::-webkit-scrollbar,
html::-webkit-scrollbar {
  display: none;
}

body,
html {
  scrollbar-width: none;
}

body {
  -ms-overflow-style: none;
  overscroll-behavior: none;
  scroll-behavior: auto;
}

/* Lenis */

.lenis {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/* GSAP SplitText */

.line-mask {
  padding-bottom: 0.1em;
  margin-bottom: -0.1em;
}

.line p {
  margin-bottom: 0;
}

/* Scroll Reveal */

@media screen and (width >= 992px) {
  html:not(.wf-design-mode) {
    [data-reveal-group],
    [data-reveal-text='True'] {
      opacity: 0;
    }
  }
}

/* Scroll Parallax */

/* [data-parallax] {
  height: 120%;
  will-change: transform;
} */

/* Page transition overlay — persistent, outside [data-barba="container"] */

[data-transition-wrap] {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

[data-transition-dark] {
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
}

/* Typography - Freight */

:is(.is--title, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
  display: flow-root;

  &::before {
    content: '';
    display: table;
    margin-bottom: calc(-0.5lh + 0.34em);
  }

  &::after {
    content: '';
    display: table;
    margin-bottom: calc(-0.5lh + 0.37em);
  }
}

/* Typography - Jigsaw */

:is(.is--text) {
  -webkit-text-rendering: optimizespeed;
  text-rendering: optimizespeed;
  transform: translateZ(0);
  font-kerning: none;

  display: flow-root;

  &::before {
    content: '';
    display: table;
    margin-bottom: calc(-0.5lh + 0.51em);
  }

  &::after {
    content: '';
    display: table;
    margin-bottom: calc(-0.5lh + 0.42em);
  }
}

/* Typography - Clamp */

[class*='is--text-clamp']:not(.w-richtext),
[class*='is--text-clamp'].w-richtext > * {
  display: -webkit-box;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

[class*='is--text-clamp'].w-richtext > :not(:first-child) {
  display: none;
}

.is--text-clamp-2:not(.w-richtext),
.is--text-clamp-2.w-richtext > * {
  line-clamp: 2;
  -webkit-line-clamp: 2;
}

.is--text-clamp-3:not(.w-richtext),
.is--text-clamp-3.w-richtext > * {
  line-clamp: 3;
  -webkit-line-clamp: 3;
}

.is--text-clamp-4:not(.w-richtext),
.is--text-clamp-4.w-richtext > * {
  line-clamp: 4;
  -webkit-line-clamp: 4;
}

.is--text-clamp-5:not(.w-richtext),
.is--text-clamp-5.w-richtext > * {
  line-clamp: 5;
  -webkit-line-clamp: 5;
}

.page-main {
  /* Write your page main styles here */
}

.page-main__inner {
  transition: background-color 0.6s var(--motion-in-out);
}

/* Components */

/*  Accordions */

[data-accordion] {
  --duration: var(--duration-normal);
  --motion: var(--motion-osmo);
}

/* Animate Accordion Bottom Grid */

[data-accordion-bottom] {
  transition: grid-template-rows var(--duration) var(--motion);
}

[data-accordion-status='active'] [data-accordion-bottom] {
  grid-template-rows: 1fr;
}

/* Animate Icon */

[data-accordion-icon] {
  transition: transform var(--duration) var(--motion);
}

[data-accordion-status='active'] [data-accordion-icon] {
  transform: rotate(0.001deg);
}

/* Animated Grid */

/* Only if it is not in designer mode */

html:not(.wf-design-mode, .wf-editor) {
  .animated-grid {
    display: none;
    visibility: hidden;
  }
}

/* ----- Author card ----- */

.author-card {
  display: block;

  will-change: transform;
  transform: translateX(var(--card-shift, 0)) translateY(var(--card-offset)) rotate(var(--card-rotation)) scale(var(--card-scale, 1));
  transform-origin: center;
  transition:
    filter 0.5s var(--motion-in-out),
    opacity 0.5s var(--motion-in-out);
}

.author-card__title {
  transition: opacity 0.5s var(--motion-in-out);
  transition-delay: 0s;
}

.author-card__text {
  transition:
    opacity 0.5s var(--motion-in-out),
    transform 0.5s var(--motion-osmo);
  transition-delay: 0.05s;
}

.author-card__link {
  transition:
    opacity 0.5s var(--motion-in-out),
    transform 0.5s var(--motion-osmo);
  transition-delay: 0.075s;
}

/* ----- States - Hover ----- */

@media (hover: hover) and (pointer: fine) {
  .author-card__link-label {
    transition:
      opacity 0.3s var(--motion-in-out),
      transform 0.5s var(--motion-osmo);

    opacity: 0;
    transform: translateY(1rem);
  }

  .author-card:hover {
    & .author-card__link-label {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* ----- States - Webflow Canvas ----- */

html:is(.wf-design-mode, .wf-editor) {
  .author-card {
    & .author-card__link {
      pointer-events: none;
    }
  }
}

/* ----- States - Slider ----- */

[data-slider][data-slider-variant='authors'] {
  & [data-item-status='not-active'] {
    opacity: 0.2;
    filter: grayscale(100%);
    pointer-events: none;

    & .author-card__title {
      opacity: 0;
    }

    & .author-card__text {
      opacity: 0;
      transform: translateY(1rem);
    }

    & .author-card__link {
      opacity: 0;
      transform: translateY(1rem);
    }
  }
}

.author-entry {
  --translate-y: 1.25em;
  --duration: 0.5s;
  --motion-hover: var(--motion-osmo);

  & .line-mask {
    display: flow-root;

    &::before {
      content: '';
      display: table;
      margin-bottom: calc(-0.5lh + 0.51em);
    }

    &::after {
      content: '';
      display: table;
      margin-bottom: calc(-0.5lh + 0.42em);
    }
  }
}

.author-entry__link {
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

.author-entry__text {
  -webkit-text-rendering: optimizespeed;
  text-rendering: optimizespeed;
  transform: translateZ(0);
  font-kerning: none;

  .char {
    display: inline-block;
    will-change: transform;
  }
}

@media (hover: none) {
  .author-entry__link {
    position: relative;
  }

  [data-author-entry-text='hover'] {
    position: absolute;
    inset: 0;
  }
}

[data-hero-book-details],
[data-book-details] {
  overflow: visible;
}

[data-hero-book-details] [data-book-hero] {
  position: absolute;
  z-index: 2;
}

@media (width <= 991px) {
  [data-hero-book-details] [data-book-stage] {
    touch-action: pan-y;
  }

  [data-hero-book-details] [data-lenticular-canvas] {
    pointer-events: none;
  }
}

[data-book-container] {
  container-type: inline-size;
}

[data-book-status='hidden'] {
  opacity: 0.5;
}

.book-stage,
.book-preview {
  --book-width: 100cqw;
  --book-height: calc(var(--book-width) * 1.6);
  --book-depth: calc(var(--book-width) * 0.0727);
  --book-half-width: calc(var(--book-width) / 2);
  --book-half-height: calc(var(--book-height) / 2);
  --book-half-depth: calc(var(--book-depth) / 2);

  perspective: 2000px;
}

.book-preview {
  & .book-front {
    background-color: var(--book-author-color);
  }
}

.book {
  --thickness: 2px;

  transform-style: preserve-3d;

  & .book__face {
    &.is--front {
      filter: brightness(1.05);
    }

    &.is--spine {
      filter: brightness(1);
    }

    &.is--back {
      filter: brightness(0.7);
    }

    &.is--top,
    &.is--bottom {
      border-style: solid;
      border-width: var(--thickness);
      border-right-width: 0;
    }

    &.is--fore {
      border-style: solid;
      border-width: var(--thickness);
      border-top-width: 0;
      border-bottom-width: 0;
    }

    & img {
      width: 100%;
      height: 100%;
      display: block;
      backface-visibility: hidden;
    }
  }

  .book__face.is--front {
    inset: -0.1px;
  }
}

/* Lightbox */

[data-bunny-lightbox-status] {
  & .bunny-lightbox__calc {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.9) rotate(0.001deg);
  }

  & .bunny-lightbox__dark,
  & .bunny-lightbox__close {
    opacity: 0;
    visibility: hidden;
  }

  &[data-bunny-lightbox-transition='true'] {
    & .bunny-lightbox__calc {
      transition:
        transform 0.3s cubic-bezier(0.625, 0.05, 0, 1),
        opacity 0.3s linear,
        visibility 0.3s linear;
    }

    & .bunny-lightbox__dark,
    & .bunny-lightbox__close {
      transition:
        opacity 0.3s linear,
        visibility 0.3s linear;
    }
  }

  &[data-bunny-lightbox-status='active'] {
    & .bunny-lightbox__calc {
      opacity: 1;
      visibility: visible;
      transform: scale(1) rotate(0.001deg);
    }

    & .bunny-lightbox__dark,
    & .bunny-lightbox__close {
      opacity: 1;
      visibility: visible;
    }
  }
}

/* Player */

[data-bunny-lightbox-init] {
  & .bunny-lightbox-player__placeholder,
  & .bunny-lightbox-player__dark,
  & .bunny-lightbox-player__loading {
    transition:
      opacity 0.3s linear,
      visibility 0.3s linear;
  }

  /* Placeholder */

  &[data-player-status='playing'],
  &[data-player-status='paused'],
  &[data-player-activated='true'][data-player-status='ready'] {
    & .bunny-lightbox-player__placeholder {
      opacity: 0;
      visibility: hidden;
    }
  }

  /* Dark overlay */

  &[data-player-status='playing'] {
    & .bunny-lightbox-player__dark {
      opacity: 0;
    }
  }

  &[data-player-status='paused'],
  &[data-player-status='playing'][data-player-hover='active'] {
    & .bunny-lightbox-player__dark {
      opacity: 0.3;
    }
  }

  /* Play / Pause */

  &[data-player-status='playing'],
  &[data-player-status='loading'] {
    & .button-play {
      opacity: 0;

      & .icon.is--play {
        display: none;
      }

      & .icon.is--pause {
        display: block;
      }
    }
  }

  &[data-player-status='playing'][data-player-hover='active'] {
    & .button-play {
      opacity: 1;
    }
  }

  /* Loading */

  &[data-player-status='loading'] {
    & .bunny-lightbox-player__loading {
      opacity: 1;
      visibility: visible;
    }
  }

  /* Interface */

  & .bunny-lightbox-player__interface {
    transition: all 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  }

  /* stylelint-disable-next-line no-duplicate-selectors */
  &[data-player-status='playing'],
  &[data-player-status='loading'] {
    & .bunny-lightbox-player__interface {
      opacity: 0;
      transform: translateY(1em) rotate(0.001deg);
    }
  }

  &[data-player-status='playing'][data-player-hover='active'],
  &[data-player-status='loading'][data-player-hover='active'] {
    & .bunny-lightbox-player__interface {
      opacity: 1;
      transform: translateY(0) rotate(0.001deg);
    }
  }

  /* Timeline */

  &[data-player-status='idle'][data-player-activated='false'],
  &[data-player-status='ready'][data-player-activated='false'] {
    & .bunny-lightbox-player__timeline {
      pointer-events: none;
    }
  }

  & .bunny-lightbox-player__timeline-handle {
    transition: transform 0.15s ease-in-out;
  }

  &[data-timeline-drag='true'] {
    & .bunny-lightbox-player__timeline-handle {
      transform: translate(-50%, -50%) scale(1);
    }
  }

  /* Fullscreen */

  &[data-player-fullscreen='true'] {
    & .bunny-lightbox-player__fullscreen-shrink-svg {
      display: block;
    }

    & .bunny-lightbox-player__fullscreen-scale-svg {
      display: none;
    }
  }

  /* Mute */

  &[data-player-muted='true'] {
    & .bunny-lightbox-player__volume-mute-svg {
      display: block;
    }

    & .bunny-lightbox-player__volume-up-svg {
      display: none;
    }
  }

  /* Cover */

  &[data-player-update-size='cover'] {
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;

    & [data-player-before] {
      display: none;
    }

    &[data-player-fullscreen='false'] {
      & .bunny-lightbox-player__video {
        object-fit: cover;
      }
    }
  }
}

.button-link {
  &[data-button-link] {
    & .button-link__inner {
      text-decoration: none;
      position: relative;

      &::before {
        content: '';
        position: absolute;
        bottom: var(--underline-offset);
        left: 0;
        width: 100%;
        height: var(--underline-thickness);
        background-color: var(--underline-color);
        transform-origin: right;
        transform: scaleX(0) rotate(0.001deg);
        transition: transform var(--underline-duration) var(--underline-motion);
      }
    }

    & .button-link__icon {
      opacity: 0;
      translate: -0.5em 0;

      transition:
        rotate 0.5s var(--underline-motion),
        translate 0.5s var(--underline-motion),
        opacity 0.3s ease;
    }
  }

  &[data-button-link='alt'] {
    --delay: 0.3s;

    & .button-link__inner {
      &::before,
      &::after {
        content: '';
        position: absolute;
        bottom: var(--underline-offset);
        left: 0;
        width: 100%;
        height: var(--underline-thickness);
        background-color: var(--underline-color);
        transition: transform var(--underline-duration) var(--underline-motion);
      }

      &::before {
        transform-origin: left;
        transform: scaleX(1) rotate(0.001deg);
        transition-delay: var(--delay);
      }

      &::after {
        transform-origin: right;
        transform: scaleX(0) rotate(0.001deg);
        transition-delay: 0s;
      }
    }
  }
}

@media (hover: hover) and (pointer: fine) {
  [data-hover]:hover [data-button-link],
  [data-button-link]:hover {
    & .button-link__inner {
      &::before {
        transform-origin: left;
        transform: scaleX(1) rotate(0.001deg);
      }
    }

    & .button-link__icon {
      opacity: 1;
      rotate: 45deg;
      translate: 0 0;
    }
  }

  [data-hover]:hover [data-button-link='alt'],
  [data-button-link='alt']:hover {
    & .button-link__inner {
      &::before {
        transform-origin: right;
        transform: scaleX(0) rotate(0.001deg);
        transition-delay: 0s;
      }

      &::after {
        transform-origin: left;
        transform: scaleX(1) rotate(0.001deg);
        transition-delay: var(--delay);
      }
    }
  }
}

.button-play {
  transition:
    transform 0.3s var(--motion-osmo),
    opacity 0.3s linear,
    background-color 0.3s linear,
    color 0.3s linear,
    visibility 0.3s linear;

  & .icon.is--pause {
    display: none;
  }
}

html:not(.wf-design-mode, .wf-editor) [data-collection-logo-img] {
  transform-origin: center center;
}

@media (prefers-reduced-motion: no-preference) and (width >= 992px) {
  html:not(.wf-design-mode, .wf-editor) [data-collection-logo-img] {
    transform: rotate(180deg);
    opacity: 0.1;
    will-change: transform, opacity;
  }
}

/* Cover — background logomark (stroke draw + fill underlay) */

[data-logo-draw] {
  position: relative;
}

[data-logo-fill] {
  position: absolute;
  inset: 0;
  color: inherit;
  pointer-events: none;
}

[data-logo-fill] svg {
  display: block;
  width: 100%;
  height: 100%;
}

[data-logo-fill] path {
  shape-rendering: geometricprecision;
}

[data-logo-draw] > svg {
  position: relative;
  z-index: 1;
}

[data-logo-draw] [data-trace] {
  stroke-linecap: butt;
  stroke-linejoin: round;
}

/* Logo corner follows the item's place in the list, shared by author and quote cards. */

[data-colored-card] {
  &:nth-child(4n + 1) {
    & :is(.author-card__logo, .quote-card__logo) {
      inset: 10% auto auto -5%;
    }
  }

  &:nth-child(4n + 2) {
    & :is(.author-card__logo, .quote-card__logo) {
      inset: 10% -5% auto auto;
    }
  }

  &:nth-child(4n + 3) {
    & :is(.author-card__logo, .quote-card__logo) {
      inset: auto auto 10% -5%;
    }
  }

  &:nth-child(4n + 4) {
    & :is(.author-card__logo, .quote-card__logo) {
      inset: auto -5% 10% auto;
    }
  }
}

/* Éditions Brèves — Details modal */

[data-details-modal-status='not-active'] {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear 1s;
}

[data-details-modal-status='active'] {
  visibility: visible;
  transition: visibility 0s linear 0s;
}

[data-details-modal-init] .details-modal__side {
  inset: 0;
  width: 100%;
  max-width: none;
  transform: none;
}

[data-details-modal-init] .details-modal__overlay {
  opacity: 0;
  transition:
    opacity 0.45s var(--motion-osmo),
    background-color 0.45s var(--motion-osmo);
}

[data-details-modal-status='active'] .details-modal__overlay {
  opacity: 0.9;
  pointer-events: auto;
}

[data-details-modal-init] .details-modal__tile {
  flex: none;
  height: auto;
  max-height: min(54rem, 100%);
  transform: translateY(calc(50vh + 50% + 100px)) rotate(8deg);
  transition: transform 1s var(--motion-osmo);
}

[data-details-modal-status='active'] .details-modal__tile {
  transform: translateY(0) rotate(0deg);
  transition-delay: 0.12s;
}

/* Details Modal Items */

[data-details-item] {
  transition:
    opacity 0.6s var(--motion-osmo),
    transform 0.6s var(--motion-osmo);
}

[data-details-item][data-details-status='not-active'] {
  opacity: 0;
  visibility: hidden;
  transform: translateX(0) rotate(0.001deg);
}

[data-details-item][data-details-status='active'] {
  opacity: 1;
  visibility: visible;
  transform: translateX(0) rotate(0.001deg);
}

[data-details-item][data-details-status='transition-in-right'] {
  opacity: 0;
  visibility: visible;
  transform: translateX(1em) rotate(0.001deg);
  transition: none;
}

[data-details-item][data-details-status='transition-in-left'] {
  opacity: 0;
  visibility: visible;
  transform: translateX(-1em) rotate(0.001deg);
  transition: none;
}

[data-details-item][data-details-status='transition-out-right'] {
  opacity: 0;
  visibility: visible;
  transform: translateX(1em) rotate(0.001deg);
}

[data-details-item][data-details-status='transition-out-left'] {
  opacity: 0;
  visibility: visible;
  transform: translateX(-1em) rotate(0.001deg);
}

/* ------ Featured authors ------ */

.featured-authors {
  .featured-authors__item {
    --card-rotation: 0deg;
    --card-offset: 0px;

    position: relative;
    flex-shrink: 0;

    &:nth-child(4n + 1) {
      --card-rotation: 5deg;
      --card-offset: -15px;
    }

    &:nth-child(4n + 2) {
      --card-rotation: -3deg;
      --card-offset: 30px;
    }

    &:nth-child(4n + 3) {
      --card-rotation: 8deg;
      --card-offset: 5px;
    }

    &:nth-child(4n + 4) {
      --card-rotation: -6deg;
      --card-offset: -25px;
    }
  }
}

/* ------ Mobile ------ */

@media (width <= 767px) {
  .featured-authors {
    & .featured-authors__item {
      &:nth-child(4n + 1) {
        --card-rotation: 3deg;
        --card-offset: -8px;
      }

      &:nth-child(4n + 2) {
        --card-rotation: -2deg;
        --card-offset: 15px;
      }

      &:nth-child(4n + 3) {
        --card-rotation: 5deg;
        --card-offset: 5px;
      }

      &:nth-child(4n + 4) {
        --card-rotation: -4deg;
        --card-offset: -12px;
      }
    }
  }
}

.footer {
  /* Custom CSS goes here */
}

/* Form validate */

[data-form-validate] {
  --label: var(--form--label);
  --placeholder-background: var(--form--placeholder-background);
  --placeholder-border: var(--form--placeholder-border);
  --placeholder-text: var(--form--placeholder-text);
  --focus-background: var(--form--focus-background);
  --focus-border: var(--form--focus-border);
  --focus-text: var(--form--focus-text);
  --background: var(--form--background);
  --border: var(--form--border);
  --text: var(--form--text);
  --focus: var(--form--focus);
  --error: var(--form--error);
  --success: var(--form--success);

  /* Field: Success */

  & .is--success {
    & input,
    & textarea,
    & select {
      color: var(--text);
      border-color: var(--border);
      background-color: var(--background);
    }

    & .form-field-icon.is--success,
    & .radiocheck-field-icon.is--success {
      opacity: 1;
    }
  }

  /* Field: Error */

  & .is--error {
    & input,
    & textarea,
    & select {
      color: var(--error);
      border-color: var(--error);
      background-color: color-mix(in srgb, var(--error) 5%, transparent 95%);
    }

    & .form-field-icon.is--error,
    & .radiocheck-field-icon.is--error {
      opacity: 1;
    }

    & .radiocheck-custom,
    & input:checked ~ .radiocheck-custom {
      border-color: var(--error);
      color: var(--error);
      background-color: color-mix(in srgb, var(--error) 5%, transparent 95%);
    }
  }

  /* Field: Select */

  & select:has(option[value='']:checked) {
    color: var(--placeholder-text);
  }

  /* Field: Empty */

  & .form-field-group:not(.is--error) {
    & input:placeholder-shown:not(:focus-visible),
    & textarea:placeholder-shown:not(:focus-visible),
    & select:invalid {
      border-color: var(--placeholder-border);
      background-color: var(--placeholder-background);
      color: var(--placeholder-text);
    }
  }

  /* Field: Custom Radio or Checkbox */

  & .radiocheck-field input:focus-visible ~ .radiocheck-custom {
    background-color: var(--focus-background);
    border-color: var(--focus-border);
  }

  & .radiocheck-field input:checked ~ .radiocheck-custom,
  & .radiocheck-field input:focus-visible:checked ~ .radiocheck-custom {
    border-color: var(--focus-border);
    background-color: var(--focus-background);
    color: var(--focus-text);
  }

  & .radiocheck-field .radiocheck-label.is--small {
    margin-top: 0.125em;
  }
}

/* ----- Layout grid ----- */

[data-layout-group] {
  &[data-layout-status='large'] {
    --columns: 3;
    --column-gap: var(--_layout---grid--gutter);
  }

  &[data-layout-status='small'] {
    --columns: 4;
    --column-gap: var(--_layout---grid--gutter);
  }

  & [data-layout-grid-list] {
    gap: var(--_spacing---gap--md) var(--column-gap);
    display: flex;
    flex-flow: wrap;
  }

  & [data-layout-grid-item] {
    width: calc((100% - (var(--columns) - 1) * var(--column-gap)) / var(--columns));
    position: relative;
  }

  & [data-layout-grid-item][hidden] {
    display: none;
  }

  & [data-layout-grid-item-title] {
    transition: font-size 0.8s cubic-bezier(0.65, 0, 0.1, 1);
  }
}

@media screen and (width <= 991px) {
  [data-layout-group] {
    &[data-layout-status='large'] {
      --columns: 2;
    }

    &[data-layout-status='small'] {
      --columns: 3;
    }
  }
}

@media screen and (width <= 767px) {
  [data-layout-group] {
    &[data-layout-status='large'] {
      --columns: 1;
      --column-gap: 0rem;
    }

    &[data-layout-status='small'] {
      --columns: 1;
      --column-gap: 0rem;
    }
  }
}

.lenticular {
  & .lenticular__lenses {
    background: repeating-linear-gradient(
      90deg,
      rgb(255 255 255 / 24%) 0%,
      rgb(255 255 255 / 7%) 0.3%,
      rgb(0 0 0 / 26%) 0.65%,
      rgb(255 255 255 / 10%) 1%,
      transparent 1.35%,
      transparent 2%
    );
    background-position-x: 0;
    opacity: 0.8;
  }

  & .lenticular__holo {
    background: linear-gradient(
      115deg,
      rgb(255 0 120 / 0%) 8%,
      rgb(255 0 120 / 7%) 24%,
      rgb(0 229 255 / 9%) 40%,
      rgb(255 238 0 / 6%) 54%,
      rgb(160 90 255 / 8%) 70%,
      rgb(255 255 255 / 0%) 90%
    );
  }

  & .lenticular__glare {
    background: radial-gradient(
      circle at 50% 50%,
      rgb(255 255 255 / 42%) 0%,
      rgb(255 255 255 / 26%) 16%,
      rgb(255 255 255 / 14%) 32%,
      rgb(255 255 255 / 7%) 50%,
      rgb(255 255 255 / 2.5%) 68%,
      transparent 84%
    );
  }

  & .lenticular__edge {
    box-shadow:
      inset 0 0 0 1px rgb(255 255 255 / 22%),
      inset 12px 0 18px rgb(255 255 255 / 5%),
      inset -12px 0 18px rgb(0 0 0 / 12%);
  }
}

/* Underline links */

[data-underline-link] {
  text-decoration: none;
  position: relative;

  &::before {
    content: '';
    position: absolute;
    bottom: var(--underline-offset);
    left: 0;
    width: 100%;
    height: var(--underline-thickness);
    background-color: var(--underline-color);
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    transition: transform var(--underline-duration) var(--underline-motion);
  }
}

@media (hover: hover) and (pointer: fine) {
  [data-underline-link]:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }
}

/* Alt */

[data-underline-link='alt'] {
  --delay: 0.3s;

  &::before,
  &::after {
    content: '';
    position: absolute;
    bottom: var(--underline-offset);
    left: 0;
    width: 100%;
    height: var(--underline-thickness);
    background-color: var(--underline-color);
    transition: transform var(--underline-duration) var(--underline-motion);
  }

  &::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
    transition-delay: var(--delay);
  }

  &::after {
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    transition-delay: 0s;
  }
}

@media (hover: hover) and (pointer: fine) {
  [data-underline-link='alt']:hover::before {
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    transition-delay: 0s;
  }

  [data-underline-link='alt']:hover::after {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
    transition-delay: var(--delay);
  }
}

[data-logo-loader-reset] {
  opacity: 0;
}

@media screen and (width <= 991px) {
  .manifesto {
    .content-wrap {
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      text-align: center;
    }
  }
}

.nav-link-wrap {
  --bar-width: 1rem;
  --bar-width-current: 1.5rem;
  --translate-y: 1.25em;
  --duration: 0.5s;
  --motion-hover: var(--motion-osmo);
}

.nav-link {
  -webkit-tap-highlight-color: transparent;
  transition: scale 0.15s var(--motion-click);
  outline: none;
}

.nav-link__inner {
  will-change: transform;
}

.nav-link__text {
  clip-path: inset(0% 0% -15%);

  .char {
    display: inline-block;
    will-change: transform;
  }
}

/* Navigation */

.rich-text {
  --list-mark-size: 0.2em;
  --list-mark-color: currentcolor;
  --list-mark-gap: 0.7em;

  & :is(ul, ol) {
    margin-left: 0;
    padding-left: 0;
    list-style: none;
  }

  & :is(ul, ol) > li {
    padding-left: calc(var(--list-mark-size) + var(--list-mark-gap));

    &::before {
      content: '';
      top: calc(0.5lh - var(--list-mark-size) / 2);
      left: 0;
      width: var(--list-mark-size);
      height: var(--list-mark-size);
      border-radius: 50%;
      background-color: var(--list-mark-color);
      font-size: 1em;
      line-height: 1;
      display: block;
    }
  }
}

/* ----- Global - Slider controls ----- */

.slider-controls {
  & .slider-controls__button {
    transition: opacity 0.3s var(--motion-in-out);
  }

  & .slider-controls__dot {
    transition: opacity 0.5s var(--motion-in-out);

    /* --- States - Active dot --- */

    &[data-dot-status='active'] {
      opacity: 1;
    }
  }
}

/* ------ Global - Radial Slider ------ */

[data-radial-slider] {
  --slider-rotate: 16deg;
  --slider-radius: 375%;
}

[data-radial-slider] [data-radial-slider-list] > :first-child {
  position: relative;
}

[data-radial-slider] [data-radial-slider-item] {
  transform-origin: center var(--slider-radius);
}

@media screen and (width <= 767px) {
  [data-radial-slider] {
    --slider-rotate: 11deg;
    --slider-radius: 475%;
  }
}

/* ----- States - Webflow Designer ----- */

html:is(.wf-design-mode, .wf-editor) {
  [data-radial-slider] [data-radial-slider-item] {
    position: relative;
  }

  [data-radial-slider] [data-radial-slider-list] {
    justify-content: flex-start;
    overflow: scroll;
    gap: 1.5em;
  }
}

/* ----- Global - Slider ----- */

[data-slider] {
  --slider-status: on;
  --slider-spv: 4;
  --slider-gap: var(--_layout---grid--gutter);

  & [data-slider-item] {
    transform-origin: center center;
    will-change: transform;
  }

  & [data-slider-item]:last-child {
    margin-right: 0;
  }

  &[data-slider-status='not-active'] {
    & [data-slider-controls] {
      display: none;
    }
  }
}

/* ----- Media queries ----- */

@media screen and (width <= 991px) {
  [data-slider] {
    --slider-status: on;
    --slider-spv: 3.25;
    --slider-gap: var(--_layout---grid--gutter);
  }
}

@media screen and (width <= 767px) {
  [data-slider] {
    --slider-status: on;
    --slider-spv: 1.85;
    --slider-gap: var(--_layout---grid--gutter);
  }
}

@media screen and (width <= 479px) {
  [data-slider] {
    --slider-status: on;
    --slider-spv: 1.15;
    --slider-gap: var(--_layout---grid--gutter);
  }
}

html:not(.wf-design-mode, .wf-editor) {
  .splash-reveal__quote {
    display: block;
    text-align: center;

    & .word,
    & .char {
      display: inline;
      position: static;
    }
  }
}

/* [data-story-card-status='hidden'] {
  --book-overlay-color: var(--_color---neutral--200);
  --book-author-color: var(--_color---neutral--300);
  --book-collection-color: var(--_color---neutral--white);
  pointer-events: none;

  & .story-card__gradient {
    display: block;
  }
} */

.story-card {
  --story-card-inset: 30%;
  --story-card-inset-hover: 0.5rem;
  --story-card-book-scale: 1.25;

  & .story-card__title,
  & .story-card__author {
    transition: font-size 0.5s var(--motion-in-out);
  }

  & .story-card__book {
    transition:
      width 0.5s var(--motion-in-out),
      height 0.5s var(--motion-in-out),
      transform 0.7s var(--motion-osmo) 0.1s;
  }

  & .story-card__overlay {
    inset: var(--story-card-inset);
    transition:
      opacity 0.5s var(--motion-in-out),
      inset 0.7s var(--motion-osmo);
  }

  & .story-card__bg {
    transition: inset 0.5s var(--motion-osmo) 0.03s;
  }

  & .story-card__play {
    transition: transform 0.6s var(--motion-osmo);
  }

  /* Hide the book if the book is hidden */

  &:has([data-book-status='hidden']) {
    --constrast-color: var(--_color---neutral--200);
    --main-color: var(--_color---neutral--300);
    --collection-color: var(--_color---neutral--white);
    pointer-events: none;

    & .story-card__gradient {
      display: block;
    }
  }
}

@media screen and (width < 992px) {
  .story-card:has([data-book-status='published']) {
    --story-card-inset: 0;
    --story-card-book-scale: 1.1;

    & .story-card__overlay {
      opacity: 1;
    }
  }
}

@media (hover: hover) and (pointer: fine) {
  .story-card:has([data-book-status='published']):hover {
    & .story-card__book {
      transform: scale(var(--story-card-book-scale));
    }

    & .story-card__overlay {
      inset: var(--story-card-inset-hover);
      opacity: 1;
    }

    & .story-card__bg {
      inset: var(--story-card-inset-hover);
    }
  }

  .story-card__play:hover {
    transform: scale(1.05);

    & .button-play {
      color: var(--_color---neutral--white);
      background-color: var(--_color---neutral--black);
    }
  }
}

[data-layout-status='small'] {
  & .story-card {
    & .story-card__author {
      font-size: 2rem;
    }

    & .story-card__title {
      font-size: 1.25rem;
    }

    & .story-card__book {
      width: 12rem;
    }
  }
}

.trailer-button {
  filter: brightness(0.95);
  transition:
    filter 0.6s var(--motion-osmo),
    transform 0.6s var(--motion-osmo);
}

.trailer-button__card {
  transition: background-color 0.4s var(--motion-osmo);
}

/* ----- States - Hover ----- */

@media screen and (width >= 992px) {
  .trailer-button:hover {
    transform: scale(0.97);
    filter: brightness(1.2);

    & .button-play {
      transform: scale(1.05);
    }
  }
}
/*$vite$:1*/