/*
Theme Name: Immogast thème
Author: Prospectiv*
*/
:root {
    --cLblack: #000000;
    --cLgoldBrown: #C1A45E;
    --cLwhite: #FFFFFF;
    --cLnight: #101010;
    --cLtransparent: #00000000;
    --cLblackShadow: #00000029;
    --cLgreyMedium: #707070;
    --cLwhiteSoft: #FFFFFF84;
    --cLbeigeSoft: #E2DAC8;
    --cLgreyDark: #777777;
    --cLgreyLight: #C3C3C3;
    --cLgreyMuted: #989898;
    --cLgreyUltraLight: #F0F0F0;
    --cLgoldSoft: #D9B35F;
    --cLroseWhite: #F1EDEB;
    --cLdarkGrey: #2F2F2F;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@font-face {
    font-family: 'Quentin';
    src: url('assets/fonts/Quentin.woff2') format('woff2'),
        url('assets/fonts/Quentin.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

*, *::before, *::after {
  box-sizing: border-box;
}
html, body, p, h1, h2, h3, h4, h5, h6, figure, blockquote, dl, dd {
  margin: 0;
}
html, body {
  height: 100%;
}
body {
  padding: 0;
  color: inherit;
  line-height: 1.7;
  font-size: min(18px,4vw);
  background: transparent;
  -webkit-text-size-adjust: 100%;
  font-family:"acumin-pro",sans-serif;
}
img, video, canvas, svg {
    height: auto;
    max-width: 100%;
    display: block;
}
input, button, textarea, select {
  font: inherit;
}
ol, ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  background: none;
  border: none;
  padding: 0;
}
picture {
  position: relative;
  height: 100%;
  display: block;
  overflow: hidden;
}
img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
picture img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  max-width: inherit;
}
:focus {outline: none;}
/* :focus-visible {
  outline-offset: 2px;
  outline: 2px solid var(--cLgoldBrown);
} */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
[role="img"] {pointer-events: none;}
/* h1,h2,h3,h4,h5,h6 {} */
.fs80 {font-size: min(80px,4vw);}
.fs80.quentin {font-size: min(80px,11vw);}
.fs72 {font-size: min(72px,4vw);}
.fs72.quentin {font-size: min(72px,10vw);}
.fs52 {font-size: min(53px,4vw);}
.fs52.quentin {font-size: min(53px,8vw);}
.fs50 {font-size: min(50px,4vw);}
.fs50.quentin {font-size: min(50px,8vw);}
.fs40 {font-size: min(40px,4vw);}
.fs40.quentin {font-size: min(40px,8vw);}
.fs30 {font-size: min(30px,4vw);}
.fs24 {font-size: min(24px,4vw);}
.fs22 {font-size: min(22px,4vw);}
.fs20 {font-size: min(20px,4vw);}
.fs18 {font-size: min(18px,4vw);}
.fs17 {font-size: min(17px,3.7vw);}
.fs16 {font-size: min(16px,3.7vw);}
.cLgoldBrown {color: var(--cLgoldBrown);}
.bg-cLblack {
    color: var(--cLwhite);
    background-color: var(--cLblack);
}
.bg-cLnight {
    color: var(--cLwhite);
    background-color: var(--cLnight);
}
.spacing {letter-spacing: 2.7px;}
.uppercase {text-transform: uppercase;}
.quentin {font-family: 'Quentin',sans-serif;line-height: 1;}
.light {font-weight: 300;}
.regular {font-weight: 400;}
.medium {font-weight: 500;} 
.bold {font-weight: 700;}
.text-block {width: 100%;display: inline-block;}
.text,.text-center {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: min(20px,5vw);
}
.text-center {
    text-align: center;
    align-items: center;
}
.underline::after {
    position: relative;
    content: '';
    width: 160px;
    height: 40px;
    display: block;
    background-color: currentColor;
    pointer-events: none;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: url(assets/images/yellow_line.svg);
    mask-image: url(assets/images/yellow_line.svg);
}
.text .underline::after {margin-left: calc(min(70px,5vw) * -1);}
.text-right .underline::after {margin-right: calc(min(70px,5vw) * -1);}
.text-center .underline::after {margin-inline: auto;}
/* btn */
.btn {
  border: none;
  display: block;
  line-height: 1;
  max-width: 100%;
  font-weight: 700;
  width: max-content;
  border-radius: 2rem;
  transition: all .2s;
  font-size: min(20px,4vw);
  padding: min(20px,3vw) min(30px,6vw);
}
.btn-cLgoldBrown {
    color: var(--cLwhite);
    background-color: var(--cLgoldBrown);
}
.btn-cLgoldBrown:hover {
  background-color: var(--cLgreyDark);
}
.btn-border-cLgoldSoft {
  color: var(--cLwhite);
  background-color: transparent;
  border: 1px solid var(--cLgoldBrown);
}
.btn-border-cLgoldSoft:hover,
.btn-border-cLgoldSoft.active {
  background-color: var(--cLgoldBrown);
  border: 1px solid var(--cLgoldBrown);
}
.btn-fixed {
  position: fixed;
  z-index: 100;
  left: min(2rem,5vw);
  bottom: min(2rem,5vw);
  backdrop-filter: blur(1rem);
}
.btn-fixed::after {scale: 1.5;}
[style^="--icn-"] {
  display: flex;
  max-width: 100%;
  width: max-content;
  align-items: center;
  column-gap: min(25px,5vw);
}
[style^="--icn-before"]::before,[style^="--icn-after"]::after {
  position: relative;
  content: "";
  display: block;
  transition: initial;
  pointer-events: none;
  padding: min(.7rem, 1.7vw);
  background-color: currentcolor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}
[style^="--icn-before"]::before {
  -webkit-mask-image: var(--icn-before);
  mask-image: var(--icn-before);
}
[style^="--icn-after"]::after {
  -webkit-mask-image: var(--icn-after);
  mask-image: var(--icn-after);
}
.zoom[style^="--icn-before"]::before {
  scale: 2;
  translate: calc((min(30px,6vw) / 3) * - 1);
}
.zoom[style^="--icn-after"]::after {
  scale: 1.7;
  translate: calc(min(30px,6vw) / 3);
}
/* Container */
[style^="--w:"] {width: var(--w);}
.container {
  margin: 0 auto;
  width: min(1160px,calc(100% - min(2rem,10vw)));
}
.container-xl {
  margin: 0 auto;
  width: min(1416px,calc(100% - min(2rem,10vw)));
}
.container-xxl {
  margin: 0 auto;
  width: min(1730px,calc(100% - min(2rem,10vw)));
}
.container-full {
  width: 100%;
  margin: 0 auto;
}
.row {
  display: flex;
  flex-wrap: wrap;
  gap: min(2rem,10vw) 5%;
}
.items-center {align-items: center;}
.space-between {justify-content: space-between;}
.direction-reverse {flex-direction: row-reverse;}
.direction-reverse.column-block {flex-direction: column-reverse;}
.column-block {
  display: flex;
  row-gap: min(80px,10vw);
  flex-direction: column;
}
@media screen and (width<700px) {
    .direction-reverse {flex-direction: column-reverse;}
}
section {position: relative;}
/* , :has(>.cliping) , :has(>.cliping) */
section:not(:is([class*=bg-])) + :is(section,footer):not(:is([class*=bg-]))>[class^="container"]:not(*~*) {padding-top: 0;}
.overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    font-size: 0;
}
.cliping {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  clip-path: inset(0rem round 0rem);
}
.cliping img {
  position: fixed;
  inset: 0;
}
.cliping ~ * {
  position: relative;
  z-index: 1;
}
.brand {
	display: block;
    width: min(179px,30vw);
}
.brand img { display:block; }
.brand-name { font-size: 1.1rem; }
ul.primary {
    display: flex;
    align-items: center;
    font-size: min(20px,4vw);
    gap: min(1rem,3vw) min(40px,5vw);
}
ul.wrapper-rs {
    display: flex;
    align-items: center;
    gap: min(10px,3vw) min(10px,5vw);
}
.rs {
  position: relative;
  display: grid;
  aspect-ratio: 1/1;
  border-radius: 2rem;
  align-items: center;
  color: var(--cLblack);
  padding: min(0.9rem,5vw);
  background-color: var(--cLroseWhite);
}
.tag-nav {
  display: flex;
  flex-wrap: wrap;
  gap: min(10px,4vw);
  align-items: center;
  justify-content: center;
}
.tag {
  position: relative;
  display: block;
  font-weight: 700;
  border-radius: 2rem;
  padding: 3px 16px 6px; 
  color: var(--cLwhite);
  font-size: min(17px,3.7vw);
}
.tag-cLblack {background-color: var(--cLblack);}
.tag-cLgoldBrown {background-color: var(--cLgoldBrown);}
.tag-border-cLgoldBrown {border: 1px solid var(--cLgoldBrown);}
.tag-cLdarkGrey {background-color: var(--cLdarkGrey);}
.location {
  display: flex;
  column-gap: 8px;
  font-size: min(20px,4vw);
  align-items: center;
  color: var(--cLgreyMedium);
}
.location::before {
  position: relative;
  display: block;
  content: '';
  transition: initial;
  pointer-events: none;
  padding: min(.7rem, 3vw);
  background-color: var(--cLgoldBrown);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: url(assets/images/checkpoint.svg);
  mask-image: url(assets/images/checkpoint.svg);
}
.image {
  height: min(448px,50vw);
  border-radius: min(25px,5vw);
}
.article {
  position: relative;
  display: flex;
  line-height: 1.3;
  color: var(--cLblack);
  flex-direction: column;
  width: min(444px,100%);
  background-color: var(--cLwhite);
}
.article picture {
  position: relative;
  height: min(246px,40vw);
}
.article picture img {
  scale: 1.05;
  transition: all .3s;
  will-change: transform;
}
.article:hover picture img {scale: 1;}
.article .text {
  flex: 0 0 auto !important;
  margin-bottom: auto;
  row-gap: min(10px,3vw);
  font-size: min(16px,3.8vw);
  padding: min(26px,5vw) min(26px,7vw);
}
.article .text h3 {font-size: min(23px,4.3vw);}
.article .nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: min(10px,3vw);
  padding: min(26px,5vw) min(26px,7vw);
}
.article .foot {
  position: relative;
  display: flex;
  font-weight: 700;
  align-items: center;
  color: var(--cLwhite);
  font-size: min(20px,4vw);
  justify-content: space-between;
  padding: min(17px,4vw) min(26px,7vw);
  background-color: var(--cLgoldBrown);
}
.rs::before,
.rs::after {
  position: absolute;
  scale: 1;
  inset: 22%;
  padding: 0;
}
.full {flex: 1 1 100%;}
.half {flex: 1 1 max(200px,40%);}
input:is([type="radio"], [type="checkbox"]) {
  margin: 0;
  outline: none;
  flex: 0 0 auto;
  width: min(1.5rem, 6vw);
  height: min(1.5rem, 6vw);
  accent-color: var(--cLgoldBrown);

}
input[type="checkbox"] {box-shadow: inset 0 0 0 1px var(--cLgoldBrown)}
input[type="radio"]:not(:checked) {
    appearance: none;
    border-radius: 2rem;
    border: 1px solid var(--cLgoldBrown)
}
input:not(:is(.qty-value, [type="radio"], [type="checkbox"], [type="button"], [type="submit"], [type="image"], [type="file"])),select,textarea {
  width: 100%;
  border: none;
  outline: none;
  border-radius: 0;
  box-shadow: none;
  height: min(50px, 13vw);
  color: var(--cLgreyDark);
  font-size: min(17px,3.5vw);
  padding: min(.6rem, 3vw) 0;
  background-color: transparent;
  border-bottom: 1px solid var(--cLgreyDark);

}
:is([multiple="multiple"]) {
    height: auto
}
:is([multiple="multiple"]) {
  height: auto
}
*::-webkit-input-placeholder {
  font-weight: 700;
  text-align: left;
  font-style: normal;
  color: var(--cLgreyDark);
}
*::-moz-placeholder {
  font-weight: 700;
  text-align: left;
  font-style: normal;
  color: var(--cLgreyDark);
}
*::-ms-input-placeholder {
  font-weight: 700;
  text-align: left;
  font-style: normal;
  color: var(--cLgreyDark);
}
*::placeholder {
  font-weight: 700;
  text-align: left;
  font-style: normal;
  color: var(--cLgreyDark);
}
[for="acceptance"] {
  display: flex;
  column-gap: 10px;
  line-height: 1.2;
  font-size: min(14px,4vw);
}
textarea {
  width: 100%;
  resize: none;
  font-family: inherit;
  height: min(120px, 30vw) !important
}
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px transparent inset;
  box-shadow: 0 0 0px 1000px transparent inset;
}
.wrapper-form {
  position: relative;
  overflow: hidden;
  color: var(--cLblack);
  font-size: min(16px,3.8vw);
  border-radius: min(20px,5vw);
  background-color: var(--cLwhite);
  padding: min(30px,5vw) min(50px,5vw);
}
.wrapper-form .row {row-gap: min(1.3rem,5vw);}
.wrapper-form .head {
    flex: 0 0 auto;
    width: -webkit-fill-available;
    margin-inline: calc(min(50px,5vw) * -1);
    margin-left: calc(min(50px,5vw) * -1);
    margin-top: calc(min(30px,5vw) * -1);
    padding: min(25px,5vw) min(50px,5vw);
    background-color: var(--cLbeigeSoft);
}
.wrapper-form .head [style^="--icn-before"]::before, 
.wrapper-form .head [style^="--icn-after"]::after {padding: min(1.25rem, 3vw);}
.arrow {
  position: relative;
  z-index: 4;
  width: 57px;
  height: 57px;
  display: grid;
  border-radius: 2rem;
  color: currentColor;
  align-content: center;
  background-color: transparent;
  border: 1px solid currentColor;
}
.arrow-next {
  position: relative;
  display: block;
  transition: initial;
  pointer-events: none;
  padding: min(.9rem, 4vw);
  background-color: currentcolor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: url(assets/images/arrow-icon.svg);
  mask-image: url(assets/images/arrow-icon.svg);
}
.arrow::after {content: none;}
.arrow.prev::before {rotate: -180deg;}
.arrow::before {
  position: relative;
  content: "";
  display: block;
  transition: initial;
  pointer-events: none;
  padding: min(.7rem, 3vw);
  background-color: currentcolor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: url(assets/images/arrow.svg);
  mask-image: url(assets/images/arrow.svg);
}
.nav-filter {
  width: 100%;
  gap: min(20px,5vw);
  justify-content: center;
}
.grid-article {
    display: grid;
    width: 100%;
    gap: min(2rem,5vw) 2%;
    grid-template-columns: repeat(auto-fill, minmax(min(400px,80vw), 1fr));
}
.grid-article .article {width: 100%;}
/* .grid-article .article.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
} */

.grid-article .article {
    opacity: 1;
    transform-origin: center;
}

.grid-article .article.is-hidden {
    display: none !important;
}
.dsc {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: min(10px,3vw);
}
.dsc li {
  position: relative;
  flex: auto;
  display: block;
  line-height: 1.1;
  font-size: min(16px,3.7vw);
  border-radius: min(15px,4vw);
  padding: min(16px,5vw) min(12px,4vw);
  border: 1px solid var(--cLgoldBrown);
}
.dsc li > .cLgoldBrown {display: block;}
/* Site header */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: all .3s;
    padding-block: min(20px,4vw);
    border-bottom: 1px solid var(--cLblackShadow);
}
.site-header.stiky {background-color: var(--cLblack);}
.site-header:has( + main > section:first-of-type:not(.sc1)) {position: sticky;}
.site-header .container {
	display: flex;
	align-items: center;
	height: min(148px,20vw);
	justify-content: space-between;
}
.open-nav {
  position: relative;
  z-index: 2;
  padding: 9px;
  height: 58px;
  row-gap: 8px;
  display: flex;
  transition: .2s;
  cursor: pointer;
  margin-left: auto;
  aspect-ratio: 1/1;
  width: max-content;
  border-radius: 2rem;
  align-items: center;
  color: currentColor;
  flex-direction: column;
  justify-content: center;
  background-color: var(--cLgoldBrown);
}
.open-nav span {
  height: 2px;
  width: 1.8rem;
  line-height: 0;
  transition: .3s;
  border-radius: 1rem;
  pointer-events: none;
  background: currentColor;
  transform-origin: 55% center;
}
header.nav-is-open .open-nav {
    row-gap: 0;
    transform: rotate(45deg);
}
header.nav-is-open .open-nav > span:first-child {transform: translate(-.1rem, .2rem) rotate(90deg);}
header.nav-is-open .open-nav > span:nth-child(2) {display: none;}
/* sc1 */
.sc1 .container-xl { padding-block: min(3.5rem,10vw); }
.sc1 .row > figure {flex: 1 1 max(300px,30%);}
.sc1 .row > .text {flex: 1 1 max(300px,32%);}
.sc1 .text figure {
  position: relative;
  width: 100%;
  display: flex;
  column-gap: 2%;
}
.sc1 .text figure picture {
  position: relative;
  height: inherit;
  transition: all .3s;
  border-radius: .8rem;
  height: min(163px,19vw);
  will-change: transform;
  flex: 1 1 max(259px,30%);
}
.sc1 .text figure picture img {
  scale: 1.1;
  transition: all .3s;
  will-change: transform;
}
.sc1 .text figure picture:hover {scale: 1.03;}
.sc1 .text figure picture:hover img {scale: 1;}
/* sc2 */
.sc2 [class^="container"] { padding-block: min(3.5rem,10vw); }
.sc2 .row .text {flex: 1 1 max(300px,40%);}
.sc2 .carousel {
  position: relative;
  width: 100%;
}
.sc2 .outer-slider {
  position: relative;
}
.sc2 .article {height: auto;}
/* sc3 */
.sc3 .container-xl { padding-block: min(3.5rem,10vw); }
.sc3 .container-xl > .row{column-gap: 10%;}
.sc3 .row > .wrapper-text {flex: 1 1 max(300px,40%);}
.sc3 .row > .wrapper-form {
  z-index: 1;
  flex: 1 1 max(300px,40%);
}
.sc3 .row > .wrapper-form .row {row-gap: 15px;}
/* sc4 */
.sc4 .cliping img { filter: brightness(.4); }
.sc4 .container-xl { padding-block: min(3.5rem,10vw); }
/* sc5 */
.sc5 .container {padding-block: min(3.5rem,10vw);}
/* sc6 */
.sc6 {overflow: hidden;}
.sc6 .container-full {padding-block: min(3.5rem,10vw);}
.sc6 .galerie {
  position: relative;
  width: auto;
  margin-inline: calc(min(10rem,10vw) * -1);
}
.sc6 .galerie .swiper {
  width: 100%;
  overflow: visible;
}
.sc6 .galerie .pagination {
  position: absolute;
  top: 50%;
  height: 0;
  left: 50%;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  transform: translateX(-50%);
}
.sc6 .galerie .pagination .arrow {
  color: var(--cLwhite);
  background-color: var(--cLgoldBrown);
}
/* sc7 */
.sc7 .container-xl {padding-block: min(3.5rem,10vw);}
.sc7 .text {
  font-size: min(16px,3.7vw);
  flex: 1 1 max(300px,45%);
}
.sc7 .wrapper-form {flex: 1 1 max(300px,40%);margin-bottom: auto;}
/* sc8 */
.sc8 [class^="container"] {padding-block: min(4rem,10vw);}
.sc8 .row :is(.left,.right) {
  flex: 1 1 max(300px,40%);
}
.sc8 .row.column-block {row-gap: min(5rem,5vw);}
.sc8 .row.column-block .left picture {
  position: relative;
  height: min(400px,50vw);
}
.sc8 picture{
    max-height: 400px;
    border-radius: 20px;
    display: flex;
}
.sc8 picture img{
    align-self: center;
}
.sc8{
    padding: 40px 10px;
}
.sc8 h2{
    color:#c1a45e;
    font-family: 'Quentin', sans-serif;
    font-size: 1.8em;
}
/* footer */
footer {
  display: flex;
  row-gap: min(25px,10vw);
  flex-direction: column;
  padding-block: min(3.5rem,10vw);
}
footer > div:nth-child(2) {
  position: relative;
  padding-block: min(25px,10vw);
}
footer > div:nth-child(2)::before {
  position: absolute;
  inset: 0;
  content: '';
  opacity: .5;
  pointer-events: none;
  border-block: 1px solid var(--cLgoldBrown);
}
footer .row {
  justify-content: center;
}
.footer-nav {
    position: fixed;
    height: 0;
    bottom: 0;
    width: 100%;
    z-index: 99;
    display: flex;
    column-gap: 2%;
    align-items: center;
    justify-content: center;
    padding-bottom: min(2rem,9vw);
}
.footer-nav .btn {font-size: min(14px,3.5vw);}

.description-longue {
    white-space: pre-line;
}
