.elementor-724 .elementor-element.elementor-element-d29affc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:2%;--padding-bottom:2%;--padding-left:10%;--padding-right:10%;}.elementor-724 .elementor-element.elementor-element-c5bfdc8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:2%;--padding-bottom:3%;--padding-left:10%;--padding-right:10%;}.elementor-724 .elementor-element.elementor-element-3689d38{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:10%;--padding-right:10%;}.elementor-724 .elementor-element.elementor-element-3689d38:not(.elementor-motion-effects-element-type-background), .elementor-724 .elementor-element.elementor-element-3689d38 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-89e292a );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );color:var( --e-global-color-primary );}.elementor-724 .elementor-element.elementor-element-08bea8c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-724 .elementor-element.elementor-element-08bea8c .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var( --e-global-color-secondary );}.elementor-724 .elementor-element.elementor-element-d96c22a{padding:0% 45% 0% 0%;}.elementor-724 .elementor-element.elementor-element-d96c22a .elementor-heading-title{font-family:"League Gothic", Sans-serif;font-size:5rem;font-weight:400;text-transform:uppercase;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-724 .elementor-element.elementor-element-e9f0b05{padding:0% 40% 0% 0%;font-family:"Oswald", Sans-serif;font-size:20px;font-weight:300;line-height:26px;letter-spacing:0.1px;color:var( --e-global-color-932bb11 );}.elementor-724 .elementor-element.elementor-element-1c3570f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:10%;--padding-right:10%;}.elementor-724 .elementor-element.elementor-element-953d4fd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-724 .elementor-element.elementor-element-953d4fd .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var( --e-global-color-secondary );}.elementor-724 .elementor-element.elementor-element-9cabfef{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:10%;--padding-right:10%;}.elementor-724 .elementor-element.elementor-element-9cabfef:not(.elementor-motion-effects-element-type-background), .elementor-724 .elementor-element.elementor-element-9cabfef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-89e292a );}.elementor-724 .elementor-element.elementor-element-b29461e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:10%;--padding-right:10%;}.elementor-724 .elementor-element.elementor-element-b29461e:not(.elementor-motion-effects-element-type-background), .elementor-724 .elementor-element.elementor-element-b29461e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2d86f29 );}.elementor-724 .elementor-element.elementor-element-9e19087{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:10%;--padding-right:10%;}.elementor-724 .elementor-element.elementor-element-f1dec79{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:10%;--padding-right:10%;}.elementor-724 .elementor-element.elementor-element-f1dec79:not(.elementor-motion-effects-element-type-background), .elementor-724 .elementor-element.elementor-element-f1dec79 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-89e292a );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-724 .elementor-element.elementor-element-d96c22a{padding:0% 0% 0% 0%;}.elementor-724 .elementor-element.elementor-element-e9f0b05{padding:0% 0% 0% 0%;}}@media(max-width:767px){.elementor-724 .elementor-element.elementor-element-d29affc{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-724 .elementor-element.elementor-element-c5bfdc8{--min-height:30vh;}.elementor-724 .elementor-element.elementor-element-d96c22a{padding:0% 0% 0% 0%;}.elementor-724 .elementor-element.elementor-element-d96c22a .elementor-heading-title{font-size:3.5rem;}.elementor-724 .elementor-element.elementor-element-e9f0b05{padding:0% 0% 0% 0%;}}/* Start custom CSS for html, class: .elementor-element-6014d8f */.crumb {
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(22, 26, 22, 0.5);
  margin-bottom: 26px;
}
.crumb a {
  color: rgba(22, 26, 22, 0.5);
  text-decoration: none;
}
.crumb a:hover {
  color: var(--orange);
}
.crumb b {
  color: var(--forest);
  font-weight: 600;
}
.pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(22, 26, 22, 0.1);
  padding-bottom: 22px;
}
.pills .pill{
    appearance:none;
    -webkit-appearance:none;

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:10px 20px;
    border-radius:40px;
    border:1px solid rgba(22,26,22,.1);

    background:var(--cloud);
    color:rgba(22,26,22,.62);

    font-family:"Oswald",sans-serif;
    font-size:13px;
    font-weight:500;
    letter-spacing:.06em;
    text-transform:uppercase;

    cursor:pointer;
    transition:all .28s ease;
}

.pills .pill .dt{
    width:7px;
    height:7px;
    border-radius:50%;
    background:rgba(22,26,22,.25);
    transition:background .28s ease;
}

.pills .pill:hover,
.pills .pill:focus,
.pills .pill:focus-visible{
    background:var(--cloud);
    color:var(--forest);
    border-color:rgba(255,83,0,.5);
    outline:none;
}

.pills .pill.active,
.pills .pill.active:hover,
.pills .pill.active:focus,
.pills .pill.active:focus-visible{
    background:var(--forest) !important;
    color:var(--bone) !important;
    border-color:var(--forest) !important;
}

.pills .pill.active .dt{
    background:var(--orange) !important;
}

@media (max-width: 767px){

    .crumb{
        font-size:11px;
        letter-spacing:.06em;
        margin-bottom:18px;
        line-height:1.5;
    }

    .pills{
        flex-wrap:wrap;
        overflow-x:auto;
        overflow-y:hidden;
        gap:8px;
        padding-bottom:16px;

        -ms-overflow-style:none;
        scrollbar-width:none;
    }

    .pills::-webkit-scrollbar{
        display:none;
    }

    .pills .pill{
        flex:0 0 auto;
        padding:9px 11px;
        font-size:12px;
        gap:6px;
        white-space:nowrap;
    }

    .pills .pill .dt{
        width:6px;
        height:6px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8e5d9bd */.phero {
  padding: 52px 0 30px;
}
.phero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 58px;
  align-items: center;
}
.gal {
  position: relative;
}
.gal-main {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 8px;
  overflow: hidden;
  background: var(--fallback);
  border: 1px solid rgba(22, 26, 22, 0.08);
}
.gal-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition:
    opacity 0.45s var(--ease),
    transform 0.9s var(--ease);
}
.gal-main:hover img {
  transform: scale(1.04);
}
.gal-main .aud {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(14, 42, 25, 0.62);
  color: var(--bone);
  padding: 6px 11px;
  border-radius: 2px;
  border: 1px solid rgba(243, 236, 219, 0.25);
}
.gal-main .swp {
  position: absolute;
  top: 0;
  left: -80%;
  width: 55%;
  height: 100%;
  background: linear-gradient(
    100deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  transform: skewX(-18deg);
  transition: left 0.8s var(--ease);
  z-index: 3;
  pointer-events: none;
}
.gal-main:hover .swp {
  left: 135%;
}
.pinfo .price {
  font-family: "League Gothic";
  font-size: 30px;
  color: var(--forest);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 0 0 6px;
}
.pinfo .price .sur {
  font-family: "Oswald";
  font-weight: 400;
  font-size: 13px;
  color: rgba(22, 26, 22, 0.5);
  letter-spacing: 0.04em;
}
.pinfo h1 {
  font-size: clamp(40px, 5.2vw, 68px);
  color: var(--forest);
  margin: 6px 0 0;
}
.pinfo .pitch {
  font-size: clamp(16px, 1.7vw, 18px);
  font-weight: 300;
  color: rgba(22, 26, 22, 0.74);
  line-height: 1.6;
  margin: 18px 0 22px;
  max-width: 46ch;
}
.specs {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 28px;
}
.spec {
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--forest);
  background: rgba(24, 67, 46, 0.07);
  border: 1px solid rgba(24, 67, 46, 0.16);
  border-radius: 3px;
  padding: 7px 12px;
}
.pcta {
  display: flex;
  gap: 13px;
  flex-wrap: wrap;
}

@media (max-width: 767px){

    .phero{
        padding: 32px 0 24px;
    }

    .phero-grid{
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .gal-main{
        aspect-ratio: 4 / 3;
    }

    .gal-main .aud{
        top: 10px;
        left: 10px;
        font-size: 9px;
        padding: 5px 8px;
    }

    .pinfo .price{
        font-size: 24px;
        margin-bottom: 4px;
    }

    .pinfo .price .sur{
        font-size: 11px;
    }

    .pinfo h1{
        font-size: clamp(34px, 10vw, 48px);
        line-height: .95;
        margin-top: 8px;
    }

    .pinfo .pitch{
        font-size: 15px;
        line-height: 1.55;
        margin: 16px 0 20px;
        max-width: 100%;
    }

    .specs{
        gap: 7px;
        margin-bottom: 22px;
    }

    .spec{
        font-size: 10px;
        padding: 6px 10px;
        letter-spacing: .04em;
    }

    .pcta{
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .pcta > *{
        width: 100%;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1610410 */.gvideo .frame {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 21/9;
  background: var(--fallback);
  border: 1px solid rgba(22, 26, 22, 0.1);
}
.gvideo video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s var(--ease);
}
.gvideo video.playing {
  opacity: 1;
}
.gvideo .poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gvideo .grade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(14, 42, 25, 0.1),
    rgba(10, 30, 18, 0.5)
  );
  z-index: 1;
}
.gvideo .vlabel {
  position: absolute;
  left: 20px;
  bottom: 18px;
  z-index: 2;
  color: var(--bone);
  font-family: "League Gothic";
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 0.02em;
}
.gvideo .vlabel small {
  display: block;
  font-family: "Oswald";
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--soft);
  margin-top: 4px;
}
.gvideo .play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 74px;
  height: 74px;
  border-radius: 50%;
  border: 2px solid var(--orange);
  background: rgba(14, 42, 25, 0.34);
  backdrop-filter: blur(2px);
  display: grid;
  place-items: center;
  z-index: 3;
  transition:
    opacity 0.4s,
    transform 0.35s var(--ease);
  cursor: pointer;
}
.gvideo .frame.playing .play {
  opacity: 0;
  pointer-events: none;
}
.gvideo .play::after {
  content: "";
  border-left: 20px solid var(--orange);
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  margin-left: 5px;
}
.gvideo .frame.playing video { opacity: 1; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-d96c22a */.o{
    color: var(--orange);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d6041f2 */.models .eyebrow {
  color: var(--orange);
}
.models h2 {
  color: var(--forest);
  max-width: 20ch;
  margin-bottom: 10px;
}
.models .intro {
  color: rgba(22, 26, 22, 0.66);
  font-size: 16px;
  line-height: 1.6;
  max-width: 60ch;
  margin-bottom: 14px;
}
.prov {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9a6a00;
  background: rgba(255, 193, 7, 0.12);
  border: 1px solid rgba(255, 193, 7, 0.4);
  border-radius: 40px;
  padding: 6px 13px;
  margin-bottom: 40px;
}
.prov::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e0a100;
}
.mgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: start;
}
.mcard {
  background: var(--snow);
  border: 1px solid rgba(22, 26, 22, 0.08);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.4s var(--ease),
    box-shadow 0.4s var(--ease),
    border-color 0.4s;
}
.mcard:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 50px -22px rgba(14, 42, 25, 0.26);
  border-color: rgba(255, 83, 0, 0.4);
}
.mcard.jpick {
  border-color: rgba(255, 83, 0, 0.5);
}
.mcard .mi {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--fallback);
}
.mcard .mi img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease);
}
.mcard:hover .mi img {
  transform: scale(1.06);
}
.mcard .mi .swp {
  position: absolute;
  top: 0;
  left: -80%;
  width: 55%;
  height: 100%;
  background: linear-gradient(
    100deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  transform: skewX(-18deg);
  transition: left 0.75s var(--ease);
  z-index: 2;
  pointer-events: none;
}
.mcard:hover .mi .swp {
  left: 135%;
}
.mcard .mtag {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: rgba(14, 42, 25, 0.62);
  color: var(--bone);
  padding: 5px 10px;
  border-radius: 2px;
}
.mcard .mb {
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.mcard .mname {
  font-family: "League Gothic";
  font-size: 25px;
  color: var(--forest);
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 8px;
}
.mcard .mdesc {
  font-size: 14px;
  color: rgba(22, 26, 22, 0.66);
  line-height: 1.55;
  margin-bottom: 16px;
}
/* specs techniques repliables */
.mspecs {
  border-top: 1px solid rgba(22, 26, 22, 0.09);
  margin-bottom: 8px;
}
.mspecs summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 0;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mspecs summary::-webkit-details-marker {
  display: none;
}
.mspecs summary .chev {
  transition: transform 0.3s var(--ease);
  color: var(--orange);
  font-size: 14px;
}
.mspecs[open] summary .chev {
  transform: rotate(180deg);
}
.mspecs .rows {
  padding-bottom: 12px;
}
.mspecs .row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  font-size: 13px;
  border-top: 1px solid rgba(22, 26, 22, 0.05);
}
.mspecs .row .rk {
  color: rgba(22, 26, 22, 0.55);
}
.mspecs .row .rv {
  color: var(--forest);
  font-weight: 500;
  text-align: right;
}
.mspecs .note {
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(22, 26, 22, 0.4);
  padding-top: 8px;
}
/* bandeau choix de Jonathan dans la carte */
.jpickbar {
  margin: 0 0 16px;
  background: var(--forest);
  border-radius: 6px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.jpickbar .jav {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  flex: none;
  background: linear-gradient(150deg, #27543a, #0e2a19);
  border: 1.5px solid var(--orange);
}
.jpickbar .jav img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}
.jpickbar .jtxt {
  flex: 1;
}
.jpickbar .jhead {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
}
.jpickbar .jk {
  font-family: "League Gothic";
  text-transform: uppercase;
  color: var(--orange);
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.02em;
}
.jpickbar .jq {
  font-size: 13px;
  color: var(--bone);
  line-height: 1.5;
  font-style: italic;
}
.jpickbar .jname {
  font-size: 11px;
  color: var(--soft);
  margin-top: 6px;
  font-style: normal;
  letter-spacing: 0.02em;
}
.mcard .mfoot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 4px;
}
.mcard .mprice {
  font-family: "League Gothic";
  font-size: 21px;
  color: var(--forest);
  text-transform: uppercase;
}
.mcard .mprice .sur {
  font-family: "Oswald";
  font-weight: 400;
  font-size: 11px;
  color: rgba(22, 26, 22, 0.5);
  display: block;
  letter-spacing: 0.04em;
}
.mcard .mlink {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--orange);
  text-decoration: none;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  white-space: nowrap;
}
.mcard .mlink .arrow {
  transition: transform 0.28s var(--ease);
}
.mcard:hover .mlink .arrow {
  transform: translateX(4px);
}

.mrail {
  position: relative;
}
.mtrack {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  /* marge intérieure pour ne pas rogner le survol (translateY -6px) */
  padding: 10px 2px 18px;
  margin: -10px -2px 0;
  scrollbar-width: none;
}
.mtrack::-webkit-scrollbar {
  display: none;
}
.mtrack > .mcard {
  flex: 0 0 calc((100% - 44px) / 3); /* 3 par vue (2 gaps de 22px) */
  scroll-snap-align: start;
}
/* flèches : présentes seulement quand ça déborde (>3) */
.rail-nav {
  position: absolute;
  top: 34%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(22, 26, 22, 0.16);
  background: var(--snow);
  color: var(--forest);
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 5;
  box-shadow: 0 12px 26px -14px rgba(14, 42, 25, 0.5);
  transition:
    opacity 0.25s var(--ease),
    background 0.25s,
    border-color 0.25s;
}
.rail-nav:hover {
  border-color: var(--orange);
  background: var(--cloud);
}
.rail-nav.prev {
  left: -14px;
}
.rail-nav.next {
  right: -14px;
}
.rail-nav svg {
  width: 18px;
  height: 18px;
}
.rail-nav[disabled] {
  opacity: 0;
  pointer-events: none;
}
/* tant qu'il n'y a pas de débordement (≤3 modèles) : pas de flèches */
.mrail:not(.has-overflow) .rail-nav {
  display: none;
}

.mrail { position: relative; }

.mtrack { align-items: flex-start; }
/* ===== TABLETTE (≤ 980px) : 2 cartes par vue ===== */
@media (max-width: 980px) {
  .models { padding: 80px 0; }
  .mtrack > .mcard { flex-basis: calc((100% - 22px) / 2); }
}

/* ===== PHONE (≤ 680px) : 1 carte + aperçu, navigation au swipe ===== */
@media (max-width: 767px) {
  .models { padding: 0px 0; }
  .prov { margin-bottom: 28px; }
  .mtrack { gap: 14px; }
  .mtrack > .mcard { flex-basis: 86%; }  /* 1 carte pleine + un bout de la suivante */
  .rail-nav { display: none; }           /* plus de flèches : on swipe au doigt */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8bddfd2 */.bsec .eyebrow {
  color: var(--orange);
}
.bsec h2 {
  color: var(--forest);
  max-width: 18ch;
  margin-bottom: 50px;
}
.bgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.bft {
  background: var(--cloud);
  border: 1px solid rgba(22, 26, 22, 0.07);
  border-radius: 6px;
  padding: 30px 28px 32px;
  transition:
    transform 0.4s var(--ease),
    box-shadow 0.4s var(--ease),
    border-color 0.4s;
}
.bft:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 50px -22px rgba(14, 42, 25, 0.22);
  border-color: rgba(255, 83, 0, 0.35);
}
.bft-n {
  font-family: "League Gothic";
  font-size: 26px;
  color: var(--orange);
  display: block;
  margin-bottom: 12px;
}
.bft h3 {
  color: var(--forest);
  margin-bottom: 10px;
}
.bft p {
  font-size: 14.5px;
  color: rgba(22, 26, 22, 0.66);
  line-height: 1.6;
}

@media (max-width: 767px){

    .bsec h2{
        max-width: 100%;
        margin-bottom: 28px;
    }

    .bgrid{
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .bft{
        padding: 22px 20px 24px;
    }

    .bft:hover{
        transform:none;
        box-shadow:none;
    }

    .bft-n{
        font-size:22px;
        margin-bottom:8px;
    }

    .bft h3{
        margin-bottom:8px;
    }

    .bft p{
        font-size:14px;
        line-height:1.55;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-22be302 */.perso {
  background: var(--cloud);
  overflow: hidden;
}
.perso-grid {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 58px;
  align-items: center;
}
.perso .eyebrow {
  color: var(--orange);
}
.perso h2 {
  color: var(--forest);
}
.perso p.lead {
  font-size: clamp(16px, 1.7vw, 18px);
  font-weight: 300;
  color: rgba(22, 26, 22, 0.74);
  line-height: 1.62;
  margin: 18px 0 26px;
  max-width: 46ch;
}
.swatches {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.sw {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid rgba(22, 26, 22, 0.12);
  cursor: pointer;
  padding: 0;
  position: relative;
  transition: transform 0.25s var(--ease);
}
.sw:hover {
  transform: scale(1.1);
}
.sw.active {
  border-color: var(--ink);
}
.sw.active::after {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1.5px solid var(--pick);
  border-radius: 50%;
}
.sw-label {
  font-size: 13px;
  color: rgba(22, 26, 22, 0.6);
}
.sw-label b {
  color: var(--forest);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.perso-note {
  font-size: 13px;
  color: rgba(22, 26, 22, 0.5);
  margin-top: 22px;
  border-left: 2px solid var(--orange);
  padding-left: 16px;
  line-height: 1.55;
  max-width: 44ch;
}
.perso-stage {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 8px;
  overflow: hidden;
  background: var(--fallback);
  border: 1px solid rgba(22, 26, 22, 0.1);
}
.perso-stage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.perso-stage .livery {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 34%;
  background: linear-gradient(180deg, transparent, var(--pick));
  mix-blend-mode: multiply;
  opacity: 0.78;
  transition: background 0.4s var(--ease);
  pointer-events: none;
}
.perso-stage .band {
  position: absolute;
  left: 0;
  top: 42%;
  width: 100%;
  height: 13px;
  background: var(--pick);
  opacity: 0.92;
  transition: background 0.4s var(--ease);
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.18);
}
.perso-stage .tag {
  position: absolute;
  left: 16px;
  top: 16px;
  z-index: 2;
  font-family: "League Gothic";
  text-transform: uppercase;
  font-size: 18px;
  color: var(--bone);
  background: rgba(14, 42, 25, 0.55);
  backdrop-filter: blur(4px);
  padding: 7px 13px;
  border-radius: 3px;
  letter-spacing: 0.03em;
}
.perso-stage .tag i {
  color: var(--pick);
  font-style: normal;
  transition: color 0.4s;
}



@media (max-width: 767px){

    .perso{
        overflow: visible;
    }

    .perso-grid{
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .perso h2{
        margin-bottom: 12px;
    }

    .perso p.lead{
        font-size: 15px;
        line-height: 1.55;
        margin: 14px 0 20px;
        max-width: 100%;
    }

    .swatches{
        gap: 10px;
        margin-bottom: 12px;
    }

    .sw{
        width: 34px;
        height: 34px;
    }

    .sw.active::after{
        inset: -4px;
    }

    .sw-label{
        font-size: 12px;
        line-height: 1.4;
    }

    .perso-note{
        margin-top: 18px;
        padding-left: 12px;
        font-size: 12px;
        max-width: 100%;
    }

    .perso-stage{
        aspect-ratio: 4 / 3;
    }

    .perso-stage .tag{
        top: 12px;
        left: 12px;
        font-size: 15px;
        padding: 6px 10px;
    }

    .perso-stage .band{
        height: 10px;
    }
}

.perso-stage{
  aspect-ratio: 4 / 5;
  max-width: 500px;      /* ← bride la largeur du visuel */
  margin-inline: auto;   /* ← le recentre dans la colonne */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b92ad4e */.sav {
  background: var(--forest-deep);
  color: var(--bone);
}
.sav .eyebrow {
  color: var(--lime);
}
.sav h2 {
  color: var(--bone);
  max-width: 20ch;
}
.sav .grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 50px;
}
.sav .cell {
  border: 1px solid rgba(243, 236, 219, 0.14);
  border-radius: 6px;
  padding: 26px 22px;
  transition:
    border-color 0.35s var(--ease),
    transform 0.35s var(--ease);
}
.sav .cell:hover {
  border-color: rgba(201, 247, 58, 0.5);
  transform: translateY(-5px);
}
.sav .cell .k {
  font-family: "League Gothic";
  font-size: 30px;
  color: var(--lime);
  line-height: 1;
  margin-bottom: 12px;
}
.sav .cell .t {
  font-size: 14px;
  color: var(--soft);
  line-height: 1.55;
}
.sav .cell .t b {
  color: var(--bone);
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
}

@media (max-width: 767px){

    .sav .grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ae5d488 */.cross {
  background: var(--snow);
}
.cross .eyebrow {
  color: var(--orange);
}
.cross h2 {
  color: var(--forest);
  margin-bottom: 46px;
}
.ccards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ccard {
  background: var(--snow);
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(22, 26, 22, 0.08);
  cursor: pointer;
  transition:
    transform 0.4s var(--ease),
    box-shadow 0.4s var(--ease),
    border-color 0.4s;
  display: flex;
  flex-direction: column;
  text-align: left;
  padding: 0;
  font-family: inherit;
}
.ccard:hover {
    background: var(--snow)!important;
  transform: translateY(-6px);
  box-shadow: 0 26px 50px -22px rgba(14, 42, 25, 0.26);
  border-color: rgba(255, 83, 0, 0.4);
}
.ccard .ci {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--fallback);
  position: relative;
}
.ccard .ci img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease);
}
.ccard:hover .ci img {
  transform: scale(1.06);
}
.ccard .cb {
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.ccard .cb h3 {
  color: var(--forest);
  margin-bottom: 8px;
}
.ccard .cb p {
  font-size: 14px;
  color: rgba(22, 26, 22, 0.62);
  line-height: 1.5;
  margin-bottom: 16px;
  flex: 1;
}
.clink {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--orange);
  display: inline-flex;
  gap: 7px;
  align-items: center;
}
.clink .arrow {
  transition: transform 0.28s var(--ease);
}
.ccard:hover .clink .arrow {
  transform: translateX(4px);
}

@media (max-width: 767px){

    .cross h2{
        margin-bottom: 28px;
    }

    .ccards{
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ccard:hover{
        transform: none;
        box-shadow: none;
    }

    .ccard .cb{
        padding: 18px;
    }

    .ccard .cb h3{
        margin-bottom: 6px;
    }

    .ccard .cb p{
        font-size: 13px;
        margin-bottom: 12px;
    }

    .clink{
        font-size: 11px;
    }

    .ccard:hover .ci img,
    .ccard:hover .clink .arrow{
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2bb07bd */.fcta {
  background: var(--cloud);
  
}
.fcta-box {
  background: var(--forest);
  border-radius: 10px;
  padding: 64px 56px;
  position: relative;
  overflow: hidden;
}
.fcta-box::after {
  content: "";
  position: absolute;
  right: -60px;
  top: -60px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 83, 0, 0.4), transparent 70%);
}
.fcta-box .in {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 40px;
  align-items: center;
}
.fcta-box h2 {
  color: var(--bone);
}
.fcta-box p {
  color: var(--soft);
  font-size: 16px;
  line-height: 1.6;
  margin-top: 16px;
  max-width: 46ch;
}
.fcta-box .acts {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.fcta-box .telline {
  font-size: 13px;
  color: var(--soft);
  letter-spacing: 0.02em;
}
.fcta-box .telline b {
  color: var(--bone);
  font-weight: 600;
}

@media (max-width: 767px){

    .fcta-box{
        padding: 32px 24px;
        border-radius: 8px;
    }

    .fcta-box::after{
        width: 140px;
        height: 140px;
        top: -30px;
        right: -30px;
    }

    .fcta-box .in{
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .fcta-box h2{
        margin-bottom: 0;
    }

    .fcta-box p{
        font-size: 15px;
        line-height: 1.55;
        margin-top: 12px;
        max-width: 100%;
    }

    .fcta-box .acts{
        gap: 10px;
        align-items: stretch;
    }

    .fcta-box .acts > *{
        width: 100%;
    }

    .fcta-box .telline{
        font-size: 12px;
        line-height: 1.5;
    }
}/* End custom CSS */