@font-face {
  font-family: "Medium";
  src: url("../font/SuisseIntl-Medium.woff2") format("woff2");
  font-weight: 500;           
  font-style: normal;
  font-display: swap;        
}

@font-face {
  font-family: "Bold";
  src: url("../font/SuisseIntl-Semibold.woff2") format("woff2");
  font-weight: 500;           
  font-style: normal;
  font-display: swap;        
}

@font-face {
  font-family: "Farmacia";
  src: url("../font/NG-Farmacia.woff2") format("woff2");
  font-weight: 500;           
  font-style: normal;
  font-display: swap;        
}


* {
  margin: 0;
  padding: 0;
}

:root {
  --padding: .61rem;
  --color-black: #000;
  --color-white: #fff;
  --color-grey: #ddd;
  --color-highlight: #fc4962;
  --color-text: var(--color-black);
  --color-text-highlight: var(--color-highlight);
  --color-background: var(--color-white);
}

@media screen and (min-width: 75rem) {
:root {
  --padding: 1.22rem;
}
}


html {
  font-family: var(--font-family-sans);
  color: var(--color-text);
  background: var(--color-background);
}

body {
  margin: 0 auto;
  overflow-x: hidden;
}

header {
position: fixed;
top: 0;
right: 0;
z-index: 1000;
transition: all .2s ease-in;
}

main {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  z-index: 1;
  overflow: hidden;
}


main[data-barba-namespace = "home"], main[data-barba-namespace = "menu"] {
  z-index: 50;
  pointer-events: none;
}

main[data-barba-namespace = "menu"] a {
  pointer-events: auto;
  cursor: pointer;
}

.intro {
  position: fixed; 
  top: -100vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100vh;
  overflow: hidden; 
  background: var(--color-background);
  z-index: 10;
}

.intro.visible {
  top: 0vh;
}



.main--content {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  overflow-y: scroll; 
  -webkit-overflow-scrolling: touch;
}


main::-webkit-scrollbar, .main--content::-webkit-scrollbar, .intro--content::-webkit-scrollbar, .intro::-webkit-scrollbar {
  display: none;  
}

main, .main--content, .intro--content, .intro {
  -ms-overflow-style: none;  
  scrollbar-width: none;  
}



li {
  list-style: none;
}


a {
  text-decoration: none;
  color: var(--color-text-highlight);
}


p a:before, h2 a:before, figcaption a:before  {
  content: '→ ';
}

a:hover {
  cursor: pointer;
  color: var(--color-text-highlight);
}



button {
  font: inherit;
  background: none;
  border: 0;
  color: currentColor;
  cursor: pointer;
}

.highlight {
  color: var(--color-text-highlight);
}


.logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}


p, h1, h2, h3, figcaption, img[alt], button, textarea, input {
  font-family: "Medium";
  font-size: inherit;
  font-weight: inherit;
  line-height: 120%;
}

h1, .nav a {
  -webkit-font-variant-ligatures: common-ligatures discretionary-ligatures historical-ligatures contextual;
          font-variant-ligatures: common-ligatures discretionary-ligatures historical-ligatures contextual;
  -webkit-font-feature-settings:
    "liga" 1,  
    "clig" 1,  
    "dlig" 1, 
    "hlig" 1, 
    "rlig" 1,  
    "calt" 1,  
    "salt" 1, 
    "ss01" 1,  
    "ss02" 1, 
    "ss03" 1; 
          font-feature-settings:
    "liga" 1,
    "clig" 1,
    "dlig" 1,
    "hlig" 1,
    "rlig" 1,
    "calt" 1,
    "salt" 1,
    "ss01" 1,
    "ss02" 1,
    "ss03" 1;
}


p, button, textarea, input {
font-size: 1.2rem;
letter-spacing: -0.015rem;
}

h1 {
font-family: "Farmacia";
font-size: 3.2rem;
line-height: 82%;
letter-spacing: .05rem;
text-transform: uppercase;
}

.main--content-footer h1 {
font-size: 2.8rem;
letter-spacing: .025rem;
}

h2{
font-family: "Bold";
font-size: 1.6rem;
line-height: 112%;
-webkit-hyphens: auto;
    -ms-hyphens: auto;
        hyphens: auto;
letter-spacing: -0.01rem;
}

::-moz-selection {
  color:  rbg(210,210,210);
}

::selection {
  color:  rbg(210,210,210);
}


figcaption, h3, button, input {
font-size: 1rem;
letter-spacing: -0.0075rem;
}

figcaption {
padding-top: calc(.5 * var(--padding));
color: var(--color-highlight);
}

figcaption span {
padding-right: calc(1 * var(--padding));
}


.p--block-text figcaption {
padding-top: calc(0 * var(--padding));
}

.inline--section figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
}


@media screen and (min-width: 75rem) {
p, button, textarea, input {
font-size: 1.8rem;
letter-spacing: -0.025rem;
}

h1 {
font-size: 11vmax;
letter-spacing: -.025vmax;
}


.main--content-footer h1 {
font-size: 3.4rem;
letter-spacing: .075rem;
}

h2{
font-size: 3vmax;
letter-spacing: -.0725vmax;
line-height: 106%;
}

figcaption, h3, button {
font-size: 1.2rem;
letter-spacing: -0.015rem;
}

.intro figcaption {
font-size: 1.8rem;
letter-spacing: -0.03rem;
}

}




img {
  height: auto;
  max-width: 100%;
  opacity: 0;
  -webkit-transition: opacity .25s ease-in;
  -o-transition: opacity .25s ease-in;
  transition: opacity .25s ease-in;
}

img.loaded, .slide img {
opacity: 1;
}



.intro img {
height: 100vh;
height: calc((var(--vh, 1vh) * 50) - 0px);
width: 100vw;
max-width: none;
-o-object-fit: cover;
   object-fit: cover;
-o-object-position: center;
   object-position: center;
  -webkit-animation: fadein .5s ease;
  animation: fadein .5s ease;
}

.section--75 img {
max-height: 80vh;
max-height: calc(var(--vh, 1vh) * 80);
-o-object-fit: contain;
   object-fit: contain;
-o-object-position: left;
   object-position: left;

}


@media screen and (min-width: 75rem) {
.intro img {
height: calc((var(--vh, 1vh) * 100) - 0px);
width: 75vw;
}

.x-right {
  text-align: right;
}

}








.section {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}


.section--25,
.section--75,
.section--100
 {
  width: 100%;
}


.intro .inline--section {
  width: auto;
  position: relative;
}


@media screen and (min-width: 75rem) {
.inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.intro .inline {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}


.inline--section {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  width: 100%;
}



.x-scroll {
  width: 100%;
  overflow-x: scroll; 
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  scroll-behavior: smooth; 
}

.x-scroll .section {
  display: inline-block;
  width: 100%; 
}

}


@media screen and (min-width: 75rem) {
  .section--25 {
    width: calc(((100% / 10) * 2.5) - (2 * var(--padding)));
  }

  .section--75 {
    width: calc(((100% / 10) * 7.5) - (2 * var(--padding)));
  }

}

@media screen and (min-width: 105rem) {
  .main--content-block .section--75 {
    width: calc(((100% / 10) * 5) - (2 * var(--padding)));
  }
}






  .sticky {
    display: block;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    width: calc(((100% / 10) * 2.5) - (2 * var(--padding)));
  }






.p--block {
    padding-left: calc(1 * var(--padding));
    padding-right: calc(1 * var(--padding));
    padding-bottom: calc(2 * var(--padding));
}



.p--block-nav {
    padding: calc(1 * var(--padding));

}


.p--block-title {
    padding: calc(1 * var(--padding));
    padding-bottom: calc(2 * var(--padding));
}

.p--block-full {
    padding-bottom: calc(1 * var(--padding));
}

.p--block-text {
    padding-top: calc(1 * var(--padding));
}

.section--75 .p--block-text {
    padding-bottom: calc(.5 * var(--padding));
}


.p--block-image {
    padding-top: calc(1 * var(--padding));
}

.p--block-footer {
    padding-left: calc(1 * var(--padding));
    padding-right: calc(1 * var(--padding));
    padding-top: calc(1 * var(--padding));
    padding-bottom: calc(1 * var(--padding));
}


.logo {
margin-right: calc(1 * var(--padding));
}




.main--content-footer {
padding-top: calc(2 * var(--padding));
}

.menu-button {
  --menu-size: 3.5rem;       
  --menu-color: var(--color-highlight, #ff546c);      
  display: block;
  place-items: center;
  width: var(--menu-size);
  height: var(--menu-size);
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  -webkit-transition: -webkit-transform .1s ease-in;
  transition: -webkit-transform .1s ease-in;
  -o-transition: transform .1s ease-in;
  transition: transform .1s ease-in;
  transition: transform .1s ease-in, -webkit-transform .1s ease-in;
  transition: transform .1s ease-in, -webkit-transform .1s ease-in;
}

.menu-button.active, .menu-button:hover {
-webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
}


.menu-icon {
  display: block;
  width: 100%;
  height: 100%;
  color: var(--menu-color);  
}


.menu-icon circle {
  fill: currentColor;         
  stroke: currentColor;       
}


@media screen and (max-width: 75rem) {
.menu-button {
  --menu-size: 2.4rem;       
}
.section--25.p--block {
    padding-bottom: calc(0 * var(--padding));
}
.section--75 .p--block-text:first-of-type {
    padding-top: calc(.25 * var(--padding));
}
}
















.carousel-container{
position: relative;
}
.flickity-enabled {
position: relative;
}
.flickity-enabled:focus { outline: none; }
.flickity-viewport {
overflow: hidden;
position: relative;
height: 100%;
-webkit-transition: height .25s ease-in;
-o-transition: height .25s ease-in;
transition: height .25s ease-in;
}
.flickity-slider {
position: absolute;
width: 100%;
height: 100%;
}
.slide {
display: block;
width: 100%;
opacity: 0;
-webkit-transition: opacity .25s ease-in;
-o-transition: opacity .25s ease-in;
transition: opacity .25s ease-in;
}

.slide.is-selected {
opacity: 1;
-webkit-transition: opacity .25s ease-in;
-o-transition: opacity .25s ease-in;
transition: opacity .25s ease-in;
}

.flickity-enabled.is-draggable {
-webkit-tap-highlight-color: transparent;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
cursor: move;
cursor: -webkit-grab;
cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
cursor: -webkit-grabbing;
cursor: grabbing;
}

.flickity-enabled.is-draggable {
-webkit-tap-highlight-color: transparent;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}



.flickity-prev-next-button {
  position: absolute;
  top: 48%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  height: calc(1.5 * var(--padding));
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--color-grey);
  color: white;           
  border: 0;
  cursor: pointer;
  z-index: 5;
  -webkit-transition: all .1s ease-in;
  -o-transition: all .1s ease-in;
  transition: all .1s ease-in;
}

.flickity-prev-next-button:hover {
  background: var(--color-text-highlight);
  -webkit-transition: all .1s ease-in;
  -o-transition: all .1s ease-in;
  transition: all .1s ease-in;
}


.flickity-prev-next-button.previous { 
  left: calc(-2 * var(--padding));
}
.flickity-prev-next-button.next { 
  right: calc(-2 * var(--padding)); 
}

.flickity-prev-next-button .flickity-button-icon {
  width: 100%;
  height: 100%;
  fill: none;              
  stroke: currentColor;      
  stroke-width: 8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.flickity-prev-next-button.previous .flickity-button-icon {
  margin-left: -.2rem;
}
.flickity-prev-next-button.next .flickity-button-icon {
  margin-left: .1rem;
}

@media screen and (max-width: 105rem) {
.flickity-prev-next-button {
display: none;
}
}


form {
margin-top: calc(2 * var(--padding));
}

form button {
border-radius: 1.25rem;
background: var(--color-grey);
margin-top: .75rem;
padding: .1rem;
padding-top: .25rem;
padding-left: 1.25rem;
padding-right: 1.25rem;
color: white;
margin-bottom: calc(1* var(--padding));
}

form button:hover {
  background: var(--color-text-highlight);
  -webkit-transition: all .1s ease-in;
  -o-transition: all .1s ease-in;
  transition: all .1s ease-in;
}

input[type="text"],
input[type="email"],
textarea {
  border: 0;
  border-bottom: 1px solid var(--color-grey);
  outline: none;
  line-height: normal;
  width: 100%;
  background: transparent;
  padding-top: 0.25rem;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  color: var(--color-text-highlight);
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
textarea::placeholder {
  color: var(--color-grey);
  opacity: 1; /* Firefox */
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
  outline: none;
}

textarea {
  margin-top: .25rem;
  resize: none;
  box-sizing: border-box;
  height: calc(5* var(--padding));
  line-height: 112%;
}


@keyframes fadein {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-webkit-keyframes fadein {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

