
/* FOOTER
   ----------------------------- */

footer.footer{
   padding: 50px 0 25px 0;
   color: var(--white);
   background: var(--black);
}
footer.footer .container {
   display: flex;
   flex-direction: column;
   gap: 180px;
}

footer.footer figure.logo {
   display: block;
}

footer.footer figure.logo img {
    width: 100%;
    max-width: 220px;
   display: block;
}

footer.footer .content-wrap{
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 30px 60px;
}

footer.footer .content-wrap .left-wrap {
   display: flex;
   flex-direction: column;
   gap: 30px;
}

footer.footer .social-list {
   list-style: none;
   display: flex;
   gap: 10px; 
   padding: 0;
   margin: 0;
}

footer.footer .social-list li {
   display: block;
}

footer.footer .social-list a {
   display: flex;
   width: 40px;
   height: 40px;
   border: 1px solid var(--light-transparent);      
   border-radius: 50%;
   align-items: center;
   justify-content: center;
   color: var(--white);           
   font-size: 16px;
   text-decoration: none;
   transition: border-color 0.4s ease;
}

footer.footer .social-list a:hover {
   border-color: var(--white);
}

footer.footer .bottom-footer{
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 3px 60px;
   font-size: var(--small-text-size);
   line-height: 1.3;
}

footer.footer .bottom-footer .credits-wrap {
   text-align: right;
}

footer.footer .bottom-footer a {
  color: inherit;
  text-decoration: none;
  position: relative;
  line-height: 1.2;
}

footer.footer .bottom-footer a:before{
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}

@media (hover: hover) and (pointer: fine) {
  footer.footer .bottom-footer a:hover:before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }  
}

@media(max-width: 1024px){
   footer.footer figure.logo img {
       width: 100%;
       max-width: 180px;
      display: block;
   }
   footer.footer .content-wrap .left-wrap {
      gap: 25px;
   }
   footer.footer .container {
      gap: 150px;
   }
}


@media(max-width: 767px){
   footer.footer {
      padding-top: 45px;
   }
   footer.footer figure.logo img {
       max-width: 150px;
   }
   footer.footer .bottom-footer{
      flex-direction: column;
   }
   footer.footer .content-wrap {
      flex-direction: column;
   }
   footer.footer .left-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
   }
   footer.footer .bottom-footer .copyright-wrap,
   footer.footer .bottom-footer .credits-wrap {
      text-align: center;
      line-height: 1.35;
   }
   footer.footer .container {
      gap: 100px;
   }
   footer.footer .social-list a {
      transform: scale(0.85);
      transform-origin: center center;
   }
   footer.footer .social-list {
      gap: 8px;
   }
}


/* MENU
   ----------------------------- */

/* Header */

header.header {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 999;
   padding-top: 38px;
}

header.header .container {
   padding: 0 50px;
   max-width: 100%;
}

header.header figure.logo img {
   width: 100%;
   max-width: 220px;
}

/* Main menu pill */

nav.main-menu-nav {
   position: fixed;
   top: 24px;
   right: 50px;
   width: 250px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 5px;
   background: var(--black);
   color: var(--white);
   border-radius: 4px;
   padding-left: 18px;
   z-index: 1049;
   transition: width 0.35s cubic-bezier(0.625, 0.05, 0, 1);
   cursor: pointer;
}

nav.main-menu-nav span.word {
   font-size: 13px;
   line-height: 1;
   text-transform: uppercase;
   font-weight: 500;
   text-box-trim: trim-both;
   text-box-edge: cap alphabetic;
}

/* Dropdown panel */

nav.main-menu-nav .header-nav-wrap {
   position: absolute;
   top: calc(100% - 15px);
   left: 0;
   width: 100%;
   background: var(--black);
   padding: 12px 0;
   pointer-events: none;
   opacity: 0;
   border-radius: 4px;
   overflow: hidden;
   transform: translateY(20px);
   transition: all 0.5s cubic-bezier(0.625, 0.05, 0, 1);
   cursor: default;
}

body.open-menu nav.main-menu-nav .header-nav-wrap {
   pointer-events: initial;
   opacity: 1;
   transform: translateY(0);
   overflow: auto;
   max-height: calc(100vh - 110px);
}

nav.main-menu-nav .header-nav-wrap ul {
   list-style: none;
   margin: 0;
   padding: 0;
}

nav.main-menu-nav .header-nav-wrap ul li,
nav.main-menu-nav .header-nav-wrap ul li:before,
nav.main-menu-nav .header-nav-wrap ul li:marker {
   list-style: none;
   content: none;
}

nav.main-menu-nav .header-nav-wrap ul a {
   display: block;
   font-family: var(--font-main);
   font-size: var(--menu-size);
   font-weight: 500;
   line-height: 1.2;
   padding: 10px 20px;
   text-align: left;
   color: var(--white);
}

nav.main-menu-nav .header-nav-wrap ul:has(li:hover) a {
   opacity: 0.45;
   transition: opacity 0.4s cubic-bezier(.25, 1, .33, 1);
}

nav.main-menu-nav .header-nav-wrap ul li:hover a {
   opacity: 1;
}

nav.main-menu-nav .header-nav-wrap [data-animate-chars] {
   overflow: hidden;
   position: relative;
   display: inline-block;
}

nav.main-menu-nav .header-nav-wrap [data-animate-chars] span {
   display: inline-block;
   position: relative;
   text-shadow: 0 1.3em currentColor;
   transform: translateY(0) rotate(0.001deg);
   transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

nav.main-menu-nav .header-nav-wrap ul a:hover [data-animate-chars] span {
   transform: translateY(-1.3em) rotate(0.001deg);
}

/* Burger Menu */

.burger-menu {
   width: 56px;
   height: 56px;
   display: grid;
   grid-template-columns: repeat(3, 4px);
   grid-template-rows: repeat(3, 4px);
   gap: 3px;
   justify-content: center;
   align-content: center;
   background: none;
   border: none;
   cursor: pointer;
   padding: 0;
   transform-origin: center center;
   transition: transform 0.45s cubic-bezier(.25, 1, .33, 1);
}

.burger-menu span {
   display: block;
   width: 4px;
   height: 4px;
   border-radius: 50%;
   background: var(--white);
   transition:
      opacity 0.4s cubic-bezier(.25, 1, .33, 1),
      transform 0.35s cubic-bezier(.25, 1, .33, 1);
}


.open-menu .burger-menu span:nth-child(2),
.open-menu .burger-menu span:nth-child(4),
.open-menu .burger-menu span:nth-child(6),
.open-menu .burger-menu span:nth-child(8) {
   opacity: 0;
}

/* Backdrop */

.menu-shadow {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1048;
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s cubic-bezier(0.625, 0.05, 0, 1);
  will-change: opacity;
}

.open-menu .menu-shadow {
  opacity: 1;
  pointer-events: auto;
}

.open-menu .menu-shadow {
   opacity: 1;
   pointer-events: initial;
}

@media (max-width: 1024px) {
   header.header .container {
      padding: 0 40px;
   }

   nav.main-menu-nav {
      right: 40px;
      top: 27px;
      padding-left: 16px;
   }

   header.header {
      padding-top: 40px;
   }

   header.header figure.logo img {
      max-width: 180px;
   }

   nav.main-menu-nav span.word {
      font-size: 12px;
   }

   .burger-menu {
      width: 50px;
      height: 50px;
   }
}

@media (max-width: 767px) {
   header.header figure.logo img {
      max-width: 150px;
   }

   header.header .container {
      padding: 0 30px;
   }

   .burger-menu {
      width: 47px;
      height: 47px;
      transform-origin: right center;
      transform: scale(0.85);
   }

   nav.main-menu-nav {
      width: 190px;
      padding-left: 13px;
      top: 25px;
      right: 30px;
   }

   nav.main-menu-nav .header-nav-wrap ul a {
      padding: 8px 18px;
   }
}

@media (max-width: 500px) {
   nav.main-menu-nav span.word {
      display: none;
   }
   header.header {
      padding-top: 37px;
   }

   nav.main-menu-nav {
      width: auto;
      padding-left: 0;
   }
   .burger-menu {
      width: 40px;
      height: 40px;
      transform-origin: center;
   }

   nav.main-menu-nav .header-nav-wrap {
      width: 200px;
      left: auto;
      right: 0;
   }
   body nav.main-menu-nav .header-nav-wrap{
      width: calc(100vw - 60px);
      left: auto;
      right: 0;
      max-height: calc(100vh - 70px);
      top: calc(100% + 10px);
   }

   header.header figure.logo img {
      width: 130px;
   }
}


/* HERO
   ----------------------------- */

section.hero{
    background: var(--beige);
    position: relative;
    padding: 8px 8px 0 8px;
    color: var(--white);
    height: calc(100svh - 8px);
}


section.hero .background-wrap{
    position: relative;
    width: 100%;
    height: 100%;
}

section.hero .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}

section.hero .overlay::before,
section.hero .overlay::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 50%;
    left: 0;
    z-index: 1;
}

section.hero .overlay::before {
    top: 0;
    background: linear-gradient(to bottom, rgba(26, 26, 26, 0.3), transparent);
}

section.hero .overlay::after {
    bottom: 0;
    background: linear-gradient(to top, rgba(26, 26, 26, 0.7), transparent);
}

section.hero figure.background-image{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
    border-radius: 8px;
    background: var(--black);
}

section.hero figure.background-image img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: 0.8;
}

section.hero .container{
    position: relative;
    z-index: 4;
    height: 100%;
    max-width: none;
    padding: 0 42px;
}

section.hero .hero-main-title{
    max-width: 10em;
}

section.hero .hero-title-split{
    display: none;
}

section.hero .content-wrap{
    width: 100%;
    height: 100%;
    padding: 110px 0 46px 0;
    display: flex;
    flex-direction: column;
    gap: 100px;
    justify-content: space-between;
}

section.hero .hero-bottom-title{
    max-width: 9em;
    text-align: right;
    font-size: var(--h1-size);
    line-height: 1.06;
}

section.hero .content-wrap .paragraph{
    max-width: 30em;
}

section.hero .content-wrap .top-wrap {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

section.hero .content-wrap .bottom-wrap {
    display: flex;
    gap: 20px 80px;
    justify-content: space-between;
    align-items: flex-end;
}


@media(max-height: 650px){
   section.hero{
      height: auto;
      min-height: 500px;
   }
}

@media(max-width: 1024px){
    section.hero .container {
        padding: 0 30px;
    }
    section.hero .content-wrap .top-wrap {
        gap: 25px;
    }
    section.hero .content-wrap .bottom-wrap {
        flex-direction: column-reverse;
        text-align: right;
    }
}

@media(max-width: 767px){
    section.hero .content-wrap{
        gap: 80px;
        align-items: center;
        padding-bottom: 35px;
    }

    section.hero .content-wrap .top-wrap{
        align-items: center;
        text-align: center;
    }

    section.hero .content-wrap .bottom-wrap{
        align-items: center;
        text-align: center;
    }

    section.hero .hero-title-split{
        display: inline;
    }
    section.hero .hero-main-title {
    	max-width: 12em;
    }

    section.hero .hero-bottom-title{
        display: none;
    }
}


/* HOW IT WORKS
   ----------------------------- */

section.how-it-works{
	padding: 120px 0 130px 0;
	background: var(--beige);
}

section.how-it-works .header-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px 50px;
    margin-bottom: 65px;
}

section.how-it-works .header-wrap h2 {
   max-width: 12em;
}

section.how-it-works .header-wrap figure.icon {
    width: clamp(58px, 4vw, 65px);
}

section.how-it-works .header-wrap figure.icon img {
    width: 100%;
    height: auto;
    display: block;
}

section.how-it-works .content-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 100px;
	align-items: stretch;
}

section.how-it-works .main-image{
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	overflow: hidden;
}

section.how-it-works figure.image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

section.how-it-works figure.image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.how-it-works .step{
	padding: 20px 0;
	border-top: 1px solid var(--beige-contrast-border);
}

section.how-it-works .steps{
	border-bottom: 1px solid var(--beige-contrast-border);
}

section.how-it-works h6{
   font-size: var(--badge-size);
   line-height: 1.1;
	color: var(--brown);
}

section.how-it-works .left-wrap {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

section.how-it-works .item-content h4{
	font-size: var(--paragraph-size);
	font-family: var(--font-main);
	font-weight: 500;
	line-height: 1.3;
	max-width: 13em;
}

section.how-it-works .item-content{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5px 40px;
	align-items: center;
}

section.how-it-works .item-content .paragraph {
   display: flex;
   justify-content: flex-end;
}
section.how-it-works .item-content .paragraph p {
   max-width: 17em;
}


@media(max-width: 1200px){
	section.how-it-works .content-wrap {
		gap: 60px 80px;
	}
   section.how-it-works .header-wrap {
      margin-bottom: 50px;
   }
}

@media(max-width: 1024px){
	section.how-it-works{
		padding: 80px 0 90px 0;
	}
	section.how-it-works figure.image{
		position: relative;
		height: auto;
	}
	section.how-it-works figure.image img{
		aspect-ratio: 16 / 7;
      min-height: 400px;
	}
	section.how-it-works .content-wrap{
		grid-template-columns: 1fr;
	}
}



@media(max-width: 767px){
	section.how-it-works{
		padding: 80px 0;
	}
   section.how-it-works .header-wrap {
      flex-direction: column-reverse;
      align-items: center;
      margin-bottom: 40px;
   }
   section.how-it-works .header-wrap h2 {
      margin: 0 auto;
      text-align: center;
   }
   section.how-it-works .header-wrap figure.icon {
      width: 50px;
   }
   section.how-it-works figure.image img{
      min-height: 300px;
   }
}

@media(max-width: 500px){
   section.how-it-works .item-content {
      grid-template-columns: 1fr;
   }
   section.how-it-works .item-content h4,
   section.how-it-works .item-content .paragraph p {
      max-width: none;
   }
   section.how-it-works .item-content .paragraph {
      justify-content: flex-start;
   }
   section.how-it-works .left-wrap {
      gap: 15px;
   }
   section.how-it-works .content-wrap {
      gap: 40px;
   }

}


/* COLLECTIONS
   ----------------------------- */

section.collections{
	padding: 0 8px;
	color: var(--white);
	background: var(--beige);
}

section.collections .background-wrap{
	padding: 120px 0 130px 0;
	background: var(--black);
	border-radius: 8px;
   position: relative;
   overflow: hidden;
}

section.collections .background-wrap figure.background{
   position: absolute;
   inset: 0;
   z-index: 0;
}

section.collections .background-wrap figure.background img{
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   opacity: 0.65;
}

section.collections .background-wrap .container{
   position: relative;
   z-index: 1;
}

section.collections .head-wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 25px 80px;
}

section.collections .head-wrap h2 {
   max-width: 10em;
}

section.collections .head-wrap .paragraph {
   justify-self: flex-end;
   max-width: 33em;
}

section.collections .c-cols{
	margin-top: 80px;
	border-top: 1px solid var(--light-transparent);
	padding-top: 60px;
	display: grid;
	grid-template-columns: 4fr 5fr;
	align-items: center;
	gap: 80px;
}

section.collections .c-cols h6 {
   font-size: var(--badge-size);
    line-height: 1.1;
}

section.collections .tabs-nav {
	margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: flex-start;
}

section.collections .tab-btn {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    position: relative;
    transition: all 0.35s ease;
    color: var(--white);
	opacity: 0.3;
	font-family: var(--font-title);
	font-size: var(--h3-size);
	line-height: 1;
	transform: translateX(0px);
}

section.collections .tab-btn.active {
	opacity: 1;
	transform: translateX(20px);
}

section.collections .tab-btn:not(.active):hover {
   opacity: 1;
}


section.collections .tabs-content {
    position: relative;
}

section.collections .tab-panel {
    opacity: 0;
    transform: translateY(20px);
    visibility: hidden;
    height: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
    transition: opacity 0.35s ease, transform 0.35s ease, height 0.35s ease;
}

section.collections .tab-panel.active {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    height: auto;
    overflow: visible;
    position: relative;
}

section.collections .flickity-viewport{
    overflow: hidden;
	border-radius: 8px;
}

section.collections .carousel-cell {
    width: 100%;
}
section.collections figure.image {
    position: relative;
}
section.collections figure.image.no-carousel{
   overflow: hidden;
   border-radius: 8px;
}
section.collections figure.image img{
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
   min-height: 450px;
	object-fit: cover;
}
section.collections figcaption {
	position: absolute;
	bottom: 20px;
	left: 20px;
	padding: 8px 10px;
	border-radius: 4px;
	background: var(--dark-transparent);
	backdrop-filter: blur(15px);
	font-size: var(--small-label-size);
	line-height: 1;
	font-family: var(--font-main);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}


/* Carousel Controls */

section.collections .carousel-controls {
   position: absolute;
   top: 50%;
   left: 0;
   width: 100%;
   transform: translateY(-50%);
   z-index: 2;
   pointer-events: none;
}

section.collections .carousel-controls .slider-arrows {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 0 25px;
   pointer-events: none;
}

section.collections .carousel-controls .slider-arrows .slider-prev,
section.collections .carousel-controls .slider-arrows .slider-next {
   width: 44px;
   height: 44px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   background: var(--white);
   transition: background 0.25s ease;
   pointer-events: auto;
}


section.collections .carousel-controls .slider-arrows .slider-prev {
   transform: rotate(180deg);
}

section.collections .carousel-controls .slider-arrows svg {
   display: block;
   width: 16px;
   height: auto;
   fill: var(--black);
   margin: 0;
   transition: transform 0.25s ease;
}

section.collections .carousel-controls .slider-arrows .slider-prev:hover,
section.collections .carousel-controls .slider-arrows .slider-next:hover {
   background: var(--golden-sand);
}

@media(max-width: 1300px){
   section.collections .carousel-controls .slider-arrows {
      padding: 0 14px;
   }
   section.collections .carousel-controls .slider-arrows .slider-prev,
   section.collections .carousel-controls .slider-arrows .slider-next {
      width: 40px;
      height: 40px;
   }
   section.collections .carousel-controls .slider-arrows svg {
      width: 14px;
   }
}

@media(max-width: 1024px){
   section.collections .head-wrap {
      grid-template-columns: 1fr;
      justify-content: center;
      text-align: center;
   }
   section.collections .head-wrap h2 {
      margin: 0 auto;
   }
   section.collections .head-wrap .paragraph {
      justify-self: center;
   }
	section.collections .background-wrap{
		padding: 80px 0 90px 0;
	}
	section.collections .c-cols{
		grid-template-columns: 1fr;
      gap: 70px;
      margin-top: 70px;
	}
   section.collections figure.image img {
      aspect-ratio: 16 / 7;
      min-height: 350px;
   }
   section.collections .tabs-nav {
      align-items: center;
   }
   section.collections .c-cols h6 {
      text-align: center;
   }
   section.collections .tab-btn.active {
      transform: none;
   }
}



@media(max-width: 767px){
   section.collections .head-wrap {
      gap: 15px;
   }
	section.collections .background-wrap{
		padding: 70px 0 80px 0;
	}
   section.collections .c-cols{
      grid-template-columns: 1fr;
      gap: 50px;
      margin-top: 50px;
      padding-top: 50px;
   }
   section.collections .tabs-nav {
      gap: 20px;
   }
   section.collections figure.image img {
      min-height: 280px;
   }
   section.collections figcaption {
      bottom: 12px;
      left: 12px;
      padding: 7px;
   }
   section.collections .carousel-controls .slider-arrows {
      padding: 0 12px;
   }
   section.collections .carousel-controls .slider-arrows .slider-prev,
   section.collections .carousel-controls .slider-arrows .slider-next {
      width: 36px;
      height: 36px;
   }
   section.collections .carousel-controls .slider-arrows svg {
      width: 13px;
   }

}


/* STICKY ITEMS
   ----------------------------- */


section.sticky-items{
	position: relative;
	padding-top: 130px;
	background: var(--beige);
}

section.sticky-items .header-wrap {
   display: flex;
   flex-direction: column;
   gap: 20px;
   text-align: center;
}

section.sticky-items .header-wrap h6{
    font-size: var(--badge-size);
    line-height: 1.1;
}
section.sticky-items .header-wrap h2{
   margin: 0 auto;
   width: 100%;
   text-align: center;
   max-width: 11em;
}

section.sticky-items .items{
   position: relative;
   margin-top: 75px;
   display: flex;
   flex-direction: column;
   gap: 25px;
}

section.sticky-items .sticky-item.clone {
   opacity: 0;
   pointer-events: none;
   transform: none !important;
   position: relative;
}

section.sticky-items .sticky-item {
   width: 100%;
   position: sticky;
   --offset: 120px;
   top: var(--offset);
   left: 0px;
   height: calc(100dvh - var(--offset));
   background: var(--white);
   color: var(--black);
   height: auto !important;
   transform-origin: top center;
   will-change: transform;
   border-radius: 12px;
   border: 1px solid transparent;
}

section.sticky-items .sticky-item h5{
	font-size: var(--paragraph-size);
	font-family: var(--font-main);
	font-weight: 500;
   line-height: 1;
}

section.sticky-items .sticky-item h4 {
   max-width: 10em;
}

section.sticky-items .sticky-item.card-white { background:var(--white); border: 1px solid var(--dark-border); }
section.sticky-items .sticky-item.card-grey { background:var(--grey); }
section.sticky-items .sticky-item.card-sand { background:var(--golden-sand); color:var(--white); }
section.sticky-items .sticky-item.card-black{ background:var(--black); color: var(--white); }

section.sticky-items .sticky-item.last{
   pointer-events: none;
   opacity: 0 !important;
}

section.sticky-items .sticky-item .heightWrap{
   display: grid;
   grid-template-columns: 1fr 1fr;
   align-items: center;
}

section.sticky-items .sticky-item:last-child{
   height: auto !important;
}

section.sticky-items .sticky-item.active{
   cursor: pointer;
}

section.sticky-items .sticky-item:nth-last-child(1 of .active){
   cursor: initial;
}

section.sticky-items .sticky-item .image-wrap{
   position: relative;
   padding: 22px 22px 22px 0;
   height: 100%;
}

section.sticky-items .sticky-item figure.image{
   overflow: hidden;
   border-radius: 8px;
   height: 100%;
}

section.sticky-items .sticky-item figure.image img{
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
   aspect-ratio: 16 / 11;
   min-height: 380px;
}

section.sticky-items .sticky-item .info{
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   gap: 20px;
   padding: 30px;
}

section.sticky-items .sticky-item .paragraph {
   font-size: var(--paragraph-size);
   line-height: 1.375;
   max-width: 33em;
}


@media(max-width: 1300px){
   section.sticky-items .items {
      margin-top: 65px;
   }
}

@media(max-width: 1024px){

   section.sticky-items{
      padding-top: 90px;
   }
   section.sticky-items .items {
      margin-top: 55px;
   }
   section.sticky-items .sticky-item .paragraph {
      font-size: 14px;
      max-width: 40em;
   }
   section.sticky-items .sticky-item figure.image img{
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      aspect-ratio: 16 / 9;
      min-height: 350px;
   }
   section.sticky-items .sticky-item {
      --offset: 105px;
   }
}


@media(max-width: 767px){
   section.sticky-items{
      padding-top: 80px;
   }
   section.sticky-items .items {
      margin-top: 50px;
   }
   section.sticky-items .sticky-item .heightWrap {
      grid-template-columns: 1fr;
   }
   section.sticky-items .sticky-item .info {
      padding: 40px 20px;
      order: 2;
      gap: 12px;
   }
   section.sticky-items .sticky-item .image-wrap {
      padding: 16px 16px 0 16px;
   }
   section.sticky-items .sticky-item figure.image img {
      aspect-ratio: 16 / 6;
      min-height: 210px;
   }
   section.sticky-items .sticky-item h5 {
      display: none;
   }
   section.sticky-items .sticky-item h4 {
      max-width: none;
   }
   section.sticky-items .sticky-item {
      --offset: 85px;
   }
}

@media(max-width: 500px){
   section.sticky-items .sticky-item .info {
      padding-block: 30px;
   }
}



/* LOCATIONS
   ----------------------------- */

section.locations{
	padding: 130px 0;
	background: var(--beige);
}

section.locations .head-wrap {
   display: grid;
   grid-template-columns: 1fr 1fr;
   align-items: center;
   gap: 25px 80px;
}

section.locations .head-wrap .info-wrap {
   display: flex;
   flex-direction: column;
   gap: 15px; 
}
section.locations .head-wrap h2 {
   max-width: 10em;
}

section.locations .head-wrap h6 {
   font-size: var(--badge-size);
   line-height: 1.1;
}

section.locations .head-wrap .paragraph{
	width: 100%;
   justify-self: flex-end;
   max-width: 35em;
}

section.locations .embed-wrap{
	margin-top: 60px;
	padding-top: 60px;
	border-top: 1px solid var(--beige-contrast-border);
}

section.locations .embed-wrap .box{
	background: var(--white);
	padding: 24px;
	border-radius: 24px;
}


@media(max-width: 1024px){
   section.locations{
      padding: 110px 0 80px 0;
   }
   section.locations .head-wrap {
      grid-template-columns: 1fr;
      justify-content: center;
      text-align: center;
      gap: 20px;
   }
   section.locations .head-wrap h2 {
      margin: 0 auto;
   }
   section.locations .head-wrap .paragraph {
      justify-self: center;
   }
   section.locations .embed-wrap {
      padding-top: 50px;
      margin-top: 50px;
   }
   section.locations .embed-wrap .box {
      padding: 18px;
   }
}


@media(max-width: 767px){
   section.locations .embed-wrap .box {
      padding: 12px;
   }
   section.locations{
      padding-block: 100px 70px;
   }
   section.locations .embed-wrap {
      margin-top: 40px;
      padding-top: 45px;
   }
   section.locations .head-wrap {
      gap: 15px;
   }
}



/* GALLERY
   ----------------------------- */

section.gallery{
	padding: 0 8px;
	color: var(--white);
	background: var(--beige);
}

section.gallery .background-wrap{
	padding: 130px 0 110px 0;
	background: var(--black);
	border-radius: 8px;
   position: relative;
   overflow: hidden;
}

section.gallery .background-wrap figure.background{
   position: absolute;
   inset: 0;
   z-index: 0;
}

section.gallery .background-wrap figure.background img{
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   opacity: 0.65;
}

section.gallery .background-wrap .container{
   position: relative;
   z-index: 1;
}

section.gallery  .header-wrap {
   display: flex;
   flex-direction: column;
   gap: 20px;
   text-align: center;
}

section.gallery  .header-wrap h6{
    font-size: var(--badge-size);
    line-height: 1.1;
}

section.gallery  .header-wrap h2{
   margin: 0 auto;
   width: 100%;
   text-align: center;
   max-width: 11em;
}

section.gallery .masonry-list{
	grid-column-gap: var(--masonry-gap);
	grid-row-gap: var(--masonry-gap);
	flex-flow: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	display: flex;
	position: relative;
   margin-top: 75px;
}

section.gallery .item{
	width: calc(((100% - 1px)  - (var(--masonry-col)  - 1) * var(--masonry-gap)) / var(--masonry-col));
}

section.gallery figure.image{
	position: relative;
	border-radius: 8px;
	width: 100%;
	overflow: hidden;
}

section.gallery figure.image figcaption{
   position: absolute;
   bottom: 16px;
   left: 16px;
   padding: 6px 10px;
   border-radius: 4px;
   background: var(--dark-transparent);
   backdrop-filter: blur(15px);
   font-size: var(--small-label-size);
   line-height: 1.3;
   font-family: var(--font-main);
   font-weight: 500;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   max-width: calc(100% - 32px);
}

section.gallery figure.image.is--square{
	aspect-ratio: 1;
}

section.gallery figure.image.is--wide{
	aspect-ratio: 3 / 2;
}

section.gallery figure.image.is--tall{
	aspect-ratio: 2 / 3;
}

section.gallery img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

[data-masonry-list]{
	--masonry-col: 4;
	--masonry-gap: 16px;
}

@media screen and (max-width: 1300px){
   section.gallery .masonry-list {
      margin-top: 60px;
   }
}

@media screen and (max-width: 1024px){
	section.gallery .background-wrap{
		padding: 90px 0 70px 0;
	}
	[data-masonry-list]{
		--masonry-col: 3;
		--masonry-gap: 12px;
	}
   section.gallery .masonry-list {
      margin-top: 55px;
   }
}

@media screen and (max-width: 767px){
	section.gallery .background-wrap{
		padding: 80px 0 65px 0;
	}
   section.gallery .masonry-list {
      margin-top: 50px;
   }
   section.gallery figure.image figcaption {
      bottom: 12px;
      left: 12px;
      padding: 7px;
      max-width: calc(100% - 24px);
   }

	[data-masonry-list]{
		--masonry-col: 2;
		--masonry-gap: 10px;
	}
}




/* CONTACT
   ----------------------------- */

section.contact{
	padding: 120px 0 130px 0;
	background: var(--beige);
}

section.contact .container{
   display: flex;
   justify-content: space-between;
	gap: 100px;
}

section.contact .left-wrap,
section.contact .right-wrap{
   flex: 1 1 0;
}

section.contact .left-wrap {
   display: flex;
   flex-direction: column;
   gap: 45px;
   max-width: 33em;
}

section.contact .left-wrap .top-wrap {
   display: flex;
   flex-direction: column;
   gap: 25px;
}

section.contact .items h6 {
   font-size: var(--badge-size);
   line-height: 1.1;
   color: var(--brown);
}

section.contact .items{
	display: flex;
	flex-direction: column;
	gap: 25px;
}

section.contact .items .item{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

section.contact .items .item {
   font-size: var(--paragraph-size);
}

section.contact .right-wrap {
   max-width: 44em;
}

section.contact .form-wrap{
	border-radius: 8px;
	padding: 50px 30px;
	background: var(--beige-contrast-bg);
}

section.contact .items a {
  color: inherit;
  text-decoration: none;
  position: relative;
  line-height: 1.2;
}

section.contact .items a:before{
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}

@media (hover: hover) and (pointer: fine) {
  section.contact .items a:hover:before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }  
}

@media(max-width: 1300px){
   section.contact .container {
      gap: 60px;
   }
}

@media(max-width: 1024px){
   section.contact {
      padding: 80px 0 90px 0;
   }
   section.contact .container {
      flex-direction: column;
   }
   section.contact .left-wrap {
      align-self: center;
      text-align: center;
   }
   section.contact .right-wrap {
      align-self: center;
      max-width: none;
   }
   section.contact .left-wrap .top-wrap {
      gap: 20px;
   }
   section.contact .form-wrap {
      padding-block: 40px;
   }
}

@media(max-width: 767px){
   section.contact {
      padding: 70px 0 80px 0;
   }
   section.contact .left-wrap .top-wrap {
      gap: 15px;
   }
   section.contact .items .item {
      gap: 6px;
   }
   section.contact .form-wrap {
      padding: 30px 25px 40px 25px;
   }
}


/* PRIVACY POLICY
   ----------------------------- */

/* Privacy Hero */

section.privacy-hero {
   position: relative;
   top: 0;
   width: 100%;
   color: var(--white);
   overflow: hidden;
   z-index: 1;
   height: 60vh;
   min-height: 500px;
}

section.privacy-hero h1 {
   max-width: 8em;
}

section.privacy-hero figure.image{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
   will-change: transform;
   transition: transform 0.1s linear;
}

section.privacy-hero figure.image img{
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center center;
}

section.privacy-hero figure.image:after{
   content: ' ';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: var(--black);
   opacity: 0.3;
   z-index: 1;
}

section.privacy-hero .info {
    padding: 45px 0;
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}

section.privacy-hero .container {
   position: relative;
   z-index: 2;
   width: 100%;
   height: 100%;
}

/* Privacy Content */

section.privacy-policy{
   padding: 80px 0;
   background: var(--beige);
}

section.privacy-policy .c-wrap > *:first-child{
   margin-top: 0;
}

section.privacy-policy h2,
section.privacy-policy h3,
section.privacy-policy h4,
section.privacy-policy h5,
section.privacy-policy h6{
   margin-top: 25px;
}

section.privacy-policy h2 {
   font-size: var(--h3-size);
   line-height: 1.05;
}

section.privacy-policy p{
   padding: 10px 0;
}

section.privacy-policy em,
section.privacy-policy i{
   font-style: italic;
}
section.privacy-policy b,
section.privacy-policy strong{
   font-weight: 500;
}
section.privacy-policy a{
   text-decoration: underline;
}
section.privacy-policy a:hover{
   color: var(--golden-sand);
}
section.privacy-policy ol{
   margin-top: 15px;
   list-style: decimal;
   padding-left: 20px;
}
section.privacy-policy ul{
   margin-top: 15px;
   list-style: initial;
   padding-left: 20px;
}
section.privacy-policy ol li{
   list-style: decimal;
}
section.privacy-policy ul li{
   list-style: initial;
}


@media(max-width: 1024px){
   section.privacy-hero {
      min-height: 350px;
   }
}

@media(max-width: 690px){
   section.privacy-policy {
      padding: 70px 0;
   }
}