html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
}

body {
  margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  vertical-align: baseline;
  display: inline-block;
}

audio:not([controls]) {
  height: 0;
  display: none;
}

[hidden], template {
  display: none;
}

a {
  background-color: #0000;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  margin: .67em 0;
  font-size: 2em;
}

mark {
  color: #000;
  background: #ff0;
}

small {
  font-size: 80%;
}

sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sup {
  top: -.5em;
}

sub {
  bottom: -.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html input[type="button"], input[type="reset"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: none;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}

@font-face {
  font-family: webflow-icons;
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format("truetype");
  font-weight: normal;
  font-style: normal;
}

[class^="w-icon-"], [class*=" w-icon-"] {
  speak: none;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  font-family: webflow-icons !important;
}

.w-icon-slider-right:before {
  content: "";
}

.w-icon-slider-left:before {
  content: "";
}

.w-icon-nav-menu:before {
  content: "";
}

.w-icon-arrow-down:before, .w-icon-dropdown-toggle:before {
  content: "";
}

.w-icon-file-upload-remove:before {
  content: "";
}

.w-icon-file-upload-icon:before {
  content: "";
}

* {
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  color: #333;
  background-color: #fff;
  min-height: 100%;
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

img {
  vertical-align: middle;
  max-width: 100%;
  display: inline-block;
}

html.w-mod-touch * {
  background-attachment: scroll !important;
}

.w-block {
  display: block;
}

.w-inline-block {
  max-width: 100%;
  display: inline-block;
}

.w-clearfix:before, .w-clearfix:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-clearfix:after {
  clear: both;
}

.w-hidden {
  display: none;
}

.w-button {
  color: #fff;
  line-height: inherit;
  cursor: pointer;
  background-color: #3898ec;
  border: 0;
  border-radius: 0;
  padding: 9px 15px;
  text-decoration: none;
  display: inline-block;
}

input.w-button {
  -webkit-appearance: button;
}

html[data-w-dynpage] [data-w-cloak] {
  color: #0000 !important;
}

.w-code-block {
  margin: unset;
}

pre.w-code-block code {
  all: inherit;
}

.w-optimization {
  display: contents;
}

.w-webflow-badge, .w-webflow-badge > img {
  box-sizing: unset;
  width: unset;
  height: unset;
  max-height: unset;
  max-width: unset;
  min-height: unset;
  min-width: unset;
  margin: unset;
  padding: unset;
  float: unset;
  clear: unset;
  border: unset;
  border-radius: unset;
  background: unset;
  background-image: unset;
  background-position: unset;
  background-size: unset;
  background-repeat: unset;
  background-origin: unset;
  background-clip: unset;
  background-attachment: unset;
  background-color: unset;
  box-shadow: unset;
  transform: unset;
  direction: unset;
  font-family: unset;
  font-weight: unset;
  color: unset;
  font-size: unset;
  line-height: unset;
  font-style: unset;
  font-variant: unset;
  text-align: unset;
  letter-spacing: unset;
  -webkit-text-decoration: unset;
  text-decoration: unset;
  text-indent: unset;
  text-transform: unset;
  list-style-type: unset;
  text-shadow: unset;
  vertical-align: unset;
  cursor: unset;
  white-space: unset;
  word-break: unset;
  word-spacing: unset;
  word-wrap: unset;
  transition: unset;
}

.w-webflow-badge {
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 0 0 1px #0000001a, 0 1px 3px #0000001a;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  color: #aaadb0 !important;
  overflow: unset !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 6px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-decoration: none !important;
  display: inline-block !important;
  position: fixed !important;
  inset: auto 12px 12px auto !important;
  transform: none !important;
}

.w-webflow-badge > img {
  position: unset;
  visibility: unset !important;
  opacity: 1 !important;
  vertical-align: middle !important;
  display: inline-block !important;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 10px;
  font-weight: bold;
}

h1 {
  margin-top: 20px;
  font-size: 38px;
  line-height: 44px;
}

h2 {
  margin-top: 20px;
  font-size: 32px;
  line-height: 36px;
}

h3 {
  margin-top: 20px;
  font-size: 24px;
  line-height: 30px;
}

h4 {
  margin-top: 10px;
  font-size: 18px;
  line-height: 24px;
}

h5 {
  margin-top: 10px;
  font-size: 14px;
  line-height: 20px;
}

h6 {
  margin-top: 10px;
  font-size: 12px;
  line-height: 18px;
}

p {
  margin-top: 0;
  margin-bottom: 10px;
}

blockquote {
  border-left: 5px solid #e2e2e2;
  margin: 0 0 10px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 22px;
}

figure {
  margin: 0 0 10px;
}

figcaption {
  text-align: center;
  margin-top: 5px;
}

ul, ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}

.w-list-unstyled {
  padding-left: 0;
  list-style: none;
}

.w-embed:before, .w-embed:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-embed:after {
  clear: both;
}

.w-video {
  width: 100%;
  padding: 0;
  position: relative;
}

.w-video iframe, .w-video object, .w-video embed {
  border: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

button, [type="button"], [type="reset"] {
  cursor: pointer;
  -webkit-appearance: button;
  border: 0;
}

.w-form {
  margin: 0 0 15px;
}

.w-form-done {
  text-align: center;
  background-color: #ddd;
  padding: 20px;
  display: none;
}

.w-form-fail {
  background-color: #ffdede;
  margin-top: 10px;
  padding: 10px;
  display: none;
}

label {
  margin-bottom: 5px;
  font-weight: bold;
  display: block;
}

.w-input, .w-select {
  color: #333;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ccc;
  width: 100%;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857;
  display: block;
}

.w-input::placeholder, .w-select::placeholder {
  color: #999;
}

.w-input:focus, .w-select:focus {
  border-color: #3898ec;
  outline: 0;
}

.w-input[disabled], .w-select[disabled], .w-input[readonly], .w-select[readonly], fieldset[disabled] .w-input, fieldset[disabled] .w-select {
  cursor: not-allowed;
}

.w-input[disabled]:not(.w-input-disabled), .w-select[disabled]:not(.w-input-disabled), .w-input[readonly], .w-select[readonly], fieldset[disabled]:not(.w-input-disabled) .w-input, fieldset[disabled]:not(.w-input-disabled) .w-select {
  background-color: #eee;
}

textarea.w-input, textarea.w-select {
  height: auto;
}

.w-select {
  background-color: #f3f3f3;
}

.w-select[multiple] {
  height: auto;
}

.w-form-label {
  cursor: pointer;
  margin-bottom: 0;
  font-weight: normal;
  display: inline-block;
}

.w-radio {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-radio:before, .w-radio:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-radio:after {
  clear: both;
}

.w-radio-input {
  float: left;
  margin: 3px 0 0 -20px;
  line-height: normal;
}

.w-file-upload {
  margin-bottom: 10px;
  display: block;
}

.w-file-upload-input {
  opacity: 0;
  z-index: -100;
  width: .1px;
  height: .1px;
  position: absolute;
  overflow: hidden;
}

.w-file-upload-default, .w-file-upload-uploading, .w-file-upload-success {
  color: #333;
  display: inline-block;
}

.w-file-upload-error {
  margin-top: 10px;
  display: block;
}

.w-file-upload-default.w-hidden, .w-file-upload-uploading.w-hidden, .w-file-upload-error.w-hidden, .w-file-upload-success.w-hidden {
  display: none;
}

.w-file-upload-uploading-btn {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: normal;
  display: flex;
}

.w-file-upload-file {
  background-color: #fafafa;
  border: 1px solid #ccc;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  display: flex;
}

.w-file-upload-file-name {
  font-size: 14px;
  font-weight: normal;
  display: block;
}

.w-file-remove-link {
  cursor: pointer;
  width: auto;
  height: auto;
  margin-top: 3px;
  margin-left: 10px;
  padding: 3px;
  display: block;
}

.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px;
}

.w-file-upload-error-msg {
  color: #ea384c;
  padding: 2px 0;
  display: inline-block;
}

.w-file-upload-info {
  padding: 0 12px;
  line-height: 38px;
  display: inline-block;
}

.w-file-upload-label {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: normal;
  display: inline-block;
}

.w-icon-file-upload-icon, .w-icon-file-upload-uploading {
  width: 20px;
  margin-right: 8px;
  display: inline-block;
}

.w-icon-file-upload-uploading {
  height: 20px;
}

.w-container {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.w-container:before, .w-container:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-container:after {
  clear: both;
}

.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}

.w-row:before, .w-row:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-row:after {
  clear: both;
}

.w-row .w-row {
  margin-left: 0;
  margin-right: 0;
}

.w-col {
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
}

.w-col .w-col {
  padding-left: 0;
  padding-right: 0;
}

.w-col-1 {
  width: 8.33333%;
}

.w-col-2 {
  width: 16.6667%;
}

.w-col-3 {
  width: 25%;
}

.w-col-4 {
  width: 33.3333%;
}

.w-col-5 {
  width: 41.6667%;
}

.w-col-6 {
  width: 50%;
}

.w-col-7 {
  width: 58.3333%;
}

.w-col-8 {
  width: 66.6667%;
}

.w-col-9 {
  width: 75%;
}

.w-col-10 {
  width: 83.3333%;
}

.w-col-11 {
  width: 91.6667%;
}

.w-col-12 {
  width: 100%;
}

.w-hidden-main {
  display: none !important;
}

@media screen and (max-width: 991px) {
  .w-container {
    max-width: 728px;
  }

  .w-hidden-main {
    display: inherit !important;
  }

  .w-hidden-medium {
    display: none !important;
  }

  .w-col-medium-1 {
    width: 8.33333%;
  }

  .w-col-medium-2 {
    width: 16.6667%;
  }

  .w-col-medium-3 {
    width: 25%;
  }

  .w-col-medium-4 {
    width: 33.3333%;
  }

  .w-col-medium-5 {
    width: 41.6667%;
  }

  .w-col-medium-6 {
    width: 50%;
  }

  .w-col-medium-7 {
    width: 58.3333%;
  }

  .w-col-medium-8 {
    width: 66.6667%;
  }

  .w-col-medium-9 {
    width: 75%;
  }

  .w-col-medium-10 {
    width: 83.3333%;
  }

  .w-col-medium-11 {
    width: 91.6667%;
  }

  .w-col-medium-12 {
    width: 100%;
  }

  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}

@media screen and (max-width: 767px) {
  .w-hidden-main, .w-hidden-medium {
    display: inherit !important;
  }

  .w-hidden-small {
    display: none !important;
  }

  .w-row, .w-container .w-row {
    margin-left: 0;
    margin-right: 0;
  }

  .w-col {
    width: 100%;
    left: auto;
    right: auto;
  }

  .w-col-small-1 {
    width: 8.33333%;
  }

  .w-col-small-2 {
    width: 16.6667%;
  }

  .w-col-small-3 {
    width: 25%;
  }

  .w-col-small-4 {
    width: 33.3333%;
  }

  .w-col-small-5 {
    width: 41.6667%;
  }

  .w-col-small-6 {
    width: 50%;
  }

  .w-col-small-7 {
    width: 58.3333%;
  }

  .w-col-small-8 {
    width: 66.6667%;
  }

  .w-col-small-9 {
    width: 75%;
  }

  .w-col-small-10 {
    width: 83.3333%;
  }

  .w-col-small-11 {
    width: 91.6667%;
  }

  .w-col-small-12 {
    width: 100%;
  }
}

@media screen and (max-width: 479px) {
  .w-container {
    max-width: none;
  }

  .w-hidden-main, .w-hidden-medium, .w-hidden-small {
    display: inherit !important;
  }

  .w-hidden-tiny {
    display: none !important;
  }

  .w-col {
    width: 100%;
  }

  .w-col-tiny-1 {
    width: 8.33333%;
  }

  .w-col-tiny-2 {
    width: 16.6667%;
  }

  .w-col-tiny-3 {
    width: 25%;
  }

  .w-col-tiny-4 {
    width: 33.3333%;
  }

  .w-col-tiny-5 {
    width: 41.6667%;
  }

  .w-col-tiny-6 {
    width: 50%;
  }

  .w-col-tiny-7 {
    width: 58.3333%;
  }

  .w-col-tiny-8 {
    width: 66.6667%;
  }

  .w-col-tiny-9 {
    width: 75%;
  }

  .w-col-tiny-10 {
    width: 83.3333%;
  }

  .w-col-tiny-11 {
    width: 91.6667%;
  }

  .w-col-tiny-12 {
    width: 100%;
  }
}

.w-widget {
  position: relative;
}

.w-widget-map {
  width: 100%;
  height: 400px;
}

.w-widget-map label {
  width: auto;
  display: inline;
}

.w-widget-map img {
  max-width: inherit;
}

.w-widget-map .gm-style-iw {
  text-align: center;
}

.w-widget-map .gm-style-iw > button {
  display: none !important;
}

.w-widget-twitter {
  overflow: hidden;
}

.w-widget-twitter-count-shim {
  vertical-align: top;
  text-align: center;
  background: #fff;
  border: 1px solid #758696;
  border-radius: 3px;
  width: 28px;
  height: 20px;
  display: inline-block;
  position: relative;
}

.w-widget-twitter-count-shim * {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  text-align: center;
  color: #999;
  font-family: serif;
  font-size: 15px;
  line-height: 12px;
  position: relative;
}

.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  display: block;
  position: relative;
}

.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px;
}

.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px;
}

.w-widget-twitter-count-shim:not(.w--vertical) {
  margin-left: 5px;
  margin-right: 8px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px;
}

.w-widget-twitter-count-shim:not(.w--vertical):before, .w-widget-twitter-count-shim:not(.w--vertical):after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
}

.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-width: 4px;
  border-color: #75869600 #5d6c7b #75869600 #75869600;
  margin-top: -4px;
  margin-left: -9px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -10px;
}

.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-width: 4px;
  border-color: #fff0 #fff #fff0 #fff0;
  margin-top: -4px;
  margin-left: -8px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -9px;
}

.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px;
}

.w-widget-twitter-count-shim.w--vertical:before, .w-widget-twitter-count-shim.w--vertical:after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
}

.w-widget-twitter-count-shim.w--vertical:before {
  border-width: 5px;
  border-color: #5d6c7b #75869600 #75869600;
  margin-left: -5px;
}

.w-widget-twitter-count-shim.w--vertical:after {
  border-width: 4px;
  border-color: #fff #fff0 #fff0;
  margin-left: -4px;
}

.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px;
}

.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px;
}

.w-background-video {
  color: #fff;
  height: 500px;
  position: relative;
  overflow: hidden;
}

.w-background-video > video {
  object-fit: cover;
  z-index: -100;
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  inset: -100%;
}

.w-background-video > video::-webkit-media-controls-start-playback-button {
  -webkit-appearance: none;
  display: none !important;
}

.w-background-video--control {
  background-color: #0000;
  padding: 0;
  position: absolute;
  bottom: 1em;
  right: 1em;
}

.w-background-video--control > [hidden] {
  display: none !important;
}

.w-slider {
  text-align: center;
  clear: both;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  background: #ddd;
  height: 300px;
  position: relative;
}

.w-slider-mask {
  z-index: 1;
  white-space: nowrap;
  height: 100%;
  display: block;
  position: relative;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-slide {
  vertical-align: top;
  white-space: normal;
  text-align: left;
  width: 100%;
  height: 100%;
  display: inline-block;
  position: relative;
}

.w-slider-nav {
  z-index: 2;
  text-align: center;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  height: 40px;
  margin: auto;
  padding-top: 10px;
  position: absolute;
  inset: auto 0 0;
}

.w-slider-nav.w-round > div {
  border-radius: 100%;
}

.w-slider-nav.w-num > div {
  font-size: inherit;
  line-height: inherit;
  width: auto;
  height: auto;
  padding: .2em .5em;
}

.w-slider-nav.w-shadow > div {
  box-shadow: 0 0 3px #3336;
}

.w-slider-nav-invert {
  color: #fff;
}

.w-slider-nav-invert > div {
  background-color: #2226;
}

.w-slider-nav-invert > div.w-active {
  background-color: #222;
}

.w-slider-dot {
  cursor: pointer;
  background-color: #fff6;
  width: 1em;
  height: 1em;
  margin: 0 3px .5em;
  transition: background-color .1s, color .1s;
  display: inline-block;
  position: relative;
}

.w-slider-dot.w-active {
  background-color: #fff;
}

.w-slider-dot:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff;
}

.w-slider-dot:focus.w-active {
  box-shadow: none;
}

.w-slider-arrow-left, .w-slider-arrow-right {
  cursor: pointer;
  color: #fff;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  -webkit-user-select: none;
  user-select: none;
  width: 80px;
  margin: auto;
  font-size: 40px;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.w-slider-arrow-left [class^="w-icon-"], .w-slider-arrow-right [class^="w-icon-"], .w-slider-arrow-left [class*=" w-icon-"], .w-slider-arrow-right [class*=" w-icon-"] {
  position: absolute;
}

.w-slider-arrow-left:focus, .w-slider-arrow-right:focus {
  outline: 0;
}

.w-slider-arrow-left {
  z-index: 3;
  right: auto;
}

.w-slider-arrow-right {
  z-index: 4;
  left: auto;
}

.w-icon-slider-left, .w-icon-slider-right {
  width: 1em;
  height: 1em;
  margin: auto;
  inset: 0;
}

.w-slider-aria-label {
  clip: rect(0 0 0 0);
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.w-slider-force-show {
  display: block !important;
}

.w-dropdown {
  text-align: left;
  z-index: 900;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  position: relative;
}

.w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link {
  vertical-align: top;
  color: #222;
  text-align: left;
  white-space: nowrap;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  text-decoration: none;
  position: relative;
}

.w-dropdown-toggle {
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
  padding-right: 40px;
  display: inline-block;
}

.w-dropdown-toggle:focus {
  outline: 0;
}

.w-icon-dropdown-toggle {
  width: 1em;
  height: 1em;
  margin: auto 20px auto auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.w-dropdown-list {
  background: #ddd;
  min-width: 100%;
  display: none;
  position: absolute;
}

.w-dropdown-list.w--open {
  display: block;
}

.w-dropdown-link {
  color: #222;
  padding: 10px 20px;
  display: block;
}

.w-dropdown-link.w--current {
  color: #0082f3;
}

.w-dropdown-link:focus {
  outline: 0;
}

@media screen and (max-width: 767px) {
  .w-nav-brand {
    padding-left: 10px;
  }
}

.w-lightbox-backdrop {
  cursor: auto;
  letter-spacing: normal;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  color: #fff;
  text-align: center;
  z-index: 2000;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: transparent;
  background: #000000e6;
  outline: 0;
  font-family: Helvetica Neue, Helvetica, Ubuntu, Segoe UI, Verdana, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.2;
  list-style: disc;
  position: fixed;
  inset: 0;
  -webkit-transform: translate(0);
}

.w-lightbox-backdrop, .w-lightbox-container {
  -webkit-overflow-scrolling: touch;
  height: 100%;
  overflow: auto;
}

.w-lightbox-content {
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.w-lightbox-view {
  opacity: 0;
  width: 100vw;
  height: 100vh;
  position: absolute;
}

.w-lightbox-view:before {
  content: "";
  height: 100vh;
}

.w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
  height: 86vh;
}

.w-lightbox-frame, .w-lightbox-view:before {
  vertical-align: middle;
  display: inline-block;
}

.w-lightbox-figure {
  margin: 0;
  position: relative;
}

.w-lightbox-group .w-lightbox-figure {
  cursor: pointer;
}

.w-lightbox-img {
  width: auto;
  max-width: none;
  height: auto;
}

.w-lightbox-image {
  float: none;
  max-width: 100vw;
  max-height: 100vh;
  display: block;
}

.w-lightbox-group .w-lightbox-image {
  max-height: 86vh;
}

.w-lightbox-caption {
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #0006;
  padding: .5em 1em;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-lightbox-embed {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.w-lightbox-control {
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px;
  width: 4em;
  transition: all .3s;
  position: absolute;
  top: 0;
}

.w-lightbox-left {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
  display: none;
  bottom: 0;
  left: 0;
}

.w-lightbox-right {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
  display: none;
  bottom: 0;
  right: 0;
}

.w-lightbox-close {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
  background-size: 18px;
  height: 2.6em;
  right: 0;
}

.w-lightbox-strip {
  white-space: nowrap;
  padding: 0 1vh;
  line-height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: auto hidden;
}

.w-lightbox-item {
  box-sizing: content-box;
  cursor: pointer;
  width: 10vh;
  padding: 2vh 1vh;
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 0);
}

.w-lightbox-active {
  opacity: .3;
}

.w-lightbox-thumbnail {
  background: #222;
  height: 10vh;
  position: relative;
  overflow: hidden;
}

.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
}

.w-lightbox-thumbnail .w-lightbox-tall {
  width: 100%;
  top: 50%;
  transform: translate(0, -50%);
}

.w-lightbox-thumbnail .w-lightbox-wide {
  height: 100%;
  left: 50%;
  transform: translate(-50%);
}

.w-lightbox-spinner {
  box-sizing: border-box;
  border: 5px solid #0006;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  animation: .8s linear infinite spin;
  position: absolute;
  top: 50%;
  left: 50%;
}

.w-lightbox-spinner:after {
  content: "";
  border: 3px solid #0000;
  border-bottom-color: #fff;
  border-radius: 50%;
  position: absolute;
  inset: -4px;
}

.w-lightbox-hide {
  display: none;
}

.w-lightbox-noscroll {
  overflow: hidden;
}

@media (min-width: 768px) {
  .w-lightbox-content {
    height: 96vh;
    margin-top: 2vh;
  }

  .w-lightbox-view, .w-lightbox-view:before {
    height: 96vh;
  }

  .w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
    height: 84vh;
  }

  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh;
  }

  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh;
  }

  .w-lightbox-left, .w-lightbox-right {
    opacity: .5;
    display: block;
  }

  .w-lightbox-close {
    opacity: .8;
  }

  .w-lightbox-control:hover {
    opacity: 1;
  }
}

.w-lightbox-inactive, .w-lightbox-inactive:hover {
  opacity: 0;
}

.w-richtext:before, .w-richtext:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-richtext:after {
  clear: both;
}

.w-richtext[contenteditable="true"]:before, .w-richtext[contenteditable="true"]:after {
  white-space: initial;
}

.w-richtext ol, .w-richtext ul {
  overflow: hidden;
}

.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after, .w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:after, .w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div, .w-richtext .w-richtext-figure-selected[data-rt-type="image"] div {
  outline: 2px solid #2895f7;
}

.w-richtext figure.w-richtext-figure-type-video > div:after, .w-richtext figure[data-rt-type="video"] > div:after {
  content: "";
  display: none;
  position: absolute;
  inset: 0;
}

.w-richtext figure {
  max-width: 60%;
  position: relative;
}

.w-richtext figure > div:before {
  cursor: default !important;
}

.w-richtext figure img {
  width: 100%;
}

.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: .6;
}

.w-richtext figure div {
  color: #0000;
  font-size: 0;
}

.w-richtext figure.w-richtext-figure-type-image, .w-richtext figure[data-rt-type="image"] {
  display: table;
}

.w-richtext figure.w-richtext-figure-type-image > div, .w-richtext figure[data-rt-type="image"] > div {
  display: inline-block;
}

.w-richtext figure.w-richtext-figure-type-image > figcaption, .w-richtext figure[data-rt-type="image"] > figcaption {
  caption-side: bottom;
  display: table-caption;
}

.w-richtext figure.w-richtext-figure-type-video, .w-richtext figure[data-rt-type="video"] {
  width: 60%;
  height: 0;
}

.w-richtext figure.w-richtext-figure-type-video iframe, .w-richtext figure[data-rt-type="video"] iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.w-richtext figure.w-richtext-figure-type-video > div, .w-richtext figure[data-rt-type="video"] > div {
  width: 100%;
}

.w-richtext figure.w-richtext-align-center {
  clear: both;
  margin-left: auto;
  margin-right: auto;
}

.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image > div, .w-richtext figure.w-richtext-align-center[data-rt-type="image"] > div {
  max-width: 100%;
}

.w-richtext figure.w-richtext-align-normal {
  clear: both;
}

.w-richtext figure.w-richtext-align-fullwidth {
  text-align: center;
  clear: both;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-richtext figure.w-richtext-align-fullwidth > div {
  padding-bottom: inherit;
  display: inline-block;
}

.w-richtext figure.w-richtext-align-fullwidth > figcaption {
  display: block;
}

.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  clear: none;
  margin-right: 15px;
}

.w-richtext figure.w-richtext-align-floatright {
  float: right;
  clear: none;
  margin-left: 15px;
}

.w-nav {
  z-index: 1000;
  background: #ddd;
  position: relative;
}

.w-nav:before, .w-nav:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-nav:after {
  clear: both;
}

.w-nav-brand {
  float: left;
  color: #333;
  text-decoration: none;
  position: relative;
}

.w-nav-link {
  vertical-align: top;
  color: #222;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.w-nav-link.w--current {
  color: #0082f3;
}

.w-nav-menu {
  float: right;
  position: relative;
}

[data-nav-menu-open] {
  text-align: center;
  background: #c8c8c8;
  min-width: 200px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: visible;
  display: block !important;
}

.w--nav-link-open {
  display: block;
  position: relative;
}

.w-nav-overlay {
  width: 100%;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-nav-overlay [data-nav-menu-open] {
  top: 0;
}

.w-nav[data-animation="over-left"] .w-nav-overlay {
  width: auto;
}

.w-nav[data-animation="over-left"] .w-nav-overlay, .w-nav[data-animation="over-left"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  right: auto;
}

.w-nav[data-animation="over-right"] .w-nav-overlay {
  width: auto;
}

.w-nav[data-animation="over-right"] .w-nav-overlay, .w-nav[data-animation="over-right"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  left: auto;
}

.w-nav-button {
  float: right;
  cursor: pointer;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  -webkit-user-select: none;
  user-select: none;
  padding: 18px;
  font-size: 24px;
  display: none;
  position: relative;
}

.w-nav-button:focus {
  outline: 0;
}

.w-nav-button.w--open {
  color: #fff;
  background-color: #c8c8c8;
}

.w-nav[data-collapse="all"] .w-nav-menu {
  display: none;
}

.w-nav[data-collapse="all"] .w-nav-button, .w--nav-dropdown-open, .w--nav-dropdown-toggle-open {
  display: block;
}

.w--nav-dropdown-list-open {
  position: static;
}

@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="medium"] .w-nav-button {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .w-nav[data-collapse="small"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="small"] .w-nav-button {
    display: block;
  }

  .w-nav-brand {
    padding-left: 10px;
  }
}

@media screen and (max-width: 479px) {
  .w-nav[data-collapse="tiny"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="tiny"] .w-nav-button {
    display: block;
  }
}

.w-tabs {
  position: relative;
}

.w-tabs:before, .w-tabs:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-tabs:after {
  clear: both;
}

.w-tab-menu {
  position: relative;
}

.w-tab-link {
  vertical-align: top;
  text-align: left;
  cursor: pointer;
  color: #222;
  background-color: #ddd;
  padding: 9px 30px;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.w-tab-link.w--current {
  background-color: #c8c8c8;
}

.w-tab-link:focus {
  outline: 0;
}

.w-tab-content {
  display: block;
  position: relative;
  overflow: hidden;
}

.w-tab-pane {
  display: none;
  position: relative;
}

.w--tab-active {
  display: block;
}

@media screen and (max-width: 479px) {
  .w-tab-link {
    display: block;
  }
}

.w-ix-emptyfix:after {
  content: "";
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.w-dyn-empty {
  background-color: #ddd;
  padding: 10px;
}

.w-dyn-hide, .w-dyn-bind-empty, .w-condition-invisible {
  display: none !important;
}

.wf-layout-layout {
  display: grid;
}

@font-face {
  font-family: Atteron;
  src: url("../fonts/Atteron-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}

:root {
  --elements-webflow-library--neutral--800: #211f54;
  --elements-webflow-library--neutral--600: #6e7191;
  --elements-webflow-library--accent--primary-1: #3a96ff;
  --elements-webflow-library--neutral--100: white;
  --elements-webflow-library--secondary--color-1: #281ca5;
  --elements-webflow-library--neutral--300: #eff0f6;
  --elements-webflow-library--general--shadow-02: #14142b14;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  color: #5c524b;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 20px;
}

.brix---color-neutral-800 {
  color: var(--elements-webflow-library--neutral--800);
}

.brix---color-neutral-600 {
  color: var(--elements-webflow-library--neutral--600);
}

.brix---mg-bottom-40px {
  margin-bottom: 40px;
}

.brix---btn-primary {
  background-color: var(--elements-webflow-library--accent--primary-1);
  color: var(--elements-webflow-library--neutral--100);
  text-align: center;
  transform-style: preserve-3d;
  border-radius: 48px;
  justify-content: center;
  padding: 26px 38px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 20px;
  text-decoration: none;
  transition: background-color .3s, transform .3s, color .3s;
}

.brix---btn-primary:hover {
  background-color: var(--elements-webflow-library--secondary--color-1);
  color: var(--elements-webflow-library--neutral--100);
  transform: translate3d(0, -3px, .01px);
}

.brix---btn-secondary {
  border: 1px solid var(--elements-webflow-library--neutral--300);
  background-color: var(--elements-webflow-library--neutral--100);
  color: var(--elements-webflow-library--neutral--800);
  text-align: center;
  transform-style: preserve-3d;
  border-radius: 48px;
  padding: 26px 38px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 18px;
  line-height: 20px;
  transition: border-color .3s, transform .3s, background-color .3s, color .3s;
  box-shadow: 0 4px 10px #14142b0a;
}

.brix---btn-secondary:hover {
  border-color: var(--elements-webflow-library--accent--primary-1);
  background-color: var(--elements-webflow-library--accent--primary-1);
  color: var(--elements-webflow-library--neutral--100);
  transform: translate3d(0, -3px, .01px);
}

.brix---buttons-row {
  align-items: center;
  display: flex;
}

.brix---container-default {
  max-width: 1218px;
  padding-left: 24px;
  padding-right: 24px;
}

.brix---heading-h1-size {
  margin-top: 0;
  margin-bottom: 16px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 54px;
  font-weight: 700;
  line-height: 66px;
}

.brix---opacity-20 {
  opacity: .2;
}

.brix---paragraph-default {
  margin-bottom: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 18px;
  line-height: 30px;
}

.brix---grid-hero-v1 {
  grid-column-gap: 80px;
  grid-row-gap: 28px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}

.brix---button-row-left {
  margin-right: 24px;
}

.brix---floating-image-hero-v2---1 {
  z-index: -1;
  max-width: 600px;
  position: absolute;
  inset: -1% auto auto -21%;
  transform: rotate(140deg);
}

.brix---full-width-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.brix---section-hero-full-width-right {
  width: auto;
  padding-top: 140px;
  padding-bottom: 140px;
  position: relative;
  overflow: hidden;
}

.brix---hero-full-width-right-hero-v5 {
  max-width: 45%;
  position: absolute;
  inset: 0% 0% 0% auto;
}

.brix---header-wrapper {
  background-color: var(--elements-webflow-library--neutral--100);
  padding-top: 32px;
  padding-bottom: 32px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}

.brix---header-content-wrapper {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.brix---header-nav-menu-list {
  z-index: 1;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
  display: flex;
}

.brix---header-nav-link {
  color: var(--elements-webflow-library--neutral--800);
  padding: 0;
  font-size: 18px;
  line-height: 20px;
  transition: color .3s;
}

.brix---header-nav-link:hover {
  color: var(--elements-webflow-library--accent--primary-1);
}

.brix---header-nav-list-item {
  margin-bottom: 0;
  padding-left: 32px;
}

.brix---dropdown-toggle {
  color: var(--elements-webflow-library--neutral--800);
  align-items: center;
  padding: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 18px;
  line-height: 20px;
  transition: color .3s;
  display: flex;
}

.brix---dropdown-toggle:hover {
  color: var(--elements-webflow-library--accent--primary-1);
}

.brix---dropdown-card {
  border: 1px solid var(--elements-webflow-library--neutral--300);
  background-color: var(--elements-webflow-library--neutral--100);
  box-shadow: 0 2px 12px 0 var(--elements-webflow-library--general--shadow-02);
  border-radius: 20px;
  min-width: 280px;
  top: 32px;
  overflow: hidden;
}

.brix---dropdown-link {
  color: var(--elements-webflow-library--neutral--600);
  align-items: center;
  width: 100%;
  padding: 0;
  font-size: 18px;
  line-height: 20px;
  text-decoration: none;
  transition: color .3s;
  display: flex;
}

.brix---dropdown-link:hover {
  color: var(--elements-webflow-library--accent--primary-1);
}

.brix---dropdown-pd {
  padding: 40px;
}

.brix---header-logo {
  max-width: 250px;
}

.brix---header-logo-link {
  transform-style: preserve-3d;
  padding-left: 0;
  transition: transform .3s, color .3s;
}

.brix---header-logo-link:hover {
  transform: scale3d(.96, .96, 1.01);
}

.brix---hamburger-menu-wrapper {
  padding: 0;
  transition: transform .3s;
}

.brix---hamburger-menu-wrapper:hover {
  transform: scale(.96);
}

.brix---hamburger-menu-wrapper.w--open {
  background-color: #0000;
}

.brix---dropdown-chevron {
  width: 14px;
  margin-left: 6px;
}

.brix---dropdown-links-grid {
  grid-column-gap: 0px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.brix---dropdown-column-wrapper {
  background-color: #0000;
  padding-top: 32px;
  transform: translate(0);
}

.brix---dropdown-column-wrapper.w--open {
  transform: translate(-50%);
}

.brix---hamburger-menu-bar-top, .brix---hamburger-menu-bar-bottom {
  background-color: var(--elements-webflow-library--neutral--800);
  border-radius: 20px;
  width: 52px;
  height: 4px;
  margin-top: 12px;
  margin-bottom: 12px;
}

.hero-section {
  background-image: none;
  background-position: 0 0;
  background-size: auto;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: 100vh;
  padding-left: 10vw;
  display: block;
  position: relative;
  inset: 0% 0% auto;
  overflow: hidden;
}

.button {
  background-color: #c76825;
  border-radius: 30px;
  height: auto;
  margin-top: 40px;
  padding: 17px 46px;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 200;
  line-height: 20px;
}

.button:hover {
  color: #fff;
  background-color: #b34e08;
  border: 1px solid #c76825;
  box-shadow: 3px 3px 5px #0003;
}

.hero-title {
  color: #fff;
  letter-spacing: .6px;
  background-color: #fff0;
  padding-left: 0;
  padding-right: 0;
  font-family: Montserrat, sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 30px;
}

.body {
  font-family: Montserrat, sans-serif;
  font-size: 16px;
}

.hero-subtitle-2 {
  color: #fff;
  background-color: #fff0;
  margin-top: 40px;
  margin-bottom: 8px;
  padding: 0;
  font-family: Montserrat, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 27px;
}

.container {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 1160px;
  margin-top: 22svw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  overflow: visible;
}

.navbar2 {
  background-color: #fff0;
  position: fixed;
}

.section-title {
  color: #ab5f29;
  -webkit-text-stroke-color: #c76825;
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 38px;
  font-weight: 400;
}

.section-title.title-wide-gap {
  color: #ab5f29;
  text-align: center;
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 38px;
  line-height: 100%;
}

.section-title.centered {
  text-align: center;
  line-height: 35px;
}

.section-title.centered.wide-gap {
  margin-top: 60px;
  padding-top: 0;
  padding-bottom: 0;
}

.section-title.centered.white, .section-title.white {
  color: #fff;
}

.section-subtitle {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 80px;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 100%;
}

.section-subtitle.margins {
  margin-top: 80px;
  margin-bottom: 100px;
}

.section-subtitle.not-centered {
  text-align: left;
}

.section-subtitle.not-centered.no-margin {
  margin-bottom: 0;
}

.section {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  padding-top: 140px;
  padding-bottom: 140px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 26px;
  display: block;
  overflow: hidden;
}

.section.beige {
  background-color: #fdf6ec;
  font-weight: 300;
  display: flex;
}

.section.beige.horizontal-align {
  display: flex;
  overflow: hidden;
}

.section.beige.vertical-align {
  overflow: hidden;
}

.section.vertical-align {
  flex-flow: column;
  align-items: center;
  display: flex;
  overflow: hidden;
}

.section.vertical-align.brown {
  background-color: #b4886f;
  align-items: flex-start;
}

.section.vertical-align.brown.footer {
  padding-top: 60px;
}

.section.color {
  background-color: #ebe4da;
}

.section.hero-femme-enceinte {
  background-image: url("../images/texture-fond.webp");
  background-position: 0 0;
  background-size: cover;
  height: 100vh;
}

.text-block-3.text-paragraph {
  width: 800px;
}

.section-paragraph {
  color: #333;
  margin-top: 40px;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  line-height: 31px;
}

.div-block {
  margin-top: 10px;
  padding-left: 0;
  padding-right: 0;
}

.container-3 {
  justify-content: space-between;
  align-items: flex-start;
  width: 100vw;
  max-width: 1200px;
  margin-top: 60px;
  display: flex;
}

.offer-card {
  background-color: #ead4c9;
  border-radius: 60px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 370px;
  height: 700px;
  margin-left: 20px;
  margin-right: 20px;
  padding: 50px 25px 40px;
  display: flex;
}

.image-2 {
  border-radius: 130px;
  width: 500px;
}

.div-block-5 {
  width: 750px;
  margin-top: 0;
  margin-left: 100px;
}

.text-paragraph {
  margin-top: 0;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.875;
  color: #5c524b;
}

.text-paragraph.mid-length {
  width: 800px;
}

.text-paragraph.mid-length.centered {
  text-align: left;
  width: 790px;
  margin-top: 50px;
}

.text-paragraph.section-subtitle-low-margin.not-centered {
  text-align: left;
}

.text-paragraph.no-margin {
  margin-top: 10px;
}

.navbar-2 {
  background-color: #fff0;
  position: absolute;
}

.image-3 {
  text-align: left;
  margin-top: 5svw;
  margin-left: 8svw;
}

.overlay {
  z-index: auto;
  opacity: 1;
  background-image: linear-gradient(#fff 11%, #dab9b499 45%);
  height: 100vh;
  margin-top: 0;
  margin-bottom: 0;
  position: absolute;
  inset: 0% 0% auto;
}

.div-block-9 {
  margin-left: 100px;
  margin-right: auto;
  padding-top: 0;
  padding-bottom: 0;
}

.image-4 {
  min-width: 250px;
  margin-left: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.div-block-10 {
  margin-left: auto;
}

.image-5 {
  border-radius: 50px;
}

.div-block-11 {
  text-align: center;
  margin-top: 60px;
}

.card-title {
  color: #ab5f29;
  text-align: center;
  margin-bottom: 20px;
  font-size: 22px;
}

.subtitle-duration {
  text-align: center;
  font-size: 18px;
  line-height: 19px;
}

.price {
  color: #ab5f29;
  text-align: center;
  margin-top: 40px;
  font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
  font-size: 22px;
}

.offer-description {
  letter-spacing: 1px;
  margin-top: 40px;
  line-height: 29px;
}

.container-4 {
  display: flex;
}

.text-block-6 {
  color: #fff;
  width: 380px;
  margin-left: 9px;
  padding: 5px 0;
}

.text-block-7 {
  font-size: 28px;
  font-style: italic;
}

.text-block-8 {
  margin-top: 40px;
  font-size: 26px;
  font-style: italic;
}

.div-block-14 {
  text-align: center;
  background-color: #f3cfbe;
  border-radius: 30px;
  margin-left: 110px;
  padding-bottom: 30px;
  padding-left: 40px;
  padding-right: 40px;
}

.container-5 {
  justify-content: space-between;
  align-items: center;
  min-width: 880px;
  display: flex;
}

.slider-div-block {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 1000px;
  height: 200px;
  margin-top: 100px;
  padding-left: 90px;
  padding-right: 90px;
  display: flex;
}

.slider {
  background-color: #fff;
  border-radius: 40px;
  max-width: 980px;
  height: auto;
  min-height: 400px;
  margin: 0 20px;
}

.section-3 {
  height: 800px;
}

.text-block-9 {
  margin-top: 30px;
  font-weight: 400;
}

.slider-text-block {
  font-style: italic;
}

.left-arrow, .right-arrow {
  justify-content: center;
  align-items: center;
  display: flex;
}

.container-6 {
  align-items: center;
  margin-top: 0;
  display: flex;
}

.div-block-15 {
  align-items: center;
  margin-top: 3px;
  display: flex;
}

.div-block-16 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.image-6 {
  height: 43px;
  margin-left: 3px;
}

.div-block-17 {
  border: 1px solid #fff;
  border-radius: 1px;
  width: 0;
  height: 300px;
}

.image-7 {
  height: 50px;
}

.image-8 {
  height: 47px;
  margin-left: 2px;
}

.image-9 {
  height: 39px;
  margin-left: 7px;
}

.text-block-phone {
  color: #fff;
  width: 380px;
  margin-left: 12px;
  padding: 5px 0;
}

.div-block-at {
  align-items: center;
  margin-top: 12px;
  display: flex;
}

.div-block-phone {
  align-items: center;
  margin-top: 10px;
  display: flex;
}

.footer-title {
  color: #fff;
  margin-bottom: 30px;
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 35px;
  font-weight: 400;
  line-height: 37px;
}

.footer-title.title-wide-gap {
  color: #ab5f29;
  text-align: center;
  font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
  font-size: 38px;
  line-height: 100%;
}

.footer-title.centered {
  text-align: center;
}

.footer-title.centered.wide-gap {
  margin-top: 60px;
  padding-top: 0;
  padding-bottom: 0;
}

.footer-title.centered.white, .footer-title.white {
  color: #fff;
}

.footer-title.white.centered {
  margin-bottom: 40px;
}

.div-block-18 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.text-block-email {
  color: #fff;
  width: 380px;
  margin-left: 12px;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 0;
}

.card-title-shiatsu {
  color: #ab5f29;
  text-align: center;
  margin-top: 16px;
  margin-bottom: 30px;
  font-size: 22px;
}

.secondary-button {
  color: #c76825;
  background-color: #fff;
  border: 1px solid #c76825;
  border-radius: 30px;
  height: auto;
  margin-top: 60px;
  padding: 17px 46px;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 20px;
}

.secondary-button:hover {
  color: #fff;
  background-color: #e3a399;
  border-width: 0;
  box-shadow: 3px 3px 5px #0003;
}

.section-4 {
  opacity: .77;
  mix-blend-mode: normal;
  background-image: url("../images/texture-fond.webp");
  background-position: 0 0;
  background-repeat: repeat;
  background-size: cover;
  background-attachment: fixed;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 800px;
  display: flex;
}

.text-block-10 {
  text-align: center;
  margin-bottom: 20px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
}

.container-7 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 80px;
  display: flex;
  position: relative;
}

.text-block-11 {
  text-align: center;
  margin-top: 60px;
  margin-bottom: 20px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
}

.text-block-12 {
  width: 300px;
  margin-top: 60px;
}

.container-8 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.item-text {
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-start;
  width: 200px;
  margin-left: 7px;
  display: flex;
}

.columns {
  margin-top: 40px;
}

.text-block-14, .text-block-15 {
  margin-top: 0;
  line-height: 28px;
}

.column {
  margin-top: 0;
  padding-left: 20px;
  padding-right: 20px;
}

.text-block-16 {
  font-size: 16px;
}

.section-bienfaits-subtitle {
  color: #eaaba2;
  margin-top: 10px;
  font-size: 16px;
  font-weight: 400;
}

.section-bienfaits-subtitle-2 {
  margin-top: 90px;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 500;
}

.container-9 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.div-block-19 {
  margin-top: 10px;
}

.d-roul {
  padding-left: 10px;
}

.text-block-18 {
  padding-left: 30px;
  padding-right: 30px;
}

.div-block-20 {
  border: 1px solid #ab5f29;
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100px;
  height: 0;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.text-block-21 {
  margin-top: 60px;
}

.benefits-card {
  background-color: #fff;
  border-radius: 30px;
  height: 490px;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 20px;
}

.encart-titre-bienfaits-corps {
  color: #fff;
  background-color: #f1c09b;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 60px;
  margin: -15px -15px 10px;
  display: flex;
}

.encart-titre-bienfaits-emotions {
  color: #fff;
  background-color: #dbc4f3;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 60px;
  margin: -15px -15px 10px;
  display: flex;
}

.encart-titre-bienfaits-sn {
  color: #fff;
  background-color: #f8beb5;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 60px;
  margin: -15px -15px 10px;
  display: flex;
}

.div-block-21-copy {
  color: #fff;
  background-color: #bde0fa;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 60px;
  margin: -15px -15px 10px;
  display: flex;
}

.description-bienfaits {
  margin-top: 30px;
  line-height: 28px;
}

.text-block-23 {
  line-height: 28px;
}

.div-block-21 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.image-10 {
  height: 70px;
  margin-bottom: 7px;
}

.image-11 {
  height: 70px;
  margin-top: 5px;
  margin-bottom: 7px;
}

.container-10 {
  flex-flow: row;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 40px;
  display: flex;
}

.container-11 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-left: 20px;
  padding-right: 20px;
  display: block;
}

.div-block-22 {
  border: 1px solid #e3a399;
  border-radius: 2px;
  width: 300px;
  height: 0;
  margin-bottom: 60px;
}

.div-block-23 {
  justify-content: flex-start;
  align-items: baseline;
  display: flex;
}

.image-12 {
  height: 25px;
}

.item {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.div-block-24 {
  margin-top: 40px;
  margin-bottom: 30px;
}

.section-subtitle-low-margin {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 40px;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 100%;
}

.image-13, .image-14 {
  width: 33px;
}

.section-5 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  display: flex;
}

.text-block-24 {
  font-size: 50px;
}

.image-15 {
  margin-top: 5svw;
}

.navbar-3 {
  z-index: 1;
  background-color: #ddd0;
  position: absolute;
  inset: 0% 0% auto;
}

.div-block-25 {
  background-image: linear-gradient(139deg, #e59829, #fdf6ec8f 24%, #fff 77%);
  height: 100vh;
  position: absolute;
  inset: 0% 0% auto;
}

.page-title {
  color: #a85a48;
  text-align: center;
  letter-spacing: -0.005em;
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 24px;
}

@media screen and (max-width: 991px) {
  .page-title {
    font-size: 2.1rem;
  }
}

@media screen and (max-width: 767px) {
  .page-title {
    font-size: 1.7rem;
  }
}

.page-title.title-wide-gap {
  color: #ab5f29;
  text-align: center;
  font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
  font-size: 38px;
  line-height: 100%;
}

.page-title.centered {
  text-align: center;
  line-height: 35px;
}

.page-title.centered.wide-gap {
  margin-top: 60px;
  padding-top: 0;
  padding-bottom: 0;
}

.page-title.centered.white {
  color: #fff;
}

.etape {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.image-16 {
  height: 31px;
}

.image-17, .image-18 {
  height: 30px;
}

.div-block-27 {
  flex-flow: column;
  display: flex;
}

.div-block-28 {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.image-19 {
  height: 30px;
}

.div-block-29 {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.image-20 {
  height: 30px;
}

.section-display-block {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  padding-top: 120px;
  padding-bottom: 120px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 26px;
  display: block;
  overflow: hidden;
}

.section-display-block.beige {
  background-color: #fdf6ec;
  font-weight: 300;
}

.section-display-block.beige.horizontal-align {
  display: flex;
  overflow: hidden;
}

.section-display-block.beige.vertical-align {
  overflow: hidden;
}

.section-display-block.vertical-align {
  flex-flow: column;
  align-items: center;
  display: flex;
  overflow: hidden;
}

.section-display-block.vertical-align.brown {
  background-color: #b4917e;
  align-items: flex-start;
}

.section-display-block.vertical-align.brown.footer {
  padding-top: 60px;
}

.section-display-block.color {
  background-color: #ebe4da;
}

.section-display-block.hero-femme-enceinte {
  background-image: url("../images/texture-fond.webp");
  background-position: 0 0;
  background-size: cover;
  height: 100vh;
}

.text-block-25 {
  font-size: 20px;
  font-weight: 500;
  line-height: 100%;
}

.pink-subtitle {
  color: #eaaba2;
  margin-top: 30px;
  font-size: 18px;
  font-weight: 400;
}

.paragraph {
  margin-top: 60px;
}

.accordion {
  width: 100%;
  margin-bottom: 10px;
  padding-bottom: 0;
  padding-left: 0;
}

.dropdown {
  width: 100%;
}

.dropdown-list {
  background-color: #fdf6ec;
  border-radius: 0 0 20px 20px;
  position: relative;
}

.question {
  background-color: #fdf6ec;
  border-radius: 20px;
  width: 1040px;
  margin-bottom: 15px;
  padding-bottom: 10px;
  padding-left: 20px;
  padding-right: 20px;
}

.text-block-26 {
  font-weight: 500;
}

.text-block-27 {
  font-weight: 400;
}

.text-block-28, .text-block-29, .text-block-30 {
  font-weight: 500;
}

.image-21 {
  height: 45px;
}

.image-22 {
  height: 47px;
}

.image-23 {
  height: 52px;
  margin-left: 2px;
  margin-right: 2px;
}

.image-24 {
  height: 43px;
}

.image-25 {
  height: 43px;
  margin-bottom: 13px;
}

.image-26 {
  height: 40px;
  margin-bottom: 6px;
  margin-left: 2px;
}

.text-block-train {
  color: #fff;
  width: 380px;
  margin-left: 6px;
  padding: 5px 0;
}

.slider-div-block-3, .slider-div-block-2 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 1000px;
  height: 200px;
  margin-top: 100px;
  padding-left: 90px;
  padding-right: 90px;
  display: flex;
}

.name {
  font-style: normal;
}

.section-6 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.contact-hero-paragraph {
  text-align: center;
  letter-spacing: .5px;
  line-height: 32px;
}

.div-block-31 {
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.div-block-32 {
  margin-right: 40px;
}

.button-call {
  color: #e3a399;
  background-color: #fff;
  border: 1px solid #e3a399;
  border-radius: 30px;
  height: auto;
  margin-top: 40px;
  padding: 17px 46px;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 20px;
}

.div-block-33 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.paragraph-3 {
  margin-top: 10px;
  font-style: italic;
}

.header-h1 {
  color: #fff;
  letter-spacing: -1px;
  margin-top: 0;
  font-family: Montserrat, sans-serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 50px;
}

.header-h1.title-wide-gap {
  color: #ab5f29;
  text-align: center;
  font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
  font-size: 38px;
  line-height: 100%;
}

.header-h1.centered {
  text-align: center;
  line-height: 35px;
}

.header-h1.centered.wide-gap {
  margin-top: 60px;
  padding-top: 0;
  padding-bottom: 0;
}

.header-h1.centered.white, .header-h1.white {
  color: #fff;
}

.image-27 {
  height: 300px;
}

.container-15 {
  flex-flow: row;
  justify-content: center;
  align-items: flex-start;
  display: block;
}

.div-block-34 {
  width: 500px;
}

.map {
  width: 440px;
}

.div-block-35 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.paragraph-4 {
  margin-bottom: 0;
  margin-left: 10px;
}

.div-block-36 {
  justify-content: flex-start;
  align-items: center;
  margin-top: 20px;
  display: flex;
}

.image-28 {
  height: 22px;
}

.div-block-37 {
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 20px;
  display: flex;
}

.paragraph-5 {
  margin-bottom: 0;
  margin-left: 10px;
}

.div-block-38 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.div-block-39 {
  justify-content: flex-start;
  align-items: stretch;
  margin-left: 10px;
  display: flex;
}

.div-block-40 {
  border: 1px solid #e3a399;
  margin-top: 7px;
  margin-bottom: 7px;
}

.paragraph-6 {
  margin-bottom: 0;
  margin-left: 20px;
}

.text-block-31 {
  font-size: 14px;
}

.text-block-32 {
  margin-left: 5px;
  font-size: 14px;
}

.image-29 {
  height: 21px;
}

.div-block-41 {
  justify-content: flex-start;
  align-items: center;
  margin-top: 2px;
  margin-right: 3px;
  display: flex;
}

.paragraph-7 {
  font-size: 14px;
}

.div-block-42 {
  margin-top: 80px;
}

.div-block-43 {
  border: 1px solid #e3a399;
  border-radius: 1px;
}

.text-block-33 {
  color: #fff;
  letter-spacing: 2px;
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 40px;
}

.navbar-4 {
  background-color: #fff0;
  flex-flow: column;
  justify-content: center;
  align-items: flex-end;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 20px;
}

.container-16 {
  justify-content: flex-start;
  align-items: center;
  max-width: 1160px;
  margin-left: 0;
  font-size: 16px;
}

.nav-menu {
  margin-top: 4px;
}

.paragraph-8 {
  width: 150px;
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 40px;
  line-height: 41px;
}

.image-30 {
  width: 230px;
  margin-right: auto;
}

.nav-link {
  color: #8db89e;
}

.menu-element {
  color: #5c524b;
}

.menu-element:hover {
  color: #c97c6a;
}

.menu-element.w--current {
  color: #5c524bcc;
}

.paragraph-9 {
  color: #fff;
  margin-top: 20px;
}

.section-7 {
  opacity: 1;
  background-image: url("../images/hero-image.webp");
  background-position: 30%;
  background-size: cover;
  height: 100vh;
  padding-left: 10vw;
  padding-right: 10vw;
}

.div-block-44 {
  height: 100vh;
  position: absolute;
  inset: 0% 0% auto;
}

.footer-button {
  color: #c97c6a;
  background-color: #fff;
  border-radius: 30px;
  height: auto;
  margin-top: 40px;
  padding: 17px 46px;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 200;
  line-height: 20px;
}

.footer-button:hover {
  color: #fff;
  background-color: #b4886f;
  border: 1px solid #fff;
}

.nav-bar-container {
  max-width: 1160px;
}

.hero-femme-enceinte {
  background-image: url("../images/texture-fond.webp");
  background-position: 0 0;
  background-size: cover;
  height: 800px;
}

.flowappz-cookie-consent-hide-cookie-button {
  color: #333;
  cursor: pointer;
  background-color: #fff;
  border-radius: 100%;
  width: 48px;
  height: 48px;
  padding: 10px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  text-decoration: underline;
  display: block;
  position: fixed;
  bottom: 2%;
  left: 2%;
  box-shadow: 0 2px 5px #0003;
}

.flowappz-cookie-consent-hide-cookie-button:hover {
  box-shadow: 0 5px 30px #0003;
}

@media screen and (min-width: 1440px) {
  .brix---grid-hero-v1 {
    grid-column-gap: 90px;
  }

  .hero-subtitle-2 {
    margin-bottom: 7px;
  }

  .container-16 {
    justify-content: flex-end;
    align-items: center;
  }
}

@media screen and (min-width: 1920px) {
  .brix---hero-full-width-right-hero-v5 {
    width: 100%;
    max-width: 46%;
  }

  .hero-title {
    margin-top: 0;
    padding: 14px 8px;
  }

  .body {
    padding-top: 0;
    padding-bottom: 0;
  }

  .hero-subtitle-2 {
    margin-top: 15px;
    margin-bottom: 15px;
    margin-left: auto;
    padding: 11px 13px 9px;
  }

  .text-block {
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 30px;
    font-weight: 500;
  }

  .text-block-2 {
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 30px;
    font-weight: 700;
  }

  .container {
    height: 20svh;
    margin-top: 25svw;
    position: relative;
  }

  .navbar2 {
    position: fixed;
    inset: 0% 0% auto;
  }

  .image {
    margin-top: 100px;
    margin-left: 8svw;
    padding-left: 0;
    position: static;
  }

  .section-title {
    color: #ab5f29;
    letter-spacing: 2px;
    justify-content: center;
    align-items: flex-start;
    font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
    font-size: 38px;
    line-height: 100%;
    display: flex;
  }

  .section-title.title-wide-gap {
    margin-top: 80px;
  }

  .section-subtitle {
    color: #583a39;
    letter-spacing: 2px;
    justify-content: center;
    align-items: flex-start;
    margin-top: 30px;
    margin-bottom: 80px;
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 100%;
    display: flex;
  }

  .section-1 {
    background-color: #fff;
    height: 300px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .section-1.section-pour-qui {
    background-color: #ebe4da;
    height: 465px;
  }

  .section-generic {
    height: 270px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .section-title-left {
    color: #ab5f29;
    letter-spacing: 2px;
    justify-content: flex-start;
    align-items: flex-start;
    font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
    font-size: 38px;
    line-height: 100%;
    display: flex;
  }

  .section {
    padding-top: 160px;
    padding-bottom: 160px;
  }

  .section.section-beige-background {
    background-color: #ebe4da;
    flex-flow: row;
    align-items: stretch;
    display: block;
  }

  .section.section-beige-background.section-flex-centered {
    flex-flow: column;
    align-items: center;
    display: flex;
  }

  .section.section-beige-background.section-flex-horizontal {
    display: flex;
  }

  .text-block-3 {
    margin-top: 40px;
    margin-left: 20%;
    margin-right: 20%;
  }

  .text-block-3.text-paragraph {
    max-width: none;
    margin-top: 100px;
    margin-left: 25%;
    margin-right: 25%;
    line-height: 26px;
  }

  .section-paragraph {
    line-height: 31px;
  }

  .div-block {
    margin-top: 20px;
    padding: 0 20px 20px 0;
  }

  .container-3 {
    max-width: 1400px;
    margin-top: 80px;
  }

  .offer-card.middle-card {
    margin-left: 50px;
    margin-right: 50px;
    padding-bottom: 0;
  }

  .offer-card.offer-description {
    color: #583a39;
    letter-spacing: 2px;
    font-size: 16px;
    line-height: 26px;
  }

  .div-block-3 {
    background-color: #ead4c9;
  }

  .div-block-4 {
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .image-2 {
    border-radius: 130px;
    width: 340px;
  }

  .section-2 {
    display: flex;
  }

  .div-block-5 {
    max-width: 600px;
    margin-top: 0;
    margin-left: 100px;
  }

  .text-block-5 {
    color: #583a39;
    max-width: 578px;
  }

  .text-paragraph {
    color: #583a39;
    max-width: 800px;
    margin-top: 40px;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    line-height: 25px;
  }

  .text-paragraph.text-block-5 {
    max-width: none;
    margin-top: 40px;
    line-height: 25px;
  }

  .navbar-2 {
    background-color: #fff0;
    position: static;
  }

  .image-3 {
    margin-top: 5svw;
    margin-left: 8svw;
  }

  .div-block-7 {
    background-color: #ca1818;
    background-image: linear-gradient(135deg, #564437 6%, #dd9f95 30%, #dfa197 51% 57%, #e1a298 81%, #e2a399 94%, #e3a399 100%, #fff);
    min-height: 100vh;
    position: fixed;
    inset: 0% 0% auto;
  }

  .div-block-9 {
    max-height: none;
  }

  .image-4 {
    max-height: 320px;
  }

  .section-flex-horizontal {
    max-width: 1920px;
    display: flex;
  }

  .image-5 {
    border-radius: 50px;
    margin-left: auto;
    margin-right: auto;
  }

  .div-block-11 {
    margin-top: 60px;
    display: flex;
  }

  .card-title {
    color: #ab5f29;
    text-align: center;
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;
    margin-top: 0;
    margin-bottom: 20px;
    font-family: Montserrat, sans-serif;
    font-size: 24px;
    line-height: 26px;
    display: block;
  }

  .subtitle-duration {
    color: #583a39;
    letter-spacing: 2px;
    justify-content: center;
    align-items: flex-start;
    font-family: Montserrat, sans-serif;
    font-size: 18px;
    display: flex;
  }

  .price {
    color: #ab5f29;
    text-align: center;
    margin-top: 40px;
    font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
    font-size: 25px;
    line-height: 26px;
  }

  .offer-description {
    color: #583a39;
    margin-top: 40px;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    line-height: 29px;
  }

  .div-block-12 {
    margin-top: 30px;
  }

  .container-4 {
    justify-content: center;
    align-items: center;
    max-width: 1600px;
    display: flex;
  }

  .div-block-13 {
    opacity: .38;
    -webkit-text-fill-color: inherit;
    background-color: #fff0;
    background-image: linear-gradient(143deg, #000 8%, #564437 17%, #e3a399b0 43%, #fff);
    background-clip: border-box;
    min-height: 100vh;
    max-height: 800px;
    position: absolute;
    inset: 0% 0% auto;
  }

  .footer-title {
    color: #ab5f29;
    letter-spacing: 2px;
    justify-content: center;
    align-items: flex-start;
    font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
    font-size: 38px;
    line-height: 100%;
    display: flex;
  }

  .footer-title.title-wide-gap {
    margin-top: 80px;
  }

  .card-title-shiatsu {
    color: #ab5f29;
    text-align: center;
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 20px;
    font-family: Montserrat, sans-serif;
    font-size: 24px;
    line-height: 26px;
    display: block;
  }

  .section-subtitle-low-margin {
    color: #583a39;
    letter-spacing: 2px;
    justify-content: center;
    align-items: flex-start;
    margin-top: 30px;
    margin-bottom: 80px;
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 100%;
    display: flex;
  }

  .page-title {
    color: #ab5f29;
    letter-spacing: 2px;
    justify-content: center;
    align-items: flex-start;
    font-family: Palatino Linotype, Book Antiqua, Palatino, serif;
    font-size: 38px;
    line-height: 100%;
    display: flex;
  }

  .page-title.title-wide-gap {
    margin-top: 80px;
  }

  .section-display-block {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .section-display-block.section-beige-background {
    background-color: #ebe4da;
    flex-flow: row;
    align-items: stretch;
    display: block;
  }

  .section-display-block.section-beige-background.section-flex-centered {
    flex-flow: column;
    align-items: center;
    display: flex;
  }

  .section-display-block.section-beige-background.section-flex-horizontal {
    display: flex;
  }

  .header-h1 {
    justify-content: center;
    align-items: flex-start;
    line-height: 100%;
  }

  .header-h1.title-wide-gap {
    margin-top: 80px;
  }

  .section-7 {
    text-align: left;
  }
}

@media screen and (max-width: 991px) {
  .brix---btn-primary {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .brix---heading-h1-size {
    font-size: 48px;
    line-height: 60px;
  }

  .brix---grid-hero-v1 {
    grid-row-gap: 48px;
    grid-template-columns: 1fr;
  }

  .brix---floating-image-hero-v2---1 {
    top: 24%;
    right: -30%;
  }

  .brix---section-hero-full-width-right {
    padding-top: 100px;
    padding-bottom: 522px;
  }

  .brix---hero-full-width-right-hero-v5 {
    justify-content: center;
    align-items: center;
    max-width: 100%;
    height: 450px;
    display: flex;
    inset: auto 0% 0%;
    overflow: hidden;
  }

  .brix---header-wrapper {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .brix---header-menu-wrapper {
    border-top: 1px solid var(--elements-webflow-library--neutral--300);
    border-bottom: 1px solid var(--elements-webflow-library--neutral--300);
    background-color: var(--elements-webflow-library--neutral--100);
    padding: 24px;
  }

  .brix---header-nav-menu-list {
    flex-direction: column;
    align-items: flex-start;
  }

  .brix---header-nav-list-item {
    margin-bottom: 16px;
    padding-left: 0;
  }

  .brix---dropdown-card {
    box-shadow: none;
    background-color: #0000;
    border-width: 0;
    border-radius: 0;
    min-width: auto;
  }

  .brix---dropdown-card.w--open {
    position: static;
  }

  .brix---dropdown-pd {
    padding: 20px 0 14px;
  }

  .brix---header-logo {
    max-width: 232px;
  }

  .brix---hamburger-menu-wrapper {
    order: -1;
    transition: transform .3s;
  }

  .brix---hamburger-menu-wrapper:hover {
    transform: scale(.96);
  }

  .brix---hamburger-menu-wrapper.w--open {
    background-color: #0000;
  }

  .brix---dropdown-column-wrapper {
    padding-top: 0;
    position: static;
  }

  .brix---dropdown-column-wrapper.w--open {
    transform: none;
  }

  .brix---hamburger-menu-bar-top {
    width: 44px;
    height: 3px;
  }

  .brix---hamburger-menu-bar-bottom {
    width: 44px;
    height: 3px;
    margin-top: 12px;
    margin-bottom: 12px;
  }

  .hero-section {
    position: static;
    inset: 0% 0% auto;
  }

  .button {
    height: auto;
    margin-top: 28px;
    padding: 12px 32px;
    font-size: 16px;
  }

  .hero-title {
    font-size: 24px;
  }

  .hero-subtitle-2 {
    padding-left: 0;
    padding-right: 0;
    font-size: 18px;
    line-height: 25px;
  }

  .navbar {
    -webkit-text-fill-color: inherit;
    background-color: #e4243ef7;
    background-clip: border-box;
    position: fixed;
    inset: 0% 0% auto;
  }

  .container {
    margin-top: 50svw;
    position: relative;
    inset: 0% 0% auto;
  }

  .navbar2 {
    background-color: #fff0;
    position: fixed;
    inset: 0% 0% auto;
  }

  .container-2 {
    background-color: #a35a5a00;
  }

  .section-title {
    font-size: 32px;
    font-weight: 400;
  }

  .section-title.title-wide-gap {
    font-weight: 400;
  }

  .section-title.centered.wide-gap {
    margin-top: 20px;
    font-size: 32px;
  }

  .section-subtitle {
    margin-top: 22px;
    margin-bottom: 40px;
    font-size: 16px;
  }

  .section {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .section-paragraph {
    font-size: 16px;
    line-height: 26px;
  }

  .div-block {
    margin-top: 20px;
  }

  .container-3 {
    flex-flow: column;
    width: auto;
  }

  .offer-card {
    margin-left: 0;
    margin-right: 0;
  }

  .offer-card.middle-card {
    margin: 120px 0;
    padding-left: 25px;
  }

  .image-2 {
    width: 480px;
  }

  .div-block-5 {
    margin-top: 80px;
    margin-left: 60px;
  }

  .text-paragraph.mid-length {
    width: auto;
    max-width: 700px;
  }

  .text-paragraph.mid-length.centered {
    width: 600px;
  }

  .overlay {
    min-height: 0;
    max-height: none;
  }

  .div-block-9 {
    margin-left: 20px;
    margin-right: 0;
  }

  .div-block-14 {
    margin-top: 60px;
    margin-left: 50px;
    margin-right: 50px;
  }

  .container-5 {
    min-width: 0;
  }

  .container-6 {
    flex-flow: column;
    width: 470px;
  }

  .footer-title {
    font-size: 32px;
  }

  .footer-title.centered.wide-gap {
    margin-top: 20px;
    font-size: 32px;
  }

  .secondary-button {
    height: auto;
    margin-top: 28px;
    padding: 12px 32px;
    font-size: 16px;
  }

  .columns {
    margin-top: 60px;
  }

  .benefits-card {
    height: 540px;
  }

  .section-subtitle-low-margin {
    margin-top: 22px;
    margin-bottom: 40px;
    font-size: 16px;
  }

  .page-title {
    font-size: 32px;
  }

  .page-title.centered.wide-gap {
    margin-top: 20px;
    font-size: 32px;
  }

  .section-display-block {
    padding-top: 110px;
    padding-bottom: 110px;
  }

  .text-block-26 {
    white-space: normal;
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    display: block;
  }

  .button-call {
    height: auto;
    margin-top: 28px;
    padding: 12px 32px;
    font-size: 16px;
  }

  .header-h1 {
    font-size: 40px;
    line-height: 45px;
  }

  .header-h1.centered.wide-gap {
    margin-top: 20px;
    font-size: 32px;
  }

  .image-27 {
    height: 250px;
  }

  .container-16 {
    justify-content: center;
    align-items: center;
  }

  .nav-menu {
    background-color: #fff;
  }

  .image-30 {
    margin-top: 0;
  }

  .section-7 {
    background-position: 70%;
  }

  .image-31 {
    height: 30px;
  }

  .menu-button.w--open {
    background-color: #fff;
  }

  .footer-button {
    height: auto;
    margin-top: 28px;
    padding: 12px 32px;
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .brix---mg-bottom-40px {
    margin-bottom: 24px;
  }

  .brix---btn-primary {
    padding: 20px 32px;
  }

  .brix---btn-secondary {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .brix---heading-h1-size {
    margin-bottom: 12px;
    font-size: 38px;
    line-height: 46px;
  }

  .brix---grid-hero-v1 {
    grid-template-columns: 1fr;
  }

  .brix---button-row-left {
    margin-right: 16px;
  }

  .brix---floating-image-hero-v2---1 {
    max-width: 480px;
  }

  .brix---section-hero-full-width-right {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .brix---hero-full-width-right-hero-v5 {
    margin-top: 62px;
    position: static;
  }

  .brix---header-logo {
    max-width: 90%;
  }

  .button {
    padding: 8px 29px;
    font-size: 12px;
  }

  .hero-title {
    font-size: 26px;
    line-height: 30px;
  }

  .hero-subtitle-2 {
    margin-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 17px;
  }

  .container {
    margin-top: 50svw;
    margin-right: 8svw;
  }

  .section-title {
    font-size: 26px;
  }

  .section-title.title-wide-gap {
    font-size: 28px;
  }

  .section-title.centered {
    font-size: 26px;
  }

  .section-subtitle {
    margin-bottom: 40px;
  }

  .section {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .section.beige {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .section-paragraph {
    font-size: 16px;
    line-height: 22px;
  }

  .image-2 {
    width: 320px;
  }

  .div-block-5 {
    width: 400px;
    margin-left: 0;
  }

  .text-paragraph.mid-length {
    margin-left: 20px;
    margin-right: 20px;
  }

  .text-paragraph.mid-length.centered {
    width: auto;
    min-width: 400px;
    max-width: 600px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .div-block-9 {
    margin-left: 0;
    margin-right: 10px;
  }

  .image-4 {
    min-width: 100px;
  }

  .div-block-10 {
    margin-left: 20px;
  }

  .div-block-11 {
    margin-top: 40px;
  }

  .container-4 {
    flex-flow: column;
    align-items: center;
  }

  .text-block-8 {
    font-size: 24px;
  }

  .container-5 {
    min-width: auto;
  }

  .mask {
    height: 430px;
  }

  .footer-title {
    font-size: 26px;
  }

  .footer-title.title-wide-gap {
    font-size: 28px;
  }

  .footer-title.centered {
    font-size: 26px;
  }

  .secondary-button {
    padding: 8px 29px;
    font-size: 12px;
  }

  .columns {
    margin-top: 40px;
  }

  .column, .column-2 {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    display: flex;
  }

  .benefits-card {
    width: 430px;
  }

  .container-10 {
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    display: flex;
  }

  .div-block-22 {
    height: 1px;
    margin-bottom: 60px;
  }

  .section-subtitle-low-margin {
    margin-bottom: 40px;
  }

  .page-title {
    font-size: 26px;
  }

  .page-title.title-wide-gap {
    font-size: 28px;
  }

  .page-title.centered {
    font-size: 26px;
  }

  .section-display-block {
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .section-display-block.beige {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .question {
    width: auto;
    margin-left: 2vw;
    margin-right: 2vw;
  }

  .container-13 {
    width: 100vw;
  }

  .contact-hero-paragraph {
    margin-left: 20px;
    margin-right: 20px;
  }

  .button-call {
    padding: 8px 29px;
    font-size: 12px;
  }

  .header-h1 {
    font-size: 26px;
    line-height: 32px;
  }

  .header-h1.title-wide-gap {
    font-size: 28px;
  }

  .header-h1.centered {
    font-size: 26px;
  }

  .image-27.hidden {
    display: none;
  }

  .div-block-34 {
    width: 400px;
    margin-bottom: 20px;
  }

  .div-block-35 {
    flex-flow: column;
    display: flex;
  }

  .div-block-42 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    display: flex;
  }

  .section-7 {
    background-position: 70%;
  }

  .footer-button {
    padding: 8px 29px;
    font-size: 12px;
  }
}

@media screen and (max-width: 479px) {
  .brix---btn-primary, .brix---btn-secondary {
    width: 100%;
    padding-top: 18px;
    padding-bottom: 18px;
    font-size: 17px;
    line-height: 19px;
  }

  .brix---buttons-row {
    flex-direction: column;
    align-items: stretch;
  }

  .brix---container-default {
    padding-left: 20px;
    padding-right: 20px;
  }

  .brix---heading-h1-size {
    margin-bottom: 10px;
    font-size: 30px;
    line-height: 37px;
  }

  .brix---paragraph-default {
    font-size: 17px;
    line-height: 28px;
  }

  .brix---button-row-left {
    width: 100%;
    margin-bottom: 20px;
    margin-right: 0;
  }

  .brix---floating-image-hero-v2---1 {
    display: none;
  }

  .brix---section-hero-full-width-right {
    padding-top: 48px;
  }

  .brix---hero-full-width-right-hero-v5 {
    object-fit: fill;
    height: 50%;
  }

  .brix---header-nav-list-item {
    text-align: left;
    width: 100%;
  }

  .brix---header-logo {
    max-width: 84%;
  }

  .hero-section {
    width: auto;
    overflow: visible;
  }

  .button {
    text-align: center;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 14px;
  }

  .hero-title {
    font-size: 18px;
    line-height: 23px;
  }

  .hero-subtitle-2 {
    padding-left: 0;
    padding-right: 0;
    line-height: 20px;
  }

  .container {
    margin-top: 30svw;
  }

  .section-title {
    font-size: 24px;
  }

  .section-title.centered, .section-subtitle {
    margin-left: 10px;
    margin-right: 10px;
  }

  .section.beige.horizontal-align {
    display: block;
  }

  .section.beige.vertical-align {
    flex-flow: column;
  }

  .section.vertical-align.brown {
    justify-content: flex-start;
    align-items: center;
    display: block;
  }

  .section-paragraph {
    font-size: 16px;
    line-height: 26px;
  }

  .div-block-2 {
    margin-left: 10px;
  }

  .container-3 {
    justify-content: space-between;
    align-items: center;
    margin-left: 20px;
    margin-right: 20px;
  }

  .offer-card {
    width: auto;
    max-width: 330px;
    height: auto;
    padding: 15px 15px 30px;
  }

  .div-block-4 {
    max-width: 300px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .image-2 {
    width: auto;
  }

  .div-block-5 {
    width: auto;
    margin-left: 20px;
    margin-right: 20px;
  }

  .text-paragraph.mid-length.centered {
    min-width: 220px;
    max-width: none;
  }

  .div-block-6 {
    margin-left: 0;
    margin-right: 0;
  }

  .image-4 {
    display: none;
  }

  .div-block-11 {
    margin-left: 10px;
    margin-right: 10px;
  }

  .card-title {
    margin-top: 35px;
  }

  .text-block-6 {
    width: auto;
  }

  .div-block-14 {
    width: auto;
    max-width: 400px;
    margin-left: 10px;
    margin-right: 10px;
    padding-top: 10px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .slider-div-block {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: auto;
    margin-top: 80px;
    padding: 49px 45px;
    font-size: 14px;
    display: flex;
  }

  .slider-div-block.div-bloc-3 {
    margin-top: 0;
  }

  .slider-div-block.div-bloc-4 {
    margin-top: 40px;
  }

  .slider {
    flex-flow: column;
    justify-content: center;
    align-items: stretch;
    height: auto;
    min-height: 0;
    margin: 15px;
    display: flex;
  }

  .slide {
    min-height: 430px;
  }

  .text-block-9 {
    text-align: center;
    padding-left: 0;
  }

  .slider-text-block {
    aspect-ratio: auto;
    text-align: left;
    margin-top: 0;
  }

  .icon {
    margin-left: auto;
    margin-right: 5px;
  }

  .icon-2 {
    margin-left: 5px;
    margin-right: auto;
  }

  .left-arrow, .right-arrow {
    width: 30px;
  }

  .mask {
    height: auto;
  }

  .container-6 {
    width: auto;
    display: block;
  }

  .div-block-16 {
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    display: block;
  }

  .footer-title {
    text-align: center;
    font-size: 24px;
  }

  .footer-title.centered {
    margin-left: 10px;
    margin-right: 10px;
  }

  .div-block-18 {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  .card-title-shiatsu {
    margin-top: 35px;
  }

  .secondary-button {
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 14px;
  }

  .text-block-10 {
    margin-left: 10px;
    margin-right: 10px;
  }

  .section-bienfaits-subtitle {
    text-align: center;
  }

  .container-9 {
    width: 100vw;
  }

  .benefits-card {
    width: auto;
    max-width: 430px;
    height: auto;
  }

  .section-subtitle-low-margin {
    margin-left: 10px;
    margin-right: 10px;
  }

  .page-title {
    margin-left: 10px;
    margin-right: 10px;
    font-size: 24px;
  }

  .page-title.centered {
    margin-left: 10px;
    margin-right: 10px;
  }

  .section-display-block.beige.horizontal-align {
    display: block;
  }

  .container-14 {
    margin-top: 5svw;
    margin-left: 6svw;
  }

  .slide-2 {
    margin-top: auto;
    margin-bottom: auto;
  }

  .slider-div-block-3, .slider-div-block-2 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: auto;
    margin-top: 50px;
    padding: 49px 45px;
    font-size: 14px;
    display: flex;
  }

  .slider-div-block-2.bloc-2 {
    margin-top: -30px;
  }

  .div-block-31 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .div-block-32 {
    margin-right: 0;
  }

  .button-call {
    text-align: center;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 14px;
  }

  .header-h1 {
    font-size: 28px;
    line-height: 28px;
  }

  .header-h1.centered {
    margin-left: 10px;
    margin-right: 10px;
  }

  .container-15 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .div-block-34 {
    width: auto;
    margin-left: 10px;
    margin-right: 10px;
  }

  .map {
    width: auto;
    margin-left: 0;
    margin-right: auto;
  }

  .div-block-43 {
    min-width: 310px;
    margin-left: 10px;
    margin-right: 10px;
  }

  .navbar-4 {
    justify-content: flex-start;
    align-items: center;
  }

  .container-16 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .image-30 {
    width: 190px;
    margin-right: 0;
  }

  .section-7 {
    background-position: 80% 70%;
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .menu-button {
    margin-top: 20px;
  }

  .footer-button {
    text-align: center;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 14px;
  }

  .nav-bar-container {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
  }
}

/* === Carte Google Maps Embed (remplace le widget Webflow) === */
.map-embed { width: 100%; min-height: 300px; }
.map-embed iframe { width: 100%; height: 100%; min-height: 300px; border: none; border-radius: 4px; display: block; }

/* === Layout des 4 étapes === */
.container-10 {
  display: flex;
  flex-flow: row wrap;
  gap: 20px;
  justify-content: space-around;
  align-items: stretch;
}
.etape {
  flex: 1 1 200px;
  min-width: 180px;
}
@media (max-width: 600px) {
  .container-10 {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .etape {
    flex: 0 0 auto;
    min-width: 0;
  }
}

/* === Hero (section-7) : version lumineuse ===
   Overlay clair (voile crème) qui adoucit la photo sans la dénaturer.
   Texte et menu en couleur foncée pour la lisibilité. */

.section-7 {
  position: relative;
  /* Cadrage adapté à la photo cropée : visage et geste centrés */
  background-position: 35% center;
  background-color: #fdf6ec;
}

/* Voile principal : adoucit la photo et met en valeur la zone du texte (gauche).
   - Linear-gradient diagonal : voile global discret
   - Radial haut-gauche : luminosité large autour de la zone du logo et du mur */
.section-7::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    /* Voile crème depuis le coin haut-gauche : éclaire le logo et le mur */
    radial-gradient(
      ellipse 55% 50% at 0% 0%,
      rgba(253, 250, 245, 0.85) 0%,
      rgba(253, 250, 245, 0.60) 25%,
      rgba(253, 250, 245, 0.30) 55%,
      rgba(253, 250, 245, 0.10) 80%,
      rgba(253, 250, 245, 0) 100%
    ),
    /* Voile global diagonal : adoucit légèrement l'ensemble */
    linear-gradient(
      100deg,
      rgba(253, 250, 245, 0.52) 0%,
      rgba(253, 250, 245, 0.36) 35%,
      rgba(253, 250, 245, 0.24) 65%,
      rgba(253, 250, 245, 0.2) 100%
    );
  pointer-events: none;
  z-index: 1;
}

/* Voile depuis le coin haut-droit : forme organique qui descend en diagonale,
   masque l'arrière-plan moins esthétique (imprimante, ciel blanc), et adoucit la nav.
   Rendu plus naturel qu'une bande horizontale. */
/* Voir plus bas pour les overlays haut-droit et bas-droit */

.section-7 > * {
  position: relative;
  z-index: 2;
}

/* Menu : couleur grise au repos, brun foncé au hover.
   Le brun foncé contraste à la fois avec le fond beige (côté droit) ET avec le
   kimono rouge (côté gauche, où se superpose "Shiatsu Femme enceinte").
   Soulignement animé pour bien signaler l'interaction. */
.section-7 .menu-element {
  color: #5c524b;
  font-weight: 500;
  position: relative;
  transition: color 0.25s ease;
}
.section-7 .menu-element:hover {
  color: #3a2a25;
}
.section-7 .menu-element.w--current {
  color: #a85a48;
}

/* Sur mobile, recadrage différent : on remonte la photo pour que la tête
   reste visible (la navbar crème prend ~80px en haut). */
@media screen and (max-width: 767px) {
  .section-7 {
    background-position: 40% top;
  }
  .section-7::after {
    background:
      radial-gradient(
        ellipse 100% 50% at 100% 0%,
        rgba(253, 250, 245, 0.736) 0%,
        rgba(253, 250, 245, 0.52) 30%,
        rgba(253, 250, 245, 0.24) 60%,
        rgba(253, 250, 245, 0) 90%
      );
  }
}

/* === Typographie du hero === */

/* Surtitre "Shiatsu à Issy-les-Moulineaux" : noir-brun profond, plus de présence */
.hero-title {
  font-family: Montserrat, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  color: #3a2a25;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  background-color: transparent;
  padding: 0;
  margin: 0 0 16px;
}

/* Titre principal hero : Fraunces, taille hero, couleur foncée */
.section-7 .header-h1 {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  color: #5c524b;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 18px;
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 50;
}

/* Sous-titre hero : italique sobre */
.section-7 .paragraph-9 {
  font-family: Montserrat, sans-serif;
  font-style: italic;
  color: #7a7068;
  font-size: 1rem;
  line-height: 1.55;
  margin: 0 0 28px;
  max-width: 540px;
}

@media screen and (max-width: 767px) {
  .hero-title {
    font-size: 0.74rem;
    margin-top: 45vw;
    margin-bottom: 0;
  }
  .section-7 .paragraph-9 {
    font-size: 0.94rem;
    line-height: 1.4;
  }
}

/* Badge "Le plus demandé" sur la carte signature */
.offer-card.middle-card {
  position: relative;
}
/* Ancien badge ::before désactivé (remplacé par <span class="card-badge"> dans le HTML
   et le numéro filigrane data-card-num utilise désormais ::before) */
.offer-card.middle-card::before {
  content: none;
}

/* Bouton hamburger en blanc sur le hero (par cohérence avec le menu) */
/* Bouton hamburger : pas de filter, l'icône reste dans sa couleur naturelle */

/* === Section "Pour qui ?" — grille de cartes ============================ */
.pour-qui-section {
  text-align: center;
}

.pour-qui-section .container-5 {
  max-width: 1100px;
}

.pour-qui-section .section-subtitle {
  margin-top: 12px;
  margin-bottom: 48px;
}

.pour-qui-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.pour-qui-card {
  background-color: #fff;
  border-radius: 18px;
  padding: 32px 24px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 2px 8px rgba(92, 82, 75, 0.04);
}

.pour-qui-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(92, 82, 75, 0.08);
}

.pour-qui-icon {
  width: 44px;
  height: 44px;
  color: #c97c6a;
  margin-bottom: 18px;
  flex-shrink: 0;
}

.pour-qui-title {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 1.4rem;
  color: #5c524b;
  margin: 0 0 12px;
  letter-spacing: 0.02em;
}

.pour-qui-text {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #7a7068;
  margin: 0;
}

.pour-qui-cta {
  margin-top: 56px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .pour-qui-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .pour-qui-card {
    padding: 18px 12px;
  }
  .pour-qui-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 12px;
  }
  .pour-qui-title {
    font-size: 1.15rem;
  }
  .pour-qui-text {
    font-size: 0.88rem;
  }
}

@media screen and (max-width: 380px) {
  .pour-qui-grid {
    grid-template-columns: 1fr;
  }
  .pour-qui-card {
    padding: 20px;
  }
}

/* La section pour-qui en vertical-align : on s'assure que le container prend
   bien toute la largeur disponible pour que la grille s'étale. */
.pour-qui-section .container-5 {
  width: 100%;
  flex-direction: column;
  align-items: stretch;
}

/* ===================================================================
   SYSTÈME TYPOGRAPHIQUE DES TITRES DE SECTION
   Inspiré des sites épurés type Laëtitia Guidicelli, Dr Tess Browne.
   
   Structure type :
     <div class="section-heading">
       <span class="section-eyebrow">surtitre</span>
       <h2 class="section-h2">Titre principal</h2>
       <p class="section-lead">Sous-titre optionnel</p>
     </div>
   =================================================================== */

.section-heading {
  text-align: center;
  margin: 0 auto 56px;
  max-width: 760px;
  padding: 0 20px;
}

/* Variante alignée à gauche (usage : section À propos, où le titre flanque une photo). */
.section-heading.section-heading-left {
  text-align: left;
  margin: 0 0 32px;
  padding: 0;
  max-width: none;
}

/* Compensation optique : "À PROPOS" commence par un caractère qui paraît
   plus à gauche que le "A" du titre. Léger décalage à droite pour rétablir
   l'alignement visuel. */
.section-heading.section-heading-left .section-eyebrow {
  margin-left: 3px;
}

.section-eyebrow {
  display: inline-block;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.625;
  text-transform: uppercase;
  color: #5c524b;
  margin-bottom: 18px;
}

/* Trait sous surtitre supprimé pour aller à l'essentiel */

/* Titre principal : Fraunces, polyvalente, lit aussi bien les phrases courtes que longues.
   Atteron est conservée comme signature dans le logo et pour des accents ponctuels via .accent-display. */
.section-h2 {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 2.125rem;
  font-weight: 400;
  color: #5c524b;
  margin: 0 0 24px;
  letter-spacing: -0.01em;
  line-height: 1.2;
  text-transform: none;
  /* Activation des features Fraunces : optical sizing pour rendu optimal aux grandes tailles,
     softness modérée pour aspect doux. */
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 50, "WONK" 0;
}

/* Variante du H2 en brique (couleur identité), pour rythmer entre les sections */
.section-h2.accent {
  color: #a85a48;
}

/* Variante "compact" : plus grande, pour titres courts qui peuvent porter du caractère */
.section-h2.compact {
  font-size: 2.8rem;
}

/* Accent typographique : un mot en Atteron au sein d'un titre Fraunces, pour la signature visuelle.
   Usage : <h2 class="section-h2">Pour <span class="accent-display">se recentrer</span></h2> */
.accent-display {
  font-family: Atteron, "Palatino Linotype", serif;
  color: #c97c6a;
  letter-spacing: 0.02em;
  font-weight: 400;
  font-style: normal;
}

/* Sous-titre / lead : italique sobre Montserrat */
.section-lead {
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  color: #7a7068;
  font-style: italic;
  line-height: 1.875;
  margin: 0;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .section-heading {
    margin-bottom: 40px;
    padding: 0 16px;
  }
  .section-h2 {
    font-size: 1.85rem;
  }
  .section-h2.compact {
    font-size: 2.1rem;
  }
  .section-eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.2em;
  }
  .section-lead {
    font-size: 0.92rem;
  }
}


/* ===================================================================
   FOOTER refait — structure complète, multi-colonnes
   =================================================================== */

.site-footer {
  background-color: #b4886f;
  color: #fff5ec;
  padding: 64px 24px 28px;
  margin-top: 0;
}

.footer-inner {
  max-width: 1100px;
  margin: 0 auto;
}

/* Grille principale */
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
}

.footer-col-brand {
  max-width: 320px;
  text-align: center;
}

.footer-logo {
  width: 180px;
  height: auto;
  margin: 0 auto 16px;
  display: block;
}

.footer-tagline {
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgba(255, 245, 236, 0.85);
  margin: 0;
  font-style: italic;
}

.footer-col-title {
  font-family: Montserrat, sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #fff5ec;
  margin: 0 0 16px;
}

.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-list li {
  margin-bottom: 10px;
  font-size: 0.92rem;
  line-height: 1.5;
}

.footer-list a {
  color: rgba(255, 245, 236, 0.85);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-list a:hover {
  color: #fff5ec;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-social {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 245, 236, 0.85);
  text-decoration: none;
  font-size: 0.92rem;
  transition: color 0.2s ease;
}

/* La colonne contenant le lien social : centrer son contenu sous le titre */
.footer-col:has(.footer-social) {
  text-align: center;
}
.footer-col:has(.footer-social) .footer-col-title {
  text-align: center;
}

.footer-social:hover {
  color: #fff5ec;
}

.footer-social svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* Bas du footer : copyright + légal */
.footer-bottom {
  border-top: 1px solid rgba(255, 245, 236, 0.2);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.82rem;
  color: rgba(255, 245, 236, 0.7);
}

.footer-copy,
.footer-legal {
  margin: 0;
}

.footer-legal a {
  color: rgba(255, 245, 236, 0.7);
  text-decoration: none;
}

.footer-legal a:hover {
  color: #fff5ec;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media screen and (max-width: 767px) {
  .site-footer {
    padding: 44px 20px 24px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    text-align: left;
  }
  .footer-col-brand {
    grid-column: 1 / -1;
    max-width: none;
    text-align: center;
  }
  .footer-col-brand .footer-logo {
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
}

@media screen and (max-width: 479px) {
  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .footer-social {
    justify-content: center;
  }
}


/* ===================================================================
   PAGES LÉGALES (mentions-legales, cgv) — typographie d'article
   =================================================================== */

.legal-page {
  background-color: #fff;
  padding: 80px 24px 60px;
  min-height: 70vh;
}

.legal-inner {
  max-width: 760px;
  margin: 0 auto;
  font-family: Montserrat, sans-serif;
  color: #5c524b;
  line-height: 1.7;
  font-size: 0.96rem;
}

.legal-page .section-heading {
  margin-bottom: 32px;
  text-align: left;
  margin-left: 0;
  padding-left: 0;
}

.legal-page .section-heading .section-eyebrow::after {
  left: 0;
  transform: none;
}

.legal-intro {
  font-size: 1rem;
  font-style: italic;
  color: #7a7068;
  border-left: 3px solid #e8d5cb;
  padding-left: 18px;
  margin: 24px 0 48px;
  background: #fdf6ec;
  padding: 16px 20px;
  border-radius: 4px;
}

/* Sommaire */
.legal-toc {
  background-color: #fdf6ec;
  border-radius: 12px;
  padding: 24px 28px;
  margin-bottom: 48px;
}

.legal-toc-title {
  font-family: Montserrat, sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #b08775;
  margin: 0 0 14px;
}

.legal-toc ol {
  margin: 0;
  padding-left: 20px;
  columns: 2;
  column-gap: 32px;
}

.legal-toc li {
  margin-bottom: 6px;
  break-inside: avoid;
}

.legal-toc a {
  color: #5c524b;
  text-decoration: none;
  transition: color 0.2s ease;
}

.legal-toc a:hover {
  color: #c97c6a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Sections */
.legal-page section {
  margin-bottom: 40px;
  padding-top: 8px;
  scroll-margin-top: 80px;
}

.legal-page h2 {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 1.6rem;
  color: #c97c6a;
  margin: 0 0 18px;
  font-weight: 400;
  letter-spacing: 0.01em;
}

.legal-page h3 {
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #5c524b;
  margin: 24px 0 10px;
  letter-spacing: 0;
  text-transform: none;
}

.legal-page p {
  margin: 0 0 14px;
}

.legal-page ul {
  margin: 0 0 16px;
  padding-left: 22px;
}

.legal-page ul li {
  margin-bottom: 6px;
}

.legal-page strong {
  font-weight: 600;
  color: #5c524b;
}

.legal-page a {
  color: #c97c6a;
  text-decoration: none;
  transition: color 0.2s ease;
}

.legal-page a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Listes de définition (utilisées dans mentions légales) */
.legal-dl {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 12px 24px;
  margin: 18px 0;
  padding: 20px 22px;
  background-color: #fdf6ec;
  border-radius: 8px;
}

.legal-dl dt {
  font-family: Montserrat, sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b08775;
  align-self: start;
}

.legal-dl dd {
  margin: 0;
  font-size: 0.95rem;
}

/* Date de mise à jour */
.legal-update {
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid #e8d5cb;
  font-size: 0.85rem;
  color: #b08775;
  font-style: italic;
  text-align: center;
}

/* Responsive */
@media screen and (max-width: 767px) {
  .legal-page {
    padding: 56px 20px 40px;
  }
  .legal-toc ol {
    columns: 1;
  }
  .legal-dl {
    grid-template-columns: 1fr;
    gap: 4px 0;
    padding: 18px 18px;
  }
  .legal-dl dt {
    margin-top: 12px;
  }
  .legal-dl dt:first-child {
    margin-top: 0;
  }
  .legal-page h2 {
    font-size: 1.4rem;
  }
}

/* Spacing dans la liste Cabinet (séparation visuelle entre adresse, horaires, contact) */
.footer-list-spacer {
  margin-top: 14px !important;
}

/* === Soins proposés : grille 2×2 (4 cartes) ============================
   Override de la mise en flex existante pour basculer en grille 2x2.
   On utilise une spécificité forte pour neutraliser les anciens styles. */
section#homepage_offers .container-3 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 1000px !important;
  margin: 60px auto 0 !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  justify-content: center !important;
}

/* Neutralisation du clearfix Webflow ::before/::after qui occupait des cellules grid */
section#homepage_offers .container-3::before,
section#homepage_offers .container-3::after {
  display: none !important;
  content: none !important;
}

section#homepage_offers .container-3 > .offer-card,
section#homepage_offers .container-3 > .offer-card.middle-card {
  width: auto !important;
  max-width: none !important;
  /* height:100% + grid align-items:stretch (par défaut) = cartes de même hauteur dans la ligne */
  height: 100% !important;
  min-height: 560px !important;
  margin: 0 !important;
  border-radius: 32px !important;
  padding: 44px 36px 36px !important;
  box-sizing: border-box !important;
  flex: initial !important;
}

@media screen and (max-width: 767px) {
  section#homepage_offers .container-3 {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 0 16px !important;
    max-width: 480px !important;
  }
  section#homepage_offers .container-3 > .offer-card,
  section#homepage_offers .container-3 > .offer-card.middle-card {
    min-height: auto !important;
    padding: 36px 28px !important;
    border-radius: 24px !important;
  }
}

/* ===================================================================
   PAGE LIBÉRATION MYOFASCIALE — composants spécifiques
   =================================================================== */

.page-hero {
  padding: 80px 24px 40px;
  background: linear-gradient(180deg, #fdf6ec 0%, #fff 100%);
}

.page-hero-inner {
  max-width: 880px;
  margin: 0 auto;
}

.container-prose {
  max-width: 760px;
  margin: 0 auto;
  padding: 60px 24px;
  width: 100%;
}

/* Prose : typographie de lecture confortable */
.prose {
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  line-height: 1.75;
  color: #5c524b;
}

.prose p {
  margin: 0 0 18px;
}

.prose strong {
  font-weight: 600;
  color: #5c524b;
}

/* Listes à puces stylisées */
.bullet-list {
  list-style: none;
  padding: 0;
  margin: 24px 0;
}

.bullet-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  line-height: 1.6;
}

.bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 14px;
  height: 1px;
  background-color: #c97c6a;
}

/* Bloc tarif */
.tarif-block {
  text-align: center;
  background-color: #fff;
  border-radius: 16px;
  padding: 32px 24px;
  margin: 24px 0;
}

.tarif-line {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 1.5rem;
  color: #5c524b;
  margin-bottom: 12px !important;
}

.tarif-price {
  color: #c97c6a;
  font-weight: 600;
}

.tarif-cta {
  margin-top: 28px;
  display: flex;
  justify-content: center;
}

/* FAQ */
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-item {
  background-color: #fdf6ec;
  border-radius: 12px;
  padding: 0;
  border: none;
  overflow: hidden;
  transition: background-color 0.2s ease;
}

.faq-item[open] {
  background-color: #f9ede0;
}

.faq-question {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 1.1rem;
  font-weight: 500;
  color: #5c524b;
  cursor: pointer;
  padding: 18px 24px;
  list-style: none;
  position: relative;
  padding-right: 56px;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question::after {
  content: "+";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  font-weight: 300;
  color: #c97c6a;
  transition: transform 0.2s ease;
}

.faq-item[open] .faq-question::after {
  content: "−";
}

.faq-answer {
  padding: 0 24px 22px;
  font-family: Montserrat, sans-serif;
  font-size: 0.96rem;
  line-height: 1.7;
  color: #6b605a;
}

.faq-answer p {
  margin: 0;
}

/* CTA final */
.final-cta {
  text-align: center;
  padding: 60px 24px;
}

.final-cta .section-h2 {
  margin-bottom: 14px;
}

.final-cta .section-lead {
  margin-bottom: 32px;
}

@media screen and (max-width: 767px) {
  .page-hero {
    padding: 60px 20px 32px;
  }
  .container-prose {
    padding: 44px 20px;
  }
  .prose {
    font-size: 0.96rem;
  }
  .tarif-line {
    font-size: 1.3rem;
  }
  .faq-question {
    font-size: 1rem;
    padding: 16px 50px 16px 20px;
  }
  .faq-answer {
    padding: 0 20px 20px;
    font-size: 0.92rem;
  }
}


/* === Hero : repositionnement du texte ====================================
   Remonte le bloc texte et le limite à la zone gauche (canapé/coussin),
   pour ne pas couvrir la zone des mains et du geste sur la photo. */

.section-7 .container {
  margin-top: 12svw !important;
  max-width: 480px !important;
  margin-left: 2vw !important;
  margin-right: auto !important;
}

@media screen and (min-width: 1280px) {
  .section-7 .container {
    margin-top: 140px !important;
    /* Le texte commence vraiment à gauche de l'écran, pas centré sur le grid 1280 */
    margin-left: max(3vw, 40px) !important;
  }
}

@media screen and (max-width: 767px) {
  .section-7 .container {
    margin-top: 0 !important;
    max-width: none !important;
    margin-left: auto !important;
    padding: 0 5%;
  }
}

/* Le titre est limité en largeur pour qu'il "wrap" plus tôt et reste
   dans la zone gauche de la photo */
.section-7 .header-h1 {
  max-width: 580px;
}

.section-7 .paragraph-9 {
  max-width: 520px;
}

/* === Hero simplifié : tagline poétique au lieu de titre+sous-titre === */
.hero-tagline {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 2.6rem;
  font-weight: 400;
  color: #3a2a25;
  line-height: 1.2;
  letter-spacing: -0.005em;
  margin: 0 0 32px;
  max-width: 540px;
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 50;
}

@media screen and (max-width: 767px) {
  .hero-tagline {
    font-size: 1.3rem;
    line-height: 1.1;
    max-width: none;
    margin-top: 0;
    margin-bottom: 8px;
  }
}

/* === Hero : ajustements fins (étape 1) ================================== */

/* Logo et menu : container limité à 1800px et centré sur très grands écrans.
   Sur écrans plus petits, prend 100% de la largeur avec padding 80px. */
.section-7 .nav-bar-container {
  max-width: 1800px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 80px !important;
  padding-right: 80px !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
  .section-7 .nav-bar-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* Texte hero : aligné au logo, même comportement max-width 1800px centré.
   On utilise un padding-left au lieu d'un margin-left pour rester aligné au container. */
.section-7 .container {
  max-width: 1800px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 80px !important;
  padding-right: 80px !important;
  box-sizing: border-box !important;
}

.section-7 .container > * {
  max-width: 540px;
}

@media screen and (min-width: 1280px) {
  .section-7 .container {
    /* Comportement identique au-dessus de 1280px */
  }
}

@media screen and (max-width: 767px) {
  .section-7 .container {
    margin-left: 24px !important;
    padding: 0 !important;
  }
}

/* Overlay haut-droit : adoucit l'arrière-plan (imprimante, mur clair, plante) 
   et la zone derrière la nav. Pleine opacité au coin pour cacher l'imprimante. */
.section-7::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 70% 50% at 100% 0%,
      rgba(253, 250, 245, 1) 0%,
      rgba(253, 250, 245, 0.92) 20%,
      rgba(253, 250, 245, 0.72) 40%,
      rgba(253, 250, 245, 0.45) 60%,
      rgba(253, 250, 245, 0.18) 80%,
      rgba(253, 250, 245, 0) 100%
    );
  pointer-events: none;
  z-index: 1;
}

/* Overlay bas-droit : cache la chaussette ET atténue le pantalon blanc.
   Étendu plus haut et plus large pour englober tout le quart bas-droit. */
.section-7 .hero-corner-bottomright {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 70%;
  height: 75%;
  background: radial-gradient(
    ellipse 95% 95% at 100% 100%,
    rgba(248, 235, 219, 0.95) 0%,
    rgba(248, 235, 219, 0.85) 20%,
    rgba(248, 235, 219, 0.55) 45%,
    rgba(248, 235, 219, 0.30) 65%,
    rgba(248, 235, 219, 0.10) 88%,
    rgba(248, 235, 219, 0) 100%
  );
  pointer-events: none;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .section-7 .hero-corner-bottomright {
    width: 80%;
    height: 50%;
  }
}

/* Voile lumineux sur la navbar du hero pour la détacher de la photo,
   masquer la ligne de séparation canapé/mur en arrière-plan, et améliorer
   la lisibilité du logo et du menu. Dégradé crème qui s'efface vers le bas. */
.section-7 .navbar-4 {
  position: relative;
}

.section-7 .navbar-4::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  /* Le voile dépasse en bas de la navbar pour fondre dans la photo en douceur */
  bottom: -40px;
  background: linear-gradient(
    to bottom,
    rgba(253, 247, 238, 0.65) 0%,
    rgba(253, 247, 238, 0.45) 40%,
    rgba(253, 247, 238, 0.20) 70%,
    rgba(253, 247, 238, 0) 100%
  );
  pointer-events: none;
  z-index: 0;
}

/* Le contenu de la nav (logo, menu) doit rester au-dessus du voile */
.section-7 .navbar-4 > * {
  position: relative;
  z-index: 1;
}

/* Halo logo : ellipse plus aplatie (moins haute) et plus dégradée pour
   un fondu en douceur, pas de ligne ovale visible. */
.section-7 .w-nav-brand {
  position: relative;
  display: inline-block;
  z-index: 2;
}

.section-7 .w-nav-brand::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 340px;
  height: 130px;
  background: radial-gradient(
    ellipse at center,
    rgba(253, 247, 238, 0.85) 0%,
    rgba(253, 247, 238, 0.65) 20%,
    rgba(253, 247, 238, 0.40) 40%,
    rgba(253, 247, 238, 0.20) 60%,
    rgba(253, 247, 238, 0.08) 80%,
    rgba(253, 247, 238, 0) 100%
  );
  pointer-events: none;
  z-index: 1;
  filter: blur(20px);
}

.section-7 .image-30 {
  position: relative;
  z-index: 2;
}


/* === Étape 2 : annulation du padding latéral du hero =================
   Le padding 10vw imposé par Webflow empêchait les éléments de se rapprocher
   des bords. On l'annule, et on gère l'espacement latéral directement
   sur les containers internes (nav et texte). */
.section-7 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* ===================================================================
   Ornements galets — accents décoratifs zen entre les sections
   =================================================================== */

.ornement-galet {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto 32px;
  pointer-events: none;
  user-select: none;
}

.ornement-galet img {
  display: block;
  height: auto;
  opacity: 0.85;
}

/* Variantes : tailles et marges adaptées par grappe */
.ornement-galet-triangle img {
  width: 120px;
}

.ornement-galet-rangee img {
  width: 150px;
}

@media screen and (max-width: 767px) {
  .ornement-galet {
    margin-bottom: 20px;
  }
  .ornement-galet-triangle img {
    width: 90px;
  }
  .ornement-galet-rangee img {
    width: 110px;
  }
}

/* === Galets posés aux coins de la grille soins ===========================
   Wrapper qui contient la grille de cartes + 2 grappes de galets posés
   (vue de dessus, chevauchés) en débord d'un coin de carte. */

.soins-grid-wrapper {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.ornement-poses {
  position: absolute;
  width: 260px;
  height: auto;
  opacity: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* Grappe haut-gauche : majoritairement à l'extérieur, dépasse en coin haut-gauche de la 1ère carte */
.ornement-poses-haut-gauche {
  top: -70px;
  left: -90px;
}

/* Grappe bas-droite : majoritairement à l'extérieur, dépasse en coin bas-droit de la dernière carte */
.ornement-poses-bas-droit {
  bottom: -70px;
  right: -80px;
}

@media screen and (max-width: 1240px) {
  .ornement-poses {
    width: 200px;
  }
  .ornement-poses-haut-gauche {
    top: -50px;
    left: -40px;
  }
  .ornement-poses-bas-droit {
    bottom: -50px;
    right: -40px;
  }
}

@media screen and (max-width: 767px) {
  /* Sur mobile, la grille passe en 1 colonne — on garde un seul galet en haut */
  .ornement-poses {
    width: 130px;
  }
  .ornement-poses-haut-gauche {
    top: -30px;
    left: -15px;
  }
  .ornement-poses-bas-droit {
    display: none;
  }
}

/* ===================================================================
   CARTES SOINS — DIRECTION B "NUMÉRO ÉDITORIAL"
   Override complet du style des cartes existantes
   =================================================================== */

/* Override fort sur la carte */
section#homepage_offers .container-3 > .offer-card,
section#homepage_offers .container-3 > .offer-card.middle-card {
  background-color: #fdf7ee !important;
  border-radius: 8px !important;
  border: none !important;
  padding: 44px 36px 36px !important;
  min-height: 480px !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  box-shadow: 0 2px 12px rgba(58, 42, 37, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Carte signature : ombre rose terracotta légère, plus visible que les autres cartes */
section#homepage_offers .container-3 > .offer-card.middle-card {
  box-shadow: 0 4px 16px rgba(218, 160, 146, 0.25);
}

/* Numéro filigrane en grand chiffre serif italique */
section#homepage_offers .container-3 > .offer-card::before {
  content: attr(data-card-num);
  position: absolute;
  top: 18px;
  right: 28px;
  font-family: Fraunces, "Palatino Linotype", Georgia, serif;
  font-style: italic;
  font-size: 80px;
  font-weight: 300;
  line-height: 1;
  color: rgba(168, 90, 72, 0.10);
  pointer-events: none;
  z-index: 0;
  display: block !important;
  content: attr(data-card-num) !important;
}

/* Carte mise en avant : fond rose terracotta poudré (inspiration Tess Browne), texte clair */
section#homepage_offers .container-3 > .offer-card.middle-card {
  background-color: #daa092 !important;
}

section#homepage_offers .container-3 > .offer-card.middle-card::before {
  color: rgba(255, 255, 255, 0.28);
}

/* Surtitre catégoriel petites caps */
.card-eyebrow {
  position: relative;
  z-index: 1;
  display: block;
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: #a85a48;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.middle-card .card-eyebrow {
  color: #fdf0e8;
}

/* Badge "Le plus demandé" — repositionné en haut-gauche, sur fond clair */
.card-badge {
  position: absolute;
  top: 18px;
  left: 36px;
  z-index: 2;
  display: inline-block;
  background: #fff;
  color: #a85a48;
  font-family: Fraunces, "Palatino Linotype", Georgia, serif;
  font-style: italic;
  font-size: 12px;
  letter-spacing: 0.05em;
  padding: 4px 12px;
  border-radius: 2px;
  text-transform: none;
}

/* Titres : Fraunces serif élégant */
section#homepage_offers .offer-card .card-title,
section#homepage_offers .offer-card .card-title-shiatsu {
  position: relative;
  z-index: 1;
  font-family: Fraunces, "Palatino Linotype", Georgia, serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.15;
  color: #3a2a25;
  text-align: left;
  margin: 0 0 12px 0;
}

.middle-card .card-title,
.middle-card .card-title-shiatsu {
  color: #fff;
}

/* Décalage haut quand la carte a un badge (pour ne pas chevaucher) */
.middle-card .card-eyebrow {
  margin-top: 28px;
}

/* Durée + prix en italique discret */
section#homepage_offers .offer-card .subtitle-duration {
  position: relative;
  z-index: 1;
  font-family: Fraunces, "Palatino Linotype", Georgia, serif;
  font-style: italic;
  font-size: 15px;
  color: #7a6862;
  text-align: left;
  margin: 0 0 24px 0;
  letter-spacing: normal;
  line-height: 1.4;
}

.middle-card .subtitle-duration {
  color: #f5d4c5;
}

/* Description */
section#homepage_offers .offer-card .offer-description {
  position: relative;
  z-index: 1;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: #5a4a44;
  text-align: left;
  margin: 0 0 32px 0;
  letter-spacing: normal;
  flex-grow: 1;
}

.middle-card .offer-description {
  color: #fdf0e8;
}

.offer-description strong {
  font-weight: 600;
}

/* CTA boutons — radius 6px, différenciation primaire/secondaire (terracotta Tess) */
.card-cta {
  position: relative;
  z-index: 1;
  display: inline-block;
  align-self: flex-start;
  background: #daa092;
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 12px 24px;
  border: 1px solid #daa092;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
  margin-top: auto;
}

.card-cta:hover {
  background: transparent;
  color: #daa092;
}

/* CTA secondaire (En savoir plus) — outline terracotta sur fond blanc */
.card-cta-secondary {
  background: transparent;
  color: #daa092;
  border: 1px solid #daa092;
}

.card-cta-secondary:hover {
  background: #daa092;
  color: #fff;
}

/* CTA inverse (sur fond terracotta de la carte mise en avant) */
.card-cta-inverse {
  background: #fff;
  color: #daa092;
  border-color: #fff;
}

.card-cta-inverse:hover {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

/* Hover sur les cartes : léger soulèvement */
section#homepage_offers .container-3 > .offer-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(58, 42, 37, 0.08);
}

/* Tablette */
@media screen and (max-width: 1240px) {
  section#homepage_offers .container-3 > .offer-card,
  section#homepage_offers .container-3 > .offer-card.middle-card {
    padding: 36px 28px 28px !important;
    min-height: 440px !important;
  }

  section#homepage_offers .container-3 > .offer-card::before {
    font-size: 64px;
    top: 14px;
    right: 22px;
  }

  section#homepage_offers .offer-card .card-title,
  section#homepage_offers .offer-card .card-title-shiatsu {
    font-size: 24px;
  }
}

/* Mobile */
@media screen and (max-width: 767px) {
  section#homepage_offers .container-3 > .offer-card,
  section#homepage_offers .container-3 > .offer-card.middle-card {
    padding: 32px 24px 24px !important;
    min-height: auto !important;
    border-radius: 6px !important;
  }

  section#homepage_offers .container-3 > .offer-card::before {
    font-size: 56px;
    top: 12px;
    right: 18px;
  }

  .card-badge {
    top: 14px;
    left: 24px;
    font-size: 11px;
    padding: 3px 10px;
  }

  section#homepage_offers .offer-card .card-title,
  section#homepage_offers .offer-card .card-title-shiatsu {
    font-size: 22px;
  }

  section#homepage_offers .offer-card .offer-description {
    font-size: 13px;
    margin-bottom: 24px;
  }
}

/* Suppression des anciens styles .price (la durée+prix sont maintenant fusionnés dans .subtitle-duration) */
section#homepage_offers .offer-card .price {
  display: none !important;
}


/* ===================================================================
   HARMONISATION GLOBALE DES CTAs MACRO
   Système unifié pour tous les boutons hors cartes.
   Couleur unique #daa092 (terracotta poudré, inspiration Tess Browne),
   taille 16px desktop / 14px mobile, Montserrat 500,
   letter-spacing 0.05em, radius 6px.
   La couleur #a85a48 (brique du logo) reste réservée aux titres
   et éléments d'identité (surtitres petites caps, badge "Le plus demandé").
   =================================================================== */

/* Primaire macro : .button (CTA hero, fin de sections) */
.button {
  background-color: #daa092 !important;
  color: #fff !important;
  border: 1px solid #daa092 !important;
  border-radius: 6px !important;
  padding: 14px 32px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  cursor: pointer !important;
}

.button:hover {
  background-color: transparent !important;
  color: #daa092 !important;
  border-color: #daa092 !important;
  box-shadow: none !important;
}

/* Secondaire macro : .secondary-button (En savoir plus hors cartes) */
.secondary-button {
  background-color: transparent !important;
  color: #daa092 !important;
  border: 1px solid #daa092 !important;
  border-radius: 6px !important;
  padding: 14px 32px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  cursor: pointer !important;
}

.secondary-button:hover {
  background-color: #daa092 !important;
  color: #fff !important;
  border-color: #daa092 !important;
  box-shadow: none !important;
}

/* Tertiaire : .button-call (lien téléphone) — même style que secondaire pour cohérence */
.button-call {
  background-color: transparent !important;
  color: #daa092 !important;
  border: 1px solid #daa092 !important;
  border-radius: 6px !important;
  padding: 14px 32px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  cursor: pointer !important;
}

.button-call:hover {
  background-color: #daa092 !important;
  color: #fff !important;
  border-color: #daa092 !important;
  box-shadow: none !important;
}

/* Mobile : taille réduite */
@media screen and (max-width: 767px) {
  .button,
  .secondary-button,
  .button-call {
    font-size: 14px !important;
    padding: 12px 24px !important;
  }
}

/* Variante hero-cta : verre dépoli blanc V39, élégant sur le voile clair du hero.
   Au repos : fond blanc translucide avec backdrop-blur, texte blanc, bordure subtile.
   Hover : opacité plus marquée pour rester bien visible. */
.button.hero-cta {
  background-color: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.button.hero-cta:hover {
  background-color: rgba(255, 255, 255, 0.32) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}

/* ===================================================================
   PAGE DOULEUR OMOPLATE DROITE — composants spécifiques
   =================================================================== */

/* Image illustrative avec cercle overlay sur la zone d'omoplate droite */
.omoplate-figure {
  margin: 0;
  padding: 20px 0;
}

.omoplate-image-wrapper {
  position: relative;
  display: inline-block;
  max-width: 380px;
  width: 100%;
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
}

.omoplate-figure {
  text-align: center;
}

.omoplate-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* Cercle overlay : représente la zone douloureuse avec un halo rayonnant
   qui pulse pour évoquer l'émission de la douleur depuis ce point précis.
   --circle-top, --circle-left sont en % par rapport à l'image,
   --circle-size est en % de la largeur de l'image. */
.omoplate-cercle {
  --circle-top: 50%;
  --circle-left: 65%;
  --circle-size: 18%;
  position: absolute;
  top: var(--circle-top);
  left: var(--circle-left);
  width: var(--circle-size);
  aspect-ratio: 1 / 1;
  pointer-events: none;
  /* Halo rayonnant : centre rouge intense (point de douleur) qui s'estompe
     en dégradé vers l'extérieur, comme une douleur qui irradie depuis un point. */
  background: radial-gradient(
    circle at center,
    rgba(210, 76, 58, 0.95) 0%,
    rgba(210, 76, 58, 0.80) 12%,
    rgba(210, 76, 58, 0.50) 30%,
    rgba(210, 76, 58, 0.25) 55%,
    rgba(210, 76, 58, 0.10) 75%,
    rgba(210, 76, 58, 0) 100%
  );
  border-radius: 50%;
  /* Animation pulsation : taille + opacité */
  animation: omoplate-pulse 2.8s ease-in-out infinite;
}

@keyframes omoplate-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.85;
  }
  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}

.omoplate-caption {
  display: block;
  margin: 18px auto 0;
  font-family: Fraunces, "Palatino Linotype", Georgia, serif;
  font-style: italic;
  font-size: 0.95rem;
  color: #7a6862;
  max-width: 560px;
  line-height: 1.5;
}

/* Note de mise en garde médicale */
.prose-note {
  margin-top: 24px !important;
  padding: 16px 20px;
  background-color: rgba(168, 90, 72, 0.06);
  border-left: 3px solid #a85a48;
  border-radius: 4px;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  color: #5c524b;
}

.prose-note strong {
  color: #a85a48;
}

@media screen and (max-width: 767px) {
  .omoplate-image-wrapper {
    max-width: 280px;
  }
  .omoplate-cercle {
    border-width: 2px;
  }
  .omoplate-caption {
    font-size: 0.88rem;
    padding: 0 16px;
  }
}

/* ===================================================================
   SECTION RESSOURCE (home) — invitation page omoplate, sobre éditorial
   Pas d'encadré : juste une vraie section comme les autres,
   centrée et aérée, avec un CTA outline.
   =================================================================== */
.ressource-section {
  background-color: transparent;
  text-align: center;
  padding-top: 160px !important;
  padding-bottom: 160px !important;
}

.ressource-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 24px;
}

.ressource-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

/* Annuler le margin-bottom du eyebrow ici car le flex parent gère le gap */
.ressource-content .section-eyebrow {
  margin-bottom: 0;
}

/* .section-eyebrow hérite du style commun (cf. .section-eyebrow plus haut) */

.ressource-text {
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.875;
  color: #5c524b;
  margin: 0 0 14px;
  max-width: 580px;
}

.ressource-title {
  font-family: Fraunces, "Palatino Linotype", Georgia, serif;
  font-size: 2rem;
  font-weight: 400;
  color: #a85a48;
  margin: 0;
  line-height: 1.2;
}

.ressource-cta {
  margin-top: 8px !important;
}

@media screen and (max-width: 991px) {
  .ressource-section {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
  }
}

@media screen and (max-width: 767px) {
  .ressource-section {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  .ressource-title {
    font-size: 1.4rem;
  }
}

/* ===================================================================
   CTA FINAL (home) — section invitation à la réservation,
   layout 2 colonnes : texte à gauche, fleur de lotus flottante à droite
   =================================================================== */
.final-cta-section {
  text-align: left;
  padding-top: 160px !important;
  padding-bottom: 160px !important;
}

.final-cta-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 80px;
  align-items: center;
}

/* Desktop : titre et texte+CTA sont des items distincts en colonne 1,
   le lotus est en colonne 2 spanning sur les 2 lignes (centré verticalement) */
.final-cta-title {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 0;
}
.final-cta-image {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.final-cta-content {
  grid-column: 1;
  grid-row: 2;
  max-width: 540px;
  margin-top: 18px;
}

.final-cta-section .section-h2 {
  margin-bottom: 0;
}

.final-cta-section .section-lead {
  margin-bottom: 32px;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}

/* Photo lotus harmonisée avec la photo de séance (.intro-photo) :
   coins arrondis 12px + ombre subtile pour le détachement du fond. */
.final-cta-lotus {
  width: 480px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(58, 42, 37, 0.10);
}

@media screen and (max-width: 991px) {
  .final-cta-section {
    text-align: center;
    padding-top: 120px !important;
    padding-bottom: 120px !important;
  }
  /* Mobile : tout empilé en colonne, ordre titre / lotus / texte+CTA */
  .final-cta-inner {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 32px;
    justify-items: center;
  }
  .final-cta-title {
    grid-column: 1;
    grid-row: 1;
  }
  .final-cta-image {
    grid-column: 1;
    grid-row: 2;
  }
  .final-cta-content {
    grid-column: 1;
    grid-row: 3;
    margin-top: 0;
  }
  .final-cta-section .section-lead {
    margin-left: auto;
    margin-right: auto;
    max-width: 580px;
  }
  .final-cta-lotus {
    width: 360px;
    border-radius: 8px;
  }
}

@media screen and (max-width: 767px) {
  .final-cta-section {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  .final-cta-inner {
    gap: 36px;
  }
  .final-cta-lotus {
    width: 280px;
  }
}


/* ===================================================================
   POUR-QUI : intro "Qu'est-ce que le shiatsu" + sous-titre grille
   =================================================================== */
.pour-qui-intro {
  max-width: 720px;
  margin: 0 auto 64px;
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.875;
  color: #5c524b;
}

.pour-qui-intro p {
  margin: 0 0 18px;
}

.pour-qui-intro p:last-child {
  margin-bottom: 0;
}

.pour-qui-intro strong {
  font-weight: 500;
  color: #3a2a25;
}

.pour-qui-subtitle {
  font-family: Fraunces, "Palatino Linotype", Georgia, serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #5c524b;
  text-align: center;
  margin: 0 0 36px;
  line-height: 1.3;
}

@media screen and (max-width: 991px) {
  .pour-qui-intro {
    margin-bottom: 48px;
    font-size: 15px;
  }
  .pour-qui-subtitle {
    font-size: 1.25rem;
    margin-bottom: 28px;
  }
}

@media screen and (max-width: 767px) {
  .pour-qui-intro {
    margin-bottom: 40px;
    text-align: left;
  }
  .pour-qui-intro p {
    margin-bottom: 16px;
  }
  .pour-qui-subtitle {
    font-size: 1.15rem;
  }
}

/* ===================================================================
   COOKIEYES — Personnalisation du popup pour s'aligner sur la charte
   du site (crème, brique, terracotta) plutôt que les couleurs par défaut.
   =================================================================== */

/* Conteneur principal du popup */
.cky-consent-container,
.cky-modal {
  background-color: #fdf6ec !important;
  color: #5c524b !important;
  border-radius: 12px !important;
  border: 1px solid rgba(168, 90, 72, 0.15) !important;
  box-shadow: 0 4px 24px rgba(168, 90, 72, 0.10) !important;
  font-family: Montserrat, sans-serif !important;
}

/* Titre du popup */
.cky-title,
.cky-modal .cky-title,
.cky-preference-title {
  color: #a85a48 !important;
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

/* Texte du popup */
.cky-notice-des,
.cky-preference-content-wrapper,
.cky-modal-text {
  color: #5c524b !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
}

/* Liens dans le popup (politique de confidentialité, etc.) */
.cky-notice-des a,
.cky-modal a,
.cky-policy-link {
  color: #a85a48 !important;
  text-decoration: underline !important;
}
.cky-notice-des a:hover,
.cky-modal a:hover,
.cky-policy-link:hover {
  color: #8a3d2c !important;
}

/* Bouton principal "Accepter tous" : terracotta */
.cky-btn-accept,
.cky-btn.cky-btn-accept {
  background-color: #daa092 !important;
  color: #ffffff !important;
  border: 1px solid #daa092 !important;
  border-radius: 6px !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  padding: 10px 20px !important;
  transition: background-color 0.25s ease, border-color 0.25s ease !important;
}
.cky-btn-accept:hover,
.cky-btn.cky-btn-accept:hover {
  background-color: #c8897a !important;
  border-color: #c8897a !important;
}

/* Bouton "Refuser tous" : outline brun */
.cky-btn-reject,
.cky-btn.cky-btn-reject {
  background-color: transparent !important;
  color: #5c524b !important;
  border: 1px solid #5c524b !important;
  border-radius: 6px !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
  transition: background-color 0.25s ease, color 0.25s ease !important;
}
.cky-btn-reject:hover,
.cky-btn.cky-btn-reject:hover {
  background-color: #5c524b !important;
  color: #fdf6ec !important;
}

/* Bouton "Personnaliser" : link style */
.cky-btn-customize,
.cky-btn-preferences,
.cky-btn.cky-btn-customize {
  background-color: transparent !important;
  color: #a85a48 !important;
  border: 1px solid #a85a48 !important;
  border-radius: 6px !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
  transition: background-color 0.25s ease, color 0.25s ease !important;
}
.cky-btn-customize:hover,
.cky-btn-preferences:hover,
.cky-btn.cky-btn-customize:hover {
  background-color: #a85a48 !important;
  color: #fdf6ec !important;
}

/* Toggle switches dans le panneau de personnalisation : activés en terracotta */
.cky-switch input[type="checkbox"]:checked + .cky-switch-slider,
.cky-switch input[type="checkbox"]:checked + .cky-slider {
  background-color: #daa092 !important;
}
.cky-switch input[type="checkbox"]:checked + .cky-switch-slider::before,
.cky-switch input[type="checkbox"]:checked + .cky-slider::before {
  background-color: #ffffff !important;
}

/* Onglets dans le panneau de personnalisation */
.cky-tab-active,
.cky-preference-tab.active {
  color: #a85a48 !important;
  border-bottom: 2px solid #a85a48 !important;
}

/* ===================================================================
   ARTICLE FLOW — page omoplate (et autres articles longs)
   Mise en page d'article fluide : 1 seule section, hiérarchie via H2/H3,
   espacements verticaux maîtrisés, image intégrée dans le flux.
   =================================================================== */
.article-flow {
  padding-top: 0 !important;
}

.article-flow .container-prose {
  max-width: 720px;
}

/* Titres H2 dans le flux article : taille harmonisée avec les H2 de la home (.section-h2) */
.article-flow .article-h2 {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 2.125rem;
  font-weight: 400;
  color: #5c524b;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 72px 0 24px;
}
.article-flow .article-h2.accent {
  color: #a85a48;
}

/* Premier H2 collé au haut (pas de marge supérieure énorme) */
.article-flow .article-h2:first-child {
  margin-top: 0;
}

/* H3 : sous-sections au sein d'un H2 */
.article-flow .prose h3 {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #3a2a25;
  line-height: 1.35;
  margin: 36px 0 12px;
}

/* Lead/intro paragraph sous un H2 */
.article-flow .article-lead {
  font-size: 1.05rem;
  color: #5c524b;
  font-style: italic;
  margin: 0 0 24px;
  line-height: 1.7;
}

/* Figure (photo + cercle) intégrée dans le flux : centrée, avec espacements */
.article-flow .omoplate-figure {
  margin: 56px auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Si la figure est le 1er enfant du flow (en début d'article), pas de marge top */
.article-flow .prose > .omoplate-figure:first-child {
  margin-top: 0;
  margin-bottom: 48px;
}

@media screen and (max-width: 767px) {
  .article-flow .article-h2 {
    font-size: 1.65rem;
    margin: 56px 0 18px;
  }
  .article-flow .prose h3 {
    font-size: 1.1rem;
    margin: 28px 0 10px;
  }
  .article-flow .omoplate-figure {
    margin: 40px auto;
  }
}

/* ===================================================================
   NAVBAR PAGES INTERNES — harmonisation avec la home
   Sur les pages internes (contact, libé myo, omoplate, etc.), la navbar
   est juste en haut du <body>, sans hero. On lui applique les mêmes
   règles de container et de hauteur que la version cascade-home, pour
   que le logo soit aligné aux mêmes 80px du bord.
   =================================================================== */

/* Sur les pages internes (sans .section-7 qui contient la nav), on cible
   directement la navbar globale */
body > .navbar-4 {
  padding-top: 32px;
  padding-bottom: 24px;
}

body > .navbar-4 .nav-bar-container {
  max-width: 1800px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 80px !important;
  padding-right: 80px !important;
  box-sizing: border-box !important;
}

body > .navbar-4 .nav-menu {
  margin-left: auto;
}

body > .navbar-4 .menu-element {
  font-size: 1.05rem;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

body > .navbar-4 .nav-menu .menu-element + .menu-element {
  margin-left: 6px;
}

@media screen and (max-width: 767px) {
  body > .navbar-4 {
    padding-top: 20px;
    padding-bottom: 16px;
  }
  body > .navbar-4 .nav-bar-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  body > .navbar-4 .menu-element {
    font-size: 0.92rem;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  body > .navbar-4 .nav-menu .menu-element + .menu-element {
    margin-left: 3px;
  }
}

/* Sur le hero, décaler le nav-menu vers la droite pour que la 1ère entrée
   (Périnatalité) sorte de la zone du kimono rouge. Resserre aussi les entrées
   pour un look plus compact. */
.section-7 .nav-menu {
  margin-left: auto;
}

.section-7 .menu-element {
  font-size: 1.05rem;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.section-7 .nav-menu .menu-element + .menu-element {
  margin-left: 6px;
}

@media screen and (max-width: 991px) {
  .section-7 .menu-element {
    font-size: 0.92rem;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .section-7 .nav-menu .menu-element + .menu-element {
    margin-left: 3px;
  }
}

/* ===================================================================
   NAVBAR PAGE FEMME ENCEINTE (et futures pages avec hero-page)
   Mêmes règles que la home : container 1800px, padding 80px latéraux,
   menu décalé à droite avec entrées resserrées.
   =================================================================== */
.hero-femme-enceinte .nav-bar-container {
  max-width: 1800px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 80px !important;
  padding-right: 80px !important;
  box-sizing: border-box !important;
}

.hero-femme-enceinte .nav-menu {
  margin-left: auto;
}

.hero-femme-enceinte .menu-element {
  font-size: 1.05rem;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.hero-femme-enceinte .nav-menu .menu-element + .menu-element {
  margin-left: 6px;
}

@media screen and (max-width: 767px) {
  .hero-femme-enceinte .nav-bar-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .hero-femme-enceinte .menu-element {
    font-size: 0.92rem;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ===================================================================
   HERO PAGE LIBÉRATION MYOFASCIALE
   Structure identique à .hero-femme-enceinte, avec son propre background.
   On laisse le .container-7 par défaut faire son travail (margin-top 80px,
   flex column centré). Comme ça, le titre est positionné exactement comme
   sur la page femme enceinte.
   =================================================================== */
.hero-myofascial {
  background-image: url("../images/bg-myo.svg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 800px;
  position: relative;
}

/* Mêmes règles navbar que la page femme enceinte */
.hero-myofascial .nav-bar-container {
  max-width: 1800px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 80px !important;
  padding-right: 80px !important;
  box-sizing: border-box !important;
}

.hero-myofascial .nav-menu {
  margin-left: auto;
}

.hero-myofascial .menu-element {
  font-size: 1.05rem;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.hero-myofascial .nav-menu .menu-element + .menu-element {
  margin-left: 6px;
}

@media screen and (max-width: 767px) {
  .hero-myofascial .nav-bar-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .hero-myofascial .menu-element {
    font-size: 0.92rem;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ===================================================================
   ARTICLE-CTA — Bloc CTA inline dans le flux article (omoplate, myo)
   Bouton centré + meta info sous-jacente. Marges aérées pour respirer.
   =================================================================== */
.article-flow .article-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 56px 0;
  padding: 36px 24px;
  background-color: #fdf6ec;
  border-radius: 12px;
}

.article-flow .article-cta .button {
  margin-bottom: 14px;
}

.article-flow .article-cta-meta {
  font-size: 0.92rem;
  color: #7a6862;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .article-flow .article-cta {
    margin: 40px 0;
    padding: 28px 18px;
  }
}

/* ===================================================================
   MOBILE HOME — Navbar séparée en crème, au-dessus du hero
   En desktop, la navbar est intégrée dans le hero (par-dessus la photo)
   pour un effet immersif. En mobile, ça pose problème : le logo retombe
   sur le visage d'Adeline. On bascule donc sur une nav séparée fond crème,
   comme les pages internes. Le hero photo commence après. */
@media screen and (max-width: 767px) {
  /* Fond crème opaque sur la navbar, qui occupe maintenant sa propre bande */
  .section-7 .navbar-4 {
    background-color: #fdf6ec !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    position: relative !important;
    z-index: 10 !important;
    align-items: stretch !important;
  }

  /* Forcer le container nav en row : logo à gauche, burger à droite, même ligne */
  .section-7 .nav-bar-container {
    flex-flow: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    display: flex !important;
  }

  /* Logo plus petit sur mobile pour gagner de la place */
  .section-7 .image-30 {
    width: 140px;
  }

  /* Burger centré verticalement avec le logo (annule le margin-top 20px) */
  .section-7 .menu-button {
    margin-top: 0 !important;
  }

  /* Désactiver le voile dégradé qui faisait fondre la nav dans la photo */
  .section-7 .navbar-4::before {
    display: none !important;
  }

  /* Désactiver le halo logo (devenu inutile sur fond crème opaque) */
  .section-7 .w-nav-brand::before {
    display: none !important;
  }
}

/* ===================================================================
   PADDING SECTION "Qu'est-ce que le shiatsu"
   La section pour-qui (Découvrir / Qu'est-ce que le shiatsu) manque de
   respiration latérale sur mobile et tablette. On lui donne un padding
   horizontal cohérent avec les autres sections. */
.pour-qui-section .container-5 {
  padding-left: 5vw !important;
  padding-right: 5vw !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
  .pour-qui-section .container-5 {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ===================================================================
   SECTION "Qu'est-ce que le shiatsu" — Photo séance
   Photo placée sous le bloc de texte intro, en pleine largeur du
   container, avec marges verticales aérées pour respirer. */
.intro-photo {
  margin: 48px auto 96px;
  width: 100%;
  max-width: 720px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(58, 42, 37, 0.10);
}

.intro-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

@media screen and (max-width: 767px) {
  .intro-photo {
    margin: 32px auto 88px;
    max-width: 100%;
    border-radius: 8px;
  }
  .intro-photo img {
    border-radius: 8px;
  }
}

/* ===================================================================
   HARMONISATION NAVBAR MOBILE — toutes pages
   Logo et burger sur la même ligne, navbar compacte. S'applique à toutes
   les navbars du site (home, hero pages soin, pages internes) pour
   uniformiser le comportement mobile. */
@media screen and (max-width: 767px) {
  /* Container nav : forcer en row (Webflow le passe en column par défaut) */
  .navbar-4 .nav-bar-container {
    flex-flow: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    display: flex !important;
  }

  /* Logo plus petit que desktop mais bien lisible (+40% par rapport au minimum) */
  .navbar-4 .image-30 {
    width: 196px;
  }

  /* Burger centré verticalement avec le logo (annule le margin-top 20px) */
  .navbar-4 .menu-button {
    margin-top: 0 !important;
  }

  /* Navbar elle-même plus compacte */
  .navbar-4 {
    align-items: stretch !important;
  }
}

/* ===================================================================
   FIX MOBILE — Alignement items menu burger ouvert
   En desktop, j'ai mis des margin-left pour resserrer les entrées
   horizontalement (4px à 8px entre items). En mobile, quand le burger
   s'ouvre et que les items s'empilent verticalement, ces margin-left
   deviennent visuellement un décalage horizontal du 2e et 3e item.
   On les annule en mobile. */
@media screen and (max-width: 767px) {
  .navbar-4 .nav-menu .menu-element + .menu-element {
    margin-left: 0 !important;
  }
  /* Optionnel : padding-left uniforme pour bien aligner à gauche */
  .navbar-4 .nav-menu .menu-element {
    padding-left: 20px !important;
    padding-right: 20px !important;
    text-align: left;
  }
}

/* ===================================================================
   AUDIT TYPOGRAPHIQUE — Harmonisation des tailles de texte courant
   3 niveaux standard pour le texte des sections :
   - Lead   : 1.05rem (intros, phrases d'accroche)
   - Body   : 1rem    (texte courant) — line-height 1.75 uniforme
   - Small  : 0.92rem (méta, FAQ, footer)
   =================================================================== */

/* BODY uniforme : 1rem Montserrat lh 1.75 */
.pour-qui-intro,
.ressource-text,
.text-paragraph,
.prose {
  font-size: 1rem !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
}

/* LEAD uniforme : 1.05rem Montserrat lh 1.7 */
.section-lead,
.article-flow .article-lead {
  font-size: 1.05rem !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  font-style: italic;
}

/* SECTION-SUBTITLE (sous-titres heros pages soin) harmonisés au lead */
.section-subtitle,
.section-subtitle.margins,
.section-subtitle-low-margin {
  font-size: 1.05rem !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

/* SMALL : faq-answer, meta, footer-list — line-height harmonisé */
.faq-answer,
.article-flow .article-cta-meta,
.prose-note {
  font-size: 0.96rem !important;
  font-family: Montserrat, sans-serif !important;
  line-height: 1.7 !important;
}

/* HARMONISATION H1 des pages internes : toutes à 2.125rem comme .section-h2
   (au lieu de .page-title à 2.5rem) pour cohérence avec la home et omoplate */
.page-title {
  font-size: 2.125rem !important;
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.005em !important;
}

@media screen and (max-width: 991px) {
  .page-title {
    font-size: 1.85rem !important;
  }
}

@media screen and (max-width: 767px) {
  .page-title {
    font-size: 1.55rem !important;
  }
}

/* ===================================================================
   FIX MOBILE — Photo À propos plus grande
   Sur mobile, la photo Adeline en kimono était trop petite. On la passe
   à 80% de la largeur écran (max 380px) pour qu'elle ait plus de présence. */
@media screen and (max-width: 767px) {
  .div-block-4 {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
  .image-2 {
    width: 80vw !important;
    max-width: 380px !important;
    min-width: 280px !important;
    height: auto !important;
    display: block !important;
  }
}

/* ===================================================================
   ITEM COURANT DU MENU (page active)
   Indicateur ultra discret : juste la couleur terracotta brique (l'identité
   du site). Pas de gras, pas de soulignement — l'œil capte la différence
   sans que ce soit ostentatoire. */
.menu-element.w--current {
  color: #a85a48 !important;
}

/* Feedback visuel au tap : fond gris clair, le temps du clic.
   Donne une confirmation visuelle que l'item a bien été touché.
   On utilise display: inline-block pour que le fond suive la largeur du texte
   (pas full ligne comme le style Laetitia Guidicelli).
   Padding réduit horizontalement pour que le rectangle gris ne soit pas trop
   large, mais conservation d'un padding vertical confortable pour les lignes
   du menu burger. Transition longue au retour (0.4s) pour persistance visuelle. */
.menu-element {
  transition: background-color 0.4s ease-out, color 0.25s ease;
  display: inline-block;
  padding: 16px 14px;
  border-radius: 6px;
}
.menu-element:active {
  background-color: rgba(58, 42, 37, 0.05);
  transition: background-color 0s;
}

/* En mobile, quand le burger est ouvert, les items doivent être empilés
   verticalement (pas horizontalement). Items en bloc quasi-pleine-largeur,
   avec léger padding latéral pour que le rectangle gris au tap soit aéré
   (style Laetitia Guidicelli : rectangle qui prend quasi toute la largeur
   du menu, texte aligné à gauche dans ce rectangle). */
@media screen and (max-width: 991px) {
  .w-nav-overlay,
  .w-nav-overlay .w-nav-menu,
  .w-nav-overlay [data-nav-menu-open],
  .nav-menu.w--nav-menu-open {
    text-align: left !important;
  }
  /* Padding uniforme sur les 4 côtés du conteneur (8px partout) pour aérer
     le menu de façon discrète et cohérente, façon Laetitia. */
  .w-nav-overlay [data-nav-menu-open],
  .nav-menu.w--nav-menu-open {
    padding: 8px !important;
    box-sizing: border-box !important;
  }
  /* Items en block full width du container (= quasi-pleine largeur de l'écran
     grâce au padding du parent), texte à gauche, padding interne pour la
     hauteur de ligne confortable. */
  .w-nav-overlay .menu-element,
  .nav-menu.w--nav-menu-open .menu-element {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }
}

/* ===================================================================
   Pas de soulignement sur les items du menu — style minimaliste
   La couleur des items change seule pour signaler le hover/page courante. */

/* ===================================================================
   FIX MOBILE — Empêcher tout scroll horizontal
   Plusieurs éléments (containers, images) peuvent déborder à droite sur
   mobile à cause de width: 100vw (qui inclut parfois la scrollbar), ou
   d'éléments qui dépassent légèrement. On force le hidden sur body + html
   en mobile pour éliminer la bande blanche à droite et le scroll horizontal. */
@media screen and (max-width: 991px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
  }
}

/* ============================================================
   DROPDOWN "SOINS" dans la navigation principale
   Ajouté pour intégrer la page Adeline & Pierre.
   Préfixe .ap- = Adeline & Pierre.
   ============================================================ */
.nav-menu .ap-dropdown {
  position: relative;
  display: inline-block;
}

.nav-menu .ap-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
}

.nav-menu .ap-dropdown-toggle::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  transition: transform 0.25s ease;
  margin-left: 4px;
}

.nav-menu .ap-dropdown:hover .ap-dropdown-toggle::after,
.nav-menu .ap-dropdown:focus-within .ap-dropdown-toggle::after {
  transform: rotate(180deg);
}

.nav-menu .ap-dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid rgba(92, 82, 75, 0.08);
  border-radius: 4px;
  padding: 12px 0;
  min-width: 240px;
  box-shadow: 0 12px 32px rgba(92, 82, 75, 0.12);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  z-index: 100;
}

.nav-menu .ap-dropdown:hover .ap-dropdown-menu,
.nav-menu .ap-dropdown:focus-within .ap-dropdown-menu {
  opacity: 1;
  visibility: visible;
}

.nav-menu .ap-dropdown-menu a {
  display: block;
  padding: 10px 22px;
  color: #5c524b;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}

.nav-menu .ap-dropdown-menu a:hover,
.nav-menu .ap-dropdown-menu a.w--current {
  background: #fdf6ec;
  color: #ab5f29;
}

/* Comportement mobile : on déplie l'item Soins directement dans le menu */
@media screen and (max-width: 991px) {
  .nav-menu .ap-dropdown { display: block; }
  .nav-menu .ap-dropdown-menu {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    box-shadow: none;
    border: none;
    padding: 4px 0 12px;
    background: transparent;
    min-width: 0;
  }
  .nav-menu .ap-dropdown-toggle::after { display: none; }
  .nav-menu .ap-dropdown-menu a {
    padding-left: 36px;
    font-size: 0.92rem;
    opacity: 0.85;
  }
}
