:root {
  /* Neutral / Gray */
    --cLgraySoft: #A8AAAB;
    --cLgrayDark: #57595D;
    --cLwhite: #FFFFFF;
    --cLblueIceLight: #F2F8FA;
    --cLblueIceLight: #F2F8FA;
    --cLgrayLight: #EAEAEA;
    --cLgrayDark1: #CBCBCB;

    /* Green / Lime */
    --cLlimeBright: #C5D300;
    --cLlimeSoft: #E8ECAE;
    --cLblueIceSoft: #F2F6F7;

    /* Blue / Cyan */
    --cLdeepTeal: #0E3B4B;
    --cLblueSky: #01ABE9;
    --cLblueLight: #B3D9E6;
    --cLdeepTealBlue: #063F53;
    --cLblueGraySoft: #869DA5;
    --cLdeepTealDark: #053546;
    --cLdeepTealBlueTransparent: #0E3B4B29;


}
/* .fs80 {font-size: clamp(min(2em,7vw),min(7vw,7.5dvh), 80px);}
.fs60 {font-size: clamp(min(2em,7vw),min(4vw,7dvh), 60px);}
.fs43 {font-size: clamp(min(2em,6vw),min(2vw,5dvh), 43px);}
.fs40 {font-size: clamp(min(1.9em,5.5vw),min(2vw,4dvh), 40px);}
.fs30 {font-size: clamp(min(1.6em,5vw),1.8vw, 30px);}
.fs25 {font-size: clamp(14px,1.7vw, 25px);}
.fs21 {font-size: clamp(min(19px,4vw),1.4vw, 21px);}
.fs18 {font-size: clamp(.9em,1.08vw,18px);}
.fs16 {font-size: clamp(.9em,1.08vw,16px);}
.fs14 {font-size: clamp(.8em,1.08vw,14px);}
.fs12 {font-size: clamp(.65em,.6vw,12px);} */

/* .fw300 {font-weight: 300;}
.fw400 {font-weight: 400;} 
.fw500 {font-weight: 500;}
.fw700 {font-weight: 700;}
.fw800 {font-weight: 800;} */
*, *::before, *::after {box-sizing: border-box;}
html {scroll-behavior: smooth;}
section {scroll-margin-top: min(10em,15vw);}
html, body, p, h1, h2, h3, h4, h5, h6, figure, blockquote, dl, dd {margin: 0;padding: 0;}
strong {font-weight: 700;}
h1,h2,h3,h4,h5,h6 {line-height: 1.1;}
/* font-weight: 500; */
:is(h1,h2,h3,h4,h5,h6) :is(em,strong) {font-style: inherit;color:inherit;line-height: 1;}
hr {
    display: block;
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--cLblueLight);
}
body {
  padding: 0;
  line-height: 1.7;
  overflow-x: hidden;
  background: transparent;
  color: var(--cLdeepTeal);
  -webkit-text-size-adjust: 100%;
  font-family:"Clother",sans-serif;
  font-size: clamp(min(.9em,3.6vw),1.1vw,18px);
}
img,video,canvas,svg {
    height: auto;
    display: block;
    max-width: 100%;
    object-fit: cover;
}
[style^="--icn"],[class^="btn-"].next {display:inline-flex;align-items: center;column-gap: 10px;}
a {
    color: inherit;
    text-decoration: none;
}
li:hover > a:not([class]),
a:not([class]):hover {color: var(--cLlimeBright);}
.rs {
  display: flex;
  flex-wrap: nowrap;
  column-gap: min(10px,1vw);
}
.rs li {display: block;}
.rs [style^="--icn-"] {
    font-size: 0;
    column-gap: 0;
    display: block;
    flex: 0 0 auto;
    border-radius: 2rem;
    color: var(--cLwhite);
    background-color: var(--cLdeepTeal);
}
.rs [style^="--icn-"]::before {
    scale: .5;
    padding: min(1.3125rem, 2.9vw);
}
button {
    padding: 0;
    border: none;
    background: none;
}
.overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    font-size: 0;
}
.overlay:has( .arrow) {
    display: flex;
    padding: 1rem;
    align-items: flex-start;
    justify-content: flex-end;
}

ol, ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
/* .first-title {font-size: min(27px,5vw);font-weight: 300;} */
section {position: relative;}
.row,.flex {
  display: flex;
  flex-wrap: wrap;
  row-gap: min(2rem,10vw);
}
:is(.row,.flex):has( .half,.full) {gap: 1em;}
:is(.row,.flex).space-between {justify-content: space-between;}
:is(.row,.flex).direction-reverse {flex-direction: row-reverse;}
:is(.row,.flex).items-center {align-items: center;}
:is(.row,.flex).column-block {
  flex-wrap: nowrap;
  flex-direction: column;
  row-gap: min(3em,10vw);
}
/* @media screen and (width<700px) {
   :is(.row,.flex).direction-reverse {flex-direction: column-reverse;}
} */
[class^="container"] {margin-inline: auto;padding-block: min(5em,10vw);}
.container{max-width:min(1071px,90vw)}
.container-xl{max-width:min(1218px,90vw)}
.container-xxl{max-width:min(1476px,90vw)}
.container-xxxl{max-width:min(1838px,95vw)}
.container-max{max-width:min(1873px,calc(100% - 1em))}
.container-full{max-width:100vw}
[style*="--w"] {width: var(--w);}
picture {
    position: relative;
    height: 100%;
    display: block;
    overflow: hidden;
}
picture img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    max-width: inherit;
}
.cliping {
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    clip-path: inset(0rem round 0rem);
}
:is(section,footer):not(:is(.sc8)) .cliping:not(.image) ~ * {
    position: relative;
    z-index: 1;
    color: var(--cLwhite);
}
.cliping.imgBeigeLight img {
    position: fixed;
    inset: 0;
    width: 100dvw;
    height: 100dvh;
    max-width: inherit;
}
.cliping.imgBeigeLight.whiteImg img {opacity: 0.7;}
.cliping:not(:has( img)) {
    rotate: -1deg;
    clip-path: inset( min(2em,5vw) round min(2rem,5vw));
}
.arrow {
    position: relative;
    z-index: 2;
    outline: 0;
    border: none;
    font-size: 0;
    flex: 0 0 auto;
    cursor: pointer;
    max-width: 100%;
    overflow: hidden;
    aspect-ratio: 1/1;
    width: max-content;
    transition: all .3s;
    border-radius: 3rem;
    display: inline-block;
    color: var(--cLwhite);
    padding: min(1.6rem, 4.5vw);
    background-color: var(--cLlimeBright);
}
.arrow.border {
    color: currentColor;
    background-color: transparent;
    border: 1px solid currentColor;
}
.arrow.arrow-initial {
    color: currentColor;
    background-color: transparent;
    border: 1px solid transparent;
}
.arrow::after,
.arrow::before {
    content: "";
    inset: 30%;
    display: block;
    transition: inherit;
    background-color: currentColor;
    -webkit-mask: url("assets/images/arrow.svg") center / contain no-repeat;
    mask: url("assets/images/arrow.svg") center / contain no-repeat;
}
.arrow.down {rotate: 90deg;}
.arrow.arrow-xl {
    height: 0;
    aspect-ratio: initial;
    padding: min(1.2rem, 3.5vw) min(2rem, 6vw);
}
.arrow.arrow-xl::after,
.arrow.arrow-xl::before {
    -webkit-mask-image: url(assets/images/arrow-xl.svg);
    mask-image: url(assets/images/arrow-xl.svg)
}
.pagination > .arrow::after,
.pagination > .arrow::before {
    -webkit-mask-image: url(assets/images/arrow-slider.svg);
    mask-image: url(assets/images/arrow-slider.svg)
}
.arrow.swiper-button-lock {display: none;}
.arrow.rotate {rotate: -45deg;}
.arrow.prev {transform: rotate(-180deg)}
.arrow::after {
    opacity: 0;
    translate: -100% 0;
}
.arrow:hover {
    color: var(--cLwhite);
    background-color: var(--cLdeepTealBlue);
    border-color: var(--cLdeepTealBlue);
}
.arrow::after,
.arrow::before,
.cliping {
    position: absolute;
    pointer-events: none
}
[class^=btn-]:hover .arrow::before,
article:hover .arrow::before,
.arrow:hover::before{translate:100% 0;opacity:0}
[class^=btn-]:hover .arrow::after,
article:hover .arrow::after,
.arrow:hover::after{translate:0 0;opacity:1}
[class^=btn-] {
    z-index: 1;
    line-height: 1;
    font-weight: 700;
    width: max-content;
    border-radius: 2em;
    letter-spacing: -.6px;
    transition: all .3s;
    white-space: inherit;
    display: inline-block;
    text-decoration: none;
    text-transform: initial;
    border: 1px solid transparent;
    font-size: clamp(min(1em,4vw),1.1vw,20px);
    padding: clamp(min(0.7em,3vw),0.8vw,.8em) min(1.4em,3.5vw);
}
[class^=btn-]:is([style^=--icn],:has( .arrow,.logo-circle)){display:flex;align-items:center}

[class^=btn-]>input{margin:0!important;line-height:1!important;}
[class^=btn-]:has( input) {cursor: pointer;}
[class^=btn-] input:is([type="submit"],[type="button"]) {
    border: none;
    outline: none;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    background: transparent;
}
[class^=btn-]:has( .arrow,[style^="--icn-"]) {column-gap: min(.7rem,2vw);}
[class^=btn-] .arrow {
    position: relative;
    scale: 2.3;
    z-index: 0;
    pointer-events: none;
    padding: min(0.6rem,1.5vw);
    translate: min(.7rem,0.7vw);
}
[class^=btn-][style^="--icn-before"]::before, 
[class^=btn-][style^="--icn-after"]::after {
    scale: 1.4;
    will-change: transform;
    padding: clamp(min(.6rem, 1.7vw),0.8vw,.6rem);
    transition: all .3s cubic-bezier(0.250, 0.460, 0.450, 0.940);
}
[class^=btn-][style^="--icn-after"]::before {translate: calc(min(.8rem,1vw) * -1) 0;}
[class^=btn-][style^="--icn-after"]::after {translate: min(.8rem,1vw) 0;}
[class^=btn-][style^=--icn-before]::before {transform: translateX(-.1em);}
[class^=btn-][style^=--icn-after]::after {transform: translateX(.1em);}
[style^="--icn-"] {
    align-items: center;
    display: inline-flex;
    column-gap: min(10px,2vw);
}
.text-center [style^="--icn-"] {margin-inline: auto;}
[style^="--icn-before"]::before,
[style^="--icn-after"]::after {
  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;
}
[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);
}
/* [class^=btn-][style^=--icn]:hover::after {transform: translateX(.5em);} */
[class^="text"]{
    position: relative;
    display: grid;
    row-gap: min(2em,3vw);
    align-content: baseline;
}
[class^=btn-] > .logo-circle {
    scale: 2.3;
    translate: calc(min(1.3rem,1vw) * -1) 0;
}
[class^=btn-] > .logo-circle::before,
[class^=btn-] > .logo-circle::after {padding: min(0.6rem,1.5vw);}
.text-center{justify-content: center;text-align: center;}
.text-right{align-items: flex-end;text-align: right;}
[class^="text"] > p:not(:has( [class^="btn"])) + p:not(:has( [class^="btn"])) {margin-top: calc(min(2em,3vw) * -.7);}
/* [class^="text"] > p:has( [class^="btn"]) {margin-top: 0;} */
p:has( :is([class^="btn-"],.tag)) {
    display: flex;
    flex-wrap: wrap;
    gap: min(1em,4vw) min(1em,2vw);
}
.text-center p:has( :is([class^="btn-"],.tag)) {
    justify-content: center;
}
.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: min(1em,3vw);
    align-items: center;
}
.pagination.end {justify-content: center;max-width: 85vw;}
.pagination.center {justify-content: center;}
.pagination .arrow {
    margin: 0;
    top: initial;
    left: initial;
    right: initial;
}
.cLlimeBright {color: var(--cLlimeBright);}

.btn-cLlimeBright {
    color: var(--cLwhite);
    background-color: var(--cLlimeBright);
}
.btn-cLlimeBright:hover {background-color: var(--cLblueLight);}
.btn-cLlimeBright[style^="--icn-before"]::before, 
.btn-cLlimeBright[style^="--icn-after"]::after {color: var(--cLdeepTeal);}

.btn-cLdeepTeal {
    color: var(--cLwhite);
    background-color: var(--cLdeepTeal);
}
.btn-cLdeepTeal:hover {background-color: var(--cLgrayDark);}
.btn-cLdeepTeal[style^="--icn-before"]::before,
.btn-cLdeepTeal[style^="--icn-after"]::after {color: var(--cLlimeBright);}

.btn-cLdeepTeal .arrow {
    color: var(--cLwhite);
    background-color: var(--cLdeepTeal);
}
.bg-cLdeepTeal {
    color: var(--cLwhite);
    background-color: var(--cLdeepTeal);
}
.bg-cLlimeBright {
    color: var(--cLwhite);
    background-color: var(--cLlimeBright);
}
.bg-cLdeepTealBlue {
    color: var(--cLwhite);
    background-color: var(--cLdeepTealBlue);
}
.bg-cLblueIceSoft {
    background-color: var(--cLblueIceSoft);
}
.bg-cLgrayLight {
    background-color: var(--cLgrayLight);
}
.overlay:has( .play) {
    display: flex;
    align-items: center;
    justify-content: center;
}
.overlay .play {transition: all .3s;}
.overlay:hover .play {scale: 1.1;}
.tag {
    position: relative;
    font-weight: 700;
    line-height: 1;
    border-radius: 2em;
    display: inline-flex;
    color: var(--cLwhite);
    font-size: min(20px,2.7vw);
    font-family: "menca",sans-serif;
    background-color: var(--cLlimeBright);
    padding: min(.5em,4vw) min(1em,5vw) min(.65em,4vw);
}
.tag > .logo-circle {
    scale: 3.5;
    translate: calc(min(1.5rem,1.3vw) * -1) .2em;
}
.tag > .logo-circle::before,
.tag > .logo-circle::after {padding: min(.5rem,1.5vw);}
.overlay .tag {margin-right: auto;}
.logo-circle {
    display: block;
    aspect-ratio: 1/1;
    border-radius: 3em;
    width: max-content;
    height: max-content;
    color: var(--cLwhite);
    background-color: var(--cLlimeBright);
}
.logo-circle::before,
.logo-circle::after {
    scale: .5;
    padding: min(1.7rem, 4vw);
}
:is(.tag,.logo-circle).th_cLGreenDeep,
.th_cLGreenDeep :is(.tag,.logo-circle) {background-color: var(--cLGreenDeep);}
:is(.tag,.logo-circle).th_cLTealBright,
.th_cLTealBright :is(.tag,.logo-circle) {background-color: var(--cLTealBright);}
:is(.tag,.logo-circle).th_cLAquaLight,
.th_cLAquaLight :is(.tag,.logo-circle) {background-color: var(--cLAquaLight);}

.uppercase-text {text-transform: uppercase;}
.initial-text {text-transform: initial;}
.lumiosbrush {font-family: "lumios-brush",sans-serif;}
/* .sub-title {
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-family:"menca",sans-serif;
}
.sub-title:has( + :is(h1,h2,h3,h4,h5,h6)) {margin-bottom: calc(min(2em,3vw) * -1);} */
.breadcrumb {
    flex-wrap: wrap;
    display: inline-flex;
    justify-content: center;
    font-size: clamp(0.8em,1vw,16px);
}
.breadcrumb > li:not(:last-child)::after {
    position: relative;
    content: '>';
    margin-inline: 5px;
}
/* navigation */
.open-nav {
    position: relative;
    z-index: 2;
    row-gap: .2em;
    display: grid;
    transition: .2s;
    cursor: pointer;
    flex: 0 0 auto;
    margin-right: -.5em;
    padding: min(1em,3vw);
    color: var(--cLwhite);
    width: min(90px,12vw);
    align-content: space-evenly;
    background-color: var(--cLlimeBright);
}
input:checked + .open-nav{
    row-gap: 0em;
    align-content: center;
}
.open-nav > span {
    position: relative;
    height: 2px;
    width: 100%;
    line-height: 0;
    transition: .3s;
    pointer-events: none;
    transform-origin: 55% center;
    background-color: currentcolor;
}
.open-nav > span:nth-child(2) {
    width: 70%;
    margin-inline: auto;
}
input:checked + .open-nav > span:nth-child(1) {
    rotate: -49deg;
    margin-bottom: -1px;
}
input:checked + .open-nav > span:nth-child(2) {display: none;}
input:checked + .open-nav > span:nth-child(3) {rotate: 40deg;}
li:has( > .up-down) {
    position: relative;
    gap: .5em;
    display: grid;
}
li:has( > .up-down) > a {padding-right: 1.5em;}
.up-down:has( input:checked) {rotate: -180deg;}
.up-down {
    position: absolute;
    top: 0;
    right: 0;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    border-radius: 2em;
    transition: all .3s;
    color: var(--cLdeepTeal);
    background-color: var(--cLblueLight);
}
.up-down::before {
    position: absolute;
    inset: 20%;
    content: '';
    display: block;
    pointer-events: none;
    background-color: currentcolor;
    -webkit-mask: url("assets/images/arrow-down.svg") center / contain no-repeat;
    mask: url("assets/images/arrow-down.svg") center / contain no-repeat;
}
.up-down::after {
    position: absolute;
    content: '';
    inset: -1em;
}
.link {
    line-height: 1;
    font-weight: 700;
    transition: all .3s;
    display: inline-flex;
    padding-bottom: 0.3em;
    column-gap: min(.5em,1vw);
    border-bottom: 1.5px solid currentColor;
}
.link:hover {color: var(--cLlimeBright);}
.link::before,
.link::after {padding: min(.5rem, 1.5vw);}
.link:hover::before,
.link:hover::after {scale: 1.1;translate: -.1em 0;}
.link:hover::after {translate: .1em 0;}
.link.rotate-45[style^="--icn-before"]::before {rotate:225deg}
.link.rotate-45[style^="--icn-after"]::after {rotate:-45deg}

.circle-btn {
    flex: 0 0 auto;
    cursor: pointer;
    aspect-ratio: 1/1;
    border-radius: 3em;
}
.circle-cLblueLight {
    background-color: var(--cLblueLight);
}
.circle-cLblueSky {
    color: var(--cLwhite);
    background-color: var(--cLblueSky);
}
.circle-btn[style^="--icn-before"]::before, 
.circle-btn[style^="--icn-after"]::after {
    scale: .4;
    transition: all .3s;
    padding: clamp(min(.7em,3vw),1.4vw,1.579em);
}
.circle-btn[style^="--icn-before"]:hover::before, 
.circle-btn[style^="--icn-after"]:hover::after{
    scale: .45;
    rotate: -5deg;
}
/* accordion */
.accordion {display: grid;}
.accordion-item {
    position: relative;
    display: grid;
    font-style: normal;
    transition: all .3s;
    grid-template-rows: 2.1em 0fr;
    padding-block: min(1.5rem, 3vw);
}
.accordion-item::before {
    position: absolute;
    inset: 0;
    content: '';
    opacity: .44;
    pointer-events: none;
    border-top: 1px solid var(--cLdeepTeal);
}
.accordion-item:last-child:before {border-bottom: 1px solid var(--cLdeepTeal);}
.accordion-item:has( input:checked) {grid-template-rows: 2.1em 1fr;}
.accordion-item .accordion-head {
    display: flex;
    cursor: pointer;
    align-items: center;
    color: var(--cLdeepTeal);
    column-gap: min(20px, 5vw);
    justify-content: space-between;
}
.accordion-item .accordion-btn {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 auto;
    aspect-ratio: 1/1;
    transition: all .3s;
    align-content: center;
    width: min(20px, 3vw);
}
.accordion-item .accordion-btn input {
    position: absolute;
    top: 0;
}
.accordion-item .accordion-btn::before,
.accordion-item .accordion-btn::after {
    position: relative;
    content: '';
    width: 100%;
    height: 2px;
    background-color: currentColor;
}
.accordion-item .accordion-btn::before {
    rotate: -90deg;
    margin-bottom: -2px;
    transition: all .3s;
}
.accordion-item:has( input:checked) .accordion-btn::before {rotate: 0deg;}
.accordion-item .accorrdion-body {
    overflow: hidden;
    font-weight: 400;
    transition: all .3s;
}
.accordion-item:has( input:checked) .accorrdion-body { padding-top: min(15px, 5vw);}
/* cardA */
.wrapper-cardsA {
    width: 100%;
    grid-gap: 0px;
}
.wrapper-cardsA .pagination {
    position: relative;
    margin-left: clamp(min(1em,5vw),2.5vw,3em);
    margin-top: calc(clamp(min(2em,5vw),2.3vw,2.3em) * -1.8);
}
.wrapper-cardsA .swiper .cardA {height: auto;}
.cardA {
    position: relative;
    border-radius: min(31px,5vw);
    border: 1px solid var(--cLblueSky);
    padding: clamp(min(1em,5vw),2.5vw,3em);
}
.cardA.swiper-slide {margin-block: clamp(min(1em,5vw),2.5vw,3em);}
.cardA .row {gap: min(4em,5vw) 10%;}
.cardA picture {
    flex: 1 1 max(300px,40%);
    border-radius: min(33px,3vw);
}
.cardA .text {
    flex: 1 1 max(300px,40%);
}
.cardA .text .deco {
    line-height: 1;
    font-weight: 400;
    font-size: clamp(min(41px,9vw),6vw,80px);
}
.cardA .text h2 {
    font-weight: 700;
    font-size: clamp(min(18px,5vw),1.8vw,28px);
}
.cardA .text h2 + p {margin-top: calc(min(2em,3vw) * -.7);}
/* cardB */
.wrapper-cardsB {
    display: grid;
    row-gap: min(1.5em,3vw);
}
.wrapper-cardsB .swiper {width: 100%;}
.wrapper-cardsB .pagination {justify-content: center;}
/* :is(.wrapper-cardsB,.cardB,.cardD,.wrapper-cardsB) .arrow { */
:is(.overlay,.pagination) > .arrow {
    color: var(--cLdeepTeal);
    border-color: var(--cLblueLight);
    background-color: var(--cLblueLight);
}
:is(.cardB,.cardD) {
    position: relative;
    padding: min(2em,5vw);
    color: var(--cLdeepTeal);
    border-radius: min(20px,4vw);
    background-color: var(--cLwhite);
}
:is(.cardB,.cardD) [class^="text"] {row-gap: .6em;}
.cat {
    color: var(--cLblueGraySoft);
    font-size: clamp(min(11px,3.5vw),1vw,16px);
}
:is(.cardB,.cardD) h3 {
    font-weight: 700;
    font-size: clamp(min(21px,5vw),1.8vw,28px);
}
:is(.cardB,.cardD) h3::after {
    position: relative;
    content: '';
    height: 2px;
    width: 96px;
    display: block;
    margin-top: .5em;
    background-color: var(--cLlimeBright);
}
/* cardC */
section:has( .wrapper-cardsC) {overflow: hidden;}
.wrapper-cardsC {
    display: grid;
    width: 100%;
    row-gap: 1em;
}
.wrapper-cardsC .swiper {width: 100%;}
.wrapper-cardsC .pagination {
    position: relative;
    width: 100%;
    justify-content: center;
}
.cardC {
    position: relative;
    border-radius: min(18px,4vw);
    width: clamp(min(400px,85vw),25vw,473px);
}
.cardC picture img {transition: all .3s;}
.cardC:hover picture img {scale: 1.05;rotate: -2deg;}
/* cardD */
.grid:has( > .cardD) {
    display: grid;
    gap: min(2em,3vw) 2%;
    justify-content: center;
    grid-template-columns: repeat(auto-fill,minmax(max(min(300px,80vw),30%),1fr));
}
.grid .cardD {width: auto;}
.cardD {
    position: relative;
    padding: 0;
    overflow: hidden;
    border-radius: min(18px,4vw);
    width: clamp(min(400px,85vw),25vw,473px);
}
.cardD picture { height: min(230px,40vw);}
.cardD picture img {transition: all .3s;}
.cardD:hover picture img {scale: 1.05;rotate: -2deg;}
.cardD .text {
    padding: min(2em,4vw);
}
/* other */
.deco,
.underline {
    position: relative;
    isolation: isolate;
    max-width: max-content;
}
.deco::before {
    position: absolute;
    content: "";
    z-index: -1;
    display: block;
    transition: initial;
    pointer-events: none;
    inset: .12em -0.4em -0.05em -0.2em;
    background-color: var(--cLlimeBright);
    -webkit-mask: url("assets/images/underline.svg") center / 100% 100% no-repeat;
    mask: url("assets/images/underline.svg") center / 100% 100% no-repeat;
}
.underline::after {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 90px;
    content: "";
    height: 15px;
    display: block;
    transition: initial;
    pointer-events: none;
    top: calc(100% + 0.2em);
    background-color: var(--cLblueSky);
    -webkit-mask: url("assets/images/underline.webp") center / contain no-repeat;
    mask: url("assets/images/underline.webp") center / contain no-repeat;
}
/* Dnamique sections */
:is(section,footer):not(:is(.bg-cLGreenDeep)) .icone[style^="--icn-before"]::before, 
:is(section,footer):not(:is(.bg-cLGreenDeep)) .icone[style^="--icn-after"]::after {background: var(--icn-before,var(--icn-after)) center / contain no-repeat;}
/* formulaire */
[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(--cLdeepTeal);
    background-color: var(--cLwhite);
}
[type="checkbox"] {box-shadow: inset 0 0 0 1px var(--cLgrayLight)}
[type="radio"]:not(:checked) {
    appearance: none;
    border-radius: 2rem;
    border: 1px solid var(--cLgrayLight)
}
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.7em;
    height: min(60px, 15vw);
    color: var(--cLdeepTeal);
    font-size: min(17px, 3.6vw);
    padding: min(.5rem, 4vw) 1em;
    background-color: var(--cLwhite);
    border-bottom: 1px solid var(--cLgrayLight);
}
[multiple="multiple"] {height: auto}
:is(select,textarea,input)::-webkit-input-placeholder {
    opacity: .5;
    font-weight: 400;
    text-align: left;
    font-style: normal;
    color: var(--cLdeepTeal);
}
:is(select,textarea,input)::-moz-placeholder {
    opacity: .5;
    font-weight: 400;
    text-align: left;
    font-style: normal;
    color: var(--cLdeepTeal);
}
:is(select,textarea,input)::-ms-input-placeholder {
    opacity: .5;
    font-weight: 400;
    text-align: left;
    font-style: normal;
    color: var(--cLdeepTeal);
}
:is(select,textarea,input)::placeholder {
    opacity: .5;
    font-weight: 400;
    text-align: left;
    font-style: normal;
    color: var(--cLdeepTeal);
}
:is(select,textarea,input):is(textarea) {
    width: 100%;
    resize: none;
    font-family: inherit;
    height: min(150px, 30vw) !important
}
label:has( [type="radio"], [type="checkbox"]):not(.accordion-head) {
    display: flex;
    column-gap: 1em;
    line-height: 1.3;
}
.half {flex: 1 1 max(200px, 40%);}
.full {flex: 1 1 100%;}
.full,.half {font-size: min(16px,3.6vw);}
.wpcf7-not-valid-tip {
    display: block;
    margin-top: 7px;
    font-size: min(13px,3.6vw);
}

.check-list {
    position: relative;
    display: grid;
    row-gap: min(.5em,5vw);
}
.check-list > li {
    position: relative;
    display: flex;
    isolation: isolate;
    padding-left: min(3em,10vw);
}
.check-list > li::before, .check-list > li::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '';
    display: block;
    border-radius: 2em;
    padding: min(.8em,5vw);
    background-color: var(--cLlimeBright);
    filter: drop-shadow(0 0 6px rgb(17 24 28 / 8%));
}
.check-list > li::after {
    scale: .5;
    background-color: var(--cLwhite);
    -webkit-mask: url("assets/images/check-mauve.svg") center / contain no-repeat;
    mask: url("assets/images/check-mauve.svg") center / contain no-repeat;
}
fieldset {
    border: none;
    margin: 0;
    display: grid;
    width: 100%;
    align-content: start;
    padding: min(2em, 4vw);
    align-items: self-start;
    color: var(--cLdeepTeal);
    border-radius: min(34px,3vw);
    background-color: var(--cLwhite);
    filter: drop-shadow(0 5px 30px var(--cLdeepTealBlueTransparent));
}
fieldset:not(:has( legend)) {padding-top: min(2em, 4vw);}
fieldset.init {background-color: transparent;}
fieldset.qoute::before {
    position: absolute;
    content: '';
    opacity: .66;
    pointer-events: none;
    inset: calc(min(3em,8vw) * -1) 0 0;
    background-color: var(--cLlimeBright);
    -webkit-mask: url("assets/images/guillemet.svg") left 0% / min(7em,15vw) no-repeat;
    mask: url("assets/images/guillemet.svg") left 0% / min(7em,15vw) no-repeat;
}
:is(fieldset,.fieldset) h3 {
    font-weight: 700;
    font-size: clamp(min(1.5em,4vw),1.5vw,28px);
}
:is(fieldset,.fieldset) h3 > em {color: var(--cLlimeBright);}
:is(fieldset,.fieldset) h3::after {
    content: '';
    height: 2px;
    width: 96px;
    display: block;
    display: block;
    margin-top: .5em;
    background-color: var(--cLlimeBright);
}
.bg-cLlimeBright:is(fieldset,.fieldset) h3::after {background-color: var(--cLlimeBright);}
.bg-cLlimeBright:is(fieldset,.fieldset) h3::after {background-color: var(--cLwhite);}
.bg-cLlimeBright:is(fieldset,.fieldset) p {color: var(--cLdeepTeal);}
:is(fieldset,.fieldset) .check-list {font-size: clamp(min(1.2em,4vw),1.3vw, 22px);}
:is(fieldset,.fieldset) p {font-size: clamp(min(1.2em,4vw),1.3vw, 22px);}
:is(fieldset,.fieldset) .lumiosbrush {
    line-height: 1;
    font-size: clamp(min(1.6em,5vw),2.5vw, 38px)
}
fieldset .foot {
    position: relative;
    line-height: 1;
    text-align: center;
    top: min(2.5em, 4vw);
    background-color: var(--cLlimeBright);
    padding: min(1.3em, 2vw) min(2.5em, 4vw);
    margin-inline: calc(min(2em, 4vw) * -1);
    border-radius: 0 0 min(34px,3vw) min(34px,3vw);
}
fieldset legend {
    margin-block: 0;
    font-weight: 700;
    border-radius: 2em;
    text-align: center;
    margin-inline: auto;
    text-transform: uppercase;
    color: var(--cLlimeBright);
    background-color: var(--cLdeepTeal);
    font-family: "lumios-brush",sans-serif;
    padding: min(0.5em, 3vw) min(1.5em, 5vw);
}
fieldset legend h2 {
    line-height: 1;
    font-size: clamp(24px,2.3vw,42px);
}
fieldset.bg-cLdeepTeal legend {
    color: var(--cLdeepTeal);
    background-color: var(--cLlimeBright);
}

.grid.reverse {direction: rtl;}
.grid.reverse [class^="text"] {direction: ltr;}


[style^="--bg-image"] {
    display: flex;
    column-gap: .7em;
}
[style^="--bg-image"]::before {
    position: relative;
    content: "";
    display: block;
    flex: 0 0 auto;
    transition: initial;
    pointer-events: none;
    padding: min(.7rem, 3vw);
    background: var(--bg-image) center / contain no-repeat;
}
/* dynamique sections */
:is(section:has( .cliping.image) + section:has( .cliping.image)) > .cliping + [class^="container"],
section:not(:is([class*=bg-], *:has( .cliping))) + :is(section, footer):not(:is([class*=bg-], *:has( .cliping)))>[class^="container"]:not(*~*) {padding-top: 0;}
header + main > *:is(:first-child):not(.sc1) {margin-top: min(6em,17vw);}
/* header */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    font-size: clamp(14px,1vw,19px);
    background-color: var(--cLwhite);
}
header [class^="container"] {padding-block: 0;}
header .row {
    flex-wrap: nowrap;
    /* column-gap: 1.5%; */
}
header .rs [style^="--icn-"]::before {padding: min(0.8125rem, 2vw);}
header .left {
    flex: 0 0 auto;
}
header .logo {
    position: relative;
    display: flex;
    margin-left: -.5em;
    align-items: center;
    width: min(227px,20vw);
    height: min(100px,15vw);
    justify-content: center;
    padding: min(.5em,3vw) min(1.5em,3vw);
}
header .logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
/* header .logo img {width: min(221px,min(100%,30vw));} */
header .logo::before {
    position: absolute;
    inset: 0;
    content: '';
    z-index: -1;
    background-color: var(--cLwhite);
    box-shadow: 0 0 0 100vw var(--cLwhite);
    clip-path: inset(0 0 0 -100vw round 0rem);
}
header .right {
    position: relative;
    flex: 1;
    display: grid;
}
header .right > .flex:not(.top-header) {
    column-gap: min(1em,2vw);
    justify-content: flex-end;
}
header .right > .flex > .mob:not(.open-nav) {margin-block: auto;}
header .right::before {
    position: absolute;
    inset: 0;
    content: '';
    z-index: -1;
    background-color: var(--cLblueIceLight);
    box-shadow: 0 0 0 100vw var(--cLblueIceLight);
    clip-path: inset(0 -100vw 0 0 round 0rem);
}
header .top-header::before {
    position: absolute;
    inset: 0;
    content: '';
    z-index: -1;
    background-color: var(--cLblueLight);
    box-shadow: 0 0 0 100vw var(--cLblueLight);
    clip-path: inset(0 -100vw 0 0 round 0rem);
}
header .ct-nav {
    position: fixed;
    inset: 0;
    z-index: 2;
    visibility: hidden;
    transition: all .3s;
}
header .ct-nav:has( ~ input:checked) {
    visibility: visible;
}
header .ct-nav > nav {
    position: relative;
    left: 100%;
    height: 100%;
    display: grid;
    row-gap: .7em;
    overflow-y: scroll;
    transition: all .3s;
    align-content: start;
    background-color: var(--cLwhite);
    padding: min(6em,25vw) min(2em,10vw) min(2em,5vw);
}
header .ct-nav:has( ~ input:checked) > nav {translate: -100% 0;}
header .primary {
    display: flex;
    row-gap: .7em;
    flex-direction: column;
}
header .primary li:has( > ul) {
    gap: 0;
    transition: all .3s;
    grid-template-rows: 1.7em 0fr;
}
header .primary > li > a {
    font-weight: 700;
    text-transform: uppercase;
}
header .primary li:has( > label > input:checked) {grid-template-rows: 1.7em 1fr;}
header .primary ul {overflow: hidden;}
header + main > *:first-child {margin-top: clamp(min(1.2em,5vw),7vw,8em);}
header + main > *:first-child:is(.sc1,.sc8) > [class^="container"] {padding-top: 0;}
/* sc1 */
.sc1 .grid {
    display: grid;
    grid-gap: 0px;
    grid-template-columns: 1fr;
    /* grid-template-rows: repeat(50, 1fr); */
}
.sc1 .grid .wrapper-video { 
    position: relative;
    isolation: isolate;
    margin-inline: -.5em;
    grid-area: 1 / 1 / 30 / 2;
    background-color: var(--cLdeepTealBlue);
}
.sc1 .grid .wrapper-video::before {
    position: absolute;
    inset: 0;
    content: '';
    opacity: .53;
    background-color: var(--cLdeepTealBlue);
}
.sc1 .grid .wrapper-video video {
    width: 100%;
    height: clamp(min(500px,100vw),30vw, 591px);
}
.sc1 .grid .wrapper-video .inner {
    position: absolute;
    inset: 0;
    color: var(--cLwhite);
    align-content: center;
    padding: min(4em,5vw);
    /* padding: min(9em,10vw)  min(4em,5vw) min(4em,5vw); */
}
.sc1 .grid .wrapper-video .text h1 {
    font-weight: 400;
    font-family: "lumios-brush",sans-serif;
    font-size: clamp(min(43px,10.4vw),4.8vw,80px);
}
.sc1 .grid .wrapper-video .text {
    line-height: 1.2;
    margin-left: auto;
    row-gap: min(2em,8vw);
    width: min(647px,100%);
    font-size: clamp(min(18px,5vw),4vw,28px);
}
.sc1 .grid .wrapper-text {
    position: relative;
    z-index: 2;
    margin-inline: -.5em;
    grid-area: 26 / 1 / 51 / 2;
    border: 1px solid #00000000;
    border-radius: min(100px,10vw) 0 0 0;
    background: url('assets/images/embleme-mycee.svg') min(650px,100%) center / min(239px,50vw) no-repeat, url('assets/images/masque.svg') center / cover no-repeat, var(--cLblueIceLight);
}
.sc1 .grid .wrapper-text h2 {
    font-weight: 400;
    font-size: clamp(24px,2vw,35px);
}
.sc1 .wrapper-text .text {
    height: 100%;
    width: min(800px,100%);
    padding: min(9em,10vw) min(4em,5vw) min(4em,10vw);
}
.sc1 .listing {
    position: relative;
    width: 100%;
    display: grid;
    gap: min(1em,3vw);
    filter: drop-shadow(0 5px 30px var(--cLdeepTealBlueTransparent));
    grid-template-columns: repeat(auto-fill, minmax(max(min(150px,40vw), 30%), 1fr));
}
.sc1 .listing li[style^="--bg-image"] {
    align-items: center;
    padding: min(1em,3vw);
    border-radius: min(10px,2vw);
    background-color:  var(--cLwhite);
}
.sc1 .listing li[style^="--bg-image"] > p {
    flex: 1;
    display: block;
    line-height: 1.2;
}
/* sc3 */
.sc3 .text-center .deco {
    line-height: 1;
    font-weight: 400;
    font-size: clamp(min(41px,9vw),6vw,80px);
    font-family: "lumios-brush",sans-serif;
}
.sc3 .grid {
    display: grid;
    gap: min(1.5em,3vw) 2%;
    filter: drop-shadow(0 5px 30px var(--cLdeepTealBlueTransparent));
    grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80%), 20%), 1fr));
}
.sc3 .grid img {
    object-fit: contain;
    object-position: center top;
}
/* sc4 */
.sc4 .flex:has( .left,.right) {column-gap: 5%;}
.sc4 .flex .left {flex: 1 1 max(300px,35%);}
.sc4 .flex .right {flex: 1 1 max(300px,40%);}
.sc4 .flex .left h2 {
    font-weight: 700;
    font-size: clamp(min(25px,5.7vw),2.1vw,50px);
}
.sc4 .flex .left h2 em {
    display: block;
    color: var(--cLlimeBright);
}
.sc4 .flex .left h2::after {
    content: '';
    height: 2px;
    width: 96px;
    display: block;
    display: block;
    margin-top: .5em;
    background-color: currentColor;
}
.sc4 .grid:not(:has(.swiper-wrapper)) {row-gap: 1em;}
.sc4 .grid:not(:has(.swiper-wrapper)) {
    display: grid;
    gap: min(2em, 4vw) 2%;
    filter: drop-shadow(0 5px 30px var(--cLdeepTealBlueTransparent));
    grid-template-columns: repeat(auto-fill, minmax(max(min(300px, 80%), 30%), 1fr));
}
.sc4 .text-center .deco {
    line-height: 1;
    font-weight: 400;
    font-size: clamp(min(41px,9vw),6vw,80px);
}
.sc4 .content-text {
    display: flex;
    flex-wrap: wrap;
    gap: min(1.5em,3vw) 5%;
    border-radius: min(20px,4vw);
    padding: min(40px,5vw) min(70px,5vw);
    background-color: var(--cLlimeBright);
    filter: drop-shadow(0 5px 30px var(--cLdeepTealBlueTransparent));
    /* grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80%), 30%), 1fr)); */
}
.sc4 .content-text > .text:nth-child(1) {
    flex: 1 1 max(200px,20%);
}
.sc4 .content-text > .text:nth-child(2) {
    flex: 1 1 max(303px,35%);
}
.sc4 .content-text > .text:nth-child(3) {
    flex: 1 1 max(200px,15%);
}
.sc4 .content-text h3 {
    font-weight: 700;
    font-size: clamp(min(21px,5.3vw),1.8vw,33px);
}
.sc4 .content-text h3::after {
    content: '';
    height: 2px;
    width: 96px;
    display: block;
    display: block;
    margin-top: .5em;
    background-color: currentColor;
}
.sc4 .content-text p {
    font-size: clamp(min(14px,4vw),1.3vw,21px);
}
/* sc5 */
/* .sc5 .cliping ~ * {color: inherit;} */
.sc5 .cliping img {
    position: fixed;
    inset: 0;
}
.sc5 .columns {
    display: grid;
    gap: min(1.5em,3vw) 5%;
    filter: drop-shadow(0 5px 30px var(--cLdeepTealBlueTransparent));
    grid-template-columns: repeat(auto-fill, minmax(max(min(300px,80%), 40%), 1fr));
}
.sc5 .text .deco {
    line-height: 1;
    font-weight: 400;
    font-size: clamp(min(41px,9vw),6vw,80px);
    font-family: "lumios-brush",sans-serif;
}
.sc5 .text h3 {
    font-weight: 700;
    font-size: clamp(min(18px,5vw),1.8vw,28px);
}
.sc5 .grid {
    display: grid;
    grid-gap: 2%;
    /* grid-template-columns: repeat(30, 1fr); */
    /* grid-template-rows: repeat(40, 1fr); */
}
.sc5 .grid > picture:nth-child(1) { grid-area: 1 / 1 / 21 / 20; }
.sc5 .grid > picture:nth-child(2) { grid-area: 1 / 20 / 11 / 31;}
.sc5 .grid > picture:nth-child(3) { grid-area: 11 / 20 / 21 / 31; }
.sc5 .grid > picture:nth-child(4) { grid-area: 21 / 1 / 41 / 12; }
.sc5 .grid > picture:nth-child(5) { grid-area: 21 / 12 / 41 / 31; }
.sc5 .grid > picture {
    overflow: hidden;
    border-radius: min(20px,3vw);
}
.sc5 .grid > picture img {aspect-ratio: 1/0.7;}
:is(.sc5 .grid > picture:nth-child(2),.sc5 .grid > picture:nth-child(3)) img {aspect-ratio: 1/0.55;}
/* sc6 */
.sc6 {clip-path: inset(min(2em,5vw) round min(2rem,3vw));}
.sc6 .row {padding-inline: min(2em,5vw);}
.sc6 .text-center .deco {
    line-height: 1;
    font-weight: 400;
    font-size: clamp(min(41px,9vw),6vw,80px);
}
.sc6 .counts {
    position: relative;
    width: 100%;
    display: grid;
    gap: min(1.5em,3vw);
    filter: drop-shadow(0 5px 30px var(--cLdeepTealBlueTransparent));
    grid-template-columns: repeat(auto-fill, minmax(max(min(150px,40vw), 23%), 1fr));
}
.sc6 .counts li {
    text-align: center;
    line-height: 1;
    font-weight: 700;
    color: var(--cLwhite);
    padding: min(2em,5vw);
    border-radius: min(20px,3vw);
    background-color: var(--cLdeepTealDark);
    font-size: clamp(min(14px,5vw),2vw,24px);
}
.sc6 .counts li > strong {
    line-height: 1;
    display: block;
    font-weight: 400;
    color: var(--cLlimeBright);
    font-family: "lumios-brush",sans-serif;
    font-size: clamp(min(58px,7vw),2vw,80px);
}
/* sc7 */
.sc7 h1 {
    line-height: .8;
    font-weight: 400;
    font-family: "lumios-brush",sans-serif;
    font-size: clamp(min(43px,10.4vw),4.8vw,94px);
}
.sc7 .cliping {isolation: isolate;}
.sc7 .cliping::after {
    position: absolute;
    inset: 0;
    content: '';
    opacity: .53;
    background-color: var(--cLdeepTealBlue);
}
.sc7 [class^="text"] {row-gap: min(0.5em,3vw);}
/* sc8 */
:is(.sc8,.sc9) .cliping img {
    position: fixed;
    inset: 0;
}
.sc8 {overflow: hidden;}
.sc8 .row {
    position: relative;
    gap: 4em 5%;
    border-radius: 0 0 0 min(53px,5vw);
    background-color: var(--cLgrayLight);
}
.sc8 [class^="text"] {row-gap: .5em;}
.sc8 [class^="text"] > p:not(:has( [class^="btn"])) + p:not(:has( [class^="btn"])) {margin-top: 0;}
.sc8 .row .left {
    display: grid;
    align-content: center;
    padding: min(2.5em,5vw);
    flex: 1 1 max(300px,55%);
    box-shadow: 0 0 0 100vw var(--cLgrayLight);
}
.sc8 .row .left .breadcrumb {
    text-align: left;
    justify-content: initial;
}
.sc8 .row .left h1 {
    font-weight: 700;
    font-size: clamp(24px,2.3vw,42px);
}
.sc8 .row .left h1::after {
    content: '';
    height: 2px;
    width: 96px;
    display: block;
    display: block;
    margin-top: .5em;
    background-color: var(--cLlimeBright);
}
.sc8 .row .right {
    position: relative;
    flex: 1 1 max(300px,30%);
}
.sc8 .row .right .img-float {
    position: absolute;
    left: 0;
    top: -3em;
    z-index: 1;
    aspect-ratio: 1/1.3;
    object-fit: contain;
    padding: min(2em,3vw);
    width: min(305px,17vw);
    border-radius: min(40px,3vw);
    background-color: var(--cLwhite);
    box-shadow: 0px 15px 30px #00000029;
}
.sc8 .row .right > div {
    position: relative;
    display: grid;
    grid-gap: 0px;
    overflow: hidden;
    margin-inline: -6.6vw;
    grid-template-columns: 1fr;
    border-radius: 0 0 0 min(53px,5vw);
    background-color: var(--cLgrayLight);
}
.sc8 .row .right picture { 
    display: grid;
    grid-gap: 0px;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}
.sc8 .row .right picture > * {
    height: 100%;
    width: 100%;
    display: block;
    max-width: initial;
    object-fit: cover;
}
.sc8 .row .right > div > *,
.sc8 .row .right picture > * { 
    grid-area: 1 / 1 / 2 / 2; 
    height: min(400px,55vw);
}
/* sc9 */
.sc9 .grid {
    display: grid;
    gap: min(5em,10vw) 5%;
    grid-template-columns: repeat(auto-fill, minmax(max(min(300px, 80%), 40%), 1fr));
}
.sc9 .grid picture {border-radius: min(20px,4vw);}
/* sc11 */
.sc11 h2 {font-size: clamp(min(1.9em,5.5vw),2vw, 40px);}
/* sc13 */
.sc13 .row {
    display: flex;
    flex-wrap: wrap;
    gap: min(1.5em,3vw) 5%;
    filter: drop-shadow(0 5px 30px var(--cLdeepTealBlueTransparent));
}
.sc13 .row > .left {
    flex: 1 1 max(300px,50%);
}
.sc13 .row > .right {
    flex: 1 1 max(300px,30%);
}
.sc13 .row > .right .ct-fixed {
    position: sticky;
    top: min(9em,15vw);
}
.sc13 .wrapper-cardsD {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.sc13 .wrapper-cardsD .pagination {
    display: flex;
    margin-top: 1em;
    justify-content: center;
}
/* sc14 */
.sc14 .row {
    padding-block: min(1em,5vw);
    border-top: 1px solid var(--cLgrayDark1);
}
.sc14 .row .link.rotate-180::before {rotate: -180deg;}
.sc14 .row .link.rotate-0::after {rotate: 0deg;}
/* .sc14 .row { */
/* footer */
footer {font-size: 16px;}
footer [class^="container"] {padding-block: min(3.5em,10vw);}
footer [class^="container"]:nth-child(2) {
    padding-block: min(1.5em,6vw);
    border-top: 1px solid var(--cLdeepTealBlueTransparent);
}
footer [class^="text"] {row-gap: 1.5em;}
footer a.logo {
    display: block;
    width: min(184px,min(40vw,100%));
}
footer a.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
footer .row {
    position: relative;
    line-height: 1;
    margin-inline: auto;
    gap: min(2em,8vw) 2%;
    width: min(1460px,100%);
}
footer .row .nav {
    display: grid;
    row-gap: min(1.5em,5vw);
}
footer .row .nav [href^="tel:"] {color: var(--cLlimeBright);}
footer h6 {
    font-size: 20px;
    font-weight: 700;
}
footer .row .map iframe {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    height: min(228px,50vw);
    border-radius: min(10px,2vw);
}
footer .logos {
    /* display: flex;
    flex-wrap: wrap;
    gap: min(2vw,8vw) 8%;
    justify-content: center; */
    width: 100%;
    display: grid;
    justify-items: center;
    gap: min(2em,5vw) 2%;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, minmax(max(min(100px, 27vw), 15%), 0fr));
}

footer .logos img {
    width: 100%;
    display: block;
    object-fit: contain;
    height: min(110px,20vw);
}
footer [class^="container"]:nth-child(3) {
    text-align: center;
    font-size: 14px;
    padding-block: min(1em,5vw);
    background-color: var(--cLwhite);
    box-shadow: 0 0 0 100vw var(--cLwhite);
    clip-path: inset(0 -100vw round min(2rem,3vw));
}
footer .nav-footer {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    align-items: center;
    justify-content: center;
}
footer .nav-footer > li:not(:first-child) {
    display: flex;
}
footer .nav-footer > li:not(:first-child)::before {
    content: '-';
    margin-inline: 1em;
}
/* -- */
@media screen and (width>=1200px)  {.mob{display: none !important;}}
@media screen and (width<1200px)  {.desk{display: none !important;}}