.elementor-6045 .elementor-element.elementor-element-06bb084{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6045 .elementor-element.elementor-element-bd66e6f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6045 .elementor-element.elementor-element-ad8e119{--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;}.elementor-6045 .elementor-element.elementor-element-874bff4{z-index:1;}.elementor-6045 .elementor-element.elementor-element-874bff4 img{border-radius:25px 25px 25px 25px;box-shadow:1px 5px 27px 0px rgba(0,0,0,0.09);}.elementor-6045 .elementor-element.elementor-element-4ac2bfd{--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;}.elementor-6045 .elementor-element.elementor-element-1e45538 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:2.8px;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-27a725e{width:var( --container-widget-width, 114.072% );max-width:114.072%;--container-widget-width:114.072%;--container-widget-flex-grow:0;text-align:justify;font-family:"Montserrat", Sans-serif;font-size:14px;line-height:2.2em;letter-spacing:-0.2px;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-27a725e > .elementor-widget-container{margin:16px 0px 0px 0px;padding:0px 68px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-27a725e.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-6045 .elementor-element.elementor-element-cb47892{--display:flex;}.elementor-6045 .elementor-element.elementor-element-2a0c932 .elementor-repeater-item-6a505df.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-6045 .elementor-element.elementor-element-cc0e6cd > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-6045 .elementor-element.elementor-element-cc0e6cd > .elementor-element-populated{padding:5px 15px 0px 15px;}.elementor-6045 .elementor-element.elementor-element-d108b46 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-d108b46 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.231em;letter-spacing:1.5px;color:#730020;}.elementor-6045 .elementor-element.elementor-element-c12029b > .elementor-widget-container{margin:10px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-c12029b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:400;line-height:1.23em;color:#730020;}.elementor-6045 .elementor-element.elementor-element-b2c2eb4{--spacer-size:19px;}.elementor-6045 .elementor-element.elementor-element-d94cef5 .elementor-repeater-item-0b97625.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-6045 .elementor-element.elementor-element-371a7eb > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-6045 .elementor-element.elementor-element-371a7eb > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-ae7c808{--divider-border-style:solid;--divider-color:#730020;--divider-border-width:2px;}.elementor-6045 .elementor-element.elementor-element-ae7c808 .elementor-divider-separator{width:40px;}.elementor-6045 .elementor-element.elementor-element-ae7c808 .elementor-divider{padding-block-start:11px;padding-block-end:11px;}.elementor-6045 .elementor-element.elementor-element-7fc5a3c > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-6045 .elementor-element.elementor-element-7fc5a3c > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-71b2eb4 > .elementor-widget-container{margin:0% 0% 0% -5.4%;padding:0% 14% 0% 0%;}.elementor-6045 .elementor-element.elementor-element-71b2eb4{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;line-height:1.44em;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-ed2c09c{--spacer-size:39px;}.elementor-6045 .elementor-element.elementor-element-7f03b7c .elementor-repeater-item-35298a7.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-6045 .elementor-element.elementor-element-f0a8dec > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-6045 .elementor-element.elementor-element-f0a8dec > .elementor-element-populated{padding:0px 50px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-1b843d2 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-1b843d2.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-6045 .elementor-element.elementor-element-1b843d2.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-6045 .elementor-element.elementor-element-1b843d2.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-1b843d2 .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-6045 .elementor-element.elementor-element-1b843d2 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-6045 .elementor-element.elementor-element-1b843d2 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-6045 .elementor-element.elementor-element-1b843d2 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-bfabb4a{--spacer-size:61px;}.elementor-6045 .elementor-element.elementor-element-936f726 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-936f726.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-6045 .elementor-element.elementor-element-936f726.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-6045 .elementor-element.elementor-element-936f726.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-936f726 .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;color:#730020;}.elementor-6045 .elementor-element.elementor-element-936f726 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-6045 .elementor-element.elementor-element-936f726 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-6045 .elementor-element.elementor-element-936f726 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-ecb2d58{--spacer-size:66px;}.elementor-6045 .elementor-element.elementor-element-20a8e0b > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-6045 .elementor-element.elementor-element-20a8e0b > .elementor-element-populated{padding:0px 50px 0px 10px;}.elementor-6045 .elementor-element.elementor-element-f8867c6 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-f8867c6.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-6045 .elementor-element.elementor-element-f8867c6.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-6045 .elementor-element.elementor-element-f8867c6.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-f8867c6 .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-6045 .elementor-element.elementor-element-f8867c6 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-6045 .elementor-element.elementor-element-f8867c6 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-6045 .elementor-element.elementor-element-f8867c6 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-1912ae7{--spacer-size:61px;}.elementor-6045 .elementor-element.elementor-element-d0ead97 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-d0ead97.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-6045 .elementor-element.elementor-element-d0ead97.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-6045 .elementor-element.elementor-element-d0ead97.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-d0ead97 .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-6045 .elementor-element.elementor-element-d0ead97 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-6045 .elementor-element.elementor-element-d0ead97 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-6045 .elementor-element.elementor-element-d0ead97 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-d375fc3{--spacer-size:66px;}.elementor-6045 .elementor-element.elementor-element-3feef67 .elementor-repeater-item-35298a7.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-6045 .elementor-element.elementor-element-e34c9c1 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-6045 .elementor-element.elementor-element-e34c9c1 > .elementor-element-populated{padding:0px 50px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-a12566f > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-a12566f.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-6045 .elementor-element.elementor-element-a12566f.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-6045 .elementor-element.elementor-element-a12566f.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-a12566f .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-6045 .elementor-element.elementor-element-a12566f .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-6045 .elementor-element.elementor-element-a12566f .elementor-image-box-img img{transition-duration:0.3s;}.elementor-6045 .elementor-element.elementor-element-a12566f .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-a3af0bc > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-6045 .elementor-element.elementor-element-a3af0bc > .elementor-element-populated{padding:0px 50px 0px 10px;}.elementor-6045 .elementor-element.elementor-element-58c1aab > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-58c1aab.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-6045 .elementor-element.elementor-element-58c1aab.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-6045 .elementor-element.elementor-element-58c1aab.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-58c1aab .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-6045 .elementor-element.elementor-element-58c1aab .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-6045 .elementor-element.elementor-element-58c1aab .elementor-image-box-img img{transition-duration:0.3s;}.elementor-6045 .elementor-element.elementor-element-58c1aab .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-6045 .elementor-element.elementor-element-9ea08ac{--spacer-size:61px;}.elementor-6045 .elementor-element.elementor-element-a087d8c{--spacer-size:66px;}.elementor-6045 .elementor-element.elementor-element-2a0c932:not(.elementor-motion-effects-element-type-background), .elementor-6045 .elementor-element.elementor-element-2a0c932 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#fcfdff;}.elementor-6045 .elementor-element.elementor-element-2a0c932 > .elementor-container{max-width:1200px;}.elementor-6045 .elementor-element.elementor-element-2a0c932{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:112px 0px 45px 0px;}.elementor-6045 .elementor-element.elementor-element-2a0c932 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-6045 .elementor-element.elementor-element-4f19377{--display:flex;}.elementor-6045 .elementor-element.elementor-element-5f2ee3e{--divider-border-style:solid;--divider-color:var( --e-global-color-4dcccda );--divider-border-width:4.7px;}.elementor-6045 .elementor-element.elementor-element-5f2ee3e .elementor-divider-separator{width:100%;}.elementor-6045 .elementor-element.elementor-element-5f2ee3e .elementor-divider{padding-block-start:15px;padding-block-end:15px;}@media(max-width:1024px){.elementor-6045 .elementor-element.elementor-element-27a725e > .elementor-widget-container{padding:0px 15px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-71b2eb4 > .elementor-widget-container{padding:0px 0px 0px 15px;}.elementor-6045 .elementor-element.elementor-element-1b843d2 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-936f726 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-f8867c6 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-d0ead97 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-a12566f > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-58c1aab > .elementor-widget-container{padding:0px 0px 0px 0px;}}@media(max-width:767px){.elementor-6045 .elementor-element.elementor-element-06bb084{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6045 .elementor-element.elementor-element-db3f4d4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-371a7eb{width:15%;}.elementor-6045 .elementor-element.elementor-element-7fc5a3c{width:85%;}.elementor-6045 .elementor-element.elementor-element-7fc5a3c > .elementor-element-populated{padding:0px 0px 0px 15px;}.elementor-6045 .elementor-element.elementor-element-f0a8dec > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-1b843d2 .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-936f726 .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-20a8e0b > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-f8867c6 .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-d0ead97 .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-e34c9c1 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-a12566f .elementor-image-box-img{margin-bottom:16px;}.elementor-6045 .elementor-element.elementor-element-a3af0bc > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-6045 .elementor-element.elementor-element-58c1aab .elementor-image-box-img{margin-bottom:16px;}}@media(min-width:768px){.elementor-6045 .elementor-element.elementor-element-ad8e119{--width:50%;}.elementor-6045 .elementor-element.elementor-element-4ac2bfd{--width:50%;}.elementor-6045 .elementor-element.elementor-element-371a7eb{width:10%;}.elementor-6045 .elementor-element.elementor-element-7fc5a3c{width:90%;}}/* Start custom CSS for html, class: .elementor-element-db3f4d4 *//* =========================================================
   SWISS PERSONAL TRAINING — HERO (CSS COMPLET + FIX HEADER)
   ========================================================= */

/* Base sizing fiable partout */
.spt-hero, .spt-hero * { box-sizing: border-box; }

/* 0) Police */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 0bis) Variables utilitaires — décalage vertical des services (desktop) */
:root{
  --services-shift-lg: 380px;  /* >=1280px */
  --services-shift-md: 300px;  /* 1025–1279px */
}

/* 1) Assure que le header passe au-dessus du hero */
header, .site-header, .elementor-location-header {
  position: relative;
  z-index: 1000;
}
body.admin-bar .elementor-location-header.elementor-sticky--active { top: 32px; }

/* 2) Bloc HERO */
.spt-hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  color: #fff;
  /* Variable si dispo, sinon fallback */
  background: var(--spt-hero-img, url('https://preprod.swiss-personal-training.ch/wp-content/uploads/2025/10/bandeau-general.webp')) center/cover no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay sombre */
.spt-hero::before{
  content:''; position:absolute; inset:0;
  background: rgba(0, 0, 0, var(--overlay-alpha, .5));
  z-index:0; pointer-events:none;
}

/* 2.1) Conteneur interne */
.spt-hero__container{
  position: relative; z-index:1;
  max-width: 1400px; margin: 0 auto; padding: 0 24px; width: 100%;
}

/* 2.2) Grille principale */
.spt-hero__content{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  align-items:start; min-height:80vh; padding-top:6vh;
}

/* 3) Colonne gauche */
.spt-hero__left{ animation: slideInLeft 1s ease-out; margin-top:-24px; }

.spt-hero__badge{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1); backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50px; padding:8px 20px;
  font-size:14px; font-weight:500; margin-bottom:24px; color:#fff;
}

.spt-hero__title{
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900; line-height: 1.1; margin-bottom: 32px;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  background:none!important; -webkit-background-clip:initial!important; -webkit-text-fill-color:initial!important;
}

/* “Swiss Personal Training” sur sa propre ligne */
.spt-hero__brand{
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:none!important; opacity:1!important; filter:none!important;
  white-space:nowrap; display:block; margin-bottom:20px;
}

.spt-hero__subtitle{
  font-size:22px; font-weight:500; line-height:1.4;
  margin-bottom:32px; color: rgba(255,255,255,.9); max-width:500px;
}

.spt-hero__features{ display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.spt-hero__feature{ display:flex; align-items:center; gap:12px; font-size:18px; font-weight:500; }
.spt-hero__feature-icon{
  width:24px; height:24px; border-radius:50%;
  background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.spt-hero__feature-icon::after{ content:'✓'; color:#fff; font-size:14px; font-weight:700; }

.spt-hero__cta{ margin-bottom:48px; }

/* 4) Colonne droite (services) */
.spt-hero__right{
  animation: slideInRight 1s ease-out .3s both;
  margin-top:0; align-self:start;
}
.spt-hero__services-title{ font-size:24px; font-weight:700; margin-bottom:24px; text-align:center; }
.spt-hero__services{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-bottom:32px;
}
.spt-hero__location{
  text-align:center; font-size:16px; color: rgba(255,255,255,.8); font-weight:500;
}

/* 5) Boutons */
.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border-radius:12px; font-weight:700; font-size:16px;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.spt-btn::before{
  content:''; position:absolute; inset:0 auto 0 -100%;
  width:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: left .5s;
}
.spt-btn:hover::before{ left:100%; }

/* 5.1) CTA blanc immuable */
.spt-btn--white,
.spt-btn--white:link,
.spt-btn--white:visited{
  background:#fff!important; color:#730020!important; border:2px solid #fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.spt-btn--white:hover,
.spt-btn--white:focus,
.spt-btn--white:active{
  background:#fff!important; color:#730020!important; border-color:#fff!important;
  transform:none; box-shadow:0 8px 28px rgba(0,0,0,.22);
}

/* 5.2) Bouton primaire bordeaux */
.spt-btn--primary{
  background: linear-gradient(135deg, #730020 0%, #730020 100%);
  color:#fff; box-shadow:0 8px 32px rgba(115,0,32,.4);
  font-size:18px; padding:18px 36px;
}
.spt-btn--primary:hover{ transform: translateY(-2px); box-shadow:0 12px 40px rgba(115,0,32,.6); }

/* 5.3) Boutons liste services */
.spt-btn--service{
  background:#fff; color:#730020; border:2px solid #730020;
  font-size:14px; padding:12px 20px; width:100%; font-weight:600; transition: all .3s ease-in-out;
}
.spt-btn--service:hover{ background:#730020; color:#fff; transform: translateY(-1px); box-shadow:0 8px 25px rgba(115,0,32,.3); }

/* 6) Particules (jamais cliquables, jamais au-dessus du header) */
.spt-hero__particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{
  position:absolute; background: rgba(255,255,255,.1); border-radius:50%;
  animation: float 6s ease-in-out infinite; pointer-events:none;
}
.particle:nth-child(1){ width:4px; height:4px; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:6px; height:6px; left:20%; animation-delay:1s; }
.particle:nth-child(3){ width:3px; height:3px; left:30%; animation-delay:2s; }
.particle:nth-child(4){ width:5px; height:5px; left:40%; animation-delay:3s; }
.particle:nth-child(5){ width:4px; height:4px; left:50%; animation-delay:4s; }
.particle:nth-child(6){ width:6px; height:6px; left:60%; animation-delay:5s; }
.particle:nth-child(7){ width:3px; height:3px; left:70%; animation-delay:.5s; }
.particle:nth-child(8){ width:5px; height:5px; left:80%; animation-delay:1.5s; }
.particle:nth-child(9){ width:4px; height:4px; left:90%; animation-delay:2.5s; }

/* 7) Animations */
@keyframes slideInLeft { from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes slideInRight{ from{opacity:0; transform:translateX(50px)}  to{opacity:1; transform:translateX(0)} }
@keyframes float{ 0%,100%{ transform: translateY(100vh) rotate(0deg); opacity:0 } 10%,90%{ opacity:1 } }

/* =========================
   Responsive (Desktop → Mobile)
   ========================= */

/* Desktop large : descend fortement les services */
@media (min-width: 1280px){
  .spt-hero__right{ margin-top: var(--services-shift-lg); }
}
/* Desktop standard : descend un peu moins */
@media (min-width:1025px) and (max-width:1279px){
  .spt-hero__right{ margin-top: var(--services-shift-md); }
}
/* Large tablet */
@media (max-width:1200px){
  .spt-hero__content{ gap:64px; }
}
/* Tablet <= 1024px */
@media (max-width:1024px){
  .spt-hero__content{
    grid-template-columns:1fr;
    gap: 60px;
    text-align:center;
  }
  .spt-hero__right{ margin-top:0; }
}

/* ---------- PHONE & small tablet (<=768px) ---------- */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}
@media (max-width:768px){

  /* Héros flexible + padding latéral symétrique (safe areas compris) */
  .spt-hero{
    min-height: auto;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .spt-hero__container{
    width:100%;
    padding-left:0 !important; padding-right:0 !important;
    margin-left:auto; margin-right:auto;
  }

  .spt-hero__content{
    grid-template-columns:1fr !important;
    gap:16px; min-height:auto; padding-top:12px;
    width:100%; justify-items: stretch;  /* évite les décalages */
  }

  /* Cartes pleine largeur (définie par le padding du hero) */
  .spt-hero__left,
  .spt-hero__right{
    width:100%; max-width:none; margin:0; border-radius:14px;
  }

  /* “verre” plus fin côté gauche */
  .spt-hero__left{
    background: rgba(0,0,0,.30);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    padding: 14px 12px 16px;
    text-align: left;
  }

  .spt-hero__badge{
    position:static; display:inline-flex;
    margin:2px 0 10px; padding:6px 10px; font-size:12px;
    background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
  }

  /* H1 ne déborde pas */
  .spt-hero__title{
    font-size: clamp(24px, 7.2vw, 30px);
    line-height:1.18; margin:0 0 8px;
    text-wrap: balance; overflow-wrap:anywhere; hyphens:auto;
  }
  .spt-hero__title br{ display:none; }
  .spt-hero__brand{ margin-bottom:4px; }

  .spt-hero__subtitle{
    font-size:15.5px; line-height:1.5;
    margin:6px 0 12px; color: rgba(255,255,255,.95);
  }

  .spt-hero__features{ display:grid; gap:8px; margin-bottom:14px; }
  .spt-hero__feature{ font-size:15.5px; gap:8px; }
  .spt-hero__feature-icon{ width:18px; height:18px; }

  /* CTA blanc pleine largeur */
  .spt-hero__cta{ margin:10px 0 8px; }
  .spt-btn--white{
    width:100%; padding:14px 16px; font-size:16px; border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.22); max-width:100%;
  }

  /* “Nos Services” — 2 colonnes visibles */
  .spt-hero__right{
    background: rgba(0,0,0,.20);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    padding:12px;
  }
  .spt-hero__services-title{
    margin:0 0 10px; font-size:17px; text-align:center;
  }
  .spt-hero__services{
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:8px; align-items:stretch; justify-items:stretch; width:100%;
  }
  .spt-btn--service{
    width:100%; padding:12px 10px; font-size:15px; line-height:1.25;
    white-space: normal; border-radius:10px; box-shadow:0 4px 14px rgba(0,0,0,.14);
  }

  .spt-hero__location{
    text-align:center; font-size:13.5px; margin:6px 2px 0; color: rgba(255,255,255,.85);
  }

  /* Particules adoucies */
  .spt-hero__particles{ opacity:.18; }
  .spt-hero__particles .particle{ animation-duration:7s; filter:blur(1px); }
}

/* ---------- Very small phones (<=390px) ---------- */
@media (max-width:390px){
  .spt-hero{ padding-left:10px; padding-right:10px; }
  .spt-hero__title{ font-size: clamp(22px, 7.8vw, 28px); }
  .spt-btn--service{ font-size:14.5px; padding:11px 10px; }
}
/* Mobile (<=768px) : overlay moins sombre */
@media (max-width:768px){
  .spt-hero{
    /* baisse l’alpha de l’overlay du hero (avant .5) */
    --overlay-alpha: .32;
  }

  /* (Optionnel) éclaircir un peu les “verres” pour mobile
  .spt-hero__left{  background: rgba(0,0,0,.22); }
  .spt-hero__right{ background: rgba(0,0,0,.14); }
  */
}

/* Très petits téléphones (<=390px) : encore un peu plus clair */
@media (max-width:390px){
  .spt-hero{
    --overlay-alpha: .28;
  }
}/* End custom CSS */