:root {

  /* colors */
  --white: #FFFEF2;
  --dark-green: #2E4105;
  --light-green: #DFEBD6;
  --burgundy: #B34323;

  /* grid */
  --desk-grid-wrapper-margin:6rem;
  --desk-grid-wrapper-small-margin:21.05rem;

  --mobi-grid-wrapper-margin:2rem;
  --mobi-grid-wrapper-small-margin:1.6rem;

}

/* —————————————————— PROJECT —————————————————— */

.borax { font-family: "borax-variable",sans-serif; }
.area { font-family: "area-normal",sans-serif; }


body{  }

/* —————————— BACKGROUNDS ————————— */

.b-white { background-color: var(--white); }
.b-dark-green { background-color: var(--dark-green); }
.b-light-green { background-color: var(--light-green); }
.b-burgundy { background-color: var(--burgundy); }

/* ——————————— COLORS ————————————— */

.c-white { color: var(--white); }
.c-dark-green { color: var(--dark-green); }
.c-light-green { color: var(--light-green); }
.c-burgundy { color: var(--burgundy); }


/* ——————————— GENERAL ————————————— */


@media only screen and (max-width: 900px) {
  html{
    cursor:auto;
  }
}

body{
  opacity:0;
  transition:all var(--animation-default);
}
body.loaded{
  opacity:1;
}

*::selection {
  color: var(--black);
  background-color: var(--blue-3);
}


.backgrounds img{
  opacity:0;
  transition:opacity var(--animation-default);
}

.color-scheme-1 .backgrounds .black{ opacity:1 }
.color-scheme-2 .backgrounds .white{ opacity:1 }



.scroll-text-enter{
  transform:translateY(6rem);
  opacity:0;
  transition:all 0s;
}
.scroll-text-enter.is-inview{
  transform:translateY(0rem);
  opacity:1;
  transition:all 2s;
}
.scroll-text-enter.is-inview.delay-01{ transition-delay:0.1s; }
.scroll-text-enter.is-inview.delay-02{ transition-delay:0.2s; }
.scroll-text-enter.is-inview.delay-03{ transition-delay:0.3s; }
.scroll-text-enter.is-inview.delay-04{ transition-delay:0.4s; }


.scroll-img-enter.delay-01 img{ transition-delay:0.1s; }
.scroll-img-enter.delay-02 img{ transition-delay:0.2s; }
.scroll-img-enter.delay-03 img{ transition-delay:0.3s; }
.scroll-img-enter.delay-04 img{ transition-delay:0.4s; }

.scroll-img-enter{
  overflow:hidden;
}
.scroll-img-enter img{
  transform:translateY(100%);
  transition:all 1.2s;
}
.scroll-img-enter.is-inview img{
  transform:translateY(0%);
}





/* —————————— SIZING ————————— */

.wrapper{
  width:100%;
  padding-right:var(--desk-grid-wrapper-margin);
  padding-left:var(--desk-grid-wrapper-margin);
}

.wrapper-small{
  width:100%;
  padding-right:var(--desk-grid-wrapper-small-margin);
  padding-left:var(--desk-grid-wrapper-small-margin);
}

@media only screen and (max-width: 900px) {
  .wrapper{
    padding-right:var(--mobi-grid-wrapper-margin);
    padding-left:var(--mobi-grid-wrapper-margin);
  }

  .wrapper-small{
    padding-right:var(--mobi-grid-wrapper-small-margin);
    padding-left:var(--mobi-grid-wrapper-small-margin);
  }
}



.wrapper.m-g{
  display: grid;
  grid-template-columns: repeat(var(--desk-grid-wrapper-columns), 1fr);
  column-gap:var(--desk-grid-wrapper-col-gutter);
}

.wrapper-small.m-g{
  display: grid;
  grid-template-columns: repeat(var(--desk-grid-wrapper-small-columns), 1fr);
  column-gap:var(--desk-grid-wrapper-small-col-gutter);
}

@media only screen and (max-width: 900px) {
  .wrapper.m-g{
    grid-template-columns: repeat(var(--mobi-grid-wrapper-columns), 1fr);
    column-gap:var(--mobi-grid-wrapper-col-gutter);
  }

  .wrapper-small.m-g{
    grid-template-columns: repeat(var(--mobi-grid-wrapper-small-columns), 1fr);
    column-gap:var(--mobi-grid-wrapper-small-col-gutter);
  }
}


.m-g .c-0{ display:none; }
.m-g .c-1{ grid-column:span 1; }
.m-g .c-2{ grid-column:span 2; }
.m-g .c-3{ grid-column:span 3; }
.m-g .c-4{ grid-column:span 4; }
.m-g .c-5{ grid-column:span 5; }
.m-g .c-6{ grid-column:span 6; }
.m-g .c-7{ grid-column:span 7; }
.m-g .c-8{ grid-column:span 8; }
.m-g .c-9{ grid-column:span 9; }
.m-g .c-10{ grid-column:span 10; }
.m-g .c-11{ grid-column:span 11; }
.m-g .c-12{ grid-column:span 12; }

@media only screen and (max-width: 900px) {
  .m-g .c-m-0{ display:none; }
  .m-g .c-m-1{ grid-column:span 1; display:grid; }
  .m-g .c-m-2{ grid-column:span 2; display:grid; }
  .m-g .c-m-3{ grid-column:span 3; display:grid; }
  .m-g .c-m-4{ grid-column:span 4; display:grid; }
  .m-g .c-m-5{ grid-column:span 5; }
  .m-g .c-m-6{ grid-column:span 6; }
  .m-g .c-m-7{ grid-column:span 7; }
  .m-g .c-m-8{ grid-column:span 8; }
  .m-g .c-m-9{ grid-column:span 9; }
  .m-g .c-m-10{ grid-column:span 10; }
  .m-g .c-m-11{ grid-column:span 11; }
  .m-g .c-m-12{ grid-column:span 12; }
}





/* —————————— MOUSE ————————— */

.mf-cursor::before{
  width:6rem;
  height:6rem;
  top:-3rem;
  left:-3rem;
  background: var(--primary);
  transform: scale(1);
}

.mf-cursor.-pointer{
  mix-blend-mode: difference;
}

.mf-cursor.-pointer::before {
  transform: scale(0.4);
  opacity:0.5;
}

@media only screen and (max-width: 900px){
  .mf-cursor{
    display:none;
  }
}




/* —————————— INPUT ————————— */
.i{
  width:100%;
  font-size:2rem;
  padding:1.8rem 2rem;
  color:var(--white);
  border:0;
  font-family: inherit;
  background-color:rgba(255, 255, 255, 0.3);
  appearance:none;
  border-radius:0.8rem;
}
.i:focus-visible{
  outline:none;
}
.i::placeholder {
  color:var(--white);
  opacity: 0.5;
}

@media only screen and (max-width: 900px){
  .i{
    font-size:1.6rem;
    padding:0.8rem 1.2rem;
  }
}



.i-check{
  appearance: none;
  width: 14px;
  height: 14px;
  position:relative;
  cursor:pointer;
  padding:0;
  border-radius:0.2rem;
}
.i-check:checked::after{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:5px;
  height:5px;
  content:"";
  background-color:var(--white);
}
@media only screen and (max-width: 900px){
}



/* —————————— BTN ————————— */

.btn{
  width:fit-content;
  font-family: "borax-variable";
  padding:1.2rem 0;
  font-size:2.2rem;
  letter-spacing: 0.066rem;
  font-weight:400;
  line-height: 1;
  cursor:pointer;
  display:block;
  transition:all var(--animation-default);
}


.btn .arrow-box .first{
  position:relative;
  top:0;
  left:0;
  transition:all var(--animation-default);
}
.btn:hover .arrow-box .first{
  top:-100%;
  left:100%;
}


.btn .arrow-box .second{
  position:absolute;
  top:100%;
  left:-100%;
  transition:all var(--animation-default);
}
.btn:hover .arrow-box .second{
  top:0%;
  left:0%;
}



@media only screen and (max-width: 900px) {
  .btn{
    font-size: 1.8rem;
  }

}





.icon-btn{
  width:fit-content;
  display: block;
  padding:0.5rem;
  border:1px dashed var(--salmon);
  font-size:1.8rem;
  line-height:1;
  border-radius:20rem;
  transition:all 0.3s;
  font-style: normal;
}
.icon-btn .btn-content{
  width:4rem;
  height:4rem;
  padding:1rem;
  border:1px solid var(--salmon);
  border-radius:20rem;
  transition:all 0.3s;
}

.icon-btn.big .btn-content{
  width:8rem;
  height:8rem;
  padding:1rem;
  border:1px solid var(--salmon);
  border-radius:20rem;
  transition:all 0.3s;
}

.icon-btn.outline-white{
  border:1px dashed var(--white);
}
.icon-btn.outline-white .btn-content{
  background-color:transparent;
  color:var(--white);
  border:1px solid var(--white);
}

.icon-btn.white{
  border:1px dashed var(--white);
}
.icon-btn.white .btn-content{
  background-color:var(--white);
  border:1px solid var(--white);
  color:var(--salmon);
}














.marquee{
  width:100%;
  overflow: hidden;
}
.marquee .marquee-scroller{
  width:max-content;
  flex-wrap: nowrap;
}
.marquee .marquee-scroller .label{
  width:max-content;
}

@keyframes marquee {
  from { transform: translateX(0%); }
  to { transform: translateX(-50%); }
}











.btn-arrow{
  width:fit-content;
  height:3.8rem;
  padding:1.2rem 0;
  display:flex;
  grid-gap:0.8rem;
  align-items:center;
  color:var(--dark-color);
  font-size:1.6rem;
  line-height:0.8;
  transition:all var(--animation-default);
  position:relative;
  text-shadow:0px 3.8rem 0px var(--dark-color);
  overflow:hidden;
}
.btn-arrow .label{
  transform:translateY(0%);
  transition:all var(--animation-default);
}

.btn-arrow::after{
  content:"";
  width:0%;
  height:100%;
  display:block;
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
  transition:all var(--animation-default);
}

body.light .btn-arrow::after{
  background-color:var(--accent);
}
body.dark .btn-arrow::after{
  background-color:var(--dark-color);
}


.btn-arrow:hover{
  padding:1.2rem 2.4rem;
}
body.dark .btn-arrow:hover{
  color:var(--white);
  text-shadow:0px 3.8rem 0px var(--white);
}

.btn-arrow:hover .label{
  transform:translateY(-3.7rem);
}

.btn-arrow:hover::after{
  width:100%;
}


@media only screen and (max-width: 900px) {

  .btn-arrow{
    height:1.6rem;
    padding:0;
    font-size:1.4rem;
  }

}


.visual[data-scroll]{
  will-change: transform;
}


p strong{
  font-weight:600;
}


/*
body.light .theme-block{ background-color: rgba(248, 248, 248, 0.80); }
body.dark .theme-block{ background-color: var(--black); }
*/





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

[data-underline-link]::before,
[data-underline-link="alt"]::before,
[data-underline-link="alt"]::after{
  content: "";
  position: absolute;
  bottom: -1px;
  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);
}

[data-underline-link="alt"]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}

[data-underline-link="alt"]::after {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}

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