@font-face {
  font-family:Moanslight;
  src:url('Moanslight/WOFF2/Moanslight-Thin.woff2') format('woff2'),url('Moanslight/WOFF/Moanslight-Thin.woff') format('woff');
  font-weight:100;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:Moanslight;
  src:url('Moanslight/WOFF2/Moanslight-Extralight.woff2') format('woff2'),url('Moanslight/WOFF/Moanslight-Extralight.woff') format('woff');
  font-weight:200;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:Moanslight;
  src:url('Moanslight/WOFF2/Moanslight-Light.woff2') format('woff2'),url('Moanslight/WOFF/Moanslight-Light.woff') format('woff');
  font-weight:300;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:Moanslight;
  src:url('Moanslight/WOFF2/Moanslight-Regular.woff2') format('woff2'),url('Moanslight/WOFF/Moanslight-Regular.woff') format('woff');
  font-weight:400;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:Moanslight;
  src:url('Moanslight/WOFF2/Moanslight-Medium.woff2') format('woff2'),url('Moanslight/WOFF/Moanslight-Medium.woff') format('woff');
  font-weight:500;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:Moanslight;
  src:url('Moanslight/WOFF2/Moanslight-Semibold.woff2') format('woff2'),url('Moanslight/WOFF/Moanslight-Semibold.woff') format('woff');
  font-weight:600 800;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:Moanslight;
  src:url('Moanslight/WOFF2/Moanslight-Bold.woff2') format('woff2'),url('Moanslight/WOFF/Moanslight-Bold.woff') format('woff');
  font-weight:900 950;
  font-style:normal;
  font-display:swap
}

:root {
  --ink:#242426;
  --blue:#a8dded;
  --yellow:#fff200;
  --orange:#fabf74;
  --mint:#5ec2a1;
  --cream:#f4eedf;
  --green:#5bbf9f;
  --white:#fff;
  --sticky-current-color:var(--blue);
  --max:1240px;
  --pad:clamp(18px,4vw,64px)
}

body.square-content-page--investment,
body.contact-page {
  --sticky-current-color:#fabf74
}

body.square-content-page--offres {
  --sticky-current-color:#57b998
}

body.square-content-page--square,
body.square-content-page--actors {
  --sticky-current-color:#a2d8ef
}

body.square-content-page--localisation {
  --sticky-current-color:#f2e519
}

.screen-reader-text {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.s1 {
  width:fit-content!important;
  height:fit-content!important
}

.design-page {
  position:relative;
  width:100%;
  min-height:100vh;
  background:#58b998
}

.design-page__image {
  display:block;
  width:100%;
  height:auto
}

@media (max-width:900px) {
  .design-page {
    overflow-x:auto
  }

  .design-page__image {
    width:1280px;
    max-width:none
  }
}

/* HubSpot new renderer: keep the current Square form design on hsfc embeds. */
.square-hubspot-form [data-hsfc-id="Renderer"],
.square-hubspot-form [data-hsfc-id="Renderer"] * {
  box-sizing:border-box!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  color:var(--ink)!important;
  font-family:Moanslight,Arial,sans-serif!important
}

.square-hubspot-form [id^="square-hubspot-form-"] {
  width:100%!important;
  display:block!important
}

#square-hubspot-form-0-ef61253b-6855-4901-ba1b-482291842fc2 {
  display:block!important
}

#square-hubspot-form-0-e96a83ae-042b-4607-baef-bb3e7542b633,
#square-hubspot-form-0-dc9f5864-8a43-426e-8888-47c9a7884b6c {
  display:block!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Step,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Step__Content,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Form,
.square-hubspot-form [data-hsfc-id="Renderer"] form {
  width:100%!important;
  max-width:none!important;
  margin:0!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Form {
  padding:30px 0 0 0!important;
  border:none!important;
  background:none!important;
  font-family:var(--hsf-global__font-family,Helvetica)!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Step .hsfc-Step__Content {
  padding:50px 0 0!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Step .hsfc-Step__Content > :last-child {
  margin-bottom:0!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-NavigationRow {
  margin-top:0!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-NavigationRow__Alerts {
  margin-bottom:var(--hsf-row__vertical-spacing,var(--hsf-default-row__vertical-spacing))!important;
  display:none!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-ErrorAlert {
  display:none!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-RichText p {
  line-height:17px!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] #brochure-form-2626249649564-ic-r2 p {
  font-size:11px!important;
  line-height:14px!important
}

#square-hubspot-form-0-2626249649564-ic-rt0-cc,
#brochure-form-2626249649564-ic-rt0-cc {
  display:none!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-DataPrivacyField .hsfc-RichText p {
  font-size:11px!important;
  line-height:14px!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxFieldGroup > *:not(:last-child) {
  margin-bottom:0!important;
  background-color:#fff!important;
  padding:6px 13px 0px 13px!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxField label,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxFieldGroup label,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label:has(input) {
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  text-align:left!important;
  margin-bottom:10px
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxField label input[type="checkbox"],
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxFieldGroup label input[type="checkbox"],
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label:has(input) input[type="checkbox"] {
  order:0!important;
  flex:0 0 auto!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxField label span,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxFieldGroup label span,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label:has(input) span {
  order:1!important;
  flex:1 1 auto!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel {
  padding:13px 13px 13px 13px!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] fieldset,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-FieldContent,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-FieldInput,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Row,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Col {
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] label,
.square-hubspot-form [data-hsfc-id="Renderer"] legend {
  font-family:Moanslight,Arial,sans-serif!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-FieldLabel {
  font-family:var(--hsf-field-label__font-family,var(--hsf-global__font-family,var(--hsf-default-field-label__font-family)))!important;
  font-size:12px!important;
  line-height:17px!important;
  color:var(--hsf-field-label__color,var(--hsf-global__color,var(--hsf-default-field-label__color)))!important;
  word-break:break-word!important;
  overflow-wrap:break-word!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-FieldLabel span,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-FieldLabel__RequiredIndicator {
  display:inline!important;
  width:auto!important;
  margin:0!important;
  vertical-align:baseline!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-FieldLabel__RequiredIndicator {
  margin-left:3px!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-EmailField > *:not(:last-child) {
  margin-bottom:0!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-PhoneInput:not(.hsfc-PhoneInput--rtl) .hsfc-PhoneInput__FlagAndCaret {
  border-right:1px solid var(--hsf-field-input__border-color,var(--hsf-default-field-input__border-color))!important;
  border-top-right-radius:0!important;
  border-bottom-right-radius:0!important;
  display:none!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.square-hubspot-form [data-hsfc-id="Renderer"] select,
.square-hubspot-form [data-hsfc-id="Renderer"] textarea {
  width:100%!important;
  max-width:none!important;
  border:0!important;
  border-bottom:1px solid #cfcfcf!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-family:Moanslight,Arial,sans-serif!important;
  outline:0!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] input::placeholder,
.square-hubspot-form [data-hsfc-id="Renderer"] textarea::placeholder {
  color:rgba(36,36,38,.22)!important;
  opacity:1!important;
  text-transform:uppercase!important;
  font-weight:300!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] button[type="submit"],
.square-hubspot-form [data-hsfc-id="Renderer"] input[type="submit"],
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-SubmitButton {
  border:0!important;
  border-radius:999px!important;
  background:var(--yellow)!important;
  color:var(--ink)!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  text-shadow:none!important;
  text-align:center!important;
  text-transform:uppercase!important;
  font-family:Moanslight,Arial,sans-serif!important;
  font-weight:500!important;
  cursor:pointer!important;
  transition:background .22s ease,color .22s ease,transform .22s ease!important
}

.square-hubspot-form [data-hsfc-id="Renderer"] button[type="submit"]:hover,
.square-hubspot-form [data-hsfc-id="Renderer"] button[type="submit"]:focus-visible,
.square-hubspot-form [data-hsfc-id="Renderer"] input[type="submit"]:hover,
.square-hubspot-form [data-hsfc-id="Renderer"] input[type="submit"]:focus-visible,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-SubmitButton:hover,
.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-SubmitButton:focus-visible {
  background:#fff!important;
  color:var(--ink)!important;
  transform:translateY(-2px)!important
}

.square-hubspot-form--contact [data-hsfc-id="Renderer"] button[type="submit"]:hover,
.square-hubspot-form--contact [data-hsfc-id="Renderer"] button[type="submit"]:focus-visible,
.square-hubspot-form--contact [data-hsfc-id="Renderer"] input[type="submit"]:hover,
.square-hubspot-form--contact [data-hsfc-id="Renderer"] input[type="submit"]:focus-visible,
.square-hubspot-form--contact [data-hsfc-id="Renderer"] .hsfc-Button:hover,
.square-hubspot-form--contact [data-hsfc-id="Renderer"] .hsfc-Button:focus-visible,
.square-hubspot-form--contact [data-hsfc-id="Renderer"] .hsfc-SubmitButton:hover,
.square-hubspot-form--contact [data-hsfc-id="Renderer"] .hsfc-SubmitButton:focus-visible {
  background:#fff!important;
  color:var(--ink)!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] button[type="submit"]:hover,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] button[type="submit"]:focus-visible,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] input[type="submit"]:hover,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] input[type="submit"]:focus-visible,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Button:hover,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Button:focus-visible,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-SubmitButton:hover,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-SubmitButton:focus-visible {
  background:var(--ink)!important;
  color:var(--yellow)!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"],
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Form,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] form {
  width:min(1088px,100%)!important;
  margin:0 auto!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Form,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] form,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Step__Content {
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] fieldset,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Row,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Col {
  display:contents!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(textarea)):not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) {
  min-height:58px!important;
  background:#fff!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(textarea) {
  grid-column:1/-1!important;
  min-height:240px!important;
  background:#fff!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:flex-start!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(textarea) textarea {
  min-height:190px!important;
  padding:16px 0!important;
  resize:vertical!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field > label {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] select,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea {
  min-height:50px!important;
  padding:0!important;
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input::placeholder,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea::placeholder {
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:1px!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]),
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) {
  grid-column:1/-1!important;
  background:transparent!important;
  padding:0!important;
  display:block!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) > label,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) > label {
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 8px!important;
  clip:auto!important;
  overflow:visible!important;
  white-space:normal!important;
  text-transform:uppercase!important;
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:1px!important;
  font-weight:600!important;
  color:var(--ink)!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Options,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxField,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-RadioField {
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:8px!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Option,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-CheckboxField label,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-RadioField label,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) label:has(input),
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label:has(input) {
  min-height:62px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  background:#fbd5a4!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  cursor:pointer!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) label,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) span,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) span {
  color:var(--ink)!important;
  text-transform:none!important;
  font-size:18px!important;
  line-height:26px!important;
  letter-spacing:1px!important;
  font-weight:200!important;
  margin:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="radio"],
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="checkbox"] {
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  min-height:30px!important;
  appearance:none!important;
  border:1px dashed #707070!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px #fbd5a4!important;
  cursor:pointer!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="radio"]:checked,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="checkbox"]:checked {
  background:var(--mint)!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-ButtonRow,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Submit,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Actions {
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] button[type="submit"],
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="submit"],
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-SubmitButton {
  width:100%!important;
  min-width:260px!important;
  min-height:80px!important;
  margin-top:0px!important;
  padding:18px 26px!important;
  font-size:18px!important;
  line-height:26px!important;
  letter-spacing:1px!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Form,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] form,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Step__Content {
  grid-template-columns:1fr 1fr!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Step__Content {
  grid-template-columns:1fr 1fr!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) {
  min-height:auto!important;
  background:#fff!important;
  padding:13px 13px 0px 13px!important;
  margin:0!important;
  margin-bottom:0!important;
  display:flex!important;
  align-items:center!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) > label,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) .hsfc-FieldLabel {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  display:block!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] select,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea {
  background:#fff!important;
  border:0!important;
  margin:0!important;
  padding:0 13px!important;
  min-height:50px!important;
  font-size:15px!important;
  line-height:20px!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea {
  padding:13px!important;
  min-height:131px!important;
  resize:vertical!important
}

html[lang^="fr"] .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea {
  padding:13px!important;
  min-height:141px!important;
  resize:vertical!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(textarea) {
  grid-column:1/-1!important;
  min-height:240px!important;
  background:#fff!important;
  padding:13px 13px 0px 13px!important;
  margin-bottom:0!important;
  display:flex!important;
  align-items:flex-start!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) {
  grid-column:auto!important;
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
  background:#fff!important;
  padding:0 16px 16px!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) > label {
  display:block!important;
  width:calc(100% + 30px)!important;
  padding:15px 0 15px 15px!important;
  margin:0 0 0 -15px!important;
  background:#fff!important;
  color:var(--ink)!important;
  text-transform:uppercase!important;
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:2px!important;
  font-weight:600!important;
  white-space:normal!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) {
  grid-column:1/2!important;
  background:transparent!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) > label {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) label:has(input),
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label:has(input) {
  min-height:62px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  background:#fbd5a4!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  cursor:pointer!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) label:has(input) span,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label:has(input) span {
  text-transform:none!important;
  color:var(--ink)!important;
  font-size:18px!important;
  line-height:26px!important;
  letter-spacing:1px!important;
  font-weight:200!important;
  margin:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="radio"],
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="checkbox"] {
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  min-height:30px!important;
  appearance:none!important;
  border:1px dashed #707070!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px #fbd5a4!important;
  cursor:pointer!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="radio"]:checked,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="checkbox"]:checked {
  background:var(--mint)!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-NavigationRow,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-ButtonRow,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Submit,
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Actions {
  grid-column:2/3!important;
  display:flex!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] button[type="submit"],
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="submit"],
.contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-SubmitButton {
  width:300px!important;
  min-width:260px!important;
  min-height:80px!important;
  padding:18px 26px!important;
  font-size:18px!important;
  line-height:26px!important;
  letter-spacing:1px!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"],
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Form,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] form {
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  gap:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step .hsfc-Step__Content {
  padding:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(200px,auto)!important;
  column-gap:16px!important;
  row-gap:0!important;
  align-items:start!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > * {
  grid-column:1/-1!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > :has(#brochure-form-2178254924816),
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > #brochure-form-2178254924816 {
  grid-column:1/2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Field:has(#brochure-form-2178254924816),
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Field:has(#brochure-form-22) {
  grid-column:1/2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > :has(#brochure-form-22),
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > #brochure-form-22,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] #brochure-form-22 {
  grid-column:2/3!important;
  align-self:start!important;
  padding-top:10px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField):has(.hsfc-NavigationRow),
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField):has(.hsfc-ButtonRow),
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField):has(.hsfc-Actions),
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField):has(.hsfc-Submit) {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(200px,auto)!important;
  column-gap:16px!important;
  row-gap:0!important;
  align-items:start!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > * {
  grid-column:1/-1!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content > .hsfc-Row:has(.hsfc-DataPrivacyField),
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content > *:has(.hsfc-DataPrivacyField) {
  grid-column:1/2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > .hsfc-NavigationRow,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > .hsfc-ButtonRow,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > .hsfc-Actions,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > .hsfc-Submit {
  grid-column:2/3!important;
  align-self:start!important;
  padding-top:10px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) {
  min-height:82px!important;
  border-bottom:1px solid #cfcfcf!important;
  background:transparent!important;
  padding:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] select {
  min-height:auto!important;
  margin-bottom:15px!important;
  padding:0 0 10px 0!important;
  font-size:18px!important;
  line-height:22px!important;
  font-weight:400!important;
  letter-spacing:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] textarea {
  min-height:100px!important;
  padding:13px 0 0!important;
  font-size:18px!important;
  line-height:22px!important;
  resize:vertical!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] input::placeholder,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] textarea::placeholder {
  font-size:15px!important;
  letter-spacing:0!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-ButtonRow,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Submit,
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Actions {
  margin-top:auto!important;
  padding-top:20px!important
}

.square-hubspot-form--brochure [data-hsfc-id="Renderer"] button[type="submit"],
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] input[type="submit"],
.square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-SubmitButton {
  min-width:200px!important;
  min-height:80px!important;
  padding:22px 24px!important;
  font-size:18px!important;
  line-height:18px!important;
  letter-spacing:2px!important
}

@media (max-width:900px) {
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"],
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Form,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] form {
    width:100%!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Form,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] form,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Step__Content {
    grid-template-columns:1fr!important;
    gap:8px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(textarea)):not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) {
    min-height:54px!important;
    padding:13px 13px 0px 13px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(textarea) {
    min-height:174px!important;
    padding:13px 13px 0px 13px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(textarea) textarea {
    min-height:131px!important;
    padding:13px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] select,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea {
    min-height:54px!important;
    font-size:15px!important;
    line-height:20px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input::placeholder,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea::placeholder {
    font-size:15px!important;
    line-height:20px!important;
    letter-spacing:.3px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) {
    min-height:54px!important;
    background:#fff!important;
    padding:13px 13px 0px 13px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) > label,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) .hsfc-FieldLabel {
    padding:0!important;
    margin:0!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] select,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea {
    background:#fff!important;
    margin:0!important;
    padding:0 13px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] textarea {
    min-height:131px!important;
    padding:13px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]),
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) {
    padding:10px 0!important;
    background:transparent!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) > label,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) > label {
    margin:30px 0 15px!important;
    font-size:18px!important;
    line-height:20px!important;
    letter-spacing:2px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) label:has(input) {
    min-height:48px!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:#fff!important;
    padding:10px 65px!important;
    text-align:center!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="radio"] {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-height:1px!important;
    opacity:0!important;
    pointer-events:none!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]:checked) label:has(input) {
    background:var(--mint)!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label:has(input) {
    min-height:150px!important;
    flex-direction:row!important;
    justify-content:center!important;
    gap:14px!important;
    padding:14px 18px!important;
    text-align:center!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) label,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) label,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="radio"]) span,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) span {
    font-size:18px!important;
    line-height:22px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="checkbox"] {
    flex:0 0 26px!important;
    width:26px!important;
    height:26px!important;
    min-height:26px!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-NavigationRow,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-ButtonRow,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Submit,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Actions,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Field:has(input[type="checkbox"]) {
    grid-column:1/-1!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-ButtonRow,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Submit,
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-Actions {
    display:block!important
  }

  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] button[type="submit"],
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] input[type="submit"],
  .contact-page .contact-main__form.square-hubspot-form [data-hsfc-id="Renderer"] .hsfc-SubmitButton {
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    padding:17px 22px!important;
    font-size:16px!important;
    line-height:21px!important;
    letter-spacing:.8px!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Field:not(:has(input[type="radio"])):not(:has(input[type="checkbox"])) {
    min-height:68px!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) {
    grid-template-columns:1fr!important;
    column-gap:0!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField):has(.hsfc-NavigationRow),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField):has(.hsfc-ButtonRow),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField):has(.hsfc-Actions),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField):has(.hsfc-Submit) {
    grid-template-columns:1fr!important;
    column-gap:0!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"],
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Form,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] form {
    display:grid!important;
    grid-template-columns:1fr!important;
    column-gap:0!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content > *,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Row,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Col,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Field,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-NavigationRow,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-ButtonRow,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Actions,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Submit {
    grid-column:1/-1!important;
    width:100%!important;
    max-width:none!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Field:has(#brochure-form-2178254924816),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Field:has(#brochure-form-22) {
    grid-column:1/-1!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > :has(#brochure-form-22),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > #brochure-form-22,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] #brochure-form-22,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > :has(#brochure-form-2178254924816),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(#brochure-form-2178254924816):has(#brochure-form-22) > #brochure-form-2178254924816 {
    grid-column:1/-1!important;
    width:100%!important;
    max-width:none!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content > .hsfc-Row:has(.hsfc-DataPrivacyField),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content > *:has(.hsfc-DataPrivacyField),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > .hsfc-NavigationRow,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > .hsfc-ButtonRow,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > .hsfc-Actions,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Step__Content:has(.hsfc-DataPrivacyField) > .hsfc-Submit {
    grid-column:1/-1!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] select {
    min-height:50px!important;
    padding-top:8px!important;
    font-size:16px!important;
    line-height:20px!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-ButtonRow,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Submit,
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-Actions {
    padding-top:16px!important
  }

  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] button[type="submit"],
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] input[type="submit"],
  .brochure-popup .square-hubspot-form--brochure [data-hsfc-id="Renderer"] .hsfc-SubmitButton {
    width:100%!important;
    min-width:0!important;
    min-height:68px!important;
    font-size:16px!important;
    line-height:20px!important
  }
}

.square-content-page {
  background:#f4eedf;
  color:var(--ink)
}

.content-page {
  background:#f4eedf;
  overflow:hidden
}

.content-page img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}

.content-hero {
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);
  align-items:stretch;
  padding-top:96px
}

.content-hero--yellow {
  background:#fff200
}

.content-hero--green {
  background:#5ec2a1
}

.content-hero--blue {
  background:#a8dded
}

.content-hero__media {
  margin:0;
  min-height:620px
}

.content-hero__copy {
  padding:clamp(32px,5vw,82px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:28px
}

.content-eyebrow {
  margin:0;
  text-transform:uppercase;
  font-size:13px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.06em
}

.content-hero h1,
.content-band h2,
.content-split h2,
.location-copy h2,
.contact-section h2 {
  margin:0;
  font-size:clamp(46px,6.4vw,116px);
  line-height:.9;
  font-weight:950
}

.content-hero p:not(.content-eyebrow),
.content-band p,
.content-split p,
.location-copy p,
.contact-section__intro p {
  margin:0;
  font-size:clamp(19px,1.55vw,30px);
  line-height:1.08;
  font-weight:500
}

.content-button {
  width:max-content;
  max-width:100%;
  min-width:260px;
  min-height:80px;
  border:0;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  display:inline-grid;
  place-items:center;
  padding:18px 34px;
  text-decoration:none;
  text-transform:uppercase;
  font-family:Moanslight,Arial,sans-serif;
  font-size:18px;
  line-height:26px;
  font-weight:600;
  letter-spacing:.06em;
  cursor:pointer;
  transition:transform .22s ease,background .22s ease,color .22s ease
}

.content-button:hover,
.content-button:focus-visible {
  background:#fff;
  color:var(--ink);
  transform:translateY(-3px)
}

.content-band {
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);
  gap:clamp(28px,6vw,96px);
  padding:clamp(58px,8vw,130px) var(--pad)
}

.content-band--cream {
  background:#f4eedf
}

.content-band h2,
.content-split h2,
.location-copy h2,
.contact-section h2 {
  font-size:clamp(42px,4.8vw,82px)
}

.content-grid {
  display:grid;
  gap:14px;
  padding:14px;
  background:#f4eedf
}

.content-grid--three {
  grid-template-columns:repeat(3,1fr)
}

.content-grid--four {
  grid-template-columns:repeat(4,1fr)
}

.feature-tile {
  min-height:320px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.feature-tile--orange {
  background:#fabf74
}

.feature-tile--green {
  background:#5ec2a1
}

.feature-tile--blue {
  background:#a8dded
}

.feature-tile--yellow {
  background:#fff200
}

.feature-tile span,
.feature-tile h3,
.feature-tile p {
  margin:0
}

.feature-tile span {
  font-size:15px;
  font-weight:950
}

.feature-tile h3 {
  font-size:clamp(34px,3.3vw,62px);
  line-height:.9;
  font-weight:950
}

.feature-tile p {
  font-size:clamp(18px,1.35vw,25px);
  line-height:1.08
}

.content-split {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,1fr);
  gap:clamp(28px,5vw,82px);
  align-items:center;
  padding:clamp(58px,8vw,128px) var(--pad);
  background:#fff200
}

.content-split figure {
  margin:0;
  aspect-ratio:1.04;
  overflow:hidden
}

.content-split > div {
  display:grid;
  gap:28px
}

.metric-list {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:18px 0 0
}

.metric-list div {
  background:#fff;
  min-height:150px;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.metric-list dt {
  font-size:clamp(42px,5vw,82px);
  line-height:.86;
  font-weight:950;
  color:#69c8cf
}

.metric-list dd {
  margin:0;
  text-transform:uppercase;
  font-size:14px;
  line-height:1.05;
  font-weight:950
}

.gallery-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:14px;
  background:#f4eedf
}

.gallery-grid article {
  background:#fff;
  display:grid;
  grid-template-rows:420px auto auto;
  min-width:0
}

.gallery-grid h2 {
  margin:0;
  padding:24px 24px 8px;
  font-size:clamp(34px,3.6vw,66px);
  line-height:.9;
  font-weight:950
}

.gallery-grid p {
  margin:0;
  padding:0 24px 28px;
  font-size:20px;
  line-height:1.08
}

.location-panel {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  background:#f4eedf;
  padding:clamp(28px,4vw,64px) var(--pad);
  gap:clamp(28px,5vw,72px);
  align-items:center
}

.location-map {
  position:relative;
  min-height:600px;
  background:
    linear-gradient(38deg,transparent 48%,#242426 48% 49.2%,transparent 49.2%),
    linear-gradient(112deg,transparent 44%,#35a9d7 44% 45.2%,transparent 45.2%),
    linear-gradient(8deg,transparent 58%,#242426 58% 59.2%,transparent 59.2%),
    #cfeef8;
  overflow:hidden
}

.location-map::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(#8fcbdc 1px,transparent 1px),linear-gradient(90deg,#8fcbdc 1px,transparent 1px);
  background-size:64px 64px;
  opacity:.45
}

.location-pin {
  position:absolute;
  z-index:1;
  background:#fff200;
  color:var(--ink);
  padding:12px 14px;
  text-transform:uppercase;
  font-size:15px;
  line-height:1;
  font-weight:950;
  box-shadow:0 10px 24px rgba(0,0,0,.12)
}

.location-pin--square {
  left:42%;
  top:58%;
  font-size:34px;
  background:#fff200
}

.location-pin--midi {
  left:13%;
  top:70%;
  background:#fff
}

.location-pin--louise {
  left:61%;
  top:66%;
  background:#a8dded
}

.location-pin--sablon {
  left:54%;
  top:42%;
  background:#fff
}

.location-pin--europe {
  right:6%;
  top:34%;
  color:#fff;
  background:#23348a
}

.location-copy {
  display:grid;
  gap:24px
}

.school-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  padding:0 var(--pad) clamp(70px,9vw,130px);
  background:#f4eedf
}

.school-grid article {
  min-height:180px;
  padding:18px;
  background:#fff200;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.school-grid h2,
.school-grid p {
  margin:0;
  font-size:22px;
  line-height:.96
}

.school-grid h2 {
  font-weight:950
}

.school-grid strong {
  display:block;
  font-size:48px;
  line-height:.9;
  font-weight:950
}

.actor-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#242426;
  padding:1px
}

.actor-card {
  background:#fff;
  min-height:520px;
  padding:clamp(30px,4vw,64px);
  display:grid;
  align-content:start;
  gap:24px
}

.actor-card--wide {
  grid-column:1 / -1;
  background:#f05b37;
  grid-template-columns:minmax(280px,.8fr) 1fr;
  align-items:start
}

.actor-card img {
  width:auto;
  height:64px;
  max-width:260px;
  object-fit:contain
}

.actor-card h2 {
  margin:0;
  font-size:clamp(44px,5vw,86px);
  line-height:.88;
  font-weight:950
}

.actor-card p,
.actor-card li {
  font-size:22px;
  line-height:1.15
}

.actor-card p,
.actor-card ul {
  margin:0
}

.contact-section {
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(360px,1.25fr);
  gap:clamp(32px,6vw,92px);
  padding:clamp(58px,8vw,128px) var(--pad);
  background:#f4eedf
}

.contact-section__intro {
  display:grid;
  align-content:start;
  gap:24px
}

.contact-form {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px
}

.contact-form label,
.contact-form fieldset {
  margin:0;
  border:0
}

.contact-form fieldset {
  display:grid;
  gap:8px;
  padding-bottom:16px!important;
}

.contact-form label:not(.contact-form__consent):not(.bot-field),
.contact-form fieldset,
.contact-form__message {
  background:#fff;
  padding:0 16px
}

.contact-form span,
.contact-form legend {
  display:block;
  margin:0 0 12px;
  text-transform:uppercase;
  font-size:13px;
  line-height:1;
  font-weight:950;
  letter-spacing:.06em
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:500 22px/1.1 Moanslight,Arial,sans-serif
}

.contact-form fieldset,
.contact-form__message,
.contact-form__consent,
.contact-form__legal,
.contact-form .content-button {
  grid-column:1 / -1
}

.contact-form fieldset {
  display:grid;
  gap:8px;
  background:#fabf74
}

.contact-form fieldset label {
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.38);
  padding:12px;
  font-size:18px;
  line-height:1.1
}

.contact-form__consent {
  display:flex;
  align-items:center;
  gap:10px;
  background:#fabf74;
  padding:16px;
  font-size:18px;
  line-height:1.1
}

.contact-form__legal {
  margin:0;
  font-size:12px;
  line-height:1.15
}

.offers-page {
  background:#fff
}

.offers-hero {
  position:relative;
  min-height:720px;
  display:grid;
  place-items:center;
  padding:160px var(--pad) 80px;
  overflow:hidden;
  color:#fff;
  text-align:center
}

.offers-hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(40,92,72,.46) 0%,rgba(40,92,72,.28) 46%,rgba(40,92,72,0) 100%);
  mix-blend-mode:multiply
}

.offers-hero img {
  position:absolute;
  inset:0
}

.offers-hero > div {
  position:relative;
  z-index:1;
  max-width:880px;
  display:grid;
  gap:24px
}

.offers-hero h1 {
  margin:0;
  font-size:clamp(44px,5vw,86px);
  line-height:.96;
  font-weight:800
}

.offers-intro {
  display:grid;
  grid-template-columns:minmax(280px,520px) minmax(320px,1fr);
  gap:clamp(32px,8vw,150px);
  padding:34px var(--pad) 120px;
  background:#fff
}

.offers-intro h2,
.offers-intro p {
  margin:0;
  font-size:clamp(18px,1.45vw,30px);
  line-height:1.04
}

.offers-intro h2 {
  font-weight:800
}

.offers-list {
  display:grid;
  gap:18px;
  padding:0 14px 18px;
  background:#fff
}

.offer-card {
  position:relative;
  min-height:700px;
  overflow:hidden;
  background:#f4eedf
}

.offer-card figure {
  margin:0;
  position:absolute;
  inset:0
}

.offer-card__panel {
  position:relative;
  z-index:1;
  width:min(392px,calc(100% - 38px));
  min-height:390px;
  margin:22px;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:20px
}

.offer-card--orange .offer-card__panel {
  background:#fabf74
}

.offer-card--blue .offer-card__panel {
  background:#a8dded
}

.offer-card--yellow .offer-card__panel {
  background:#fff200
}

.offer-card__panel p,
.offer-card__panel h2,
.offer-card__panel dl,
.offer-card__panel ul {
  margin:0
}

.offer-card__panel > p:first-child {
  text-transform:uppercase;
  font-size:14px;
  font-weight:800;
  line-height:1
}

.offer-card__panel h2 {
  font-size:clamp(56px,6vw,86px);
  line-height:.78;
  font-weight:900
}

.offer-card__panel > p:nth-of-type(2) {
  max-width:270px;
  font-size:16px;
  line-height:1.12
}

.offer-card__panel dl {
  display:grid;
  gap:18px;
  margin-top:auto
}

.offer-card__panel dt {
  text-transform:uppercase;
  font-size:13px;
  line-height:1;
  font-weight:800
}

.offer-card__panel dd {
  margin:4px 0 0;
  font-size:30px;
  line-height:.95;
  font-weight:900
}

.offer-card__panel ul {
  padding:14px 0 0;
  border-top:1px solid rgba(36,36,38,.32);
  list-style:none;
  text-transform:uppercase;
  font-size:13px;
  line-height:1.2;
  font-weight:800
}

.offer-card__panel li::before {
  content:"- "
}

.offer-card__cta {
  position:absolute;
  z-index:2;
  top:28px;
  right:22px;
  min-width:260px;
  min-height:80px;
  max-width:calc(100% - 44px);
  display:grid;
  place-items:center;
  border-radius:999px;
  padding:18px 44px;
  background:#fff200;
  color:var(--ink);
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  font-weight:600;
  letter-spacing:.06em
}

.form-message {
  padding:18px;
  font-weight:950
}

.form-message--success {
  background:#5ec2a1
}

.form-message--error {
  background:#fabf74
}

.bot-field {
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden
}

@media (max-width:1000px) {
  .content-hero,
  .content-band,
  .content-split,
  .location-panel,
  .contact-section {
    grid-template-columns:1fr
  }

  .content-hero {
    padding-top:84px;
    min-height:0
  }

  .content-hero__media {
    min-height:420px
  }

  .content-grid--three,
  .content-grid--four,
  .gallery-grid,
  .actor-grid,
  .school-grid {
    grid-template-columns:1fr 1fr
  }

  .offers-intro {
    grid-template-columns:1fr;
    padding-bottom:72px
  }

  .offer-card {
    min-height:620px
  }

  .actor-card--wide {
    grid-template-columns:1fr
  }
}

@media (max-width:640px) {
  .content-hero__copy,
  .content-band,
  .content-split,
  .location-panel,
  .contact-section {
    padding-left:18px;
    padding-right:18px
  }

  .content-hero h1 {
    font-size:48px
  }

  .content-hero__media {
    min-height:320px
  }

  .content-grid--three,
  .content-grid--four,
  .gallery-grid,
  .school-grid,
  .metric-list,
  .contact-form {
    grid-template-columns:1fr
  }

  .gallery-grid article {
    grid-template-rows:300px auto auto
  }

  .location-map {
    min-height:430px
  }

  .offers-hero {
    min-height:520px;
    padding-top:128px
  }

  .offers-list {
    padding:0
  }

  .offer-card {
    min-height:0;
    display:grid
  }

  .offer-card figure {
    position:relative;
    inset:auto;
    height:420px
  }

  .offer-card__panel {
    width:auto;
    min-height:0;
    margin:0;
    padding:22px
  }

  .offer-card__cta {
    position:relative;
    top:auto;
    right:auto;
    border-radius:999px;
    max-width:none;
    min-height:80px;
    font-size:18px;
    line-height:26px;
    font-weight:600;
    text-align:center
  }

  .location-pin {
    font-size:12px
  }

  .location-pin--square {
    font-size:26px
  }
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  font-family:Moanslight,Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:.96
}

body.lang-menu-open {
  overflow:hidden
}

body.popup-open {
  overflow:hidden
}

body.mobile-menu-open {
  overflow:hidden
}

body.mobile-menu-open #square-chat-widget-root,
body.mobile-menu-open #sqw-window,
body.mobile-menu-open #sqw-contact-actions,
body.mobile-menu-open .sqw-contact-action {
  opacity:0!important;
  pointer-events:none!important;
  visibility:hidden!important
}

#sqw-contact-actions,
#sqw-window {
  transition:top .42s cubic-bezier(.22,.61,.36,1),bottom .42s cubic-bezier(.22,.61,.36,1),transform .42s cubic-bezier(.22,.61,.36,1)
}

#sqw-contact-actions {
  position:fixed;
  right:24px;
  bottom:120px;
  z-index:999;
  display:flex;
  flex-direction:column;
  gap:5px;
  align-items:center
}

body.square-landing #sqw-contact-actions {
  right:24px;
  bottom:105px
}

.sqw-contact-action {
  width:66px;
  height:66px;
  border-radius:50%;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.18);
  transition:transform .22s ease,background .22s ease,color .22s ease
}

.sqw-contact-action:hover,
.sqw-contact-action:focus-visible {
  background:var(--ink);
  color:var(--yellow);
  transform:translateY(-3px)
}

.sqw-contact-action svg {
  display:block;
  width:22px;
  height:auto
}

body.is-scrolled #sqw-contact-actions {
  bottom:30px;
  transform:translateY(0)
}

@media (min-width:901px) {
  body:not(.square-landing):not(.is-scrolled) #sqw-contact-actions {
    right:24px;
    top:480px;
    bottom:auto
  }

  body:not(.square-landing).is-scrolled #sqw-contact-actions {
    top:auto
  }
}

body.is-scrolled #sqw-window {
  bottom:116px!important
}

@media (max-width:900px) {
  #sqw-contact-actions {
    position:fixed;
    right:20px;
    bottom:100px;
    z-index:999;
    display:flex;
    flex-direction:column;
    gap:5px;
    align-items:center
  }

  body:not(.is-scrolled) #sqw-contact-actions {
    right:20px;
    bottom:100px;
    transform:translateY(0)
  }

  body.is-scrolled #sqw-contact-actions {
    right:20px;
    bottom:10px!important;
    transform:translateY(0)
  }
}

img {
  max-width:100%;
  display:block
}

a {
  color:inherit
}

@keyframes logoFadeIn {
  from {
    opacity:0
  }

  to {
    opacity:1
  }

}

@keyframes langSlideDown {
  from {
    opacity:0;
    transform:translateY(-24px)
  }

  to {
    opacity:1;
    transform:translateY(0)
  }

}

@keyframes langFadeIn {
  from {
    opacity:0
  }

  to {
    opacity:1
  }

}

@keyframes scrollArrowIn {
  from {
    opacity:0;
    transform:translate(-50%,10px)
  }

  to {
    opacity:1;
    transform:translate(-50%,0)
  }

}

@keyframes scrollArrowLineDraw {
  0% {
    opacity:0;
    stroke-dashoffset:36
  }

  12% {
    opacity:1
  }

  58%,82% {
    opacity:1;
    stroke-dashoffset:0
  }

  100% {
    opacity:0;
    stroke-dashoffset:0
  }

}

@keyframes scrollArrowHeadDraw {
  0%,40% {
    opacity:0;
    stroke-dashoffset:11
  }

  58%,82% {
    opacity:1;
    stroke-dashoffset:0
  }

  100% {
    opacity:0;
    stroke-dashoffset:0
  }

}

@media screen and (min-width:560px) and (max-width:1920px) {
  .manifesto .body br, .manifesto .lead br {
    display:none!important
  }
  .manifesto .body strong br, .manifesto .lead strong {
    display:block!important
  }
}
.manifesto .body strong {
  font-size:30px;
  line-height:35px;
  letter-spacing:.02em;
}
@keyframes langConfirm {
  0% {
    background:#fff;
    transform:scale(1)
  }

  35% {
    background:var(--yellow);
    transform:scale(1.06)
  }

  100% {
    background:#fff;
    transform:scale(1)
  }

}
.stat div span {
  color:var(--mint);
}
.reveal {
  opacity:0;
  transform:translateY(34px);
  transition:opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform
}

.reveal.is-visible {
  opacity:1;
  transform:translateY(0)
}

.reveal[data-reveal="zoom"] {
  transform:scale(.975)
}

.reveal[data-reveal="zoom"].is-visible {
  transform:scale(1)
}

.investment__visual.reveal[data-reveal="zoom"] {
  transform:none
}

.investment-card.reveal {
  transform:none
}

.brand-end.reveal {
  transform:none
}

.brand-end.reveal > * {
  opacity:0;
  transform:translateY(24px);
  transition:opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1)
}

.brand-end.reveal.is-visible > * {
  opacity:1;
  transform:translateY(0)
}

.brand-end.reveal.is-visible > *:nth-child(2) {
  transition-delay:90ms
}

.brand-end.reveal.is-visible > *:nth-child(3) {
  transition-delay:180ms
}

.logo {
  width:260px;
  height:260.299px;
  display:block
}

.logo svg {
  width:100%;
  height:100%;
  display:block
}

.logo.small {
  width:78px;
  height:78.09px
}

.site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:80;
  height:0;
  pointer-events:none;
  opacity:0;
  animation:langSlideDown .58s cubic-bezier(.22,.61,.36,1) .2s forwards
}

.site-header__promo {
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--yellow);
  color:var(--ink);
  text-transform:uppercase;
  font-size:15px;
  line-height:35px;
  font-weight:800;
  letter-spacing:2px;
  pointer-events:auto;
  opacity:0;
  transform:translateY(-100%);
  transition:opacity .24s ease,transform .24s ease
}

.site-header__promo span {
  margin-left:7px;
  font-weight:300
}

.site-header__bar {
  position:relative;
  height:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:19px;
  padding:0;
  background:transparent;
  pointer-events:none;
  transition:height .24s ease,background .24s ease,padding .24s ease
}

.site-header__logo {
  position:fixed;
  left:18px;
  top:18px;
  z-index:2;
  width:clamp(72px,7vw,132px);
  aspect-ratio:1/1;
  display:block;
  opacity:1;
  pointer-events:auto;
  transition:width .24s ease,height .24s ease,left .24s ease,top .24s ease
}

.site-header__logo img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  transition:opacity .2s ease
}

.site-header__logo-img--sticky {
  opacity:0
}

.site-header__logo-img--mobile {
  opacity:0
}

.site-header--hide-logo-top .site-header__logo {
  opacity:0;
  pointer-events:none
}

.lang-switch {
  position:fixed;
  right:18px;
  top:18px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:0;
  width:60px;
  opacity:1;
  pointer-events:auto;
  transition:right .24s ease,top .24s ease
}

.lang-current,.lang-option {
  appearance:none;
  border:0;
  border-radius:0;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
  line-height:1;
  width:60px;
  height:60px;
  padding:0;
  display:grid;
  place-items:center;
  cursor:pointer;
  text-transform:uppercase
}

.lang-current {
  position:relative;
  z-index:2
}

.lang-current.is-confirming {
  animation:langConfirm .42s cubic-bezier(.22,.61,.36,1)
}

.lang-options {
  position:absolute;
  right:100%;
  top:0;
  display:flex;
  overflow:hidden;
  max-width:0;
  height:60px;
  opacity:0;
  transform:translateX(12px);
  transition:max-width .28s ease,opacity .22s ease,transform .28s ease
}

.lang-switch:hover .lang-options,.lang-switch:focus-within .lang-options {
  max-width:120px;
  opacity:1;
  transform:translateX(0)
}

.site-nav {
  position:fixed;
  right:96px;
  top:39px;
  z-index:3;
  display:flex;
  gap:clamp(18px,2vw,38px);
  align-items:center;
  font-size:18px;
  font-weight:300;
  line-height:1;
  opacity:1;
  letter-spacing:1px;
  animation:none;
  pointer-events:auto
}

.site-nav a {
  position:relative;
  color:#fff;
  text-decoration:none;
  text-shadow:none;
  transition:color .1s ease,transform .1s ease
}

body.square-landing:not(.is-scrolled) .site-nav a {
  color:#000
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a[aria-current="page"] {
  color:#fff;
  opacity:.72;
  transform:translateY(-1px)
}

.site-nav a:not(.site-nav__brochure):hover,
.site-nav a:not(.site-nav__brochure):focus-visible {
  text-shadow:.5px 0 currentColor
}

body.is-scrolled .site-nav a[aria-current="page"]::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 37px);
  height:5px;
  background:var(--sticky-current-color)
}

.site-nav a:focus-visible {
  outline:2px solid #fff;
  outline-offset:6px
}

.lang-option {
  background:#fff;
  transition:background .18s ease
}

.lang-option:hover,.lang-option:focus-visible {
  background:var(--yellow)
}

.lang-option.is-active {
  display:none
}

.mobile-lang-panel {
  display:none
}

.mobile-menu-toggle,
.site-nav__brochure {
  display:none
}

.lang-option:focus-visible,.lang-current:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:2px
}

body.is-scrolled .site-header {
  height:130px
}

body.is-scrolled .site-header__promo {
  opacity:1;
  transform:translateY(0)
}

body.is-scrolled .site-header__bar {
  height:100px;
  padding:0 18px 0 122px;
  background:#fff;
  pointer-events:auto
}

body.is-scrolled .site-header__logo {
  position:absolute;
  left:0;
  top:0;
  width:100px;
  height:100px;
  opacity:1;
  pointer-events:auto
}

body.is-scrolled .site-header__logo-img--top {
  opacity:0
}

body.is-scrolled .site-header__logo-img--sticky {
  opacity:1
}

body.is-scrolled .lang-switch {
  position:relative;
  right:auto;
  top:auto;
  width:60px
}

body.is-scrolled .lang-options {
  height:60px
}

body.is-scrolled .lang-current,
body.is-scrolled .lang-option {
  background:#f4eedf;
  font-size:18px;
  font-weight:300;
  letter-spacing:1px;
  width:60px
}

body.is-scrolled .site-nav {
  position:relative;
  right:auto;
  top:auto;
  gap:clamp(18px,2vw,38px)
}

body.is-scrolled .lang-switch:hover .lang-options,
body.is-scrolled .lang-switch:focus-within .lang-options {
  max-width:144px
}

body.is-scrolled .site-nav a {
  color:var(--ink);
  text-shadow:none
}

body.is-scrolled .site-nav a:hover,
body.is-scrolled .site-nav a:focus-visible,
body.is-scrolled .site-nav a[aria-current="page"] {
  color:var(--sticky-current-color);
  opacity:1
}

body.is-scrolled .site-nav a:focus-visible {
  outline-color:var(--sticky-current-color)
}

.hero {
  width:100%;
  height:100vh;
  height:100svh;
  min-height:560px;
  position:relative;
  overflow:hidden;
  background:#111
}

.hero-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100vh;
  height:100svh;
  object-fit:cover;
  object-position:left center
}

.hero:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.04) 45%,rgba(0,0,0,.18));
  pointer-events:none
}

.hero-saving {
  position:absolute;
  left:15px;
  top:15px;
  z-index:4;
  width:335px;
  min-height:275px;
  background:var(--yellow);
  border:0;
  padding:10px;
  color:#000;
  opacity:0;
  animation:langSlideDown .58s cubic-bezier(.22,.61,.36,1) 1s forwards;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.hero-saving__main {
  margin:0;
  font-size:35px;
  font-weight:600;
  line-height:36px;
  letter-spacing:1px
}

.hero-saving__main strong {
  display:inline;
  font:inherit
}

.hero-saving__note {
  margin:0;
  font-size:20px;
  font-weight:400;
  line-height:22px;
  letter-spacing:.5px
}

.mobile-saving {
  display:none
}

.square-shared-saving__mobile {
  display:none
}

.brochure-trigger {
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:4;
  width:450px;
  min-height:80px;
  border:0;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  padding:10px 24px;
  font-family:Moanslight,Arial,Helvetica,sans-serif;
  font-size:18px;
  font-weight:600;
  line-height:22px;
  letter-spacing:2px;
  text-align:center;
  text-transform:uppercase;
  cursor:pointer;
  opacity:0;
  animation:langFadeIn .58s ease 1s forwards;
  transition:background .22s ease,color .22s ease,transform .22s cubic-bezier(.22,.61,.36,1)
}

.brochure-trigger span {
  display:block;
  margin-top:3px;
  font-size:18px;
  font-weight:400;
  letter-spacing:2px;
  line-height:22px
}

.brochure-trigger:hover,
.brochure-trigger:focus-visible {
  background:#FABF74;
  transform:translateY(-3px)
}

.brochure-trigger:focus-visible {
  outline:2px solid #fff;
  outline-offset:4px
}

.hero .logo {
  position:absolute;
  left:50%;
  top:49%;
  transform:translate(-50%,-50%);
  z-index:2;
  opacity:0;
  animation:logoFadeIn .72s ease 1s forwards
}

.scroll-arrow {
  position:absolute;
  left:50%;
  bottom:clamp(42px,6.7vh,72px);
  z-index:3;
  width:19px;
  height:54px;
  color:#fff;
  display:grid;
  place-items:center;
  opacity:0;
  transform:translate(-50%,10px);
  animation:scrollArrowIn .58s cubic-bezier(.22,.61,.36,1) 1.25s forwards
}

.scroll-arrow-inner {
  width:19px;
  height:54px;
  display:grid;
  place-items:center
}

.scroll-arrow-glyph {
  width:24px;
  height:68px;
  display:block;
  fill:none;
  overflow:visible;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round
}

.scroll-arrow-frame {
  stroke-width:2
}

.scroll-arrow-line,
.scroll-arrow-head {
  stroke-width:2;
  opacity:0
}

.scroll-arrow-line {
  stroke-dasharray:36;
  stroke-dashoffset:36;
  animation:scrollArrowLineDraw 1.85s cubic-bezier(.55,0,.2,1) 1.95s infinite
}

.scroll-arrow-head {
  stroke-dasharray:11;
  stroke-dashoffset:11;
  animation:scrollArrowHeadDraw 1.85s cubic-bezier(.55,0,.2,1) 1.95s infinite
}

.scroll-arrow:hover .scroll-arrow-line,
.scroll-arrow:hover .scroll-arrow-head,
.scroll-arrow:focus-visible .scroll-arrow-line,
.scroll-arrow:focus-visible .scroll-arrow-head {
  animation-duration:1.2s
}

.scroll-arrow:focus-visible {
  outline:2px solid #fff;
  outline-offset:8px
}

.investment {
  background:var(--blue);
  color:var(--ink);
  position:relative;
  padding:12px 12px 20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:auto auto 1fr auto auto;
  gap:20px;
  overflow:hidden
}

.investment__headline {
  grid-column:1/-1;
  max-width:100%
}

.investment h1 {
  margin:0;
  font-size:140px;
  font-weight:600;
  line-height:135px;
  letter-spacing:0
}

.investment h1 span {
  display:inline-block;
  padding-left:0
}

.headline-icon {
  width:130px;
  height:130px;
  display:inline-block;
  vertical-align:-.08em;
  margin:0;
  letter-spacing:0;
  color:#A2D8EF;
  margin-right:5px;
}

.no-wrap {
  white-space:nowrap
}

.investment__jump {
  justify-self:end;
  align-self:end;
  grid-column:4/5;
  grid-row:2/3;
  margin:0 0 10px 0;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:18px 36px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  font-weight:600;
  line-height:26px;
  letter-spacing:3px;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.investment__jump:hover,
.investment__jump:focus-visible {
  background:var(--ink);
  color:var(--yellow);
  transform:translateY(-3px)
}

.investment__copy {
  grid-column:1/3;
  grid-row:3/4;
  max-width:520px;
  margin:0;
  align-self:start;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.investment__copy p {
  margin:0
}

.investment__copy strong {
  font-weight:600
}

.investment__copy-mobile {
  display:none
}

.investment__visual {
  grid-column:3/5;
  grid-row:3/5;
  margin:0;
  align-self:stretch;
  aspect-ratio:1/1;
  overflow:hidden
}

.investment__visual img,
.investment-card--image img {
  width:100%;
  height:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block
}

.investment__grid {
  display:contents
}

.investment-card {
  min-height:248px;
  aspect-ratio:1/1;
  align-self:end;
  background:rgba(255,255,255,.48);
  padding:10px;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:300
}

.investment-card strong {
  font-weight:400
}

.investment-card__mobile {
  display:none
}

.investment-card--image {
  grid-column:1/2;
  grid-row:5/6;
  margin:0;
  padding:0;
  aspect-ratio:1/1;
  overflow:hidden
}

.investment-card:nth-child(1) {
  grid-column:1/2;
  grid-row:4/5
}

.investment-card:nth-child(2) {
  grid-column:2/3;
  grid-row:4/5
}

.investment-card:nth-child(4) {
  grid-column:2/3;
  grid-row:5/6
}

.investment-card:nth-child(5) {
  grid-column:3/4;
  grid-row:5/6
}

.shortage {
  background:#fff;
  color:var(--ink);
  padding:26px 20px 20px
}

.shortage__intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:end;
  margin-bottom:20px
}

.shortage h2 {
  color:var(--mint);
  font-size:75px;
  line-height:75px;
  letter-spacing:0;
  margin:0;
  font-weight:600
}

.shortage h2 span {
  display:inline-block;
  padding-left:0
}

.shortage__title-icon {
  display:inline-block;
  width:75px;
  height:75px;
  margin:0 5px 0 0;
  vertical-align:-.08em
}

.shortage-mobile-break {
  display:none
}

.home-offers-mobile-break {
  display:none
}

.home-offers-copy__desktop {
  display:inline
}

.home-offers-copy__mobile {
  display:none
}

.home-experience-mobile-break,
.home-experience-mobile-head,
.home-experience-mobile-word,
.home-experience-mobile-tail {
  display:none
}

.home-experience-desktop-head,
.home-experience-desktop-word,
.home-experience-desktop-tail {
  display:inline
}

.shortage__intro p {
  grid-column:1/2;
  margin:75px 0 0 0;
  max-width:440px;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.shortage__intro strong {
  font-weight:950
}

.shortage-copy__mobile {
  display:none
}

.shortage-stat__mobile {
  display:none
}

.shortage__stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}

.shortage-stat {
  min-height:390px;
  background:var(--cream);
  position:relative;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-end;
  text-align:right;
  overflow:hidden
}

.shortage-stat__source {
  position:absolute;
  top:22px;
  right:24px;
  font-size:15px;
  line-height:20px;
  letter-spacing:0;
  font-weight:200
}

.shortage-stat__icon {
  position:absolute;
  left:28px;
  top:48px;
  width:112px;
  height:112px;
  color:var(--ink)
}

.shortage-stat__icon img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain
}

.shortage-stat strong {
  color:var(--mint);
  font-size:100px;
  line-height:100px;
  letter-spacing:-2px;
  font-weight:600
}

.shortage-stat p {
  margin:2px 0 0;
  max-width:100%;
  font-size:30px;
  line-height:32px;
  letter-spacing:-1px
}

.shortage-stat__icon:before,
.shortage-stat__icon:after {
  content:none;
  position:absolute;
  box-sizing:border-box
}

.home-offers {
  background:#282424;
  color:var(--ink);
  padding:189px 20px 150px;
  background-image:
    linear-gradient(#3c3838 1px,transparent 1px),
    linear-gradient(90deg,#3c3838 1px,transparent 1px);
  background-size:247px 247px;
  background-position:center top
}

.home-offers__intro {
  width:min(1510px,100%);
  margin:0 auto 62px;
  display:block;
  text-align:center
}

.home-offers__intro h2 {
  margin:0;
  max-width:none;
  font-size:75px;
  line-height:75px;
  letter-spacing:0;
  font-weight:600;
  color:#58b998
}

.home-offers__intro p {
  margin:42px auto 0;
  max-width:920px;
  font-size:30px;
  line-height:35px;
  letter-spacing:2px;
  font-weight:200;
  color:#58b998
}

.home-offers__intro p strong {
  font-weight:600
}

.home-offers__title-line {
  white-space:nowrap
}

.home-offers__title-icon {
  display:inline-block;
  width:75px;
  height:75px;
  margin:0;
  vertical-align:-.08em
}

.home-offers__grid {
  width:min(1364px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:20px
}

.home-offer {
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(260px,515px);
  min-height:515px;
  background:#f4eedf
}

.home-offer--corner {
  grid-template-columns:minmax(260px,515px) minmax(280px,1fr)
}

.home-offer--skyline {
  grid-column:1/-1
}

.home-offer__image {
  margin:0;
  overflow:hidden
}

.home-offer__image img,
.home-experience-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}

.home-offer__panel {
  min-height:515px;
  padding:42px 30px 34px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:var(--orange);
  color:var(--ink)
}

.home-offer--corner .home-offer__panel {
  background:var(--blue);
  order:-1
}

.home-offer--skyline .home-offer__panel {
  background:var(--mint)
}

.home-offer h3 {
  margin:0;
  font-size:75px;
  line-height:75px;
  letter-spacing:1px;
  font-weight:600
}

.home-offer h3 span,
.home-offer__label {
  display:block;
  text-transform:uppercase;
  font-size:18px;
  line-height:35px;
  letter-spacing:2px;
  font-weight:300
}

.home-offer h3 span {
  margin-bottom:22px
}

.home-offer__size {
  margin:auto 0 0;
  font-size:75px;
  line-height:75px;
  letter-spacing:1px;
  font-weight:600
}

.home-offer__size sup {
  font-size:.52em;
  line-height:0
}

.home-offer__label {
  margin:16px 0 0
}

.home-offers__grid .home-offer__label {
  margin:-5px 0px 0px 0px
}

.home-offer h3 span {
  margin-bottom:-5px
}

.home-offers__cta,
.home-experience__cta {
  min-width:260px;
  min-height:80px;
  width:max-content;
  border-radius:999px;
  background:var(--orange);
  color:var(--ink);
  display:grid;
  place-items:center;
  margin:100px auto 0;
  padding:18px 36px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  letter-spacing:2px;
  font-weight:600;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.home-offers__cta:hover,
.home-offers__cta:focus-visible,
.home-experience__cta:hover,
.home-experience__cta:focus-visible {
  background:var(--ink);
  color:var(--orange);
  transform:translateY(-3px)
}

.home-offers__cta {
  border:1px solid var(--orange);
  padding:17px 35px
}

.home-offers__cta:hover,
.home-offers__cta:focus-visible {
  border-color:var(--orange)
}

h1 {
  font-weight:500!important
}

.hero-saving__main strong,
.mobile-saving__main strong,
.investment__copy strong,
.investment-card strong,
.shortage__intro strong,
.home-offers__intro p strong,
.manifesto .lead strong,
.manifesto .body strong,
.invest-saving strong,
.invest-odalys__text p strong,
.invest-parental__copy strong,
.offres-saving strong,
.square-project-saving strong,
.square-project-reborn__lead strong,
.square-project-uses__intro strong,
.square-project-levels__row strong,
.localisation-saving strong,
.localisation-campus__title h2 strong,
.acteurs-saving strong,
.acteurs-developer strong,
.contact-saving strong,
.site-footer__meta strong {
  letter-spacing:0!important
}

.home-experience {
  background:var(--blue);
  color:var(--ink);
  padding:0 20px 20px;
  background-image:
    linear-gradient(#95c4db 1px,transparent 1px),
    linear-gradient(90deg,#95c4db 1px,transparent 1px);
  background-size:247px 247px;
  background-position:center top
}

.home-experience h2 {
  width:min(1881px,100%);
  margin:0 auto;
  padding:20px 0 72px;
  font-size:75px;
  line-height:75px;
  letter-spacing:0;
  font-weight:600;
  color:#f5efdf
}

.home-experience__title-icon {
  display:inline-block;
  width:75px;
  height:75px;
  margin:0;
  vertical-align:-.08em
}

.home-experience__grid {
  width:min(1880px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}

.home-experience-card {
  position:relative;
  min-height:616px;
  margin:0;
  overflow:hidden;
  background:#d9d9d9
}

.home-experience-card__trigger {
  appearance:none;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer
}

.home-experience-card:nth-child(4),
.home-experience-card:nth-child(5) {
  grid-column:span 1
}

.home-experience-card h3 {
  position:absolute;
  left:20px;
  top:30px;
  z-index:1;
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:32px;
  letter-spacing:0;
  font-weight:400
}

.home-experience__action {
  min-height:616px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end
}

.home-experience__cta {
  margin:0
}

.form-card {
  position:absolute;
  right:20px;
  bottom:20px;
  width:min(430px,calc(100vw - 40px));
  background:rgba(255,255,255,.92);
  padding:24px 22px 18px;
  line-height:1.1;
  z-index:3
}

.form-card h2 {
  font-size:22px;
  letter-spacing:-.04em;
  line-height:.92;
  margin:0 0 8px
}

.form-card p {
  font-size:14px;
  margin:0 0 22px;
  line-height:1.08
}

.field {
  display:block;
  height:38px;
  border-bottom:1px solid #cfcfcf;
  color:#b6b6b6;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.12em
}

.field span {
  display:none
}

.field input {
  appearance:none;
  border:0;
  border-radius:0;
  background:transparent;
  width:100%;
  height:100%;
  padding:13px 0 0;
  color:var(--ink);
  font:inherit;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  outline:0
}

.field input::placeholder {
  color:#b6b6b6;
  text-transform:uppercase;
  font-size:8px;
  letter-spacing:.12em
}

.field-row {
  display:flex;
  gap:20px
}
.field-row .field {
  flex:1;
  min-width:0
}

.bot-field {
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden
}

.form-status {
  font-size:12px;
  line-height:1.2;
  margin:12px 0 0
}

.form-status:empty {
  display:none
}

.form-confirmation {
  display:none
}

.brochure-popup {
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease
}

.brochure-popup.is-open {
  opacity:1;
  pointer-events:auto
}

.brochure-popup__backdrop {
  position:absolute;
  inset:0;
  border:0;
  background:rgba(255,255,255,.48);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  cursor:pointer
}

.brochure-popup__panel {
  position:relative;
  z-index:1;
  width:min(670px,calc(100vw - 40px));
  height:min(670px,calc(100vh - 40px));
  overflow:auto;
  background:#fff;
  color:var(--ink);
  padding:18px;
  display:flex;
  flex-direction:column;
  transform:translateY(18px) scale(.985);
  transition:transform .32s cubic-bezier(.22,.61,.36,1),background .24s ease
}

.brochure-popup__panel.is-complete {
  background:var(--yellow)
}

.brochure-popup.is-open .brochure-popup__panel {
  transform:translateY(0) scale(1)
}

.brochure-popup__close {
  position:absolute;
  right:18px;
  top:18px;
  z-index:2;
  width:44px;
  height:44px;
  border:3px solid var(--ink);
  border-radius:3px;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:50px;
  line-height:40px;
  font-weight:100;
  cursor:pointer;
  padding-top:6px;
  display:flex;
  justify-content:center;
  align-items:center;
  transition:background .22s ease,color .22s ease,transform .22s ease,border-color .22s ease
}

.brochure-popup__close:hover,
.brochure-popup__close:focus-visible {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
  transform:translateY(-2px)
}

.brochure-popup__copy {
  padding:0 72px 0 0
}

.brochure-popup__eyebrow {
  display:none
}

.brochure-popup h2 {
  margin:0;
  color:var(--ink);
  font-size:30px;
  font-weight:600;
  letter-spacing:0;
  line-height:35px
}

.brochure-popup__copy p:last-child {
  margin:0;
  max-width:520px;
  font-size:30px;
  font-weight:100;
  line-height:35px;
  letter-spacing:0
}

.brochure-form {
  background:transparent;
  padding:0;
  display:flex;
  flex-direction:column;
  flex:1
}

.brochure-form .field {
  height:82px
}

.brochure-form .field input {
  padding:13px 0 0;
  font-size:18px;
  font-weight:400;
  letter-spacing:0
}

.brochure-form .field input::placeholder {
  font-size:15px;
  letter-spacing:0
}

.brochure-form__bottom {
  display:grid;
  grid-template-columns:220px 1fr;
  gap:16px;
  align-items:end;
  margin-top:auto;
  padding-top:20px
}

.brochure-form__bottom .cta {
  min-width:200px;
  font-size:18px;
  font-weight:600;
  letter-spacing:2px;
  line-height:18px;
  padding:22px 10px;
  min-height:100px
}

.brochure-form__bottom .legal {
  font-size:10px;
  line-height:12px;
  letter-spacing:.04em;
  max-width:100%
}

.square-hubspot-form .hs-form {
  width:100%;
  margin:0;
  font-family:Moanslight,sans-serif
}

.square-hubspot-form .hs-form-field {
  margin:0
}

.square-hubspot-form label {
  margin:0
}

.square-hubspot-form .hs-form-field > label {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.square-hubspot-form input[type="text"],
.square-hubspot-form input[type="email"],
.square-hubspot-form input[type="tel"],
.square-hubspot-form input[type="number"],
.square-hubspot-form select,
.square-hubspot-form textarea {
  width:100%!important;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  color:var(--ink);
  font-family:Moanslight,sans-serif;
  outline:0
}

.square-hubspot-form input::placeholder,
.square-hubspot-form textarea::placeholder {
  text-transform:uppercase;
  color:rgba(36,36,38,.22);
  opacity:1;
  font-weight:300
}

.square-hubspot-form .hs-error-msgs {
  list-style:none;
  margin:6px 0 0;
  padding:0;
  color:#9e3a25;
  font-size:11px;
  line-height:14px;
  letter-spacing:.02em
}

.square-hubspot-form .hs-button {
  border:0;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  text-align:center;
  text-transform:uppercase;
  font-family:Moanslight,sans-serif;
  cursor:pointer;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.square-hubspot-form .hs-button:hover,
.square-hubspot-form .hs-button:focus-visible {
  background:#fff;
  transform:translateY(-2px)
}

.square-hubspot-form .hs-form-booleancheckbox,
.square-hubspot-form .hs-form-radio {
  list-style:none;
  margin:0;
  padding:0
}

.square-hubspot-form .hs-form-booleancheckbox label,
.square-hubspot-form .hs-form-radio label {
  cursor:pointer
}

.square-hubspot-form .hs-form-booleancheckbox input,
.square-hubspot-form .hs-form-radio input {
  flex:0 0 30px;
  width:30px;
  height:30px;
  appearance:none;
  border:1px dashed #707070;
  background:#fff;
  cursor:pointer
}

.square-hubspot-form .hs-form-booleancheckbox input:checked,
.square-hubspot-form .hs-form-radio input:checked {
  background:var(--mint)
}

.square-hubspot-form--brochure .hs-form {
  display:flex;
  flex-direction:column;
  flex:1
}

.square-hubspot-form--brochure .hs-form-field {
  min-height:82px
}

.square-hubspot-form--brochure input[type="text"],
.square-hubspot-form--brochure input[type="email"],
.square-hubspot-form--brochure input[type="tel"],
.square-hubspot-form--brochure input[type="number"],
.square-hubspot-form--brochure select {
  min-height:58px;
  padding:13px 0 0;
  font-size:18px;
  font-weight:400;
  letter-spacing:0
}

.square-hubspot-form--brochure textarea {
  min-height:100px;
  padding:13px 0 0;
  font-size:18px;
  resize:vertical
}

.square-hubspot-form--brochure input::placeholder,
.square-hubspot-form--brochure textarea::placeholder {
  font-size:15px;
  letter-spacing:0
}

.square-hubspot-form--brochure .hs-submit {
  margin-top:auto;
  padding-top:20px
}

.square-hubspot-form--brochure .hs-button {
  min-width:200px;
  min-height:100px;
  padding:22px 24px;
  font-size:18px;
  font-weight:600;
  letter-spacing:2px;
  line-height:18px
}

.square-hubspot-form,
.square-hubspot-form * {
  box-sizing:border-box!important
}

.square-hubspot-form form,
.square-hubspot-form fieldset,
.square-hubspot-form .form-columns-1,
.square-hubspot-form .form-columns-2,
.square-hubspot-form .form-columns-3,
.square-hubspot-form .hs-form-field,
.square-hubspot-form .input {
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important
}

.square-hubspot-form fieldset,
.square-hubspot-form .form-columns-1,
.square-hubspot-form .form-columns-2,
.square-hubspot-form .form-columns-3 {
  padding:0!important
}

.square-hubspot-form .hs-form-field {
  position:relative!important
}

.square-hubspot-form .input {
  display:block!important
}

.square-hubspot-form .hs-input,
.square-hubspot-form input[type="text"],
.square-hubspot-form input[type="email"],
.square-hubspot-form input[type="tel"],
.square-hubspot-form input[type="number"],
.square-hubspot-form select,
.square-hubspot-form textarea {
  width:100%!important;
  max-width:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-family:Moanslight,sans-serif!important;
  outline:0!important
}

.square-hubspot-form .hs-input:focus,
.square-hubspot-form input:focus,
.square-hubspot-form select:focus,
.square-hubspot-form textarea:focus {
  outline:0!important;
  box-shadow:none!important
}

.square-hubspot-form label,
.square-hubspot-form legend {
  font-family:Moanslight,sans-serif!important
}

.square-hubspot-form .hs-error-msgs,
.square-hubspot-form .hs-error-msgs li {
  list-style:none!important
}

.square-hubspot-form .hs-button,
.square-hubspot-form input[type="submit"] {
  border:0!important;
  border-radius:999px!important;
  background:var(--yellow)!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-family:Moanslight,sans-serif!important;
  cursor:pointer!important
}

.square-hubspot-form .hs-button:hover,
.square-hubspot-form .hs-button:focus-visible,
.square-hubspot-form input[type="submit"]:hover,
.square-hubspot-form input[type="submit"]:focus-visible {
  background:#fff!important;
  color:var(--ink)!important;
  transform:translateY(-2px)
}

.square-hubspot-form .legal-consent-container,
.square-hubspot-form .hs-richtext,
.square-hubspot-form .hs-dependent-field,
.square-hubspot-form .hs-field-desc {
  font-family:Moanslight,sans-serif!important;
  color:var(--ink)!important
}

.square-hubspot-form--brochure .hs-form,
.square-hubspot-form--brochure form {
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  gap:0!important
}

.square-hubspot-form--brochure fieldset,
.square-hubspot-form--brochure .form-columns-1,
.square-hubspot-form--brochure .form-columns-2,
.square-hubspot-form--brochure .form-columns-3 {
  display:block!important
}

.square-hubspot-form--brochure .hs-form-field {
  min-height:82px!important;
  border-bottom:1px solid #cfcfcf!important;
  background:transparent!important;
  padding:0!important
}

.square-hubspot-form--brochure .hs-form-field > label {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important
}

.square-hubspot-form--brochure .hs-input,
.square-hubspot-form--brochure input[type="text"],
.square-hubspot-form--brochure input[type="email"],
.square-hubspot-form--brochure input[type="tel"],
.square-hubspot-form--brochure input[type="number"],
.square-hubspot-form--brochure select {
  min-height:58px!important;
  padding:13px 0 0!important;
  font-size:18px!important;
  line-height:22px!important;
  font-weight:400!important;
  letter-spacing:0!important
}

.square-hubspot-form--brochure textarea {
  min-height:100px!important;
  padding:13px 0 0!important;
  font-size:18px!important;
  line-height:22px!important;
  resize:vertical!important
}

.square-hubspot-form--brochure .hs-submit,
.square-hubspot-form--brochure .actions {
  margin-top:auto!important;
  padding-top:20px!important
}

.square-hubspot-form--brochure .hs-button,
.square-hubspot-form--brochure input[type="submit"] {
  min-width:200px!important;
  min-height:100px!important;
  padding:22px 24px!important;
  font-size:18px!important;
  font-weight:600!important;
  letter-spacing:2px!important;
  line-height:18px!important
}

.brochure-legal-mobile {
  display:none
}

.brochure-confirmation {
  display:none
}

.brochure-popup__panel.is-complete .brochure-popup__copy,
.brochure-popup__panel.is-complete .brochure-form {
  display:none
}

.brochure-popup__panel.is-complete .brochure-confirmation {
  display:flex;
  min-height:100%;
  flex-direction:column;
  justify-content:space-between;
  padding-right:72px
}

.brochure-confirmation h2 {
  max-width:560px
}

.brochure-confirmation p {
  margin:0;
  max-width:560px;
  font-size:30px;
  font-weight:100;
  line-height:35px;
  letter-spacing:0
}

.brochure-confirmation__link {
  width:max-content;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:16px 22px;
  text-align:center;
  text-transform:uppercase;
  text-decoration:none;
  font-size:18px;
  font-weight:600;
  line-height:26px;
  letter-spacing:1px
}

.form-card.is-success {
  background:#58b998;
  padding:14px 19px 19px
}

.form-card.is-success > :not(.form-confirmation) {
  display:none
}

.form-card.is-success .form-confirmation {
  min-height:637px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.form-card.is-success .form-confirmation h2 {
  margin:0;
  letter-spacing:0
}

.form-card.is-success .confirmation-copy {
  margin:0;
  font-weight:200;
  letter-spacing:0
}

.confirmation-button {
  width:max-content;
  min-width:260px;
  min-height:80px;
  background:#fff;
  display:grid;
  place-items:center;
  font-size:18px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:26px
}

.form-bottom {
  display:grid;
  grid-template-columns:130px 1fr;
  gap:16px;
  align-items:end;
  margin-top:20px
}

.cta {
  border:0;
  background:var(--yellow);
  min-width:260px;
  min-height:80px;
  font-weight:600;
  font-size:18px;
  line-height:26px;
  padding:22px 10px;
  cursor:pointer;
  font-family:Moanslight,Arial,Helvetica,sans-serif;
  transition:background .22s ease,color .22s ease,transform .22s cubic-bezier(.22,.61,.36,1)
}

.cta:hover,
.cta:focus-visible {
  background:var(--ink);
  color:var(--yellow);
  transform:translateY(-3px)
}

.legal {
  font-size:7px;
  line-height:1.28;
  opacity:.72
}

.legal a,
.contact-form__legal a {
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:2px
}

.manifesto {
  background:var(--yellow);
  padding:20px 20px 183px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  line-height:1.06
}

.manifesto .lead {
  font-size:clamp(18px,2.4vw,34px);
  letter-spacing:-.055em;
  font-weight:950;
  margin:0
}

.manifesto .body {
  grid-column:2/3;
  max-width:none;
  font-size:13px;
  line-height:1.22;
  font-weight:700;
  margin:0
}

.manifesto .lead strong {
  display:initial;
  margin-top:0px;
}

.manifesto strong {
  display:block;
  margin-top:22px
}

.gallery {
  background:var(--yellow);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  padding:0 20px 20px
}

.gallery img {
  aspect-ratio: 1 / 1;
  width:100%;
  object-fit:cover
}

.numbers {
  --stats-scale:1;
  width:100%;
  max-width:1920px;
  margin:0 auto;
  padding:20px;
  display:flex;
  gap:20px;
  align-items:flex-start;
  justify-content:flex-end
}

.stat-column {
  display:flex;
  flex-direction:column;
  gap:20px
}

.stat {
  background:var(--cream);
  padding:18px;
  text-align:right;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  aspect-ratio:1/1
}

.stat b {
  color:var(--mint);
  font-size:clamp(42px,7vw,82px);
  letter-spacing:-.07em;
  line-height:.8
}

.stat b.is-counting {
  font-variant-numeric:tabular-nums
}

.stat span {
  font-size:16px
}

.stat small {
  font-size:12px
}

.s1 {
  width:425px;
  height:425px
}

.s2 {
  width:596px;
  height:596px
}

.s3 {
  width:457px;
  height:457px
}

.s4 {
  width:334px;
  height:334px;
  align-self:flex-end
}

.s5 {
  width:334px;
  height:334px
}

.value {
  padding:0 22px 22px 22px
}

.value h2 {
  font-size:clamp(50px,7vw,94px);
  line-height:.86;
  letter-spacing:-.08em;
  margin:0;
  font-weight:950
}

.value-icon {
  width:.9em;
  height:.9em;
  display:inline-block;
  vertical-align:-.14em;
  margin-right:.08em;
  letter-spacing:0
}

.map {
  position:relative
}

.map img {
  width:100%;
  height:560px;
  object-fit:cover;
  filter:saturate(.65) brightness(.72)
}

.map .logo {
  position:absolute;
  left:50%;
  top:55%;
  transform:translate(-50%,-50%)
}

.home-map {
  position:relative;
  width:100%;
  height:930px;
  overflow:hidden;
  background:#24201f
}

.square-map-icon-wrap {
  position:relative;
  display:block;
  width:100%
}

.home-map picture,
.localisation-city-map picture {
  display:block;
  width:100%;
  height:100%
}

.home-map img,
.localisation-city-map img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}

.square-map-copy {
  position:absolute;
  left:20px;
  top:20px;
  z-index:1;
  width:min(520px,calc(100% - 40px));
  color:#fff;
  pointer-events:none
}

.square-map-copy p {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:400
}

.square-map-copy__mobile {
  display:none
}

.square-map-legend {
  list-style:none;
  margin:32px 0 0;
  padding:0;
  display:grid;
  gap:0
}

.square-map-legend__item {
  display:flex;
  align-items:center;
  gap:0;
  width:254px;
  margin:0;
  padding:10px 14px;
  color:#282424;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:400;
  text-transform:initial
}

.square-map-legend__item--college {
  background:#FABF74
}

.square-map-legend__item--university {
  background:#A2D8EF
}

.square-map-legend__item--arts {
  background:#58b998
}

.square-map-mobile-icon {
  display:none
}

.square-map-zoom {
  display:none
}

.footer {
  background:#A2D8EF;
  padding:100px var(--pad) 0;
  min-height:880px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between
}

.study {
  position:relative;
  width:100%;
  max-width:1164px
}

.study img {
  width:100%;
  height:810px;
  object-fit:cover;
  filter:saturate(.55) opacity(.55)
}

.study h2 {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--yellow);
  font-size:clamp(46px,7.4vw,92px);
  line-height:.9;
  letter-spacing:-.07em;
  margin:0;
  font-weight:950
}

.footer-line {
  display:block
}

.footer-line.no-wrap {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap
}

.footer-icon {
  width:.9em;
  height:.84em;
  display:inline-block;
  flex:0 0 auto;
  margin:0 .08em;
  letter-spacing:0
}

.footer-meta {
  width:100%;
  max-width:1164px;
  padding:150px 0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  align-items:center;
  font-size:10px;
  font-weight:700
}

.footer-meta div:nth-child(2) {
  text-align:right
}

.partner-logos {
  display:flex;
  gap:80px;
  align-items:center;
  margin-top:24px
}

.footer-meta div:nth-child(2) .partner-logos {
  justify-content:flex-end
}

.partner-logo-link {
  display:block;
  width:max-content;
  line-height:0
}

.partner-logo-link .partner-logo {
  display:block;
  pointer-events:none
}
a:hover .partner-logo {
  transform:scale(1.1);
}
.partner-logo {
  height:62px;
  width:auto;
  display:block;
  fill:#282424;
  color:#282424;
  transition:all .3s ease;
}

.brand-end {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-items:center;
  width:100%;
  max-width:1164px;
  font-size:10px;
  font-weight:700
}

.brand-end .logo {
  justify-self:center;
  --square-logo-rect-fill:#FABF74
}

.footer-link {
  justify-self:end;
  display:block;
  width:13.252px;
  height:17px;
  color:var(--ink)
}

.footer-link svg {
  display:block;
  width:13.252px;
  height:17px;
  fill:currentColor
}

.site-footer {
  background:var(--mint);
  padding:20px 30px 26px;
  color:var(--ink)
}

.footer-cta {
  width:min(1640px,100%);
  margin:0 auto 99px;
  display:grid;
  grid-template-columns:minmax(280px,607px) 1fr;
  background:rgb(250,191,116);
  height:355px
}

.footer-cta__panel {
  padding:19px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.footer-cta__panel h2 {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:600
}

.footer-cta__panel p {
  margin:0px;
  max-width:480px;
  font-size:18px;
  line-height:28px;
  letter-spacing:1px;
  font-weight:200
}

.footer-cta__copy-desktop {
  display:inline
}

.footer-cta__copy-mobile {
  display:none
}

.footer-cta__panel a {
  width:max-content;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:rgb(255,255,255);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:18px 40px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  font-weight:600;
  letter-spacing:2px;
  transition:background .22s,color .22s,transform .22s;
  margin-top:44px
}

.footer-cta__link-mobile {
  display:none;
  white-space:nowrap
}

.footer-cta__panel a:hover,
.footer-cta__panel a:focus-visible {
  background:var(--ink);
  color:#fff;
  transform:translateY(-3px)
}

.footer-cta__image {
  position:relative;
  overflow:hidden;
  min-height:355px
}

.footer-cta__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.72) opacity(.4)
}

.footer-cta__image h2 {
  position:absolute;
  inset:0px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0px;
  color:rgb(255,255,255);
  text-align:center;
  font-size:68px;
  line-height:52px;
  letter-spacing:-1px;
  font-weight:500;
  white-space:nowrap
}

.footer-cta__image h2 br {
  display:none
}

.footer-cta__image h2 svg {
  display:inline-block;
  width:70.883px;
  height:65.637px;
  margin:0px;
  vertical-align:middle
}

.site-footer__meta {
  width:min(1640px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr 50%;
  gap:clamp(36px,6vw,120px);
  align-items:start
}

.site-footer__meta span {
  display:block;
  margin-bottom:40px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:200;
  letter-spacing:.5px
}

.site-footer__meta strong {
  display:block;
  font-size:18px;
  line-height:23px;
  letter-spacing:0px;
  font-weight:800
}

.site-footer__address-rest {
  margin:0;
  font-size:18px;
  line-height:23px;
  letter-spacing:0px;
  font-weight:200
}

.site-footer__meta .partner-logos {
  margin-top:0;
  gap:42px;
  flex-direction:column;
  align-items:flex-start
}

.site-footer__meta .partner-logo {
  height:clamp(34px,3.2vw,62px);
  max-width:123px
}

.site-footer__mark {
  justify-self:end;
  width:199px;
  height:199px;
  --square-logo-rect-fill:var(--blue)
}

.site-footer__mark img {
  width:100%;
  height:100%;
  display:block
}

.site-footer__bottom {
  width:min(1640px,100%);
  margin:100px auto 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  font-weight:200
}

.logos {
  display:flex;
  gap:28px;
  opacity:.85;
  align-items:center
}

.lang-current,.lang-option {
  font-size:16px;
  font-weight:400;
  letter-spacing: .04em;
}

.intro h1 {
  font-size:clamp(72px,7.3vw,140px);
  line-height:.964;
  letter-spacing:0;
  font-weight:600
}

.intro .place {
  font-size:14px;
  letter-spacing:.45em;
  font-weight:400
}

.form-card {
  width:min(670px,calc(100vw - 40px));
  min-height:670px
}

.form-card h2 {
  font-size:30px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:35px;
  margin-bottom: 0px;
}

.form-card p {
  font-size:30px;
  font-weight:300;
  letter-spacing:.02em;
  line-height:35px
}

.field {
  height:82px
}

.field input {
  font-size:18px;
  font-weight:400;
  letter-spacing:0
}

.field input::placeholder {
  font-size:15px;
  letter-spacing:0
}

.form-bottom {
  grid-template-columns:220px 300px;
  align-items:end
}

.cta {
  min-width:260px;
  min-height:80px;
  font-size:18px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:26px;
  font-family:Moanslight,Arial,Helvetica,sans-serif;
}

.form-card p.legal {
  max-width:300px;
  font-size:10px;
  font-weight:300;
  letter-spacing:.04em;
  line-height:12px;
  margin:0
}

.manifesto .lead {
  font-size:30px;
  line-height:35px;
  letter-spacing:.02em;
  font-weight:300
}

.manifesto .body {
  font-size:18px;
  line-height:28px;
  letter-spacing:.03em;
  font-weight:200
}

.manifesto strong {
  font-weight:800
}

.stat span,.stat small {
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:400
}

.stat b {
  font-size:120px;
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:600
}

.stat b small {
  font-size:inherit;
  line-height:inherit
}

.s3 b {
  font-size:120px
}

.s4 b {
  font-size:120px
}

.s4 b small, .s3 b small {
  font-size:60px
}

@media (min-width:901px) and (max-width:1800px) {
  .numbers {
    justify-content:flex-end
  }

  .stat-column {
    gap:clamp(14px, calc(0.811vw + 6.41px), 20px)
  }

  .stat {
    padding:clamp(9px, calc(1.218vw - 2.19px), 18px)
  }

  .stat span,.stat small {
    font-size:clamp(15px, calc(2.03vw - 3.65px), 30px)
  }

  .stat b {
    font-size:clamp(52px, calc(9.189vw - 36.22px), 120px)
  }

  .s1 {
    width:clamp(184px, calc(32.568vw - 128.61px), 425px);
    height:clamp(184px, calc(32.568vw - 128.61px), 425px)
  }

  .s2 {
    width:clamp(258px, calc(45.676vw - 180.48px), 596px);
    height:clamp(258px, calc(45.676vw - 180.48px), 596px)
  }

  .s3 {
    width:clamp(198px, calc(35vw - 138px), 457px);
    height:clamp(198px, calc(35vw - 138px), 457px)
  }

  .s4,.s5 {
    width:clamp(145px, calc(25.541vw - 100.18px), 334px);
    height:clamp(145px, calc(25.541vw - 100.18px), 334px)
  }

  .s4 b small,.s3 b small {
    font-size:clamp(26px, calc(4.595vw - 18.11px), 60px)
  }
}

.value h2 {
  font-size:clamp(80px,7.3vw,140px);
  line-height:.929;
  letter-spacing:-.02em;
  font-weight:600
}

.study h2 {
  font-size:clamp(80px,7.3vw,140px);
  line-height:.929;
  letter-spacing:-.02em;
  font-weight:600
}

.footer-meta,.brand-end {
  font-size:12px;
  font-weight:300;
  letter-spacing:.03em;
  line-height:16px
}

@media (max-width:900px) {
  html,
  body {
    overflow-x:hidden
  }

  .scroll-arrow {
    display:none
  }

  .site-header {
    height:70px;
    pointer-events:auto;
    opacity:1;
    animation:none;
    transform:none!important
  }

  .site-header__promo {
    display:none
  }

  .site-header__bar {
    height:70px;
    padding:0;
    gap:0;
    background:#fff;
    pointer-events:auto;
    justify-content:flex-end
  }

  .site-header__logo {
    position:absolute;
    left:0;
    top:0;
    width:70px;
    height:70px;
    opacity:1;
    pointer-events:auto
  }

  .site-header--hide-logo-top .site-header__logo {
    opacity:1;
    pointer-events:auto
  }

  .site-header__logo-img--top,
  .site-header__logo-img--sticky,
  body.is-scrolled .site-header__logo-img--top,
  body.is-scrolled .site-header__logo-img--sticky {
    opacity:0
  }

  .site-header__logo-img--mobile,
  body.is-scrolled .site-header__logo-img--mobile {
    opacity:1
  }

  body.is-scrolled .site-header {
    height:70px
  }

  body.is-scrolled .site-header__bar {
    height:70px;
    padding:0;
    background:#fff
  }

  body.is-scrolled .site-header__logo {
    position:absolute;
    left:0;
    top:0;
    width:70px;
    height:70px
  }

  .mobile-menu-toggle {
    position:fixed;
    right:19px;
    top:15px;
    z-index:102;
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border:0;
    background:transparent;
    padding:0;
    cursor:pointer;
    pointer-events:auto
  }

  .mobile-menu-toggle span {
    position:absolute;
    width:34px;
    height:5px;
    border-radius:999px;
    background:var(--ink);
    transition:transform .22s ease,opacity .18s ease
  }

  .mobile-menu-toggle span:first-child {
    transform:translateY(-10px)
  }

  .mobile-menu-toggle span:nth-child(2) {
    transform:translateY(0)
  }

  .mobile-menu-toggle span:last-child {
    transform:translateY(10px)
  }

  body.mobile-menu-open .mobile-menu-toggle span:first-child {
    transform:rotate(45deg)
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity:0;
    transform:scaleX(0)
  }

  body.mobile-menu-open .mobile-menu-toggle span:last-child {
    transform:rotate(-45deg)
  }

  .site-nav {
    position:fixed;
    inset:70px 0 0;
    z-index:100;
    width:auto;
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    padding:24px 20px 20px;
    overflow:auto;
    background:var(--cream);
    font-size:30px;
    line-height:45px;
    letter-spacing:-1px;
    font-weight:600;
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .2s ease,transform .22s ease;
    backdrop-filter:none;
    -webkit-backdrop-filter:none
  }

  body.is-scrolled .site-nav {
    position:fixed;
    inset:70px 0 0;
    gap:0
  }

  body.mobile-menu-open .site-nav {
    opacity:1;
    pointer-events:auto;
    transform:translateY(0)
  }

  .site-nav a:not(.site-nav__brochure) {
    width:100%;
    color:var(--mint)!important;
    display:grid;
    place-items:center;
    min-height:89px;
    border-top:2px solid rgba(36,36,38,.45);
    text-align:center;
    transform:none!important;
    opacity:1!important
  }

  .site-nav a:first-child {
    border-top:0
  }

  body.is-scrolled .site-nav a[aria-current="page"]::after {
    content:none
  }

  .site-nav__brochure {
    display:grid!important;
    place-items:center;
    width:100%;
    min-height:70px!important;
    margin-top:auto;
    border:0!important;
    border-radius:999px;
    background:var(--yellow);
    color:var(--ink)!important;
    text-transform:uppercase;
    font-size:16px;
    line-height:21px;
    letter-spacing:1.5px;
    font-weight:600;
    padding:0 20px
  }

  .site-nav .site-nav__brochure {
    color:var(--ink)!important
  }

  .hero-saving {
    display:none
  }

  .mobile-saving {
    display:block;
    background:var(--yellow);
    color:#000;
    padding:16px 34px 22px;
    text-align:center
  }

  .mobile-saving__main {
    width:max-content;
    max-width:100%;
    margin:0 auto;
    text-align:center;
    font-size:35px;
    font-weight:600;
    line-height:36px;
    letter-spacing:0
  }

  .mobile-saving__main strong {
    font:inherit
  }

  .mobile-saving__note {
    margin:22px auto 0;
    max-width:315px;
    font-size:20px;
    font-weight:300;
    line-height:22px;
    letter-spacing:0
  }

  .mobile-saving br {
    display:block!important
  }

  .brochure-trigger {
    left:20px;
    right:20px;
    bottom:20px;
    min-width:0;
    width:auto;
    min-height:70px;
    padding:10px 10px;
    font-size:16px;
    font-weight:600;
    line-height:20px;
    letter-spacing:1.5px;
    z-index:4
  }

  .brochure-trigger strong {
    font-weight:600
  }

  .brochure-trigger:hover,
  .brochure-trigger:focus-visible {
    transform:translateY(-3px)
  }

  .brochure-trigger span {
    margin-top:3px
  }

  .investment {
    display:flex;
    flex-direction:column;
    position:static;
    padding:30px 20px 18px;
    overflow:visible
  }

  .investment__headline {
    position:absolute;
    left:20px;
    top:90px;
    z-index:5;
    width:320px;
    max-width:calc(100vw - 40px);
    color:#fff
  }

  .investment h1 {
    font-size:45px;
    line-height:47px;
    letter-spacing:0
  }

  .investment h1 span {
    padding-left:0
  }

  .headline-icon {
    width:34px;
    height:34px;
    margin-right:4px;
    vertical-align:-.08em
  }

  .investment__jump {
    order:4;
    width:100%;
    min-width:0;
    min-height:80px;
    margin:0 0 0 auto;
    font-size:18px;
    line-height:26px;
    font-weight:500;
    letter-spacing:1px;
    padding:14px 26px
  }

  .investment__copy {
    order:1;
    max-width:324px;
    margin:0 0 20px;
    font-size:30px;
    line-height:35px;
    letter-spacing:0
  }

  .investment__copy-desktop {
    display:none
  }

  .investment__copy-mobile {
    display:inline
  }

  .investment__visual {
    order:2;
    width:100%;
    max-width:100%;
    min-height:0;
    height:auto;
    margin:0;
    aspect-ratio:1/1
  }

  .investment__grid {
    order:3;
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    margin-top:0
  }

  .investment-card {
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:320px;
    padding:20px;
    font-size:30px;
    line-height:35px;
    font-weight:400
  }

  .investment-card__desktop {
    display:none
  }

  .investment-card__mobile {
    display:inline
  }

  .investment-card--image {
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:320px;
    padding:0;
    opacity:.6!important
  }

  .shortage {
    padding:20px 20px 20px
  }

  .shortage__intro {
    display:block;
    margin-bottom:42px
  }

  .shortage h2 {
    font-size:45px;
    line-height:47px
  }

  .shortage__title-icon {
    display:inline-block;
    width:45px;
    height:45px;
    margin:0 5px 0 0;
    vertical-align:-.08em
  }

  .shortage-mobile-break {
    display:block
  }

  .shortage h2 span {
    padding-left:.14em
  }

  .shortage__intro p {
    margin:58px 0 0;
    max-width:330px;
    font-size:30px;
    line-height:35px
  }

  .shortage-copy__desktop {
    display:none
  }

  .shortage-copy__mobile {
    display:inline
  }

  .shortage-stat__desktop {
    display:none
  }

  .shortage-stat__mobile {
    display:inline
  }

  .shortage__stats {
    grid-template-columns:1fr;
    gap:20px
  }

  .shortage-stat {
    min-height:245px;
    padding:18px;
    aspect-ratio:1
  }

  .shortage-stat__source {
    top:16px;
    right:16px;
    font-size:15px
  }

  .shortage-stat__icon {
    transform:scale(.68);
    transform-origin:left top;
    left:16px;
    top:42px
  }

  .shortage-stat strong {
    font-size:65px;
    line-height:1
  }

  .shortage-stat p {
    font-size:30px
  }

  .home-offers {
    padding:20px
  }

  .home-offers__intro {
    display:block;
    margin-bottom:20px
  }

  .home-offers__intro h2 {
    font-size:45px;
    line-height:47px;
    letter-spacing:0;
    text-align:left
  }

  .home-offers__title-line {
    display:inline;
    white-space:normal
  }

  .home-offers-mobile-break {
    display:block
  }

  .home-offers-copy__desktop {
    display:none
  }

  .home-offers-copy__mobile {
    display:inline
  }

  .home-offers__title-icon {
    width:34px;
    height:34px;
    vertical-align:-.08em
  }

  .home-offers__intro p {
    margin:28px 0 0;
    max-width:340px;
    font-size:30px;
    line-height:35px;
    text-align:left;
    letter-spacing:1px
  }

  .home-offers__grid {
    grid-template-columns:1fr;
    gap:20px
  }

  .home-offer,
  .home-offer--corner {
    grid-template-columns:1fr;
    min-height:0
  }

  .home-offer__image {
    order:2;
    aspect-ratio:1/1
  }

  .home-offer__panel,
  .home-offer--corner .home-offer__panel {
    order:1;
    min-height:258px;
    aspect-ratio:1/1;
    padding:24px 20px 22px
  }

  .home-offer h3 {
    font-size:75px
  }

  .home-offer h3 span,
  .home-offer__label {
    font-size:18px;
    line-height:18px;
    margin-bottom:10px
  }

  .home-offer__size {
    font-size:60px
  }

  .home-offer__label {
    margin:0!important
  }

  .home-offers__cta,
  .home-experience__cta {
    min-width:0;
    width:100%;
    min-height:80px;
    margin-top:20px;
    font-size:18px;
    line-height:26px;
    font-weight:600;
    padding:14px 26px
  }

  .home-experience {
    padding:0 20px 20px;
    background-size:247px 247px
  }

  .home-experience h2 {
    padding-bottom:38px;
    font-size:45px;
    line-height:47px;
    letter-spacing:0
  }

  .home-experience-mobile-break {
    display:block
  }

  .home-experience-desktop-head,
  .home-experience-desktop-word,
  .home-experience-desktop-tail {
    display:none
  }

  .home-experience-mobile-head,
  .home-experience-mobile-word,
  .home-experience-mobile-tail {
    display:inline
  }

  .home-experience__title-icon {
    width:34px;
    height:34px
  }

  .home-experience__grid {
    grid-template-columns:1fr;
    gap:20px
  }

  .home-experience-card {
    min-height:0;
    aspect-ratio:1/1
  }

  .home-experience-card h3 {
    left:16px;
    top:18px;
    max-width:calc(100% - 32px);
    font-size:30px;
    font-weight:600
  }

  .home-experience__action {
    min-height:0;
    padding-top:0
  }

  .home-experience__cta {
    margin-top:0;
    margin-left:auto
  }

  .home-map {
    overflow:hidden
  }

  .site-footer {
    padding:20px 30px 26px
  }

  .footer-cta {
    display:block;
    margin-bottom:88px;
    height:auto
  }

  .footer-cta__panel {
    min-height:initial;
    padding:20px
  }

  .footer-cta__panel h2 {
    margin:0 0 20px 0;
    font-size:30px;
    line-height:35px;
    letter-spacing:1px;
    font-weight:600
  }

  .footer-cta__panel a {
    min-width:0;
    width:100%;
    margin:20px 0 0 0;
    text-align:center
  }

  .footer-cta__copy-desktop {
    display:none
  }

  .footer-cta__copy-mobile {
    display:inline
  }

  .footer-cta__link-desktop {
    display:none
  }

  .footer-cta__link-mobile {
    display:inline
  }

  .footer-cta__image {
    min-height:410px;
    display:flex;
    justify-content:center;
    align-items:center
  }

  .footer-cta__image img {
    position:absolute;
    inset:0;
    height:100%
  }

  .footer-cta__image h2 {
    position:relative;
    inset:0px;
    display:block;
    align-items:initial;
    justify-content:initial;
    margin:0px;
    color:rgb(255,255,255);
    text-align:center;
    font-size:55px;
    line-height:50px;
    letter-spacing:-1px;
    font-weight:500;
    white-space:nowrap
  }

  .footer-cta__image h2 br {
    display:block
  }

  .footer-cta__image h2 svg {
    display:block;
    width:55px;
    height:auto;
    margin:0 auto;
    vertical-align:initial
  }

  .site-footer__meta {
    grid-template-columns:1fr;
    gap:80px;
    justify-items:center;
    text-align:center
  }

  .site-footer__meta .partner-logos {
    justify-content:center
  }

  .site-footer__meta span {
    margin-bottom:16px
  }

  .site-footer__mark {
    justify-self:center;
    width:128px;
    height:128px
  }

  .site-footer__bottom {
    width:min(1640px,100%);
    margin:100px auto 0;
    display:grid;
    grid-template-columns:1fr;
    text-align:center;
    font-size:12px;
    font-weight:200;
    gap:20px
  }

  .brochure-popup__panel {
    width:min(670px,calc(100vw - 40px));
    height:min(670px,calc(100vh - 40px));
    padding:18px
  }

  .brochure-popup__copy {
    padding:0 72px 24px 0
  }

  .brochure-popup__copy p:last-child {
    max-width:none;
    font-size:26px;
    line-height:28px
  }

  .square-hubspot-form--brochure .hs-form-field {
    min-height:58px!important;
    border-bottom:0!important;
    margin-bottom:10px!important
  }

  .square-hubspot-form--brochure .hs-form,
  .square-hubspot-form--brochure form {
    gap:0!important
  }

  .square-hubspot-form--brochure input[type="text"],
  .square-hubspot-form--brochure input[type="email"],
  .square-hubspot-form--brochure input[type="tel"],
  .square-hubspot-form--brochure input[type="number"],
  .square-hubspot-form--brochure .hs-input,
  .square-hubspot-form--brochure select {
    min-height:48px!important;
    padding:10px!important;
    background:#fff!important;
    font-size:16px!important
  }

  .square-hubspot-form--brochure .hs-submit {
    padding-top:14px!important
  }

  .square-hubspot-form--brochure .hs-button {
    width:100%!important;
    min-height:70px!important;
    font-size:16px!important;
    line-height:20px!important
  }

  .lang-switch {
    position:fixed;
    right:70px;
    top:5px;
    z-index:4;
    display:flex;
    transform:none!important;
    animation:none
  }

  body.is-scrolled .lang-switch {
    position:fixed;
    right:70px;
    top:5px
  }

  body.mobile-menu-open .lang-switch {
    opacity:0;
    pointer-events:none
  }

  .lang-current {
    background:var(--cream);
    color:var(--ink);
    font-size:14px;
    display:grid;
    place-items:center;
    padding:0
  }

  .lang-current:before {
    content:none
  }

  .lang-options {
    position:absolute;
    right:100%;
    top:0;
    z-index:5;
    width:auto;
    height:60px;
    max-width:0;
    padding:0;
    display:flex;
    flex-direction:row;
    overflow:hidden;
    opacity:0;
    pointer-events:auto;
    transform:translateX(12px);
    transition:max-width .28s ease,opacity .22s ease,transform .28s ease
  }

  .lang-switch:hover .lang-options,.lang-switch:focus-within .lang-options {
    max-width:120px;
    opacity:1;
    transform:translateX(0)
  }

  .lang-switch.is-open .lang-options {
    max-width:120px;
    opacity:1;
    pointer-events:auto;
    transform:translateX(0)
  }

  .lang-switch.is-open .lang-current {
    z-index:41;
    color:var(--ink);
    font-size:14px
  }

  .lang-switch.is-open .lang-current:before {
    opacity:0
  }

  .lang-option {
    display:grid;
    width:60px;
    height:60px;
    place-items:center;
    padding:0;
    background:var(--cream);
    border:0;
    color:var(--ink);
    font-size:14px;
    font-weight:300;
    letter-spacing:1px;
    text-transform:uppercase;
    text-align:center
  }

  .lang-option.is-active {
    display:none
  }

  .lang-option[data-lang="fr"] {
    order:1;
    font-size:14px
  }

  .lang-option[data-lang="fr"]:before {
    content:none
  }

  .lang-option[data-lang="nl"] {
    order:3;
    border-bottom:0;
    font-size:14px
  }

  .lang-option[data-lang="nl"]:before {
    content:none
  }

  .lang-option[data-lang="en"] {
    order:2;
    font-size:14px
  }

  .lang-option[data-lang="en"]:before {
    content:none
  }

  .mobile-lang-panel {
    display:none;
    order:4;
    flex-direction:column;
    align-items:center;
    margin-top:77px;
    color:var(--ink)
  }

  .mobile-lang-full-logo {
    width:100%;
    display:block;
    height:auto
  }

  .mobile-lang-copyline {
    margin-top:47px;
    font-size:12px;
    font-weight:300;
    line-height:1
  }

  .mobile-lang-mark {
    margin-top:29px;
    width:13.252px;
    height:17px;
    fill:var(--ink)
  }

  main {
    display:flex;
    flex-direction:column
  }

  .intro-visual {
    width:min(72vw,560px)
  }

  .manifesto {
    display:contents
  }

  .manifesto .lead {
    order:1;
    background:var(--yellow);
    padding:20px 20px 39px 20px
  }

  .manifesto .body {
    order:3;
    grid-column:auto;
    background:var(--yellow);
    padding:20px
  }

  .gallery {
    order:2;
    grid-template-columns:1fr
  }

  .gallery img {
    height:320px
  }

  .value {
    order:4
  }

  .numbers {
    order:5;
    display:grid;
    grid-template-columns:1fr 1fr
  }

  .stat-column {
    display:contents
  }

  .stat {
    width:100%!important;
    height:auto!important
  }

  .map {
    order:6
  }

  .footer {
    order:7
  }

  .map img {
    height:410px
  }

  .footer {
    min-height:680px;
    padding-top:70px
  }

  .footer-meta {
    grid-template-columns:1fr;
    text-align:center
  }

  .footer-meta div:nth-child(2) {
    text-align:center
  }

  .brand-end {
    grid-template-columns:1fr;
    gap:28px;
    text-align:center
  }

  .footer-link {
    justify-self:center
  }

}

@media (max-width:560px) {
  .brochure-popup {
    padding:12px
  }

  .brochure-popup__panel {
    width:100%;
    height:calc(100vh - 24px);
    height:100vh;
    padding:20px;
    background-color:#F5EFDF
  }

  .field {
    display:block;
    height:38px;
    border-bottom:0px;
    color:#b6b6b6;
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:0px;
    margin-bottom:10px
  }

  .brochure-form .field {
    height:60px
  }

  .brochure-form .field input {
    padding:10px;
    font-size:15px;
    font-weight:400;
    letter-spacing:0;
    background:#fff
  }

  .brochure-popup h2 {
    font-size:30px;
    line-height:35px;
    letter-spacing:0;
    max-width:260px;
    padding-top:35px
  }

  .brochure-popup__copy {
    padding:0 30px 20px 0
  }

  .brochure-popup__copy p:last-child,
  .brochure-confirmation p {
    font-size:30px;
    line-height:35px;
    max-width:260px
  }

  .brochure-popup__close {
    right:16px;
    top:16px
  }

  .brochure-form__bottom {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    align-items:end;
    margin-top:auto;
    padding-top:10px
  }

  .brochure-form__bottom .cta {
    min-width:200px;
    min-height:80px;
    font-size:18px;
    border-radius:40px;
    font-weight:600;
    letter-spacing:2px;
    line-height:26px;
    padding:22px 10px
  }

  .brochure-form__bottom .cta br {
    display:none
  }

  .brochure-form__bottom .legal {
    font-size:10px;
    line-height:12px;
    letter-spacing:.04em;
    max-width:initial;
    text-align:left
  }

  .brochure-legal-desktop {
    display:none
  }

  .brochure-legal-mobile {
    display:inline
  }

  .brochure-form__bottom .legal br {
    display:block!important
  }

  .brochure-popup__panel.is-complete .brochure-confirmation {
    padding-right:0
  }

  .brochure-confirmation__link {
    margin:0 auto
  }

  .logo {
    width:160px;
    height:160.184px
  }

  .logo.small {
    width:78px;
    height:78.09px
  }

  .hero {
    height:100vh;
    height:100svh;
    min-height:100vh;
    min-height:100svh
  }

  .hero-video {
    object-position:40% top
  }

  .hero .logo {
    display:none
  }

  .intro {
    padding:20px 20px 20px;
    display:flex;
    flex-direction:column;
    align-items:stretch
  }

  .intro-copy {
    position:relative;
    top:auto;
    left:auto;
    display:flex;
    flex-direction:column;
    z-index:2
  }

  .intro-copy .place {
    order:-1;
    margin-bottom:18px
  }

  .intro h1 {
    font-size:55px
  }

  .intro-visual {
    width:calc(100vw - 40px);
    margin:-96px auto 0;
    z-index:1
  }

  .form-card {
    position:relative;
    right:auto;
    bottom:auto;
    width:calc(100vw - 40px);
    margin:0 auto
  }

  .form-bottom {
    grid-template-columns:1fr
  }

  .numbers {
    grid-template-columns:1fr
  }

  .stat {
    text-align:right
  }

  .gallery {
    padding-left:20px;
    padding-right:20px
  }

  .value {
    padding-top:20px
  }

  .value h2 {
    font-size:48px
  }

  .map img {
    height:330px
  }

  .footer {
    padding:0 0 30px
  }

  .study {
    width:100%;
    max-width:none
  }

  .study img {
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover
  }

  .study h2 {
    font-size:42px
  }

  .footer-meta {
    padding:57px 20px;
    gap:57px
  }
  .partner-logos {
    gap: 30px;
  }
  .partner-logos,.footer-meta div:nth-child(2) .partner-logos {
    flex-direction:column;
    justify-content:center;
    align-items:center
  }

  .partner-logo.eaglestone-logo {
    height:67px
  }

  .partner-logo.forest-logo {
    height:57px
  }

  .value-icon {
    vertical-align: -.06em;
  }

  .partner-logo.odalys-logo {
    height:60px
  }

  .brand-end .logo {
    order:1;
    margin-bottom:50px
  }

  .brand-end>div:first-child {
    order:2
  }

  .brand-end .footer-link {
    order:3
  }

}

@media (min-width:560px) {
  .footer-link, .copyright {
      margin-top: 0;
  }
}

@media (max-width:560px) {
  .field-row {
    flex-direction:column;
    gap:0
  }

  .lang-current {
    font-size:16px;
    font-weight:400
  }

  .intro h1 {
    font-size:45px;
    line-height:47px;
    letter-spacing:0;
    font-weight:600
  }

  .intro .place {
    font-size:12px;
    letter-spacing:.35em;
    font-weight:400
  }

  .form-card {
    width:100%;
    min-height:701px
  }

  .form-card.is-success {
    padding:14px 19px 19px
  }

  html[lang="fr"] .form-card.is-success,
  html[lang="nl"] .form-card.is-success {
    min-height:735px
  }

  .form-card.is-success .confirmation-copy br {
    display:inline!important
  }

  .form-card.is-success .confirmation-button {
    position:absolute;
    left:19px;
    top:501px;
    width:min(286px,calc(100% - 38px))
  }

  html[lang="fr"] .form-card.is-success .confirmation-button,
  html[lang="nl"] .form-card.is-success .confirmation-button {
    top:535px
  }

  .form-card h2 {
    font-size:30px;
    line-height:35px;
    font-weight:500;
    letter-spacing:.01em
  }

  .form-card.is-success .form-confirmation h2 {
    font-weight:600;
    letter-spacing:0
  }

  .form-card p {
    font-size:30px;
    line-height:35px;
    font-weight:200;
    letter-spacing:.01em
  }

  .field {
    height:72px
  }

  .field input,.field input::placeholder {
    font-size:15px;
    letter-spacing:0
  }

  .form-bottom {
    grid-template-columns:1fr
  }

  .cta {
    min-width:260px;
    min-height:80px;
    font-size:18px;
    line-height:26px;
    font-weight:600;
    letter-spacing:.02em;
    color:#000;
  }

  .form-card p.legal {
    font-size:10px;
    line-height:12px;
    letter-spacing:.04em;
    text-align:center;
  }

  .manifesto .lead {
    font-size:30px;
    line-height:35px;
    letter-spacing:.02em;
    font-weight:300
  }
  p br {
    display: none!important;
  } 
  .manifesto .body {
    font-size:18px;
    line-height:28px;
    letter-spacing:.03em;
    font-weight:200
  }

  .value h2 {
    font-size:45px;
    line-height:47px;
    letter-spacing:0;
    font-weight:600
  }

  .stat span,.stat small {
    font-size:30px;
    line-height:35px;
    letter-spacing:-.02em
  }

  .stat b {
    font-size:65px;
    line-height:1.08;
    letter-spacing:-.02em;
    font-weight:600
  }

  .s3 b small,.s4 b small {
    font-size:35px
  }

  .s3 b,.s4 b {
    font-size:65px
  }

  .study h2 {
    font-size:45px;
    line-height:47px;
    letter-spacing:-.02em;
    font-weight:600
  }

  .footer-meta,.brand-end {
    font-size:12px;
    font-weight:300;
    letter-spacing:.03em;
    line-height:16px
  }

}

@media (prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation-duration:.001ms!important;
    animation-delay:0ms!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important
  }

  .reveal {
    opacity:1!important;
    transform:none!important
  }

}

@media (max-width:560px) {
  .manifesto .lead strong {
    display:block
  }

  .manifesto .body strong {
    font-size:22px;
    line-height:28px;
    letter-spacing:.02em
  }

  .manifesto p.body strong br {
    display:block!important
  }
}

.invest-page {
  background:#f5efdf;
  color:var(--ink);
  overflow:hidden
}

.invest-page img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}

.invest-hero {
  position:relative;
  min-height:720px;
  display:grid;
  align-items:center;
  overflow:hidden
}

.invest-hero > img {
  position:absolute;
  inset:0;
  z-index:0;
  filter:saturate(.9)
}

.invest-hero:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(90deg,rgba(250,191,116,1) 10%,rgba(250,191,116,.7) 34%,rgba(250,191,116,0) 72%);
  mix-blend-mode:multiply
}

.invest-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.4) 10%,rgba(0,0,0,0) 42%);
  mix-blend-mode:multiply
}

.invest-hero__copy {
  position:relative;
  z-index:3;
  width:min(1680px,100%);
  margin:0 auto;
  padding:120px 20px 68px
}

.invest-hero h1,
.invest-advantages__intro h2,
.invest-shortage h2,
.invest-shortage__numbers h3,
.invest-odalys h2,
.invest-parental h2 {
  margin:0;
  font-size:75px;
  line-height:75px;
  letter-spacing:0;
  font-weight:600
}

.invest-hero h1 {
  max-width:1600px;
  font-size:55px;
  line-height:60px;
  letter-spacing:1px;
  text-align:center;
  color:#fff
}

.sqw-copy--desktop {
  display:block
}

.sqw-copy--mobile {
  display:none
}

.invest-hero__br--mobile,
.offres-hero__br--mobile,
.square-project-hero__br--mobile,
.localisation-hero__br--mobile,
.acteurs-hero__br--mobile,
.contact-hero__br--mobile {
  display:none
}

.invest-saving {
  background:#F2E519;
  color:var(--ink);
  padding:16px 20px
}

.invest-saving p {
  width:min(1680px,100%);
  margin:0 auto;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.invest-saving strong {
  font-weight:600
}

.invest-saving br {
  display:none
}

.invest-advantages {
  background:#F5EFDF;
  padding:20px
}

.invest-advantages__intro {
  width:min(1880px,100%);
  margin:0 auto 100px;
  display:grid;
  grid-template-columns:1fr 1.95fr;
  gap:20px;
  align-items:start
}

.invest-advantages__intro h2 {
  margin:0;
  max-width:620px;
  color:var(--ink);
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:600
}

.invest-advantages__intro p,
.invest-advantage p,
.invest-shortage__copy p,
.invest-odalys__headline p,
.invest-odalys__text p,
.invest-parental p {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.invest-advantages__intro p {
  max-width:900px;
  font-size:18px;
  line-height:28px
}

.invest-advantage p {
  font-size:18px;
  line-height:28px
}

.invest-advantage__mobile {
  display:none
}

.invest-advantages-copy__desktop {
  display:inline
}

.invest-advantages-copy__mobile {
  display:none
}

.invest-shortage-copy__desktop {
  display:inline
}

.invest-shortage-copy__mobile {
  display:none
}

.invest-advantages__grid {
  width:min(1880px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}

.invest-advantage {
  min-height:398px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:20px;
  background:var(--orange)
}

.invest-advantage h3 {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:400
}

.invest-advantage h3 span {
  display:block;
  margin-bottom:0;
  font-size:20px;
  line-height:35px;
  letter-spacing:0;
  font-weight:400
}

.invest-shortage {
  background:var(--mint);
  padding:20px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:auto auto auto;
  gap:20px;
  color:#fff
}

.invest-shortage__copy {
  grid-column:1/3;
  grid-row:1/2;
  align-self:start;
  max-width:500px
}

.invest-shortage__copy h2 {
  max-width:500px;
  color:#fff;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:600
}

.invest-shortage__copy p {
  max-width:500px;
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.invest-shortage__image {
  grid-column:3/5;
  grid-row:1/3;
  aspect-ratio:1/1;
  margin:0;
  min-height:0;
  overflow:hidden
}

.invest-shortage__image img {
  opacity:.48;
  filter:saturate(.75)
}

.invest-shortage__numbers {
  display:contents
}

.invest-shortage__numbers h3 {
  grid-column:1/2;
  grid-row:2/3;
  aspect-ratio:1/1;
  align-self:end;
  width:100%;
  margin:0;
  border:1px solid rgba(255,255,255,.75);
  padding:14px;
  color:#fff;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:200
}

.invest-shortage__numbers dl {
  margin:0;
  display:contents
}

.invest-shortage__numbers .invest-number--main {
  grid-column:2/3;
  grid-row:2/3;
  align-self:end;
  width:100%
}

.invest-shortage__numbers dl > div:not(.invest-shortage__image) {
  position:relative;
  aspect-ratio:1/1;
  min-height:0;
  background:#fff;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-end;
  padding:20px 20px 28px;
  text-align:right
}

.invest-shortage__numbers dl > div:nth-child(2) {
  grid-column:1/2;
  grid-row:3/4
}

.invest-shortage__numbers dl > div:nth-child(4) {
  grid-column:2/3;
  grid-row:3/4
}

.invest-shortage__numbers dl > div:nth-child(5) {
  grid-column:3/4;
  grid-row:3/4
}

.invest-shortage__numbers dt {
  color:var(--mint);
  font-size:120px;
  line-height:130px;
  letter-spacing:-2px;
  font-weight:600
}

.invest-shortage__numbers dd {
  margin:0;
  width:100%;
  max-width:280px;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:300
}

.invest-shortage__numbers small {
  position:absolute;
  top:22px;
  right:24px;
  display:block;
  margin:0;
  font-size:15px;
  line-height:20px;
  letter-spacing:0;
  font-weight:200
}

.invest-wide-image {
  margin:0;
  height:750px;
  overflow:hidden
}

.invest-odalys {
  --invest-odalys-blue:#64c1c7;
  background-color:var(--cream);
  color:var(--invest-odalys-blue);
  padding:192px 20px 150px;
  background-image:
    linear-gradient(rgba(149,196,219,.28) 1px,transparent 1px),
    linear-gradient(90deg,rgba(149,196,219,.28) 1px,transparent 1px);
  background-size:247px 247px;
  background-position:center top
}

.invest-odalys__headline {
  width:min(1200px,100%);
  margin:0 auto 140px;
  text-align:center
}

.invest-odalys h2 {
  color:var(--invest-odalys-blue);
  font-size:75px;
  line-height:75px;
  letter-spacing:0;
  font-weight:600
}

.invest-odalys__headline p {
  margin:36px auto 0;
  max-width:100%;
  color:var(--invest-odalys-blue);
  font-size:30px;
  line-height:32px;
  letter-spacing:1px;
  font-weight:200
}

.invest-odalys__title-icon {
  display:inline-block;
  width:75px;
  height:75px;
  margin:0;
  vertical-align:-.12em
}

.invest-odalys-title__mobile-break {
  display:none
}

.invest-odalys-title__desktop {
  display:inline
}

.invest-odalys-title__mobile {
  display:none
}

.invest-odalys-title__desktop-space {
  display:inline
}

.invest-odalys-copy__mobile {
  display:none
}

.invest-odalys-text__mobile {
  display:none
}

.invest-odalys-card-title__mobile {
  display:none
}

.invest-odalys__grid {
  width:min(1238px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  align-items:start
}

.invest-odalys__text,
.invest-odalys-card {
  aspect-ratio:1/1;
  min-height:0;
  background:#fff;
  color:var(--invest-odalys-blue);
  padding:20px
}

.invest-odalys__text {
  background:var(--invest-odalys-blue);
  color:#fff
}

.invest-odalys-card {
  position:relative;
  overflow:hidden;
  display:flex
}

.invest-odalys-card--image {
  padding:0
}

.invest-odalys-card--image img {
  width:100%;
  height:100%;
  object-fit:cover
}

.invest-odalys-card h3,
.invest-odalys__text p {
  max-width:330px;
  margin:0;
  color:inherit;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:300
}

.invest-odalys__text p strong {
  font-weight:600
}

.invest-odalys-card--text {
  padding:20px;
  background:#fff
}

.invest-odalys-card--logo {
  background:#ef5838;
  align-items:center;
  justify-content:center
}

.invest-odalys-card--logo img {
  width:185px;
  height:auto;
  object-fit:contain;
  filter:brightness(0) invert(1)
}

.invest-odalys-card--blank {
  background:var(--invest-odalys-blue)
}

.invest-odalys__cta,
.invest-parental__cta {
  min-width:260px;
  min-height:80px;
  width:max-content;
  border-radius:999px;
  background:var(--orange);
  color:var(--ink);
  display:grid;
  place-items:center;
  margin:100px auto 0;
  padding:18px 36px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  letter-spacing:2px;
  font-weight:600;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.invest-odalys__cta {
  background:#ef5838;
  color:#fff
}

.invest-odalys__cta:hover,
.invest-odalys__cta:focus-visible {
  background:#fff;
  color:var(--ink);
  transform:translateY(-3px)
}

.invest-parental__cta:hover,
.invest-parental__cta:focus-visible {
  background:#fff;
  color:#64c1c7;
  transform:translateY(-3px)
}

.invest-parental {
  position:relative;
  background:var(--yellow);
  color:var(--ink);
  padding:20px;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:20px
}

.invest-parental__copy,
.invest-parental__text {
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.invest-parental__copy p {
  margin:0;
  max-width:500px;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:200
}

.invest-parental__text p {
  margin:0;
  max-width:800px;
  font-size:18px;
  line-height:28px;
  letter-spacing:1px;
  font-weight:200
}

.invest-parental__copy strong {
  font-weight:600
}

.invest-parental-copy__mobile {
  display:none
}

.invest-parental-title__desktop {
  display:inline
}

.invest-parental-title__mobile {
  display:none
}

.invest-parental__cta {
  position:absolute;
  top:20px;
  right:20px;
  margin:0;
  background:#64c1c7;
  color:#fff
}

.invest-parental__text h2 {
  max-width:560px;
  margin:10px 0 0;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:600
}

.invest-parental__gallery {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  padding-top:104px
}

.invest-parental__gallery img {
  aspect-ratio:1/1;
  height:auto
}

@media (min-width:901px) and (max-width:1700px) {
  .square-content-page--investment .invest-shortage__numbers dt {
    font-size:98px;
    line-height:106px;
    letter-spacing:-1px
  }
}

@media (max-width:900px) {
  .invest-hero {
    min-height:580px
  }

  .invest-hero__copy {
    padding:130px 14px 40px
  }

  .invest-hero h1,
  .invest-advantages__intro h2,
  .invest-shortage h2,
  .invest-odalys h2,
  .invest-parental h2 {
    font-size:52px;
    line-height:54px
  }

  .invest-saving,
  .invest-advantages,
  .invest-shortage,
  .invest-odalys,
  .invest-parental {
    padding-left:14px;
    padding-right:14px
  }

  .invest-saving p,
  .invest-advantages__intro p,
  .invest-advantage p,
  .invest-shortage__copy p,
  .invest-odalys__headline p,
  .invest-odalys__text p,
  .invest-parental p {
    font-size:22px;
    line-height:27px
  }

  .invest-advantages__intro,
  .invest-shortage,
  .invest-odalys__grid,
  .invest-parental,
  .invest-parental__gallery {
    grid-template-columns:1fr
  }

  .invest-advantages__grid {
    grid-template-columns:1fr;
    gap:10px
  }

  .invest-advantage,
  .invest-odalys__text,
  .invest-odalys-card,
  .invest-parental__copy,
  .invest-parental__text {
    min-height:300px
  }

  .invest-shortage__image,
  .invest-shortage__numbers {
    grid-column:auto;
    grid-row:auto;
    min-height:0
  }

  .invest-shortage__image {
    aspect-ratio:1/1
  }

  .invest-shortage__numbers dl,
  .invest-shortage__numbers .invest-number--main {
    grid-template-columns:1fr
  }

  .invest-shortage__numbers h3 {
    font-size:42px;
    line-height:44px;
    margin-bottom:34px
  }

  .invest-shortage__numbers dt {
    font-size:70px;
    line-height:74px
  }

  .invest-shortage {
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:14px
  }

  .invest-shortage__copy,
  .invest-shortage__image,
  .invest-shortage__numbers h3,
  .invest-shortage__numbers .invest-number--main,
  .invest-shortage__numbers dl > div,
  .invest-shortage__numbers dl > div:nth-child(2),
  .invest-shortage__numbers dl > div:nth-child(3),
  .invest-shortage__numbers dl > div:nth-child(4),
  .invest-shortage__numbers dl > div:nth-child(5) {
    grid-column:auto;
    grid-row:auto
  }

  .invest-shortage__copy h2 {
    font-size:20px;
    line-height:25px
  }

  .invest-shortage__copy p {
    font-size:20px;
    line-height:25px
  }

  .invest-shortage__numbers h3,
  .invest-shortage__numbers dl > div {
    min-height:280px
  }

  .invest-wide-image {
    height:420px
  }

  .invest-odalys {
    padding-top:90px;
    padding-bottom:80px
  }

  .invest-odalys__grid {
    gap:10px
  }

  .invest-parental__gallery {
    gap:10px
  }
}

@media (max-width:900px) {
  .square-content-page--investment .invest-hero:before,
  .square-content-page--offres .offres-hero:before,
  .square-content-page--square .square-project-hero:before,
  .square-content-page--localisation .localisation-hero:before,
  .square-content-page--actors .acteurs-hero:before {
    display:none
  }

  .square-content-page--investment .invest-hero {
    min-height:100vh;
    min-height:100svh;
    height:100vh;
    height:100svh;
    align-items:start;
    background:transparent
  }

  .square-content-page--investment .invest-hero:after {
    content:"";
    background:linear-gradient(180deg,rgba(250,191,116,.92) 0%,rgba(250,191,116,.55) 34%,rgba(250,191,116,0) 72%);
    mix-blend-mode:multiply
  }

  .square-content-page--investment .invest-hero > img {
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:92% center;
    filter:saturate(.9)
  }

  .square-content-page--investment .invest-hero__copy {
    padding:104px 12px 0;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--investment .invest-hero h1 {
    max-width:335px;
    color:#fff;
    text-align:left;
    font-size:35px;
    line-height:36px;
    letter-spacing:1px;
    font-weight:600
  }

  .sqw-copy--desktop {
    display:none
  }

  .sqw-copy--mobile {
    display:block
  }

  .invest-hero__br--mobile {
    display:block!important
  }

  .square-content-page--investment .invest-saving {
    padding:16px 34px 22px;
    text-align:center
  }

  .square-content-page--investment .invest-saving p {
    max-width:315px;
    margin:0 auto;
    font-size:20px;
    font-weight:300;
    line-height:22px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--investment .invest-saving strong {
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 auto 10px;
    font-size:35px;
    font-weight:600;
    line-height:36px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--investment .invest-saving br {
    display:block!important
  }

  .square-content-page--investment .invest-advantages {
    padding:20px
  }

  .square-content-page--investment .invest-advantages__intro {
    margin:0 auto 18px;
    display:block
  }

  .square-content-page--investment .invest-advantages__intro h2 {
    max-width:315px;
    font-size:30px;
    line-height:35px;
    letter-spacing:0
  }

  .square-content-page--investment .invest-advantages__intro p {
    max-width:320px;
    margin-top:18px;
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--investment .invest-advantages__grid {
    gap:10px
  }

  .square-content-page--investment .invest-advantage {
    min-height:162px;
    padding:10px;
    background:var(--orange);
    aspect-ratio:1
  }

  .square-content-page--investment .invest-advantage h3 {
    font-size:30px;
    line-height:35px;
    letter-spacing:0
  }

  .square-content-page--investment .invest-advantage h3 span {
    margin-bottom:3px;
    font-size:20px;
    line-height:35px
  }

  .square-content-page--investment .invest-advantage p {
    margin-top:18px;
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--investment .invest-advantage__desktop {
    display:none
  }

  .square-content-page--investment .invest-advantage__mobile {
    display:inline
  }

  .square-content-page--investment .invest-advantages-copy__desktop {
    display:none
  }

  .square-content-page--investment .invest-advantages-copy__mobile {
    display:inline
  }

  .square-content-page--investment .invest-shortage-copy__desktop {
    display:none
  }

  .square-content-page--investment .invest-shortage-copy__mobile {
    display:inline
  }

  .square-content-page--investment .invest-shortage {
    padding:20px;
    gap:20px
  }

  .square-content-page--investment .invest-shortage__copy {
    max-width:320px
  }

  .square-content-page--investment .invest-shortage__copy h2 {
    max-width:320px;
    font-size:30px;
    line-height:35px;
    letter-spacing:0px
  }

  .square-content-page--investment .invest-shortage__copy p {
    max-width:300px;
    margin-top:0;
    margin-bottom:20px;
    font-size:30px;
    line-height:35px;
    letter-spacing:0
  }

  .square-content-page--investment .invest-shortage__image {
    aspect-ratio:1;
    margin-top:0;
    padding:0px!important;
    background-color:transparent!important
  }

  .square-content-page--investment .invest-shortage__numbers h3,
  .square-content-page--investment .invest-shortage__numbers dl > div {
    min-height:175px;
    padding:10px
  }

  .square-content-page--investment .invest-shortage__numbers h3 {
    margin:0;
    border-color:rgba(255,255,255,.7);
    font-size:30px;
    line-height:35px;
    letter-spacing:1px;
    font-weight:300
  }

  .square-content-page--investment .invest-shortage__numbers dl > div {
    align-items:flex-end;
    justify-content:flex-end;
    text-align:right;
    background:#F5EFDF
  }

  .square-content-page--investment .invest-shortage__numbers dt {
    font-size:65px;
    line-height:65px;
    letter-spacing:-1px
  }

  .square-content-page--investment .invest-shortage__numbers dd {
    max-width:300px;
    font-size:30px;
    line-height:30px;
    letter-spacing:0;
    font-weight:400
  }

  .square-content-page--investment .invest-shortage__numbers small {
    top:8px;
    right:10px;
    font-size:15px;
    line-height:20px;
    letter-spacing:.2px
  }

  .square-content-page--investment .invest-wide-image {
    height:540px
  }

  .square-content-page--investment .invest-parental {
    display:flex;
    flex-direction:column;
    padding:20px
  }

  .square-content-page--investment .invest-parental__copy,
  .square-content-page--investment .invest-parental__text {
    min-height:0;
    display:block;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--investment .invest-parental__copy {
    order:1
  }

  .square-content-page--investment .invest-parental__gallery {
    order:2
  }

  .square-content-page--investment .invest-parental__text {
    order:3
  }

  .square-content-page--investment .invest-parental__copy p {
    max-width:320px;
    font-size:30px;
    line-height:35px;
    letter-spacing:1px
  }

  .square-content-page--investment .invest-parental__copy strong {
    font-weight:600;
    display:block
  }

  .square-content-page--investment .invest-parental-copy__desktop {
    display:none
  }

  .square-content-page--investment .invest-parental-copy__mobile {
    display:inline
  }

  .square-content-page--investment .invest-parental-title__desktop {
    display:none
  }

  .square-content-page--investment .invest-parental-title__mobile {
    display:inline
  }

  .square-content-page--investment .invest-parental__text p {
    margin-top:0px;
    max-width:320px;
    font-size:18px;
    line-height:28px;
    letter-spacing:0
  }

  .square-content-page--investment .invest-parental__text h2 {
    margin-top:18px;
    max-width:315px;
    font-size:22px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--investment .invest-parental__cta {
    order:4;
    opacity:1!important;
    transform:none!important;
    position:static;
    width:100%;
    min-width:0;
    min-height:54px;
    margin:0px 0 0;
    padding:24px 22px;
    font-size:16px;
    line-height:22px;
    letter-spacing:.8px
  }

  .square-content-page--investment .invest-parental__gallery {
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    padding-top:18px
  }

  .square-content-page--investment .invest-parental__gallery img {
    aspect-ratio:1;
    height:auto
  }

  .square-content-page--investment .invest-odalys {
    padding:20px;
    background-size:123px 123px
  }

  .square-content-page--investment .invest-odalys__headline {
    margin:0 auto 50px;
    text-align:left
  }

  .square-content-page--investment .invest-odalys h2 {
    font-size:45px;
    line-height:47px;
    letter-spacing:0px
  }

  .square-content-page--investment .invest-odalys__title-icon {
    width:45px;
    height:45px
  }

  .square-content-page--investment .invest-odalys-title__mobile-break {
    display:inline
  }

  .square-content-page--investment .invest-odalys-title__desktop {
    display:none
  }

  .square-content-page--investment .invest-odalys-title__mobile {
    display:inline
  }

  .square-content-page--investment br.invest-odalys-title__mobile-break {
    display:block
  }

  .square-content-page--investment .invest-odalys-title__desktop-space {
    display:none
  }

  .square-content-page--investment .invest-odalys-copy__desktop {
    display:none
  }

  .square-content-page--investment .invest-odalys-copy__mobile {
    display:inline
  }

  .square-content-page--investment .invest-odalys-text__desktop {
    display:none
  }

  .square-content-page--investment .invest-odalys-text__mobile {
    display:inline
  }

  .square-content-page--investment .invest-odalys-text__mobile br {
    display:block!important
  }

  .square-content-page--investment .invest-odalys-card-title__desktop {
    display:none
  }

  .square-content-page--investment .invest-odalys-card-title__mobile {
    display:inline
  }

  .square-content-page--investment .invest-odalys__headline p {
    margin-top:18px;
    font-size:30px;
    line-height:35px;
    font-weight:300;
    letter-spacing:0
  }

  .square-content-page--investment .invest-odalys__headline p strong {
    font-weight:500;
    letter-spacing:0
  }

  .square-content-page--investment .invest-odalys__grid {
    grid-template-columns:1fr;
    gap:20px
  }

  .square-content-page--investment .invest-odalys__text,
  .square-content-page--investment .invest-odalys-card {
    aspect-ratio:1/1;
    min-height:0;
    padding:10px
  }

  .square-content-page--investment .invest-odalys-card--image {
    padding:0
  }

  .square-content-page--investment .invest-odalys-card h3,
  .square-content-page--investment .invest-odalys__text p {
    max-width:100%;
    font-size:30px;
    line-height:35px;
    letter-spacing:0;
    font-weight:400
  }

  .square-content-page--investment .invest-odalys-card--logo img {
    width:195px
  }

  .square-content-page--investment .invest-odalys__cta {
    width:100%;
    min-width:0;
    min-height:54px;
    margin:20px 0 0;
    padding:21px 22px;
    font-size:16px;
    line-height:28px;
    letter-spacing:.8px
  }
}

.offres-page {
  background:var(--cream);
  color:var(--ink);
  overflow:hidden
}

.offres-page img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}

.offres-hero {
  position:relative;
  min-height:720px;
  display:grid;
  align-items:center;
  overflow:hidden
}

.offres-hero > img {
  position:absolute;
  inset:0;
  z-index:0
}

.offres-hero:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(90deg,rgba(87,185,152,1) 10%,rgba(87,185,152,.7) 34%,rgba(87,185,152,0) 72%);
  mix-blend-mode:multiply
}

.offres-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.4) 10%,rgba(0,0,0,0) 42%);
  mix-blend-mode:multiply
}

.offres-hero__copy {
  position:relative;
  z-index:3;
  width:min(1680px,100%);
  margin:0 auto;
  padding:120px 20px 68px
}

.offres-hero h1,
.offres-intro h2,
.offres-card h2 {
  margin:0;
  font-size:75px;
  line-height:75px;
  letter-spacing:0;
  font-weight:600
}

.offres-hero h1 {
  max-width:1600px;
  font-size:55px;
  line-height:60px;
  letter-spacing:1px;
  color:#fff;
  text-align:center
}

.offres-saving {
  background:#F2E519;
  color:var(--ink);
  padding:16px 20px
}

.offres-saving p {
  width:min(1680px,100%);
  margin:0 auto;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.offres-saving strong {
  font-weight:600
}

.offres-intro {
  background:var(--cream);
  padding:20px 20px 150px;
  display:grid;
  grid-template-columns:1.1fr 1.95fr;
  gap:20px;
  align-items:start
}

.offres-intro h2,
.offres-intro p {
  width:min(100%,928px)
}

.offres-intro h2 {
  font-size:30px;
  line-height:35px;
  letter-spacing:1px
}

.offres-intro p,
.offres-card__main p {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.offres-intro p {
  font-size:18px;
  line-height:28px;
  font-weight:200
}

.offres-intro__mobile {
  display:none
}

.offres-card-copy__mobile {
  display:none
}

.offres-list {
  background:var(--cream);
  display:grid;
  gap:20px;
  padding:0 20px 20px
}

.offres-card {
  position:relative;
  width:min(1880px,100%);
  margin:0 auto;
  min-height:initial;
  display:block;
  overflow:hidden
}

.offres-card__image {
  margin:0;
  min-height:initial
}

.offres-card__panel {
  position:absolute;
  left:20px;
  top:20px;
  z-index:1;
  width:min(455px,calc(100% - 40px));
  min-height:640px;
  padding:20px 20px 15px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:var(--ink)
}

.offres-card--orange .offres-card__panel {
  background:#FABF74
}

.offres-card--blue .offres-card__panel {
  background:#A2D8EF
}

.offres-card--mint .offres-card__panel {
  background:#F2E519
}

.offres-card h2 {
  margin:0;
  font-size:75px;
  line-height:35px;
  letter-spacing:0;
  font-weight:600
}

.offres-card h2 span {
  display:block;
  margin-bottom:22px;
  text-transform:uppercase;
  font-size:18px;
  line-height:35px;
  letter-spacing:2px;
  font-weight:300
}

.offres-card__main p {
  margin:0;
  font-size:15px;
  line-height:20px;
  letter-spacing:1px;
  font-weight:300;
  margin-top:30px
}

.offres-card__bottom {
  margin-top:auto
}

.offres-card__details {
  margin:0;
  display:grid;
  gap:18px
}

.offres-card__details div {
  width:175px;
  padding-bottom:18px;
  border-bottom:1px solid #707070
}

.offres-card__details dt,
.offres-card__meta,
.offres-card__equipment {
  margin:0;
  text-transform:uppercase;
  font-size:15px;
  line-height:20px;
  letter-spacing:2px;
  font-weight:400
}

.offres-card__details dd {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:600
}

.offres-card__details dd sup {
  font-size:.55em;
  line-height:0
}

.offres-card__meta {
  margin-top:18px;
  margin-bottom:18px;
  width:175px;
  padding-bottom:18px;
  border-bottom:1px solid #707070;
  font-size:15px;
  line-height:18px;
  letter-spacing:2px
}

.offres-card__equipment {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0;
  padding-left:0;
  text-transform:uppercase;
  font-size:15px;
  line-height:17px;
  letter-spacing:2px;
  font-weight:300
}

.offres-card__equipment svg {
  flex:0 0 34.407px;
  width:34.407px;
  height:27.69px
}

.offres-card__cta {
  position:absolute;
  right:20px;
  top:20px;
  z-index:2;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:18px 36px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.offres-card__cta:hover,
.offres-card__cta:focus-visible {
  background:#fff;
  color:var(--ink);
  transform:translateY(-3px)
}

@media (max-width:900px) {
  .offres-hero {
    min-height:580px
  }

  .offres-hero__copy {
    padding:130px 14px 40px
  }

  .offres-hero h1,
  .offres-intro h2,
  .offres-card h2 {
    font-size:52px;
    line-height:54px
  }

  .offres-saving,
  .offres-intro,
  .offres-list {
    padding-left:14px;
    padding-right:14px
  }

  .offres-saving p,
  .offres-intro p,
  .offres-card__main p {
    font-size:22px;
    line-height:27px
  }

  .offres-intro {
    grid-template-columns:1fr;
    padding-top:58px
  }

  .offres-list {
    gap:14px;
    padding-bottom:70px
  }

  .offres-card {
    min-height:0;
    display:grid;
    grid-template-columns:1fr
  }

  .offres-card__image,
  .offres-card__panel {
    grid-column:auto;
    grid-row:auto
  }

  .offres-card__image {
    min-height:0;
    aspect-ratio:1.2/1
  }

  .offres-card__panel {
    position:static;
    width:100%;
    min-height:680px;
    padding:24px 20px
  }

  .offres-card__details dd {
    font-size:58px;
    line-height:62px
  }

  .offres-card__cta {
    position:static;
    width:min(260px,100%);
    min-width:0;
    margin-top:10px;
    min-height:80px;
    font-size:18px;
    line-height:26px;
    font-weight:600;
    letter-spacing:1px
  }
}

@media (max-width:900px) {
  .square-content-page--offres .offres-hero {
    min-height:330px;
    align-items:start
  }

  .square-content-page--offres .offres-hero:after {
    background:linear-gradient(180deg,rgba(88,185,152,.95) 0%,rgba(88,185,152,.62) 58%,rgba(88,185,152,.25) 100%);
    mix-blend-mode:multiply
  }

  .square-content-page--offres .offres-hero > img {
    object-position:10% top
  }

  .square-content-page--offres .offres-hero__copy {
    padding:96px 12px 0;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--offres .offres-hero h1 {
    max-width:335px;
    color:#fff;
    text-align:left;
    font-size:35px;
    line-height:36px;
    letter-spacing:1px;
    font-weight:600
  }

  .offres-hero__br--mobile {
    display:block!important
  }

  .square-content-page--offres .offres-saving {
    padding:16px 34px 22px;
    text-align:center
  }

  .square-content-page--offres .offres-saving p {
    max-width:315px;
    margin:0 auto;
    font-size:20px;
    font-weight:300;
    line-height:22px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--offres .offres-saving strong {
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 auto 10px;
    font-size:35px;
    font-weight:600;
    line-height:36px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--offres .offres-saving br {
    display:block!important
  }

  .square-content-page--offres .offres-intro {
    display:block;
    padding:20px
  }

  .square-content-page--offres .offres-intro h2 {
    max-width:320px;
    font-size:30px;
    line-height:35px;
    letter-spacing:0
  }

  .square-content-page--offres .offres-intro__desktop {
    display:none
  }

  .square-content-page--offres .offres-intro__mobile {
    display:inline
  }

  .square-content-page--offres .offres-card-copy__desktop {
    display:none
  }

  .square-content-page--offres .offres-card-copy__mobile {
    display:inline
  }

  .square-content-page--offres .offres-intro p {
    max-width:310px;
    margin-top:18px;
    font-size:18px;
    line-height:28px;
    letter-spacing:0
  }

  .square-content-page--offres .offres-list {
    gap:20px;
    padding:0px 20px 20px 20px
  }

  .square-content-page--offres .offres-card {
    width:100%;
    display:flex;
    flex-direction:column;
    overflow:visible;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--offres .offres-card--orange {
    background:var(--orange)
  }

  .square-content-page--offres .offres-card--blue {
    background:var(--blue)
  }

  .square-content-page--offres .offres-card--mint {
    background:var(--yellow)
  }

  .square-content-page--offres .offres-card__panel {
    order:1;
    width:100%;
    min-height:0;
    padding:20px 20px 10px 20px;
    background:transparent!important
  }

  .square-content-page--offres .offres-card__main p {
    margin-top:12px;
    max-width:285px;
    font-size:15px;
    line-height:20px;
    letter-spacing:1px;
    font-weight:200
  }

  .square-content-page--offres .offres-card h2 {
    font-size:75px;
    line-height:1;
    letter-spacing:-1px
  }

  .square-content-page--offres .offres-card h2 span {
    margin-bottom:10px;
    font-size:18px;
    line-height:14px;
    letter-spacing:1px
  }

  .square-content-page--offres .offres-card__bottom {
    margin-top:18px
  }

  .square-content-page--offres .offres-card__details {
    gap:10px
  }

  .square-content-page--offres .offres-card__details div,
  .square-content-page--offres .offres-card__meta {
    width:188px;
    padding-bottom:10px
  }

  .square-content-page--offres .offres-card__details dt,
  .square-content-page--offres .offres-card__meta,
  .square-content-page--offres .offres-card__equipment {
    font-size:15px;
    line-height:20px;
    letter-spacing:1px
  }

  .square-content-page--offres .offres-card__details dd {
    font-size:30px;
    line-height:35px;
    letter-spacing:.2px
  }

  .square-content-page--offres .offres-card__meta br,
  .square-content-page--offres .offres-card__equipment br {
    display:block!important
  }

  .square-content-page--offres .offres-card__meta {
    margin-top:8px;
    margin-bottom:8px
  }

  .square-content-page--offres .offres-card__equipment {
    gap:8px;
    padding-bottom:16px
  }

  .square-content-page--offres .offres-card__equipment svg {
    flex-basis:24px;
    width:24px;
    height:auto
  }

  .square-content-page--offres .offres-card__cta {
    order:2;
    position:static;
    width:calc(100% - 40px);
    min-width:0;
    min-height:50px;
    margin:0 20px 20px;
    padding:21px 18px;
    background:#fff;
    color:var(--ink);
    font-size:16px;
    line-height:1.1;
    letter-spacing:.6px
  }

  .square-content-page--offres .offres-card__image {
    order:3;
    width:100%;
    aspect-ratio:1;
    min-height:0;
    margin:0;
    background:var(--cream)
  }

  .square-content-page--offres .offres-card__image img {
    width:100%;
    height:100%;
    object-fit:cover
  }
}

.square-project {
  background:var(--cream);
  color:var(--ink);
  overflow:hidden
}

.square-project img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}

.square-project-hero {
  position:relative;
  min-height:720px;
  display:grid;
  align-items:center;
  overflow:hidden;
  color:#fff
}

.square-project-hero > img {
  position:absolute;
  inset:0;
  z-index:0
}

.square-project-hero:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(90deg,rgba(162,216,239,1) 10%,rgba(162,216,239,.7) 34%,rgba(162,216,239,0) 72%);
  mix-blend-mode:multiply
}

.square-project-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.4) 10%,rgba(0,0,0,0) 42%);
  mix-blend-mode:multiply
}

.square-project-hero__copy {
  position:relative;
  z-index:3;
  width:min(1640px,100%);
  margin:0 auto;
  padding:116px 20px 68px;
  text-align:center
}

.square-project-hero h1 {
  margin:0;
  font-size:55px;
  line-height:60px;
  letter-spacing:1px;
  font-weight:600
}

.square-project-hero__brochure {
  position:absolute;
  right:20px;
  bottom:18px;
  z-index:3;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:18px 34px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.square-project-hero__brochure:hover,
.square-project-hero__brochure:focus-visible {
  background:#fff;
  transform:translateY(-3px)
}

.square-project-saving {
  background:var(--yellow);
  color:var(--ink);
  padding:16px 20px
}

.square-project-saving p {
  width:min(1640px,100%);
  margin:0 auto;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.square-project-saving strong {
  font-weight:600
}

.square-project-reborn {
  background:var(--blue);
  padding:20px;
  display:grid;
  grid-template-columns:minmax(320px,520px) 1fr;
  gap:clamp(60px,11vw,220px);
  align-items:start
}

.square-project-reborn__lead {
  margin:0;
  max-width:520px;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.square-project-reborn__lead strong {
  font-weight:600
}

.square-project-reborn__mobile {
  display:none
}

.square-project-reborn__cards {
  width:min(100%,760px);
  justify-self:end;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  padding-top:0
}

.square-project-reborn__cards article {
  min-height:330px;
  background:#fff;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.square-project-reborn__cards article:first-child {
  grid-column:2/3
}

.square-project-reborn__cards h2 {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:400;
  text-transform:uppercase
}

.square-project-reborn__cards p {
  margin:38px 0 0;
  font-size:18px;
  line-height:28px;
  letter-spacing:1px;
  font-weight:200
}

.square-project-motion {
  position:relative;
  min-height:1080px;
  display:grid;
  place-items:center;
  overflow:hidden
}

.square-project-motion img,
.square-project-motion video {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover
}

.square-project-motion:after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(245,239,223,.14);
  pointer-events:none
}

.square-project-program {
  background:#fff;
  background-image:linear-gradient(rgba(149,196,219,.38) 1px,transparent 1px),
    linear-gradient(90deg,rgba(149,196,219,.38) 1px,transparent 1px);
  background-size:247px 247px;
  background-position:center top
}

.square-project-uses {
  background:transparent;
  padding:20px 20px 90px;
  display:grid;
  grid-template-columns:minmax(320px,520px) minmax(360px,716px);
  gap:clamp(72px,10vw,220px);
  align-items:start
}

.square-project-uses h2 {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:600
}

.square-project-uses p {
  margin:10px 0 0;
  font-size:18px;
  line-height:23px;
  letter-spacing:1px;
  font-weight:200
}

.square-project-uses article p {
  margin:0;
  font-size:18px;
  line-height:23px;
  letter-spacing:.4px;
  font-weight:200
}

.square-project-uses__intro {
  margin:0!important;
  font-size:30px!important;
  line-height:35px!important;
  letter-spacing:1px;
  font-weight:200
}

.square-project-uses__intro strong {
  font-weight:600
}

.square-project-uses__mobile {
  display:none
}

.square-project-uses-title__desktop {
  display:inline
}

.square-project-uses-title__mobile {
  display:none
}

.square-project-uses__list {
  display:grid;
  gap:28px
}

.square-project-uses__list article {
  max-width:616px
}

.square-project-uses__list h3 {
  margin:0;
  font-size:18px;
  line-height:23px;
  letter-spacing:1px;
  font-weight:600
}

.square-project-levels {
  background:transparent;
  width:min(1640px,100%);
  margin:0 auto;
  padding:10px 20px 150px
}

.square-project-levels__row {
  display:grid;
  grid-template-columns:minmax(260px,470px) 1fr;
  gap:clamp(60px,8vw,180px);
  align-items:center;
  min-height:760px;
  border-bottom:1px solid #282424;
  padding:55px 0
}

.square-project-levels__row:last-of-type {
  border-bottom:0
}

.square-project-levels__row ul {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:22px
}

.square-project-levels__row li {
  display:grid;
  grid-template-columns:58px 1fr;
  gap:14px;
  align-items:center
}

.square-project-levels__row li:before {
  content:"";
  width:35px;
  height:35px;
  background:var(--yellow);
  justify-self:center
}

.square-project-levels__row strong,
.square-project-levels__row span {
  display:block;
  font-size:18px;
  line-height:23px;
  letter-spacing:1px
}

.square-project-levels__row strong {
  font-weight:600
}

.square-project-levels__row span {
  font-weight:200
}

.square-project-levels__row img {
  height:auto;
  object-fit:contain
}

.square-project-levels__plan-wrap {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  max-width:100%
}

.square-project-levels__visual {
  max-width:309px
}

.square-project-levels__visual.square-project-levels__visual--top {
  max-width:267px
}

.square-project-levels__mobile-icon {
  display:none
}

.square-project-levels__summary {
  list-style:none;
  width:min(1640px,100%);
  margin:0 auto;
  padding:30px 0;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}

.square-project-levels__summary li {
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0
}

.square-project-levels__summary svg {
  flex:0 0 24.484px;
  width:24.484px;
  height:40px
}

.square-project-levels__summary strong {
  display:block;
  text-transform:uppercase;
  font-size:18px;
  line-height:23px;
  letter-spacing:0;
  font-weight:600
}

.square-project-levels-copy__desktop {
  display:inline
}

.square-project-levels-copy__mobile {
  display:none
}

@media (min-width:901px) {
  .square-project-levels__summary {
    display:flex;
    align-items:center;
    justify-content:space-between
  }

  .square-project-levels__summary li {
    flex:0 0 auto
  }
}

.square-project-gallery {
  background:var(--cream);
  padding:20px 20px 150px;
  display:grid;
  gap:20px
}

.square-project-gallery__item {
  position:relative;
  width:min(1880px,100%);
  height:950px;
  margin:0 auto;
  overflow:hidden
}

.square-project-gallery__item:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(40,36,36,.35),rgba(40,36,36,0) 42%);
  pointer-events:none
}

.square-project-gallery__item h2 {
  position:absolute;
  left:30px;
  top:30px;
  z-index:1;
  margin:0;
  color:#fff;
  font-size:60px;
  line-height:74px;
  letter-spacing:1px;
  font-weight:400
}

.square-project-gallery__cta {
  appearance:none;
  font:inherit;
  border:0;
  min-width:260px;
  min-height:80px;
  width:max-content;
  border-radius:999px;
  background:var(--ink);
  color:var(--orange);
  display:grid;
  place-items:center;
  margin:80px auto 0;
  padding:12px 32px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600;
  cursor:pointer;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.square-project-gallery__cta:hover,
.square-project-gallery__cta:focus-visible {
  background:var(--orange);
  color:var(--ink);
  transform:translateY(-3px)
}

.square-gallery-popup {
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease
}

.square-gallery-popup.is-open {
  opacity:1;
  pointer-events:auto
}

.square-gallery-popup__backdrop {
  position:absolute;
  inset:0;
  border:0;
  background:rgba(255,255,255,.48);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  cursor:pointer
}

.square-gallery-popup__panel {
  position:relative;
  z-index:1;
  width:min(1540px,calc(100vw - 40px));
  height:min(920px,calc(100vh - 40px));
  background:transparent;
  color:#fff;
  overflow:hidden;
  transform:translateY(18px) scale(.985);
  transition:transform .32s cubic-bezier(.22,.61,.36,1)
}

.square-gallery-popup.is-open .square-gallery-popup__panel {
  transform:translateY(0) scale(1)
}

.square-gallery-popup__figure {
  position:absolute;
  inset:0;
  margin:0
}

.square-gallery-popup__figure img {
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent
}

.square-gallery-popup__figure figcaption {
  position:absolute;
  left:24px;
  bottom:22px;
  display:flex;
  gap:8px;
  color:#fff;
  font-size:18px;
  line-height:24px;
  letter-spacing:2px;
  font-weight:600
}

.square-gallery-popup__close,
.square-gallery-popup__nav {
  appearance:none;
  position:absolute;
  z-index:2;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(17,17,17,.34);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease
}

.square-gallery-popup__close:hover,
.square-gallery-popup__close:focus-visible,
.square-gallery-popup__nav:hover,
.square-gallery-popup__nav:focus-visible {
  background:#fff;
  color:var(--ink);
  transform:translateY(-2px)
}

.square-gallery-popup__close {
  top:20px;
  right:20px;
  width:40px;
  height:40px;
  font-size:31px;
  font-weight:200;
  padding:0;
  line-height:1;
  padding-bottom:.08em
}

.square-gallery-popup__nav {
  top:50%;
  width:64px;
  height:64px;
  font-weight:200;
  padding:0;
  transform:translateY(-50%)
}

.square-gallery-popup__nav:before {
  display:block;
  font-size:54px;
  line-height:1;
  font-weight:200;
  transform:translateY(-.08em)
}

.square-gallery-popup__nav--prev:before {
  content:"‹"
}

.square-gallery-popup__nav--next:before {
  content:"›"
}

.square-gallery-popup__nav:hover,
.square-gallery-popup__nav:focus-visible {
  transform:translateY(calc(-50% - 2px))
}

.square-gallery-popup__nav--prev {
  left:20px
}

.square-gallery-popup__nav--next {
  right:20px
}

@media (max-width:900px) {
  .square-gallery-popup {
    padding:12px
  }

  .square-gallery-popup__panel {
    width:calc(100vw - 24px);
    height:calc(100vh - 24px);
    height:calc(100svh - 24px)
  }

  .square-gallery-popup__close {
    top:12px;
    right:12px;
    width:44px;
    height:44px;
    font-size:30px
  }

  .square-gallery-popup__nav {
    width:48px;
    height:48px;
  }

  .square-gallery-popup__nav:before {
    font-size:42px
  }

  .square-gallery-popup__nav--prev {
    left:12px
  }

  .square-gallery-popup__nav--next {
    right:12px
  }

  .square-gallery-popup__figure figcaption {
    left:16px;
    bottom:16px;
    font-size:14px;
    line-height:20px
  }
}

.square-project-sustainability {
  background:#fff;
  padding:200px 20px 170px;
  text-align:center;
  background-image:linear-gradient(rgba(40,36,36,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,36,36,.08) 1px,transparent 1px);
  background-size:247px 247px;
  background-position:center top
}

.square-project-sustainability h2 {
  margin:0 auto 74px;
  color:var(--mint);
  font-size:75px;
  line-height:75px;
  letter-spacing:0;
  font-weight:600
}

.square-project-sustainability h2 span {
  display:inline-block
}

.square-project-sustainability h2 .square-project-sustainability-copy__desktop {
  display:inline
}

.square-project-sustainability h2 .square-project-sustainability-copy__mobile {
  display:none
}

.square-project-sustainability__title-icon {
  display:inline-block;
  width:75px;
  height:75px;
  margin:0 5px;
  vertical-align:-.08em
}

.square-project-sustainability__mobile-break {
  display:none
}

.square-project-sustainability img {
  width:min(1105px,100%);
  height:auto;
  margin:0 auto;
  object-fit:contain;
  mix-blend-mode:multiply
}

.square-image-zoom {
  display:none
}

@media (max-width:900px) {
  .square-project-hero {
    min-height:620px
  }

  .square-project-hero__copy {
    padding:140px 14px 92px
  }

  .square-project-hero h1,
  .square-project-gallery__item h2,
  .square-project-sustainability h2 {
    font-size:52px;
    line-height:54px
  }

  .square-project-hero__brochure {
    right:14px;
    bottom:18px;
    min-width:260px;
    min-height:80px;
    font-size:18px;
    line-height:26px;
    font-weight:600
  }

  .square-project-saving p,
  .square-project-reborn__lead {
    font-size:22px;
    line-height:27px
  }

  .square-project-reborn,
  .square-project-uses,
  .square-project-levels__row {
    grid-template-columns:1fr;
    gap:34px
  }

  .square-project-reborn {
    min-height:0;
    padding:28px 14px 60px
  }

  .square-project-reborn__cards {
    width:100%;
    justify-self:auto;
    grid-template-columns:1fr;
    padding-top:0
  }

  .square-project-reborn__cards article:first-child {
    grid-column:auto
  }

  .square-project-motion {
    min-height:560px
  }

  .square-project-uses {
    padding:36px 14px 56px
  }

  .square-project-levels {
    padding:0 14px 52px
  }

  .square-project-levels__row {
    min-height:0;
    padding:42px 0
  }

  .square-project-levels__row li {
    grid-template-columns:46px 1fr
  }

  .square-project-levels__row li:before {
    width:30px;
    height:30px
  }

  .square-project-levels__summary {
    grid-template-columns:1fr;
    gap:16px;
    padding:24px 0
  }

  .square-project-gallery {
    padding:14px 14px 70px;
    gap:14px
  }

  .square-project-gallery__item {
    height:360px
  }

  .square-project-gallery__item h2 {
    left:18px;
    top:24px
  }

  .square-project-gallery__cta {
    margin-top:34px
  }

  .square-project-sustainability {
    padding:76px 14px 90px
  }

  .square-project-sustainability h2 {
    margin-bottom:42px
  }
}

@media (max-width:900px) {
  .square-content-page--square .square-project-hero {
    min-height:360px;
    align-items:start
  }

  .square-content-page--square .square-project-hero:after {
    background:linear-gradient(180deg,rgba(162,216,239,.9) 0%,rgba(162,216,239,.55) 62%,rgba(162,216,239,.2) 100%);
    mix-blend-mode:multiply
  }

  .square-content-page--square .square-project-hero > img {
    object-position:10% top
  }

  .square-content-page--square .square-project-hero__copy {
    padding:96px 12px 0;
    text-align:left;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--square .square-project-hero h1 {
    max-width:335px;
    color:#fff;
    text-align:left;
    font-size:35px;
    line-height:36px;
    letter-spacing:1px;
    font-weight:600
  }

  .square-project-hero__br--mobile {
    display:block!important
  }

  .square-content-page--square .square-project-hero__brochure {
    left:20px;
    right:20px;
    bottom:20px;
    min-width:0;
    width:auto;
    min-height:70px;
    padding:10px 10px;
    font-size:16px;
    font-weight:600;
    line-height:20px;
    letter-spacing:1.5px;
    z-index:4;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--square .square-project-saving {
    padding:16px 34px 22px;
    text-align:center
  }

  .square-content-page--square .square-project-saving p {
    max-width:315px;
    margin:0 auto;
    font-size:20px;
    font-weight:300;
    line-height:22px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--square .square-project-saving strong {
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 auto 10px;
    font-size:35px;
    font-weight:600;
    line-height:36px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--square .square-project-saving br {
    display:block!important
  }

  .square-content-page--square .square-project-reborn {
    display:block;
    padding:20px
  }

  .square-content-page--square .square-project-reborn__lead {
    max-width:320px;
    font-size:30px;
    line-height:35px;
    letter-spacing:0px
  }

  .square-content-page--square .square-project-reborn__desktop {
    display:none
  }

  .square-content-page--square .square-project-reborn__mobile {
    display:inline
  }

  .square-content-page--square .square-project-reborn__cards {
    grid-template-columns:1fr;
    gap:20px;
    margin-top:18px
  }

  .square-content-page--square .square-project-reborn__cards article {
    min-height:165px;
    padding:20px;
    aspect-ratio:1
  }

  .square-content-page--square .square-project-reborn__cards h2 {
    font-size:30px;
    line-height:35px;
    letter-spacing:1px
  }

  .square-content-page--square .square-project-reborn__cards p {
    margin-top:22px;
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--square .square-project-motion {
    min-height:540px
  }

  .square-content-page--square .square-project-program {
    background-size:123px 123px
  }

  .square-content-page--square .square-project-uses {
    display:block;
    padding:20px
  }

  .square-content-page--square .square-project-uses__intro {
    max-width:320px;
    font-size:30px!important;
    line-height:35px!important;
    letter-spacing:0px
  }

  .square-content-page--square .square-project-uses__desktop {
    display:none
  }

  .square-content-page--square .square-project-uses__mobile {
    display:inline
  }

  .square-content-page--square .square-project-uses-title__desktop {
    display:none
  }

  .square-content-page--square .square-project-uses-title__mobile {
    display:inline
  }

  .square-content-page--square .square-project-uses__mobile br {
    display:block!important
  }

  .square-content-page--square .square-project-uses__list {
    gap:18px;
    margin-top:20px
  }

  .square-content-page--square .square-project-uses__list h3 {
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--square .square-project-uses__list p {
    margin-top:5px;
    font-size:18px;
    line-height:28px;
    letter-spacing:1px;
    font-weight:300
  }

  .square-content-page--square .square-project-levels {
    padding:0 12px 24px
  }

  .square-content-page--square .square-project-levels__row {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:48px 0;
    border-bottom:1px solid rgba(40,36,36,.45)
  }

  .square-content-page--square .square-project-levels__row:nth-child(3) {
    border-bottom:0
  }

  .square-content-page--square .square-project-levels__visual,
  .square-content-page--square .square-project-levels__visual.square-project-levels__visual--top {
    max-width:258px!important;
    justify-self:start;
    margin:0 auto
  }

  .square-content-page--square .square-project-levels__mobile-icon {
    position:absolute;
    left:50%;
    top:50%;
    display:block;
    width:87px;
    height:87px;
    transform:translate(-50%,-50%);
    pointer-events:none
  }

  .square-content-page--square .square-project-levels__row:first-child .square-project-levels__visual {
    max-width:239px!important
  }

  .square-content-page--square .square-project-levels__row:nth-child(3) .square-project-levels__visual {
    max-width:206px!important
  }

  .square-content-page--square .square-project-levels__row img:not(.square-project-levels__visual) {
    width:100%;
    height:auto;
    object-fit:contain
  }

  .square-content-page--square .square-project-levels__summary {
    gap:50px;
    padding:50px 0;
    border-top:0;
    border-bottom:0
  }

  .square-content-page--square .square-project-levels__summary li {
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center
  }

  .square-content-page--square .square-project-levels__summary svg {
    flex:0 0 auto;
    width:24px;
    height:auto
  }

  .square-content-page--square .square-project-levels__summary strong {
    font-size:19px;
    line-height:28px;
    letter-spacing:.2px;
    font-weight:700;
    text-align:center
  }

  .square-content-page--square .square-project-levels-copy__desktop {
    display:none
  }

  .square-content-page--square .square-project-levels-copy__mobile {
    display:inline
  }

  .square-content-page--square .square-project-gallery {
    padding:20px 20px 20px;
    gap:20px
  }

  .square-content-page--square .square-project-gallery__item {
    height:auto;
    opacity:1!important;
    transform:none!important;
    aspect-ratio:.8
  }

  .square-content-page--square .square-project-gallery__item h2 {
    left:10px;
    top:10px;
    font-size:30px;
    line-height:32px;
    letter-spacing:.2px;
    font-weight:600
  }

  .square-content-page--square .square-project-gallery__cta {
    width:100%;
    min-width:0;
    min-height:44px;
    margin:0px auto 0;
    padding:21px 18px;
    font-size:16px;
    line-height:28px;
    letter-spacing:.6px
  }

  .square-content-page--square .square-project-sustainability {
    padding:20px 20px 40px;
    background-size:123px 123px
  }

  .square-content-page--square .square-project-sustainability h2 {
    margin-bottom:22px;
    font-size:43px;
    line-height:45px;
    text-align:left;
    letter-spacing:-.5px
  }

  .square-content-page--square .square-project-sustainability__title-icon {
    width:40px;
    height:40px;
    margin:0 5px 0 0
  }

  .square-content-page--square .square-project-sustainability h2 .square-project-sustainability-copy__desktop {
    display:none
  }

  .square-content-page--square .square-project-sustainability h2 .square-project-sustainability-copy__mobile {
    display:inline
  }

  .square-content-page--square .square-project-sustainability__mobile-break {
    display:block
  }

  .square-content-page--square .square-project-sustainability img {
    width:100%
  }

  .square-content-page--square [data-square-zoom] {
    cursor:zoom-in
  }

  .square-image-zoom {
    position:fixed;
    inset:0;
    z-index:1001;
    display:none;
    padding:20px;
    background:rgba(40,36,36,.86)
  }

  .square-image-zoom.is-open {
    display:block
  }

  .square-image-zoom__backdrop {
    position:absolute;
    inset:0;
    border:0;
    background:transparent;
    cursor:zoom-out
  }

  .square-image-zoom__panel {
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    margin:0;
    display:flex;
    align-items:center;
    overflow:auto;
    padding:54px 0 20px;
    -webkit-overflow-scrolling:touch
  }

  .square-image-zoom__panel img {
    width:100%;
    max-width:100%;
    height:auto;
    margin:auto;
    mix-blend-mode:normal;
    background:#fff
  }

  .square-image-zoom__close {
    position:fixed;
    top:20px;
    right:20px;
    z-index:2;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:var(--yellow);
    color:var(--ink);
    display:grid;
    place-items:center;
    font-size:30px;
    line-height:1;
    font-weight:300
  }
}

.localisation-page {
  background:#fff;
  color:var(--ink);
  overflow:hidden
}

.localisation-page img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}

.localisation-hero {
  position:relative;
  min-height:720px;
  display:grid;
  align-items:center;
  overflow:hidden;
  color:#fff
}

.localisation-hero > img {
  position:absolute;
  inset:0;
  z-index:0
}

.localisation-hero:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(90deg,rgba(242,229,25,1) 10%,rgba(242,229,25,.7) 34%,rgba(242,229,25,0) 72%);
  mix-blend-mode:multiply
}

.localisation-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.4) 10%,rgba(0,0,0,0) 42%);
  mix-blend-mode:multiply
}

.localisation-hero__copy {
  position:relative;
  z-index:3;
  width:min(1640px,100%);
  margin:0 auto;
  padding:116px 20px 68px;
  text-align:center
}

.localisation-hero h1 {
  margin:0;
  font-size:55px;
  line-height:60px;
  letter-spacing:1px;
  font-weight:600
}

.localisation-hero__brochure {
  position:absolute;
  right:20px;
  bottom:18px;
  z-index:3;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:18px 34px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.localisation-hero__brochure:hover,
.localisation-hero__brochure:focus-visible {
  background:#fff;
  transform:translateY(-3px)
}

.localisation-saving {
  background:var(--yellow);
  color:var(--ink);
  padding:16px 20px
}

.localisation-saving p {
  width:min(1640px,100%);
  margin:0 auto;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.localisation-saving strong {
  font-weight:600
}

.localisation-intro {
  background:#fff;
  min-height:300px;
  padding:20px 20px 78px;
  background-image:linear-gradient(rgba(40,36,36,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,36,36,.08) 1px,transparent 1px);
  background-size:247px 247px;
  background-position:center top
}

.localisation-intro p {
  width:min(519px,100%);
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.localisation-intro__mobile {
  display:none
}

.localisation-campus {
  background:#fff;
  padding:0 20px 150px;
  background-image:linear-gradient(rgba(40,36,36,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,36,36,.08) 1px,transparent 1px);
  background-size:247px 247px;
  background-position:center top
}

.localisation-campus__map {
  position:relative;
  width:min(1364px,100%);
  margin:0 auto
}

.localisation-campus__map img {
  height:auto;
  object-fit:contain
}

.localisation-campus__schools {
  width:min(1364px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.8fr repeat(6,1fr);
  gap:10px;
  padding-top:20px
}

.localisation-campus__title,
.localisation-school {
  background:var(--yellow);
  color:var(--ink);
  min-height:150px;
  padding:12px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.localisation-campus__title {
  position:relative;
  grid-row:span 2
}

.localisation-campus__title-icon {
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40.94px
}

.localisation-campus__title h2 {
  margin:auto 0 0;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:200
}

.localisation-campus__title h2 strong {
  font-weight:600
}

.localisation-school h3,
.localisation-school p {
  margin:0;
  font-size:20px;
  line-height:23px;
  letter-spacing:0;
  font-weight:300
}

.localisation-school h3 {
  font-weight:600
}

.localisation-school strong {
  display:block;
  font-size:40px;
  line-height:46px;
  letter-spacing:2px;
  font-weight:600
}

.localisation-school strong span {
  font-size:22px;
  line-height:22px;
  font-weight:300;
  letter-spacing:0
}

.localisation-school__bottom {
  margin-top:auto;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px
}

.localisation-school__icon {
  flex:0 0 40.281px;
  width:40.281px;
  height:32.873px
}

.localisation-city-map {
  position:relative;
  width:100%;
  height:930px;
  overflow:hidden;
  background:#24201f
}

.square-content-page--localisation .localisation-campus__map img,
.square-content-page--localisation .localisation-city-map img {
  height:100%;
  object-fit:cover
}

@media (max-width:900px) {
  .localisation-hero {
    min-height:620px
  }

  .localisation-hero__copy {
    padding:140px 14px 92px
  }

  .localisation-hero h1 {
    font-size:52px;
    line-height:54px
  }

  .localisation-hero__brochure {
    right:14px;
    bottom:18px;
    min-width:260px;
    min-height:80px;
    font-size:18px;
    line-height:26px;
    font-weight:600
  }

  .localisation-saving,
  .localisation-intro,
  .localisation-campus {
    padding-left:14px;
    padding-right:14px
  }

  .localisation-saving p,
  .localisation-intro p {
    font-size:22px;
    line-height:27px
  }

  .localisation-intro {
    min-height:0;
    padding-top:28px;
    padding-bottom:56px
  }

  .localisation-campus {
    padding-bottom:70px
  }

  .localisation-campus__schools {
    grid-template-columns:1fr 1fr;
    gap:2px
  }

  .localisation-campus__title {
    grid-column:1/-1;
    grid-row:auto
  }

  .localisation-campus__title,
  .localisation-school {
    min-height:136px
  }

  .localisation-campus__title h2 {
    font-size:28px;
    line-height:31px
  }

  .localisation-school h3,
  .localisation-school p {
    font-size:14px;
    line-height:18px
  }

  .localisation-school strong {
    font-size:34px;
    line-height:40px
  }

  .localisation-city-map {
    height:auto
  }
}

@media (max-width:900px) {
  .square-content-page--localisation .localisation-hero {
    min-height:360px;
    align-items:start
  }

  .square-content-page--localisation .localisation-hero:after {
    background:linear-gradient(180deg,rgba(242,229,25,.9) 0%,rgba(242,229,25,.62) 58%,rgba(242,229,25,.28) 100%);
    mix-blend-mode:multiply
  }

  .square-content-page--localisation .localisation-hero > img {
    object-position:center top
  }

  .square-content-page--localisation .localisation-hero__copy {
    padding:96px 12px 0;
    text-align:left;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--localisation .localisation-hero h1 {
    max-width:335px;
    color:#fff;
    text-align:left;
    font-size:35px;
    line-height:36px;
    letter-spacing:1px;
    font-weight:600
  }

  .localisation-hero__br--mobile {
    display:block!important
  }

  .square-content-page--localisation .localisation-hero__brochure {
    left:20px;
    right:20px;
    bottom:20px;
    min-width:0;
    width:auto;
    min-height:70px;
    padding:10px 10px;
    font-size:16px;
    font-weight:600;
    line-height:20px;
    letter-spacing:1.5px;
    z-index:4;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--localisation .localisation-saving {
    padding:16px 34px 22px;
    text-align:center
  }

  .square-content-page--localisation .localisation-saving p {
    max-width:315px;
    margin:0 auto;
    font-size:20px;
    font-weight:300;
    line-height:22px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--localisation .localisation-saving strong {
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 auto 10px;
    font-size:35px;
    font-weight:600;
    line-height:36px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--localisation .localisation-saving br {
    display:block!important
  }

  .square-content-page--localisation .localisation-intro {
    padding:20px 20px 70px 20px;
    background-size:123px 123px
  }

  .square-content-page--localisation .localisation-intro p {
    max-width:330px;
    font-size:30px;
    line-height:35px;
    letter-spacing:1px;
    font-weight:600
  }

  .square-content-page--localisation .localisation-intro__desktop {
    display:none
  }

  .square-content-page--localisation .localisation-intro__mobile {
    display:inline
  }

  .square-content-page--localisation .localisation-campus {
    padding:0px 20px 0px;
    background:none
  }

  .square-content-page--localisation .localisation-campus__map {
    width:100%;
    margin:0;
    background:#fff
  }

  .square-content-page--localisation .localisation-campus__map img {
    height:auto;
    object-fit:contain;
    margin-bottom:20px
  }

  .square-content-page--localisation .localisation-campus__map,
  .square-content-page--localisation .localisation-campus__schools,
  .square-content-page--localisation .localisation-campus__title,
  .square-content-page--localisation .localisation-school {
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--localisation .localisation-campus__schools {
    width:calc(100% + 40px);
    margin-left:-20px;
    margin-right:-20px;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:6px 20px 20px;
    background:var(--yellow)
  }

  .square-content-page--localisation .localisation-campus__title,
  .square-content-page--localisation .localisation-school {
    min-height:92px;
    min-width:0;
    background:#fff;
    padding:8px
  }

  .square-content-page--localisation .localisation-school {
    aspect-ratio:1
  }

  .square-content-page--localisation .localisation-campus__title {
    grid-column:1/-1;
    min-height:58px;
    padding:20px 0px 20px;
    background:var(--yellow)
  }

  .square-content-page--localisation .localisation-campus__title-icon {
    display:none
  }

  .square-content-page--localisation .localisation-campus__title h2 {
    margin:0;
    max-width:100%;
    font-size:25px;
    line-height:28px;
    letter-spacing:0px;
    font-weight:300
  }

  .square-content-page--localisation .localisation-campus__title h2 br {
    display:none
  }

  .square-content-page--localisation .localisation-campus__title h2 strong {
    display:block
  }

  .square-content-page--localisation .localisation-school h3,
  .square-content-page--localisation .localisation-school p {
    font-size:20px;
    line-height:23px;
    letter-spacing:0
  }

  .square-content-page--localisation .localisation-school strong {
    font-size:40px;
    line-height:35px;
    letter-spacing:0
  }

  .square-content-page--localisation .localisation-school strong span {
    font-size:22px;
    line-height:35px;
    padding-left:5px
  }

  .square-content-page--localisation .localisation-school__icon {
    flex-basis:40px;
    width:40px;
    height:auto
  }

}

@media (max-width:900px) {
  .home-map,
  .localisation-city-map {
    height:auto;
    overflow:hidden;
    background:#24201f
  }

  .square-map-icon-wrap,
  .localisation-city-map {
    display:flex;
    flex-direction:column
  }

  .home-map picture,
  .localisation-city-map picture {
    order:2;
    height:449px;
    overflow:hidden
  }

  .home-map picture,
  .localisation-city-map picture,
  .home-map img,
  .localisation-city-map img {
    width:100%;
    height:449px
  }

  .home-map img,
  .localisation-city-map img {
    object-fit:cover;
    max-width:none
  }

  .square-map-mobile-icon {
    position:absolute;
    left:auto;
    top:auto;
    right:20px;
    bottom:20px;
    display:block;
    width:87px;
    height:87px;
    transform:none;
    pointer-events:none;
    z-index:2
  }

  .square-map-copy {
    position:static;
    order:1;
    width:auto;
    padding:24px 22px 20px;
    z-index:1;
    background:#24201f
  }

  .square-map-copy p {
    max-width:350px;
    font-size:30px;
    line-height:35px;
    letter-spacing:1px;
    font-weight:400
  }

  .square-map-copy__desktop {
    display:none
  }

  .square-map-copy__mobile {
    display:inline
  }

  .square-map-copy br {
    display:block!important
  }

  .square-map-legend {
    margin-top:36px;
    gap:0
  }

  .square-map-legend__item {
    gap:0;
    width:277px;
    padding:8px 21px;
    font-size:18px;
    line-height:26px;
    letter-spacing:1px;
    font-weight:400
  }

  body.square-map-zoom-open {
    overflow:hidden
  }

  .home-map,
  .localisation-city-map {
    cursor:pointer
  }

  .square-map-zoom {
    position:fixed;
    inset:0;
    z-index:10000;
    display:none;
    background:#24201f
  }

  .square-map-zoom.is-open {
    display:block
  }

  .square-map-zoom__scroller {
    width:100%;
    height:100dvh;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-x
  }

  .square-map-zoom__scroller img {
    display:block;
    width:auto;
    max-width:none;
    height:100dvh;
    object-fit:contain;
    user-select:none;
    -webkit-user-drag:none
  }

  .square-map-zoom__close {
    position:fixed;
    top:14px;
    right:14px;
    z-index:2;
    width:44px;
    height:44px;
    border:0;
    border-radius:50%;
    background:#0f18ff;
    color:#fff;
    font-size:32px;
    line-height:1;
    font-weight:300;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 0 4px 0
  }
}

.acteurs-page {
  background:#fff;
  color:var(--ink);
  overflow:hidden
}

.acteurs-page img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}

.acteurs-hero {
  position:relative;
  min-height:720px;
  display:grid;
  align-items:center;
  overflow:hidden;
  color:#fff
}

.acteurs-hero > img {
  position:absolute;
  inset:0;
  z-index:0
}

.acteurs-hero:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(90deg,rgba(162,216,239,1) 10%,rgba(162,216,239,.7) 34%,rgba(162,216,239,0) 72%);
  mix-blend-mode:multiply
}

.acteurs-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.4) 10%,rgba(0,0,0,0) 42%);
  mix-blend-mode:multiply
}

.acteurs-hero__copy {
  position:relative;
  z-index:3;
  width:min(1640px,100%);
  margin:0 auto;
  padding:116px 20px 68px;
  text-align:center
}

.acteurs-hero h1 {
  margin:0;
  font-size:55px;
  line-height:60px;
  letter-spacing:1px;
  font-weight:600
}

.acteurs-hero__brochure {
  position:absolute;
  right:20px;
  bottom:18px;
  z-index:3;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:18px 34px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.acteurs-hero__brochure:hover,
.acteurs-hero__brochure:focus-visible {
  background:#fff;
  transform:translateY(-3px)
}

.acteurs-saving {
  background:var(--yellow);
  color:var(--ink);
  padding:16px 20px
}

.acteurs-saving p {
  width:min(1640px,100%);
  margin:0 auto;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:200
}

.acteurs-saving strong {
  font-weight:600
}

.acteurs-intro {
  background:var(--blue);
  padding:20px;
  min-height:300px;
  display:grid;
  grid-template-columns:minmax(320px,520px) minmax(360px,716px);
  gap:clamp(72px,10vw,220px);
  align-items:start
}

.acteurs-intro__lead {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:300
}

.acteurs-intro__copy h2 {
  margin:0;
  font-size:18px;
  line-height:23px;
  letter-spacing:1px;
  font-weight:600
}

.acteurs-intro__copy p,
.acteurs-developer p,
.acteurs-reference li,
.acteurs-odalys__copy p {
  margin:10px 0 0;
  font-size:18px;
  line-height:28px;
  letter-spacing:1px;
  font-weight:200
}

.acteurs-intro__copy p {
  margin:0
}

.acteurs-odalys__copy p:first-child {
  margin-top:0
}

.acteurs-text__mobile {
  display:none
}

.acteurs-partners {
  background:#fff;
  padding:20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0
}

.acteurs-partners__side {
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:20px;
  min-width:0
}

.acteurs-partners__side--left {
  padding-right:20px
}

.acteurs-partners__side--right {
  border-left:1px solid rgba(36,36,38,.45);
  padding-left:20px;
  padding-right:20px
}

.acteurs-developer {
  display:grid;
  grid-template-columns:minmax(160px,180px) minmax(320px,520px);
  gap:clamp(40px,6vw,60px);
  align-items:start;
  min-height:430px
}

.acteurs-developer__logo.acteurs-developer__logo {
  width:clamp(130px,12vw,190px);
  height:auto;
  object-fit:contain
}

.acteurs-developer__logo--foresite {
  width:clamp(160px,15vw,230px)
}

.acteurs-developer p {
  margin:0
}

.acteurs-developer strong,
.acteurs-text__desktop strong {
  font-weight:500;
  letter-spacing:1px!important
}

.acteurs-references {
  background:#fff;
  padding:0 20px 20px
}

.acteurs-references__grid {
  width:min(1880px,100%);
  margin:0 auto;
  display:grid;
  gap:20px
}

.acteurs-references__grid--eaglestone {
  grid-template-columns:1fr 1fr
}

.acteurs-references__grid--foresite {
  grid-template-columns:1fr;
  align-items:end
}

.acteurs-partners h2 {
  margin:0;
  text-transform:uppercase;
  font-size:18px;
  line-height:35px;
  letter-spacing:2px;
  font-weight:300
}

.acteurs-reference {
  position:relative;
  min-height:0;
  overflow:hidden
}

.acteurs-reference:not(.acteurs-reference--wide) {
  aspect-ratio:1/1
}

.acteurs-reference--wide {
  grid-column:auto;
  aspect-ratio:2/1
}

.acteurs-reference > img {
  width:100%;
  height:100%;
  object-fit:cover
}

.acteurs-reference__panel {
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  min-height:158px;
  background:#fff;
  padding:10px
}

.acteurs-reference--wide .acteurs-reference__panel {
  left:auto;
  min-width:420px
}

.acteurs-reference h3 {
  margin:0 0 18px;
  font-size:18px;
  line-height:23px;
  letter-spacing:1px;
  font-weight:600
}

.acteurs-reference ul {
  list-style:none;
  margin:0;
  padding:0
}

.acteurs-reference li {
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:6px;
  align-items:start;
  margin:0
}

.acteurs-reference li:before {
  content:"→";
  font-weight:600
}

.acteurs-odalys {
  background:#ef5633;
  padding:20px;
  display:grid;
  grid-template-columns:minmax(160px,220px) minmax(320px,500px) 1fr;
  gap:20px;
  align-items:start
}

.acteurs-odalys__logo.acteurs-odalys__logo {
  width:clamp(150px,13vw,170px);
  height:auto;
  object-fit:contain
}

.acteurs-odalys__copy h2 {
  margin:0;
  font-size:18px;
  line-height:23px;
  letter-spacing:1px;
  font-weight:600
}

.acteurs-odalys__metrics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:20px;
  align-items:stretch
}

.acteurs-odalys-metric {
  aspect-ratio:1/1;
  height:100%;
  min-height:0;
  min-width:0;
  background:#fff;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.acteurs-odalys-metric--empty {
  background:transparent;
  padding:0
}

.acteurs-odalys-metric--photo {
  margin:0;
  overflow:hidden;
  padding:0
}

.acteurs-odalys-metric strong {
  display:block;
  color:#69c4c9;
  font-size:clamp(50px,4.8vw,75px);
  line-height:1;
  letter-spacing:-2px;
  font-weight:600
}

.acteurs-odalys-metric span {
  display:block;
  color:#69c4c9;
  font-size:18px;
  line-height:23px;
  letter-spacing:1px;
  font-weight:200
}

.acteurs-odalys-metric p {
  margin:0;
  text-transform:uppercase;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:300
}

.acteurs-odalys-metric--photo img {
  width:100%;
  height:100%;
  object-fit:cover
}

@media (min-width:1101px) and (max-width:1700px) {
  .acteurs-odalys-metric strong {
    font-size:clamp(46px,3.8vw,62px)
  }

  .acteurs-odalys-metric p {
    font-size:24px;
    line-height:29px
  }
}

@media (max-width:1100px) {
  .acteurs-partners,
  .acteurs-odalys {
    grid-template-columns:1fr
  }

  .acteurs-partners__side--left,
  .acteurs-partners__side--right {
    padding-left:0;
    padding-right:0;
    border-left:0
  }

  .acteurs-partners__side--right {
    border-top:1px solid rgba(36,36,38,.45);
    padding-top:20px
  }

  .acteurs-odalys__metrics {
    grid-template-columns:1fr 1fr
  }
}

@media (max-width:900px) {
  .acteurs-hero {
    min-height:620px
  }

  .acteurs-hero__copy {
    padding:140px 14px 92px
  }

  .acteurs-hero h1 {
    font-size:52px;
    line-height:54px
  }

  .acteurs-hero__brochure {
    right:14px;
    bottom:18px;
    min-width:260px;
    min-height:80px;
    font-size:18px;
    line-height:26px;
    font-weight:600
  }

  .acteurs-saving,
  .acteurs-intro,
  .acteurs-partners,
  .acteurs-odalys {
    padding-left:14px;
    padding-right:14px
  }

  .acteurs-saving p,
  .acteurs-intro__lead {
    font-size:22px;
    line-height:27px
  }

  .acteurs-intro,
  .acteurs-developer {
    grid-template-columns:1fr;
    gap:28px
  }

  .acteurs-developer {
    min-height:0
  }

  .acteurs-references__grid {
    gap:14px
  }

  .acteurs-reference {
    min-height:0
  }

  .acteurs-odalys__metrics {
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:14px
  }

  .acteurs-odalys-metric {
    aspect-ratio:auto;
    height:auto;
    min-height:250px;
    display:flex;
    padding:18px
  }

  .acteurs-odalys-metric--empty {
    display:none
  }

  .acteurs-odalys-metric--photo {
    aspect-ratio:1/1;
    min-height:0;
    padding:0
  }

  .acteurs-odalys-metric strong {
    font-size:70px;
    line-height:74px
  }

  .acteurs-odalys-metric p {
    font-size:24px;
    line-height:29px
  }
}

@media (max-width:900px) {
  .square-content-page--actors .acteurs-hero {
    min-height:360px;
    align-items:start
  }

  .square-content-page--actors .acteurs-hero:after {
    background:linear-gradient(180deg,rgba(162,216,239,.9) 0%,rgba(162,216,239,.55) 58%,rgba(162,216,239,.18) 100%);
    mix-blend-mode:multiply
  }

  .square-content-page--actors .acteurs-hero > img {
    object-position:15% top
  }

  .square-content-page--actors .acteurs-hero__copy {
    padding:96px 12px 0;
    text-align:left;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--actors .acteurs-hero h1 {
    max-width:335px;
    color:#fff;
    text-align:left;
    font-size:35px;
    line-height:36px;
    letter-spacing:1px;
    font-weight:600
  }

  .acteurs-hero__br--mobile {
    display:block!important
  }

  .square-content-page--actors .acteurs-hero__brochure {
    left:20px;
    right:20px;
    bottom:20px;
    min-width:0;
    width:auto;
    min-height:70px;
    padding:10px 10px;
    font-size:16px;
    font-weight:600;
    line-height:20px;
    letter-spacing:1.5px;
    z-index:4;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--actors .acteurs-saving {
    padding:16px 34px 22px;
    text-align:center
  }

  .square-content-page--actors .acteurs-saving p {
    max-width:315px;
    margin:0 auto;
    font-size:20px;
    font-weight:300;
    line-height:22px;
    letter-spacing:0;
    text-transform:none;
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--actors .acteurs-saving br {
    display:block!important
  }

  .square-content-page--actors .acteurs-saving strong {
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 auto 10px;
    font-size:35px;
    font-weight:600;
    line-height:36px;
    letter-spacing:0;
    text-transform:none
  }

  .square-content-page--actors .acteurs-intro {
    display:block;
    padding:14px 12px 20px
  }

  .square-content-page--actors .acteurs-intro,
  .square-content-page--actors .acteurs-partners,
  .square-content-page--actors .acteurs-odalys {
    opacity:1!important;
    transform:none!important
  }

  .square-content-page--actors .acteurs-intro__lead {
    max-width:330px;
    font-size:30px;
    line-height:35px;
    letter-spacing:0px
  }

  .square-content-page--actors .acteurs-intro {
    display:block;
    padding:20px
  }

  .square-content-page--actors .acteurs-intro__copy {
    margin-top:18px
  }

  .square-content-page--actors .acteurs-intro__copy h2 {
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--actors .acteurs-text__desktop {
    display:none
  }

  .square-content-page--actors .acteurs-text__mobile {
    display:inline
  }

  .square-content-page--actors .acteurs-intro__copy p {
    margin-top:6px;
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--actors .acteurs-partners {
    display:block;
    padding:20px
  }

  .square-content-page--actors .acteurs-partners__side {
    display:block
  }

  .square-content-page--actors .acteurs-partners__side--right {
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid rgba(36,36,38,.45)
  }

  .square-content-page--actors .acteurs-developer {
    display:block;
    min-height:0
  }

  .square-content-page--actors .acteurs-developer__logo.acteurs-developer__logo {
    width:170px;
    margin:0 0 18px
  }

  .square-content-page--actors .acteurs-developer__logo--foresite.acteurs-developer__logo--foresite {
    width:120px
  }

  .square-content-page--actors .acteurs-developer p {
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--actors .acteurs-partners h2 {
    margin:18px 0 8px;
    font-size:15px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--actors .acteurs-references__grid {
    grid-template-columns:1fr;
    gap:10px;
    overflow:hidden
  }

  .square-content-page--actors .acteurs-reference,
  .square-content-page--actors .acteurs-reference:not(.acteurs-reference--wide),
  .square-content-page--actors .acteurs-reference--wide {
    aspect-ratio:auto;
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
    background:var(--cream)
  }

  .square-content-page--actors .acteurs-reference > img {
    aspect-ratio:336/178;
    height:auto
  }

  .square-content-page--actors .acteurs-reference__panel {
    position:static;
    min-height:0;
    padding:10px;
    background:var(--cream)
  }

  .square-content-page--actors .acteurs-reference h3 {
    margin:0 0 50px;
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--actors .acteurs-reference li {
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--actors .acteurs-odalys {
    display:block;
    padding:20px
  }

  .square-content-page--actors .acteurs-odalys__logo.acteurs-odalys__logo {
    width:170px;
    margin:0 0 30px;
    filter:brightness(1) invert(0)
  }

  .square-content-page--actors .acteurs-odalys__copy h2 {
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--actors .acteurs-odalys__copy p {
    margin-top:8px;
    font-size:18px;
    line-height:28px;
    letter-spacing:1px
  }

  .square-content-page--actors .acteurs-odalys__metrics {
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:20px;
    margin-top:18px
  }

  .square-content-page--actors .acteurs-odalys-metric {
    aspect-ratio:auto;
    height:auto;
    min-height:155px;
    padding:20px;
    aspect-ratio:1;
    width:100%
  }

  .square-content-page--actors .acteurs-odalys-metric--empty {
    order:1
  }

  .square-content-page--actors .acteurs-odalys__metrics > article:nth-of-type(1) {
    order:2
  }

  .square-content-page--actors .acteurs-odalys__metrics > article:nth-of-type(2) {
    order:3
  }

  .square-content-page--actors .acteurs-odalys-metric--photo {
    aspect-ratio:1;
    min-height:0;
    padding:0;
    order:4
  }

  .square-content-page--actors .acteurs-odalys__metrics > article:nth-of-type(3) {
    order:5
  }

  .square-content-page--actors .acteurs-odalys__metrics > article:nth-of-type(4) {
    order:6
  }

  .square-content-page--actors .acteurs-odalys-metric strong {
    font-size:65px;
    line-height:54px;
    letter-spacing:-1px
  }

  .square-content-page--actors .acteurs-odalys-metric span {
    font-size:25px;
    line-height:20px
  }

  .square-content-page--actors .acteurs-odalys-metric p {
    font-size:30px;
    line-height:30px;
    letter-spacing:-1px
  }
}

.contact-page main {
  background:var(--cream)
}

.contact-hero {
  position:relative;
  min-height:720px;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#fff
}

.contact-hero img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}

.contact-hero__shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(250,191,116,.92) 0%,rgba(250,191,116,.55) 34%,rgba(250,191,116,0) 72%);
  mix-blend-mode:multiply
}

.contact-hero h1 {
  position:relative;
  z-index:1;
  margin:0;
  width:100%;
  max-width:1600px;
  padding:120px 20px 80px;
  text-align:center;
  font-size:55px;
  line-height:60px;
  letter-spacing:1px;
  font-weight:600
}

.contact-hero__brochure {
  position:absolute;
  right:20px;
  bottom:20px;
  z-index:2;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:18px 36px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.contact-hero__brochure:hover,
.contact-hero__brochure:focus-visible {
  background:#fff;
  transform:translateY(-2px)
}

.contact-saving {
  background:var(--yellow);
  color:var(--ink);
  padding:11px 20px 10px
}

.contact-saving p {
  margin:0 auto;
  width:min(1640px,100%);
  text-align:center;
  text-transform:uppercase;
  font-size:23px;
  line-height:35px;
  letter-spacing:2px;
  font-weight:200
}

.invest-saving p,
.offres-saving p,
.square-project-saving p,
.localisation-saving p,
.acteurs-saving p,
.contact-saving p {
  margin:0 auto;
  width:min(1640px,100%);
  text-align:center;
  text-transform:uppercase;
  font-size:23px;
  line-height:35px;
  letter-spacing:2px;
  font-weight:200
}

.invest-saving strong,
.offres-saving strong,
.square-project-saving strong,
.localisation-saving strong,
.acteurs-saving strong,
.contact-saving strong {
  font-weight:800
}

.offres-saving br,
.square-project-saving br,
.localisation-saving br,
.acteurs-saving br,
.contact-saving br {
  display:none
}

.invest-saving,
.offres-saving,
.square-project-saving,
.localisation-saving,
.acteurs-saving,
.contact-saving {
  padding:12px 20px
}

.contact-main {
  background:var(--cream);
  background-image:linear-gradient(rgba(149,196,219,.38) 1px,transparent 1px),
    linear-gradient(90deg,rgba(149,196,219,.38) 1px,transparent 1px);
  background-size:247px 247px;
  background-position:center top;
  padding:100px 20px 150px
}

.contact-main__intro {
  width:min(1088px,100%);
  margin:0 auto 10px;
  text-align:center;
  color:var(--ink)
}

.contact-main__intro h2 {
  margin:0;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:600
}

.contact-main__intro p {
  margin:0 auto;
  max-width:1200px;
  font-size:30px;
  line-height:35px;
  letter-spacing:1px;
  font-weight:300
}

.contact-main__intro .form-message {
  width:max-content;
  max-width:100%;
  margin:28px auto 0;
  padding:12px 18px;
  font-size:18px;
  line-height:23px;
  letter-spacing:0;
  font-weight:500
}

.contact-main.is-success .contact-main__intro {
  margin-bottom:44px
}

.contact-main.is-success .contact-main__form {
  display:none
}

.contact-confirmation {
  width:min(620px,100%);
  min-height:360px;
  margin:0 auto;
  padding:34px;
  background:#58b998;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:left
}

.contact-confirmation[hidden] {
  display:none
}

.contact-confirmation h2 {
  margin:0;
  font-size:54px;
  line-height:58px;
  letter-spacing:0;
  font-weight:600
}

.contact-confirmation p {
  margin:28px 0;
  font-size:30px;
  line-height:35px;
  letter-spacing:0;
  font-weight:200
}

.contact-confirmation a {
  width:max-content;
  min-width:260px;
  min-height:80px;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:16px 28px;
  text-align:center;
  text-transform:uppercase;
  text-decoration:none;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600
}

.contact-main__form.contact-form {
  width:min(1088px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:10px 20px
}

.contact-main__form.square-hubspot-form .hs-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 20px
}

.contact-main__form.square-hubspot-form .hs-form-field {
  min-height:58px;
  background:#fff;
  padding:0 16px;
  display:flex;
  align-items:center
}

.contact-main__form.square-hubspot-form .hs-fieldtype-textarea {
  grid-column:1/-1;
  min-height:240px;
  align-items:flex-start
}

.contact-main__form.square-hubspot-form .hs-fieldtype-textarea textarea {
  min-height:190px;
  padding:16px 0;
  resize:vertical
}

.contact-main__form.square-hubspot-form input[type="text"],
.contact-main__form.square-hubspot-form input[type="email"],
.contact-main__form.square-hubspot-form input[type="tel"],
.contact-main__form.square-hubspot-form input[type="number"],
.contact-main__form.square-hubspot-form select,
.contact-main__form.square-hubspot-form textarea {
  font-size:15px;
  line-height:20px
}

.contact-main__form.square-hubspot-form input::placeholder,
.contact-main__form.square-hubspot-form textarea::placeholder {
  font-size:15px;
  line-height:20px;
  letter-spacing:1px
}

.contact-main__form.square-hubspot-form .hs-fieldtype-radio,
.contact-main__form.square-hubspot-form .hs-fieldtype-checkbox,
.contact-main__form.square-hubspot-form .hs_consent {
  grid-column:1/-1;
  background:transparent;
  padding:0;
  display:block
}

.contact-main__form.square-hubspot-form .inputs-list {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px
}

.contact-main__form.square-hubspot-form .hs-form-radio label,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox label {
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#fbd5a4;
  padding:0 12px
}

.contact-main__form.square-hubspot-form .hs-form-radio span,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox span {
  color:var(--ink);
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:200
}

.contact-main__form.square-hubspot-form .hs-submit {
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end
}

.contact-main__form.square-hubspot-form .hs-button {
  width:300px;
  min-width:260px;
  min-height:80px;
  padding:18px 26px;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600
}

.contact-main__form.square-hubspot-form,
.contact-main__form.square-hubspot-form .hs-form,
.contact-main__form.square-hubspot-form form {
  width:min(1088px,100%)!important;
  margin:0 auto!important
}

.contact-main__form.square-hubspot-form .hs-form,
.contact-main__form.square-hubspot-form form {
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px 20px!important
}

.contact-main__form.square-hubspot-form fieldset,
.contact-main__form.square-hubspot-form .form-columns-1,
.contact-main__form.square-hubspot-form .form-columns-2,
.contact-main__form.square-hubspot-form .form-columns-3 {
  display:contents!important
}

.contact-main__form.square-hubspot-form .hs-form-field {
  min-height:58px!important;
  background:#fff!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important
}

.contact-main__form.square-hubspot-form .hs-form-field > label {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}

.contact-main__form.square-hubspot-form .hs-fieldtype-textarea,
.contact-main__form.square-hubspot-form .hs_message,
.contact-main__form.square-hubspot-form .hs-message {
  grid-column:1/-1!important;
  min-height:240px!important;
  align-items:flex-start!important
}

.contact-main__form.square-hubspot-form .hs-fieldtype-textarea textarea,
.contact-main__form.square-hubspot-form .hs_message textarea,
.contact-main__form.square-hubspot-form .hs-message textarea {
  min-height:190px!important;
  padding:16px 0!important;
  resize:vertical!important
}

.contact-main__form.square-hubspot-form .hs-input,
.contact-main__form.square-hubspot-form input[type="text"],
.contact-main__form.square-hubspot-form input[type="email"],
.contact-main__form.square-hubspot-form input[type="tel"],
.contact-main__form.square-hubspot-form input[type="number"],
.contact-main__form.square-hubspot-form select,
.contact-main__form.square-hubspot-form textarea {
  font-size:15px!important;
  line-height:20px!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form input::placeholder,
.contact-main__form.square-hubspot-form textarea::placeholder {
  color:rgba(36,36,38,.22)!important;
  opacity:1!important;
  text-transform:uppercase!important;
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:1px!important;
  font-weight:300!important
}

.contact-main__form.square-hubspot-form .hs-fieldtype-radio,
.contact-main__form.square-hubspot-form .hs-fieldtype-checkbox,
.contact-main__form.square-hubspot-form .hs_consent,
.contact-main__form.square-hubspot-form .legal-consent-container {
  grid-column:1/-1!important;
  background:transparent!important;
  padding:0!important;
  display:block!important
}

.contact-main__form.square-hubspot-form .hs-fieldtype-radio > label,
.contact-main__form.square-hubspot-form .hs-fieldtype-checkbox > label,
.contact-main__form.square-hubspot-form .legal-consent-container > label,
.contact-main__form.square-hubspot-form .hs_consent > label {
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 8px!important;
  clip:auto!important;
  overflow:visible!important;
  white-space:normal!important;
  text-transform:uppercase!important;
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:1px!important;
  font-weight:600!important;
  color:var(--ink)!important
}

.contact-main__form.square-hubspot-form .inputs-list,
.contact-main__form.square-hubspot-form .inputs-list.multi-container {
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:8px!important
}

.contact-main__form.square-hubspot-form .inputs-list li {
  list-style:none!important;
  margin:0!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form .hs-form-radio label,
.contact-main__form.square-hubspot-form .hs-form-checkbox label,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox label {
  min-height:62px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  background:#fbd5a4!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  cursor:pointer!important
}

.contact-main__form.square-hubspot-form .hs-form-radio span,
.contact-main__form.square-hubspot-form .hs-form-checkbox span,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox span,
.contact-main__form.square-hubspot-form .legal-consent-container span {
  color:var(--ink)!important;
  text-transform:none!important;
  font-size:18px!important;
  line-height:26px!important;
  letter-spacing:1px!important;
  font-weight:200!important;
  margin:0!important
}

.contact-main__form.square-hubspot-form .hs-form-radio input,
.contact-main__form.square-hubspot-form .hs-form-checkbox input,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox input {
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  min-height:30px!important;
  appearance:none!important;
  border:1px dashed #707070!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px #fbd5a4!important;
  cursor:pointer!important
}

.contact-main__form.square-hubspot-form .hs-form-radio input:checked,
.contact-main__form.square-hubspot-form .hs-form-checkbox input:checked,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox input:checked {
  background:var(--mint)!important
}

.contact-main__form.square-hubspot-form .hs-submit,
.contact-main__form.square-hubspot-form .actions {
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form .hs-button,
.contact-main__form.square-hubspot-form input[type="submit"] {
  width:300px!important;
  min-width:260px!important;
  min-height:80px!important;
  padding:18px 26px!important;
  font-size:18px!important;
  line-height:26px!important;
  letter-spacing:1px!important;
  font-weight:600!important
}

.contact-main__form label,
.contact-main__form fieldset {
  margin:0
}

.contact-form__fields {
  display:grid;
  grid-template-columns:1fr;
  gap:10px
}

.contact-form__right {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-content:start
}

.contact-main__form label:not(.bot-field),
.contact-form__goals {
  min-height:auto;
  border:0;
  background:#fff;
  padding:0 16px
}

.contact-form label:not(.contact-form__consent):not(.bot-field),
.contact-form fieldset,
.contact-form__message {
  background:#fff;
  padding:13px 13px 0px 13px;
  margin-bottom:0
}

.contact-main__form label:not(.bot-field) {
  display:block
}

.contact-main__form span,
.contact-form__goals legend {
  display:block;
  text-transform:uppercase;
  font-size:15px;
  line-height:20px;
  letter-spacing:1px;
  font-weight:600;
  color:rgba(36,36,38,.22)
}

.contact-main__form a span {
  display:block;
  text-transform:uppercase;
  font-size:12px;
  line-height:15px;
  letter-spacing:1px;
  font-weight:600;
  color:rgba(36,36,38,.22)
}

.contact-form__field > span {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.contact-main__form input[type="text"],
.contact-main__form input[type="email"],
.contact-main__form input[type="tel"],
.contact-main__form textarea {
  width:100%;
  border:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  outline:0;
  font-size:15px;
  line-height:15px
}

.contact-main__form input::placeholder,
.contact-main__form textarea::placeholder {
  text-transform:uppercase;
  color:rgba(36,36,38,.22);
  opacity:1;
  font-size:15px;
  line-height:20px;
  letter-spacing:1px;
  font-weight:300
}

.contact-form__fields .contact-form__field,
.contact-form__right > .contact-form__field {
  display:flex!important;
  align-items:center;
  padding:0 16px
}

.contact-form__fields .contact-form__field input,
.contact-form__right > .contact-form__field input {
  height:50px;
  line-height:50px
}

.contact-form__goals {
  display:grid;
  gap:8px;
  align-content:start;
  background:#fff!important;
  padding:0 16px 16px
}

.contact-form__goals legend {
  display:block;
  width:calc(100% + 30px);
  padding:15px 0 15px 15px;
  margin-left:-15px;
  margin-bottom:0;
  background:#fff;
  color:var(--ink);
  letter-spacing:2px;
  white-space:normal
}

.contact-form__goals label,
.contact-form__consent {
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#fbd5a4!important;
  padding:0 12px!important;
  min-height:62px!important
}

.contact-form__goals label span,
.contact-form__consent span {
  text-transform:none;
  color:var(--ink);
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:200;
  margin:0
}

.contact-form__consent span {
  padding-left:10px
}

.contact-form__goals input[type="radio"],
.contact-form__consent input[type="checkbox"] {
  flex:0 0 30px;
  width:30px;
  height:30px;
  appearance:none;
  border:1px dashed #707070;
  background:#fff;
  box-shadow:inset 0 0 0 3px #fbd5a4;
  cursor:pointer
}

.contact-form__goals input[type="radio"]:checked,
.contact-form__consent input[type="checkbox"]:checked {
  background:var(--mint)
}

.contact-form__message {
  grid-column:1/-1;
  min-height:240px!important;
  padding:0 16px!important
}

.contact-form__message textarea {
  min-height:190px;
  resize:vertical;
  padding:16px 0
}

.contact-form__actions {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(320px,1fr) 300px;
  gap:20px;
  align-items:stretch
}

.contact-form__actions .contact-form__consent {
  grid-column:auto
}

.contact-form__consent {
  min-height:58px!important
}

.contact-form__actions button {
  width:300px;
  min-width:260px;
  min-height:80px;
  border:0;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:18px 26px;
  text-transform:uppercase;
  font-family:Moanslight,sans-serif;
  font-size:18px;
  line-height:26px;
  letter-spacing:1px;
  font-weight:600;
  cursor:pointer;
  transition:background .22s ease,color .22s ease,transform .22s ease
}

.contact-form__actions button:hover,
.contact-form__actions button:focus-visible {
  background:#fff;
  transform:translateY(-2px)
}

.contact-main__form .contact-form__legal {
  grid-column:1/-1;
  margin:0;
  max-width:none;
  font-size:10px;
  line-height:12px;
  letter-spacing:.3px;
  font-weight:200;
  color:var(--ink)
}

.contact-intro__mobile {
  display:none
}

@media (max-width:900px) {
  .contact-hero {
    min-height:620px
  }

  .contact-hero h1 {
    font-size:52px;
    line-height:54px;
    padding:140px 14px 92px
  }

  .contact-hero__brochure {
    right:14px;
    bottom:18px;
    min-width:260px;
    min-height:80px;
    font-size:18px;
    line-height:26px;
    font-weight:600
  }

  .contact-saving p {
    font-size:20px;
    line-height:25px;
    letter-spacing:1px
  }

  .contact-main {
    padding:72px 14px 90px
  }

  .contact-main__intro {
    margin-bottom:42px
  }

  .contact-main__intro h2,
  .contact-main__intro p {
    font-size:24px;
    line-height:29px
  }

  .contact-main__form.contact-form,
  .contact-form__right {
    grid-template-columns:1fr;
    gap:12px
  }

  .contact-main__form.square-hubspot-form .hs-form {
    grid-template-columns:1fr;
    gap:12px
  }

  .contact-form__actions {
    grid-template-columns:minmax(0,1fr) 300px;
    gap:12px
  }

  .contact-form__actions button {
    width:300px;
    min-width:260px;
    min-height:80px;
    font-size:18px;
    line-height:26px;
    font-weight:600
  }
}

@media (max-width:900px) {
  .contact-page .contact-hero {
    min-height:340px;
    display:block
  }

  .contact-page .contact-hero img {
    object-position:40% top
  }

  .contact-page .contact-hero__shade {
    background:linear-gradient(180deg,rgba(36,36,38,.32) 0%,rgba(36,36,38,.12) 52%,rgba(250,191,116,.18) 100%);
    mix-blend-mode:multiply
  }

  .contact-page .contact-hero h1 {
    max-width:100%;
    padding:96px 12px 0;
    color:#FABF74;
    text-align:left;
    font-size:35px;
    line-height:36px;
    letter-spacing:1px;
    font-weight:600;
    opacity:1!important;
    transform:none!important
  }

  .contact-hero__br--mobile {
    display:block!important
  }

  .contact-page .contact-hero__brochure {
    left:20px;
    right:20px;
    bottom:20px;
    min-width:0;
    width:auto;
    min-height:70px;
    padding:10px 10px;
    font-size:16px;
    font-weight:600;
    line-height:20px;
    letter-spacing:1.5px;
    z-index:4;
    opacity:1!important;
    transform:none!important
  }

  .contact-page .contact-saving {
    padding:16px 34px 22px;
    text-align:center
  }

  .contact-page .contact-saving p {
    max-width:315px;
    margin:0 auto;
    font-size:20px;
    font-weight:300;
    line-height:22px;
    letter-spacing:0;
    text-transform:none;
    opacity:1!important;
    transform:none!important
  }

  .contact-page .contact-saving br {
    display:block!important
  }

  .contact-page .contact-saving strong {
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 auto 10px;
    font-size:35px;
    font-weight:600;
    line-height:36px;
    letter-spacing:0;
    text-transform:none
  }

  .contact-page .contact-main {
    padding:20px;
    background-size:123px 123px
  }

  .contact-page .contact-main__intro {
    width:100%;
    margin:0 0 0px;
    text-align:left;
    opacity:1!important;
    transform:none!important
  }

  .contact-page .contact-main.is-success .contact-main__intro {
    margin-bottom:32px
  }

  .contact-page .contact-confirmation {
    min-height:430px;
    padding:22px;
    opacity:1!important;
    transform:none!important
  }

  .contact-page .contact-confirmation h2 {
    font-size:42px;
    line-height:46px
  }

  .contact-page .contact-confirmation p {
    font-size:24px;
    line-height:29px
  }

  .contact-page .contact-confirmation a {
    width:100%;
    min-width:0;
    min-height:62px;
    font-size:16px;
    line-height:21px
  }

  .contact-page .contact-main__intro h2 {
    max-width:100%;
    font-size:30px;
    line-height:35px;
    letter-spacing:0px
  }

  .contact-page .contact-intro__desktop {
    display:none
  }

  .contact-page .contact-intro__mobile {
    display:inline
  }

  .contact-page .contact-main__intro p {
    max-width:100%;
    font-size:30px;
    line-height:35px;
    letter-spacing:0px;
    font-weight:200;
    padding:0;
    margin:0
  }

  .contact-page .contact-main__form.contact-form {
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    opacity:1!important;
    transform:none!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form {
    grid-template-columns:1fr!important;
    gap:8px!important
  }

  .contact-page .contact-main__form.square-hubspot-form fieldset,
  .contact-page .contact-main__form.square-hubspot-form .form-columns-1,
  .contact-page .contact-main__form.square-hubspot-form .form-columns-2,
  .contact-page .contact-main__form.square-hubspot-form .form-columns-3 {
    display:contents!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-field {
    min-height:54px!important;
    padding:0 10px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-textarea {
    min-height:174px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-textarea textarea {
    min-height:154px!important;
    padding:10px 0!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-radio label {
    min-height:48px!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:#fff!important;
    padding:10px 65px!important;
    text-align:center!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-radio input {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-radio label:has(input:checked) {
    background:var(--mint)!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-checkbox label,
  .contact-page .contact-main__form.square-hubspot-form .hs-form-booleancheckbox label {
    min-height:150px!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:14px!important;
    padding:14px 18px!important;
    text-align:center!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-submit {
    display:block!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-button {
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    padding:17px 22px!important;
    font-size:16px!important;
    line-height:21px!important;
    letter-spacing:.8px!important
  }

  .contact-page .contact-form__fields {
    order:1;
    gap:8px
  }

  .contact-page .contact-form__right {
    display:contents
  }

  .contact-page .contact-form__right > .contact-form__field {
    order:2
  }

  .contact-page .contact-form__message {
    order:3
  }

  .contact-page .contact-form__goals {
    order:4
  }

  .contact-page .contact-form__actions {
    order:5
  }

  .contact-page .contact-main__form .contact-form__legal {
    order:6
  }

  .contact-page .contact-main__form label:not(.bot-field),
  .contact-page .contact-form__message {
    min-height:54px;
    padding:0 10px!important
  }

  .contact-page .contact-form__fields .contact-form__field,
  .contact-page .contact-form__right > .contact-form__field {
    padding:0 10px!important
  }

  .contact-page .contact-form__fields .contact-form__field input,
  .contact-page .contact-form__right > .contact-form__field input {
    height:54px;
    line-height:54px
  }

  .contact-page .contact-main__form input::placeholder,
  .contact-page .contact-main__form textarea::placeholder {
    font-size:15px;
    line-height:20px;
    letter-spacing:.3px
  }

  .contact-page .contact-main__form input[type="text"],
  .contact-page .contact-main__form input[type="email"],
  .contact-page .contact-main__form input[type="tel"],
  .contact-page .contact-main__form textarea {
    font-size:15px;
    line-height:20px
  }

  .contact-page .contact-form__message {
    min-height:174px!important
  }

  .contact-page .contact-form__message textarea {
    min-height:154px;
    padding:10px 0
  }

  .contact-page .contact-form__goals {
    gap:15px;
    background:transparent!important;
    padding:10px 0 10px!important
  }

  .contact-page .contact-form__goals legend {
    width:100%;
    margin:0 0 8px;
    padding:0;
    background:transparent;
    font-size:18px;
    line-height:20px;
    letter-spacing:2px;
    padding-top:40px
  }

  .contact-page .contact-main .contact-form__goals label {
    min-height:48px!important;
    justify-content:center;
    border-radius:999px;
    background:#fff!important;
    padding:10px 65px!important;
    text-align:center
  }

  .contact-page .contact-form__goals label:has(input:checked) {
    background:var(--mint)!important
  }

  .contact-page .contact-form__goals label span {
    font-size:18px;
    line-height:22px;
    letter-spacing:1px;
    font-weight:200
  }

  .contact-page .contact-form__goals input[type="radio"] {
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none
  }

  .contact-page .contact-form__actions {
    grid-template-columns:1fr;
    gap:15px
  }

  .contact-page .contact-form__consent {
    min-height:150px!important;
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    gap:14px;
    background:#fbd5a4!important;
    padding:14px 18px!important;
    text-align:center
  }

  .contact-page .contact-form__consent span {
    max-width:250px;
    font-size:18px;
    line-height:22px;
    letter-spacing:1px;
    padding-left:0
  }

  .contact-page .contact-form__consent input[type="checkbox"] {
    flex:0 0 26px;
    width:26px;
    height:26px;
    box-shadow:inset 0 0 0 3px #fbd5a4
  }

  .contact-page .contact-form__actions button {
    width:100%;
    min-width:0;
    min-height:54px;
    padding:17px 22px;
    font-size:16px;
    line-height:21px;
    letter-spacing:.8px
  }

  .contact-page .contact-main__form .contact-form__legal {
    margin-top:10px;
    font-size:10px;
    line-height:12px;
    letter-spacing:1px
  }
}

@media (max-width:900px) {
  .site-footer__address-rest br {
    display:block!important
  }

  .footer.site-footer {
    padding:20px
  }

  .hero,
  .invest-hero,
  .offres-hero,
  .square-project-hero,
  .localisation-hero,
  .acteurs-hero,
  .contact-hero {
    min-height:100vh;
    min-height:100svh;
    height:100vh;
    height:100svh
  }

  .hero-video,
  .invest-hero > img,
  .offres-hero > img,
  .square-project-hero > img,
  .localisation-hero > img,
  .acteurs-hero > img,
  .contact-hero img {
    height:100%
  }

  .lang-current,
  .lang-option,
  .lang-switch.is-open .lang-current {
    font-size:18px;
    font-weight:300
  }

  :where(
    .content-button,
    .offer-card__cta,
    .cta,
    .confirmation-button,
    .home-offers__cta,
    .home-experience__cta,
    .investment__jump,
    .invest-odalys__cta,
    .invest-parental__cta,
    .offres-card__cta,
    .square-project-gallery__cta,
    .contact-form__actions button
  ) {
    width:100%;
    min-width:0;
    min-height:40px;
    padding:22px 36px;
    font-size:16px;
    line-height:26px;
    font-weight:600;
    letter-spacing:1px
  }

  .investment__jump {
    order:4;
    margin:14px 0 0 auto
  }
}

.content-button,
.offer-card__cta,
.site-nav__brochure,
.brochure-trigger,
.brochure-form__bottom .cta,
.brochure-confirmation__link,
.cta,
.confirmation-button,
.home-offers__cta,
.home-experience__cta,
.investment__jump,
.invest-odalys__cta,
.invest-parental__cta,
.offres-card__cta,
.square-project-hero__brochure,
.square-project-gallery__cta,
.localisation-hero__brochure,
.acteurs-hero__brochure,
.contact-hero__brochure,
.footer-cta__panel a,
.contact-form__actions button {
  font-weight:500!important
}

@media (min-width:901px) {
  .invest-page,
  .offres-page,
  .square-project,
  .localisation-page,
  .acteurs-page,
  .contact-page main {
    position:relative
  }

  .invest-hero,
  .offres-hero,
  .square-project-hero,
  .localisation-hero,
  .acteurs-hero,
  .contact-hero {
    margin-bottom:59px
  }

  .square-project-hero,
  .acteurs-hero {
    box-shadow:0 59px 0 var(--blue)
  }

  .invest-saving,
  .offres-saving,
  .square-project-saving,
  .localisation-saving,
  .acteurs-saving,
  .contact-saving {
    position:absolute;
    left:0;
    right:0;
    top:720px;
    z-index:6;
    opacity:1;
    transform:translateY(0);
    transition:opacity .28s ease,transform .28s ease
  }

  body.is-scrolled .invest-saving,
  body.is-scrolled .offres-saving,
  body.is-scrolled .square-project-saving,
  body.is-scrolled .localisation-saving,
  body.is-scrolled .acteurs-saving,
  body.is-scrolled .contact-saving {
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px)
  }
}

@media (max-width:900px) {
  .square-shared-saving__desktop {
    display:none
  }

  .square-shared-saving__mobile {
    display:inline
  }
}

.home-offers__cta {
  border:1px solid var(--orange);
  padding:17px 35px!important
}

.home-offers__cta:hover,
.home-offers__cta:focus-visible {
  border-color:var(--orange)
}

/* Last override for HubSpot embeds: force the approved Square form design. */
.square-hubspot-form,
.square-hubspot-form * {
  box-sizing:border-box!important
}

.square-hubspot-form .hs-form,
.square-hubspot-form form,
.square-hubspot-form fieldset,
.square-hubspot-form .form-columns-1,
.square-hubspot-form .form-columns-2,
.square-hubspot-form .form-columns-3,
.square-hubspot-form .hs-form-field,
.square-hubspot-form .input {
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important
}

.square-hubspot-form .hs-input,
.square-hubspot-form input[type="text"],
.square-hubspot-form input[type="email"],
.square-hubspot-form input[type="tel"],
.square-hubspot-form input[type="number"],
.square-hubspot-form input[type="url"],
.square-hubspot-form input[type="date"],
.square-hubspot-form select,
.square-hubspot-form textarea {
  width:100%!important;
  max-width:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-family:Moanslight,Arial,sans-serif!important;
  outline:0!important
}

.square-hubspot-form input::placeholder,
.square-hubspot-form textarea::placeholder {
  color:rgba(36,36,38,.22)!important;
  opacity:1!important;
  text-transform:uppercase!important;
  font-weight:300!important
}

.square-hubspot-form .hs-form-field > label {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}

.square-hubspot-form .hs-button,
.square-hubspot-form input[type="submit"] {
  border:0!important;
  border-radius:999px!important;
  background:var(--yellow)!important;
  color:var(--ink)!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  text-shadow:none!important;
  text-align:center!important;
  text-transform:uppercase!important;
  font-family:Moanslight,Arial,sans-serif!important;
  font-weight:500!important;
  cursor:pointer!important;
  transition:background .22s ease,color .22s ease,transform .22s ease!important
}

.square-hubspot-form .hs-button:hover,
.square-hubspot-form .hs-button:focus-visible,
.square-hubspot-form input[type="submit"]:hover,
.square-hubspot-form input[type="submit"]:focus-visible {
  background:#fff!important;
  color:var(--ink)!important;
  transform:translateY(-2px)!important
}

.contact-main__form.square-hubspot-form,
.contact-main__form.square-hubspot-form .hs-form,
.contact-main__form.square-hubspot-form form {
  width:min(1088px,100%)!important;
  margin:0 auto!important
}

.contact-main__form.square-hubspot-form .hs-form,
.contact-main__form.square-hubspot-form form {
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px 20px!important
}

.contact-main__form.square-hubspot-form fieldset,
.contact-main__form.square-hubspot-form .form-columns-1,
.contact-main__form.square-hubspot-form .form-columns-2,
.contact-main__form.square-hubspot-form .form-columns-3 {
  display:contents!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form .hs-form-field:not(.hs-fieldtype-radio):not(.hs-fieldtype-checkbox):not(.hs-fieldtype-booleancheckbox):not(.hs-fieldtype-textarea),
.contact-main__form.square-hubspot-form .hs-fieldtype-select {
  min-height:58px!important;
  background:#fff!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important
}

.contact-main__form.square-hubspot-form .hs-fieldtype-textarea,
.contact-main__form.square-hubspot-form .hs_message,
.contact-main__form.square-hubspot-form .hs-message {
  grid-column:1/-1!important;
  min-height:240px!important;
  background:#fff!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:flex-start!important
}

.contact-main__form.square-hubspot-form .hs-fieldtype-textarea textarea,
.contact-main__form.square-hubspot-form .hs_message textarea,
.contact-main__form.square-hubspot-form .hs-message textarea {
  min-height:190px!important;
  padding:16px 0!important;
  resize:vertical!important
}

.contact-main__form.square-hubspot-form .hs-input,
.contact-main__form.square-hubspot-form input[type="text"],
.contact-main__form.square-hubspot-form input[type="email"],
.contact-main__form.square-hubspot-form input[type="tel"],
.contact-main__form.square-hubspot-form input[type="number"],
.contact-main__form.square-hubspot-form input[type="url"],
.contact-main__form.square-hubspot-form input[type="date"],
.contact-main__form.square-hubspot-form select,
.contact-main__form.square-hubspot-form textarea {
  min-height:50px!important;
  padding:0!important;
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:0!important
}

.contact-main__form.square-hubspot-form input::placeholder,
.contact-main__form.square-hubspot-form textarea::placeholder {
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:1px!important
}

.contact-main__form.square-hubspot-form .hs-fieldtype-radio,
.contact-main__form.square-hubspot-form .hs-fieldtype-checkbox,
.contact-main__form.square-hubspot-form .hs-fieldtype-booleancheckbox,
.contact-main__form.square-hubspot-form .hs_consent,
.contact-main__form.square-hubspot-form .legal-consent-container {
  grid-column:1/-1!important;
  background:transparent!important;
  padding:0!important;
  display:block!important
}

.contact-main__form.square-hubspot-form .hs-fieldtype-radio > label,
.contact-main__form.square-hubspot-form .hs-fieldtype-checkbox > label,
.contact-main__form.square-hubspot-form .hs-fieldtype-booleancheckbox > label,
.contact-main__form.square-hubspot-form .legal-consent-container > label,
.contact-main__form.square-hubspot-form .hs_consent > label {
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 8px!important;
  clip:auto!important;
  overflow:visible!important;
  white-space:normal!important;
  text-transform:uppercase!important;
  font-size:15px!important;
  line-height:20px!important;
  letter-spacing:1px!important;
  font-weight:600!important;
  color:var(--ink)!important
}

.contact-main__form.square-hubspot-form .inputs-list,
.contact-main__form.square-hubspot-form .inputs-list.multi-container {
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:8px!important
}

.contact-main__form.square-hubspot-form .inputs-list li {
  list-style:none!important;
  margin:0!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form .hs-form-radio label,
.contact-main__form.square-hubspot-form .hs-form-checkbox label,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox label {
  min-height:62px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  background:#fbd5a4!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  cursor:pointer!important
}

.contact-main__form.square-hubspot-form .hs-form-radio span,
.contact-main__form.square-hubspot-form .hs-form-checkbox span,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox span,
.contact-main__form.square-hubspot-form .legal-consent-container span {
  color:var(--ink)!important;
  text-transform:none!important;
  font-size:18px!important;
  line-height:26px!important;
  letter-spacing:1px!important;
  font-weight:200!important;
  margin:0!important
}

.contact-main__form.square-hubspot-form .hs-form-radio input,
.contact-main__form.square-hubspot-form .hs-form-checkbox input,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox input {
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  min-height:30px!important;
  appearance:none!important;
  border:1px dashed #707070!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px #fbd5a4!important;
  cursor:pointer!important
}

.contact-main__form.square-hubspot-form .hs-form-radio input:checked,
.contact-main__form.square-hubspot-form .hs-form-checkbox input:checked,
.contact-main__form.square-hubspot-form .hs-form-booleancheckbox input:checked {
  background:var(--mint)!important
}

.contact-main__form.square-hubspot-form .hs-submit,
.contact-main__form.square-hubspot-form .actions {
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important
}

.contact-main__form.square-hubspot-form .hs-button,
.contact-main__form.square-hubspot-form input[type="submit"] {
  width:300px!important;
  min-width:260px!important;
  min-height:80px!important;
  padding:18px 26px!important;
  font-size:18px!important;
  line-height:26px!important;
  letter-spacing:1px!important
}

.square-hubspot-form--brochure,
.square-hubspot-form--brochure .hs-form,
.square-hubspot-form--brochure form {
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  gap:0!important
}

.square-hubspot-form--brochure fieldset,
.square-hubspot-form--brochure .form-columns-1,
.square-hubspot-form--brochure .form-columns-2,
.square-hubspot-form--brochure .form-columns-3 {
  display:block!important;
  padding:0!important
}

.square-hubspot-form--brochure .hs-form-field:not(.hs-fieldtype-radio):not(.hs-fieldtype-checkbox):not(.hs-fieldtype-booleancheckbox) {
  min-height:82px!important;
  border-bottom:1px solid #cfcfcf!important;
  background:transparent!important;
  padding:0!important
}

.square-hubspot-form--brochure .hs-input,
.square-hubspot-form--brochure input[type="text"],
.square-hubspot-form--brochure input[type="email"],
.square-hubspot-form--brochure input[type="tel"],
.square-hubspot-form--brochure input[type="number"],
.square-hubspot-form--brochure input[type="url"],
.square-hubspot-form--brochure input[type="date"],
.square-hubspot-form--brochure select {
  min-height:58px!important;
  padding:13px 0 0!important;
  font-size:18px!important;
  line-height:22px!important;
  font-weight:400!important;
  letter-spacing:0!important
}

.square-hubspot-form--brochure textarea {
  min-height:100px!important;
  padding:13px 0 0!important;
  font-size:18px!important;
  line-height:22px!important;
  resize:vertical!important
}

.square-hubspot-form--brochure input::placeholder,
.square-hubspot-form--brochure textarea::placeholder {
  font-size:15px!important;
  letter-spacing:0!important
}

.square-hubspot-form--brochure .hs-submit,
.square-hubspot-form--brochure .actions {
  margin-top:auto!important;
  padding-top:20px!important
}

.square-hubspot-form--brochure .hs-button,
.square-hubspot-form--brochure input[type="submit"] {
  min-width:200px!important;
  min-height:100px!important;
  padding:22px 24px!important;
  font-size:18px!important;
  line-height:18px!important;
  letter-spacing:2px!important
}

@media (max-width:900px) {
  .contact-page .contact-main__form.square-hubspot-form,
  .contact-page .contact-main__form.square-hubspot-form .hs-form,
  .contact-page .contact-main__form.square-hubspot-form form {
    width:100%!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form,
  .contact-page .contact-main__form.square-hubspot-form form {
    grid-template-columns:1fr!important;
    gap:8px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-field:not(.hs-fieldtype-radio):not(.hs-fieldtype-checkbox):not(.hs-fieldtype-booleancheckbox):not(.hs-fieldtype-textarea),
  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-select {
    min-height:54px!important;
    padding:0 10px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-textarea,
  .contact-page .contact-main__form.square-hubspot-form .hs_message,
  .contact-page .contact-main__form.square-hubspot-form .hs-message {
    min-height:174px!important;
    padding:0 10px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-textarea textarea,
  .contact-page .contact-main__form.square-hubspot-form .hs_message textarea,
  .contact-page .contact-main__form.square-hubspot-form .hs-message textarea {
    min-height:154px!important;
    padding:10px 0!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-input,
  .contact-page .contact-main__form.square-hubspot-form input[type="text"],
  .contact-page .contact-main__form.square-hubspot-form input[type="email"],
  .contact-page .contact-main__form.square-hubspot-form input[type="tel"],
  .contact-page .contact-main__form.square-hubspot-form input[type="number"],
  .contact-page .contact-main__form.square-hubspot-form input[type="url"],
  .contact-page .contact-main__form.square-hubspot-form input[type="date"],
  .contact-page .contact-main__form.square-hubspot-form select,
  .contact-page .contact-main__form.square-hubspot-form textarea {
    min-height:54px!important;
    font-size:15px!important;
    line-height:20px!important
  }

  .contact-page .contact-main__form.square-hubspot-form input::placeholder,
  .contact-page .contact-main__form.square-hubspot-form textarea::placeholder {
    font-size:15px!important;
    line-height:20px!important;
    letter-spacing:.3px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-radio,
  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-checkbox,
  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-booleancheckbox,
  .contact-page .contact-main__form.square-hubspot-form .legal-consent-container {
    padding:10px 0!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-radio > label,
  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-checkbox > label,
  .contact-page .contact-main__form.square-hubspot-form .hs-fieldtype-booleancheckbox > label {
    margin:30px 0 15px!important;
    font-size:18px!important;
    line-height:20px!important;
    letter-spacing:2px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-radio label {
    min-height:48px!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:#fff!important;
    padding:10px 65px!important;
    text-align:center!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-radio input {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-height:1px!important;
    opacity:0!important;
    pointer-events:none!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-radio label:has(input:checked) {
    background:var(--mint)!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-checkbox label,
  .contact-page .contact-main__form.square-hubspot-form .hs-form-booleancheckbox label,
  .contact-page .contact-main__form.square-hubspot-form .legal-consent-container .hs-form-booleancheckbox label {
    min-height:150px!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:14px!important;
    padding:14px 18px!important;
    text-align:center!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-radio span,
  .contact-page .contact-main__form.square-hubspot-form .hs-form-checkbox span,
  .contact-page .contact-main__form.square-hubspot-form .hs-form-booleancheckbox span,
  .contact-page .contact-main__form.square-hubspot-form .legal-consent-container span {
    font-size:18px!important;
    line-height:22px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-form-checkbox input,
  .contact-page .contact-main__form.square-hubspot-form .hs-form-booleancheckbox input {
    flex:0 0 26px!important;
    width:26px!important;
    height:26px!important;
    min-height:26px!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-submit,
  .contact-page .contact-main__form.square-hubspot-form .actions {
    display:block!important
  }

  .contact-page .contact-main__form.square-hubspot-form .hs-button,
  .contact-page .contact-main__form.square-hubspot-form input[type="submit"] {
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    padding:17px 22px!important;
    font-size:16px!important;
    line-height:21px!important;
    letter-spacing:.8px!important
  }

  .brochure-popup .square-hubspot-form--brochure .hs-form-field:not(.hs-fieldtype-radio):not(.hs-fieldtype-checkbox):not(.hs-fieldtype-booleancheckbox) {
    min-height:68px!important
  }

  .brochure-popup .square-hubspot-form--brochure .hs-input,
  .brochure-popup .square-hubspot-form--brochure input[type="text"],
  .brochure-popup .square-hubspot-form--brochure input[type="email"],
  .brochure-popup .square-hubspot-form--brochure input[type="tel"],
  .brochure-popup .square-hubspot-form--brochure input[type="number"],
  .brochure-popup .square-hubspot-form--brochure input[type="url"],
  .brochure-popup .square-hubspot-form--brochure input[type="date"],
  .brochure-popup .square-hubspot-form--brochure select {
    min-height:50px!important;
    padding-top:8px!important;
    font-size:16px!important;
    line-height:20px!important
  }

  .brochure-popup .square-hubspot-form--brochure .hs-submit,
  .brochure-popup .square-hubspot-form--brochure .actions {
    padding-top:16px!important
  }

  .brochure-popup .square-hubspot-form--brochure .hs-button,
  .brochure-popup .square-hubspot-form--brochure input[type="submit"] {
    width:100%!important;
    min-width:0!important;
    min-height:68px!important;
    font-size:16px!important;
    line-height:20px!important
  }
}
