/* -------------------------------------------

Name: 		Ahdaf Digital
Version:    2.0
Customized for Ahdaf Digital Marketing Agency Dubai

------------------------------------------- */
/*--------------------------------------------

1. common
    - main
    - typography
    - link
    - button
    - form
    - breadcrumbs
    - backgrounds
    - spaces
2. components
    - preloader
    - cursor
    - hidden elements
    - scrollbar
    - frame
    - menu button
    - menu 
    - banner
    - circle text
    - lines
    - dodecahedron
    - about
    - partners
    - services
    - team
    - social icons
    - revievs
    - blog
    - footer
    - portfolio
    - map
    - accordion
    - price
    - 404
    - images
    - page transitions


--------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900&display=swap");
@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css);

/* -------------------------------------------

main

------------------------------------------- */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html,
body {
  padding: 0;
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 300;

  line-height: 150%;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}

@media screen and (max-width: 768px) {
  html,
  body {
    font-size: 16px;
  }
}

*::-moz-selection {
  color: inherit;
  background-color: transparent;
}

*::selection {
  color: inherit;
  background-color: transparent;
}

.mil-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 100%;
}

.container {
  pointer-events: all;
}

.mil-relative {
  position: relative;
}

.mil-o-hidden {
  overflow: hidden;
}

.mil-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-vert-between {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 100%;
}

@media screen and (max-width: 992px) {
  .mil-mobile-hidden {
    display: none;
  }
}

section {
  position: relative;
  overflow: hidden;
}

/* -------------------------------------------

typography

------------------------------------------- */
h1,
.mil-h1,
h2,
.mil-h12,
h3,
.mil-h3,
h4,
.mil-h4,
h5,
.mil-h5,
h6,
.mil-h6 {
  font-family: "Pearce";
  color: rgb(0, 0, 0);
  font-weight: 500;
  line-height: 120%;
}

@media screen and (max-width: 768px) {
  h1 br,
  .mil-h1 br,
  h2 br,
  .mil-h12 br,
  h3 br,
  .mil-h3 br,
  h4 br,
  .mil-h4 br,
  h5 br,
  .mil-h5 br,
  h6 br,
  .mil-h6 br {
    display: none;
  }
}

h1,
.mil-h1 {
  font-size: 86px;
}

@media screen and (max-width: 1400px) {
  h1,
  .mil-h1 {
    font-size: 74px;
  }
}

@media screen and (max-width: 1200px) {
  h1,
  .mil-h1 {
    font-size: 72px;
  }
}

@media screen and (max-width: 992px) {
  h1,
  .mil-h1 {
    font-size: 58px;
  }
}

@media screen and (max-width: 768px) {
  h1,
  .mil-h1 {
    font-size: 34px;
  }
}

h2,
.mil-h2 {
  font-size: 68px;
  line-height: 120%;
}

@media screen and (max-width: 1200px) {
  h2,
  .mil-h2 {
    font-size: 56px;
  }
}

@media screen and (max-width: 992px) {
  h2,
  .mil-h2 {
    font-size: 44px;
  }
}

@media screen and (max-width: 768px) {
  h2,
  .mil-h2 {
    font-size: 36px;
  }
}

h3,
.mil-h3 {
  font-size: 42px;
}

@media screen and (max-width: 1200px) {
  h3,
  .mil-h3 {
    font-size: 39px;
  }
}

@media screen and (max-width: 992px) {
  h3,
  .mil-h3 {
    font-size: 36px;
  }
}

@media screen and (max-width: 768px) {
  h3,
  .mil-h3 {
    font-size: 30px;
  }
}

h4,
.mil-h4 {
  font-size: 28px;
}

@media screen and (max-width: 1200px) {
  h4,
  .mil-h4 {
    font-size: 26px;
  }
}

@media screen and (max-width: 992px) {
  h4,
  .mil-h4 {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  h4,
  .mil-h4 {
    font-size: 22px;
  }
}

h5,
.mil-h5 {
  font-size: 20px;
  line-height: 150%;
}

@media screen and (max-width: 768px) {
  h5,
  .mil-h5 {
    font-size: 18px;
  }
}

h6,
.mil-h6 {
  font-size: 18px;
  line-height: 150%;
}

@media screen and (max-width: 1200px) {
  h6,
  .mil-h6 {
    font-size: 17px;
  }
}

@media screen and (max-width: 992px) {
  h6,
  .mil-h6 {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  h6,
  .mil-h6 {
    font-size: 21px;
  }
}

.mil-no-wrap {
  white-space: nowrap;
}

blockquote {
  padding: 60px;
  background-color: rgba(0, 0, 0, 0.05);
  font-size: 18px;
  color: rgb(0, 0, 0);
  font-style: italic;
  border-left: solid 4px rgb(255, 152, 0);
}

@media screen and (max-width: 768px) {
  blockquote {
    padding: 30px;
    font-size: 16px;
  }
}

.mil-text-sm {
  font-size: 15px;
}

.mil-text-lg {
  font-size: 18px;
  line-height: 170%;
}

.mil-text-xl {
  font-size: 16px;
  line-height: 180%;
}

@media screen and (max-width: 768px) {
  .mil-text-xl {
    font-size: 16px;
  }
}

.mil-upper {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
}

.mil-bold {
  font-weight: 500;
}

.mil-thin {
  font-weight: 100;
}

a {
  color: inherit;
  text-decoration: none;
}

.mil-complex-title {
  line-height: normal;
}

.mil-accent {
  color: #f0531c;
}

.mil-light {
  color: rgb(255, 255, 255) !important;
}

.mil-light a {
  color: rgb(255, 255, 255) !important;
}

.mil-muted {
  color: rgba(255, 255, 255, 0.9);
}

.mil-dark {
  color: rgb(0, 0, 0);
}

.mil-light-soft {
  color: rgba(255, 255, 255, 0.4);
}

.mil-dark-soft {
  color: rgba(0, 0, 0, 0.5);
}

.mil-marker {
  background-color: rgb(255, 152, 0);
  padding: 0 5px;
}

.mil-center {
  text-align: center;
}

.mil-left {
  text-align: left;
}

.mil-right {
  text-align: right;
}

@media screen and (max-width: 576px) {
  .mil-sm-center {
    text-align: center;
  }
}

.mil-suptitle {
  position: relative;
  display: block;
  margin-bottom: 60px;
}

.mil-suptitle:before {
  content: "";
  position: absolute;
  right: calc(100% + 30px);
  top: 10px;
  width: 600px;
  height: 1px;
  background-color: rgb(255, 255, 255);
  opacity: 0.2;
}

.mil-suptitle.mil-suptitle-right {
  text-align: right;
}

.mil-suptitle.mil-suptitle-right:before {
  left: calc(100% + 30px);
}

@media screen and (max-width: 768px) {
  .mil-suptitle.mil-suptitle-right {
    text-align: center;
  }

  .mil-suptitle.mil-suptitle-right:before {
    display: none;
  }
}

.mil-suptitle.mil-suptitle-dark:before {
  background-color: rgb(0, 0, 0);
  opacity: 0.1;
}

@media screen and (max-width: 768px) {
  .mil-suptitle {
    margin-bottom: 60px;
  }
}

.mil-divider {
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}

.mil-img-frame {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 140%;
}

.mil-img-frame img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

/* -------------------------------------------

link

------------------------------------------- */
.mil-link {
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px;
}

.mil-link svg {
  margin-left: 15px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-link svg path {
  fill: rgb(255, 255, 255);
}

.mil-link.mil-accent svg {
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-link.mil-accent svg path {
  fill: white;
}

.mil-link.mil-dark svg {
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-link.mil-dark svg path {
  fill: rgb(0, 0, 0);
}

.mil-link:hover svg {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}

.mil-link.mil-down-arrow svg {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.mil-link.mil-down-arrow:hover svg {
  -webkit-transform: scale(1.15) rotate(90deg);
  transform: scale(1.15) rotate(90deg);
}

.mil-link.mil-icon-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.mil-link.mil-icon-left svg {
  margin-left: 0;
  margin-right: 15px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.mil-link.mil-icon-left:hover svg {
  -webkit-transform: scale(1.15) rotate(180deg);
  transform: scale(1.15) rotate(180deg);
}

/* -------------------------------------------

button

------------------------------------------- */
.mil-button {
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: none;
  letter-spacing: 2px;
  font-size: 12px;
  background: linear-gradient(90deg, #f5b6a2 0%, #f0531c 100%);
  color: #000;
  /* texte blanc pour le contraste */

  color: rgb(0, 0, 0);
  border-radius: 70px;
  padding: 0 15px 0 50px;
  height: 70px;
  text-transform: uppercase;
  font-weight: 500;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-button span {
  white-space: nowrap;
}

.mil-button svg {
  margin-left: 30px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgb(0, 0, 0);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-button svg path {
  fill: white;
}

.mil-button.mil-icon-button {
  padding: 15px;
}

.mil-button.mil-icon-button svg {
  margin-left: 0;
}

.mil-button.mil-icon-button-sm {
  padding: 0;
  height: 40px;
}

.mil-button.mil-icon-button-sm svg {
  margin-left: 0;
  background: linear-gradient(90deg, #f5b6a2 0%, #f0531c 100%);
}

.mil-button.mil-icon-button-sm svg path {
  fill: rgb(0, 0, 0);
}

.mil-button:hover {
  -webkit-transform: scale(1.015);
  transform: scale(1.015);
  -webkit-filter: brightness(110%);
  filter: brightness(110%);
}

.mil-button:hover svg {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}

.mil-button.mil-arrow-down svg {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.mil-button.mil-arrow-down:hover {
  -webkit-transform: scale(1.015);
  transform: scale(1.015);
  -webkit-filter: brightness(110%);
  filter: brightness(110%);
}

.mil-button.mil-arrow-down:hover svg {
  -webkit-transform: scale(1.15) rotate(90deg);
  transform: scale(1.15) rotate(90deg);
}

@media screen and (max-width: 992px) {
  .mil-button {
    height: 60px;
    padding: 0 10px 0 40px;
  }

  .mil-button svg {
    margin-left: 25px;
  }
}

/* -------------------------------------------

form

------------------------------------------- */
input,
textarea {
  position: relative;
  height: 70px;
  padding: 0 30px;
  width: 100%;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  font-family: "Outfit", sans-serif;
  color: rgb(0, 0, 0);
  border: none;
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
  margin-bottom: 30px;
}

input:focus,
textarea:focus {
  outline: inherit;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

input::placeholder,
textarea::placeholder {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

textarea {
  padding: 15px 30px;
  height: 300px;
}

/* -------------------------------------------

breadcrumbs

------------------------------------------- */
.mil-breadcrumbs {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.mil-breadcrumbs:before {
  content: "";
  position: absolute;
  right: calc(100% + 30px);
  top: 10px;
  width: 100vw;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}

.mil-breadcrumbs li {
  list-style-type: none;
}

.mil-breadcrumbs li:after {
  content: "/";
  margin: 0 15px;
  color: rgb(0, 0, 0);
}

.mil-breadcrumbs li a {
  color: rgb(0, 0, 0);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  font-size: 12px;
  white-space: nowrap;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-breadcrumbs li a:hover {
  color: #f0531c !important;
}

.mil-breadcrumbs li:last-child {
  margin-right: 0;
  cursor: not-allowed;
}

.mil-breadcrumbs li:last-child a {
  opacity: 0.4;
  pointer-events: none;
}

.mil-breadcrumbs li:last-child:after {
  display: none;
}

.mil-breadcrumbs.mil-light:before {
  background-color: rgba(255, 255, 255, 0.1);
}

.mil-breadcrumbs.mil-light li:after {
  color: rgba(255, 255, 255, 0.9);
}

.mil-breadcrumbs.mil-light li a:hover {
  color: #f0531c !important;
}

.mil-breadcrumbs.mil-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* -------------------------------------------

backgrounds

------------------------------------------- */
.mil-dark-bg {
  position: relative;
  overflow: hidden;
}

.mil-dark-bg:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  pointer-events: none;
  z-index: 2;
  -webkit-backdrop-filter: invert(100%);
  backdrop-filter: invert(100%);
}

.mil-dark-bg .mi-invert-fix {
  height: 100%;
  position: relative;
  pointer-events: none;
  z-index: 3;
  overflow: hidden;
}

.mil-dark-bg .mi-invert-fix .container {
  pointer-events: all;
  position: relative;
  z-index: 4;
}

.mil-soft-bg {
  background-color: rgb(242, 242, 242);
}

/* -------------------------------------------

spaces

------------------------------------------- */
.mil-mr-30 {
  margin-right: 30px;
}

.mil-mb-5 {
  margin-bottom: 5px;
}

.mil-mb-10 {
  margin-bottom: 10px;
}

.mil-mb-15 {
  margin-bottom: 15px;
}

.mil-mb-20 {
  margin-bottom: 15px;
}

.mil-mb-30 {
  margin-bottom: 30px;
}

.mil-mb-60 {
  margin-bottom: 60px;
}

.mil-mb-90 {
  margin-bottom: 90px;
}

.mil-mb-120 {
  margin-bottom: 120px;
}

@media screen and (max-width: 992px) {
  .mil-mb-120 {
    margin-bottom: 90px;
  }
}

.mil-mt-suptitle-offset {
  margin-top: 70px;
}

@media screen and (max-width: 992px) {
  .mil-mt-suptitle-offset {
    margin-top: 30px;
  }
}

.mil-p-120-120 {
  padding-top: 120px;
  padding-bottom: 120px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-120 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

.mil-p-120-90 {
  padding-top: 60px;
  padding-bottom: 40px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-90 {
    padding-top: 40px;
    padding-bottom: 30px;
  }
}

.mil-p-0-120 {
  padding-bottom: 65px;
}

@media screen and (max-width: 992px) {
  .mil-p-0-120 {
    padding-bottom: 90px;
  }
}

.mil-p-120-0 {
  padding-top: 120px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-0 {
    padding-top: 90px;
  }
}

.mil-p-120-60 {
  padding-top: 50px;
  padding-bottom: 60px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-60 {
    padding-top: 90px;
    padding-bottom: 30px;
  }
}

.mil-p-90-90 {
  padding-top: 90px;
  padding-bottom: 90px;
}

@media screen and (max-width: 992px) {
  .mil-p-90-90 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.mil-p-90-120 {
  padding-top: 90px;
  padding-bottom: 120px;
}

@media screen and (max-width: 992px) {
  .mil-p-90-120 {
    padding-top: 60px;
    padding-bottom: 90px;
  }
}

.mil-p-0-90 {
  padding-bottom: 90px;
}

@media screen and (max-width: 992px) {
  .mil-p-0-90 {
    padding-bottom: 60px;
  }
}

.mil-p-0-30 {
  padding-bottom: 30px;
}

@media screen and (max-width: 992px) {
  .mil-p-0-30 {
    padding-bottom: 0;
  }
}

.mil-p-120-30 {
  padding-top: 120px;
  padding-bottom: 30px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-30 {
    padding-top: 90px;
    padding-bottom: 0;
  }
}

.mil-adaptive-right {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 992px) {
  .mil-adaptive-right {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.mil-btn-space {
  margin-right: 30px;
}

@media screen and (max-width: 500px) {
  .mil-btn-space {
    margin-right: 50px;
    margin-bottom: 30px;
  }
}

/* -------------------------------------------

preloader

------------------------------------------- */
.mil-preloader {
  position: fixed;
  z-index: 9;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgb(0, 0, 0);
}

.mil-preloader .mil-preloader-animation {
  opacity: 0;
  position: relative;
  height: 100vh;
  color: rgb(255, 255, 255);
}

.mil-preloader .mil-preloader-animation .mil-pos-abs {
  position: absolute;
  height: 100vh;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0px !important;
}

.mil-preloader .mil-preloader-animation .mil-pos-abs p {
  opacity: 0;
  margin-right: 0px !important;
  letter-spacing: -1px !important;
}

@media screen and (max-width: 992px) {
  .mil-preloader .mil-preloader-animation .mil-pos-abs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mil-preloader .mil-preloader-animation .mil-pos-abs p {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.mil-preloader .mil-preloader-animation .mil-pos-abs .mil-reveal-frame {
  position: relative;
  padding: 0 30px;
}

.mil-preloader
  .mil-preloader-animation
  .mil-pos-abs
  .mil-reveal-frame
  .mil-reveal-box {
  z-index: 4;
  position: absolute;
  opacity: 0;
  height: 100%;
  background-color: rgb(255, 152, 0);
}

.mil-preloader.mil-hidden {
  pointer-events: none;
}

/* FORCE ZERO SPACING FOR LEGAL PAGES - NUCLEAR OPTION */
.page-terms .mil-preloader .mil-preloader-animation .mil-pos-abs,
.page-privacy .mil-preloader .mil-preloader-animation .mil-pos-abs,
.page-cookie .mil-preloader .mil-preloader-animation .mil-pos-abs {
  gap: 0px !important;
  justify-content: center !important;
}

.page-terms .mil-preloader .mil-preloader-animation .mil-pos-abs p,
.page-privacy .mil-preloader .mil-preloader-animation .mil-pos-abs p,
.page-cookie .mil-preloader .mil-preloader-animation .mil-pos-abs p {
  margin-right: 0px !important;
  margin-left: 0px !important;
  letter-spacing: -1px !important;
  display: inline-block !important;
}

/* Add tiny controlled spacing with pseudo-element */
.page-terms
  .mil-preloader
  .mil-preloader-animation
  .mil-pos-abs
  p:not(:last-child)::after,
.page-privacy
  .mil-preloader
  .mil-preloader-animation
  .mil-pos-abs
  p:not(:last-child)::after,
.page-cookie
  .mil-preloader
  .mil-preloader-animation
  .mil-pos-abs
  p:not(:last-child)::after {
  content: "\00A0";
  margin-right: 5px !important;
}

/* RESTORE 404 page original spacing - override global changes */
body:not([class*="page-"])
  .mil-preloader
  .mil-preloader-animation
  .mil-pos-abs {
  gap: inherit !important;
}

body:not([class*="page-"])
  .mil-preloader
  .mil-preloader-animation
  .mil-pos-abs
  p {
  margin-right: 15px !important;
  letter-spacing: inherit !important;
}

/* -------------------------------------------

cursor

------------------------------------------- */
.mil-ball {
  width: 20px;
  height: 20px;
  position: fixed;
  z-index: 10;
  background-color: rgb(0, 0, 0);
  border-radius: 50%;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  opacity: 0.1;
}

.mil-ball .mil-icon-1 {
  position: absolute;
  width: 40px;
  height: 40px;
  -webkit-transform: scale(0);
  transform: scale(0);
}

.mil-ball .mil-icon-1 svg {
  fill: rgba(255, 255, 255, 0.9);
}

.mil-ball .mil-more-text,
.mil-ball .mil-choose-text {
  position: absolute;
  width: 100%;
  text-align: center;
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  -webkit-transform: scale(0);
  transform: scale(0);
}

.mil-ball.mil-accent .mil-icon-1 svg {
  fill: rgb(0, 0, 0);
}

.mil-ball.mil-accent .mil-more-text,
.mil-ball.mil-accent .mil-choose-text {
  color: rgb(0, 0, 0);
}

@media screen and (max-width: 1200px) {
  .mil-ball {
    display: none;
  }
}

/* -------------------------------------------

hidden elements

------------------------------------------- */
.mil-hidden-elements .mil-dodecahedron,
.mil-hidden-elements .mil-lines,
.mil-hidden-elements .mil-arrow {
  display: none;
}

/* -------------------------------------------

scrollbar

------------------------------------------- */
::-webkit-scrollbar {
  display: none;
}

.mil-progress-track {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background-color: rgb(0, 0, 0);
}

.mil-progress-track .mil-progress {
  width: 4px;
  height: 0;
  background-color: rgb(255, 152, 0);
}

@media screen and (max-width: 992px) {
  .mil-progress-track {
    display: none;
  }
}

/* -------------------------------------------

frame

------------------------------------------- */
.mil-logo {
  font-size: 42px;
  font-weight: 500;
  line-height: 100%;
}

@media screen and (max-width: 992px) {
  .mil-logo {
    font-size: 36px;
  }
}

.mil-frame {
  padding: 50px 60px 60px 60px;
  position: fixed;
  z-index: 2;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1200px) {
  .mil-frame {
    padding: 30px;
  }
}

@media screen and (max-width: 1200px) {
  .mil-frame {
    padding: 0;
    z-index: 999;
    height: 90px;
  }
}

@media screen and (max-width: 1200px) {
  .mil-frame .mil-frame-top {
    height: 90px;
    background-color: rgba(0, 0, 0, 0.95);
    border-bottom: solid 1px rgba(255, 255, 255, 0.1);
    padding: 0 30px;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .mil-frame .mil-frame-top .mil-logo {
    color: rgb(255, 255, 255);
  }

  .mil-frame .mil-frame-top .mil-menu-btn span,
  .mil-frame .mil-frame-top .mil-menu-btn span:after,
  .mil-frame .mil-frame-top .mil-menu-btn span:before {
    background: rgb(255, 255, 255);
  }
}

.mil-frame .mil-frame-bottom {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

@media screen and (max-width: 1200px) {
  .mil-frame .mil-frame-bottom {
    display: none;
  }
}

.mil-frame .mil-frame-bottom .mil-current-page {
  pointer-events: none;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px;
  width: 300px;
  color: rgb(0, 0, 0);
  -webkit-transform: rotate(-90deg) translateX(138px) translateY(-138px);
  transform: rotate(-90deg) translateX(138px) translateY(-138px);
}

.mil-frame .mil-frame-bottom .mil-back-to-top {
  width: 300px;
  -webkit-transform: rotate(-90deg) translateX(130px) translateY(130px);
  transform: rotate(-90deg) translateX(130px) translateY(130px);
  pointer-events: all;
}

.mil-frame-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-frame-top .mil-logo {
  pointer-events: all;
  color: rgb(0, 0, 0);
}

/* -------------------------------------------

menu button

------------------------------------------- */
.mil-menu-btn {
  pointer-events: all;
  height: 28px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

@media screen and (max-width: 992px) {
  .mil-menu-btn {
    -webkit-transform: scale(0.85);
    transform: scale(0.85);
  }
}

.mil-menu-btn span,
.mil-menu-btn span:after,
.mil-menu-btn span:before {
  content: "";
  display: block;
  width: 28px;
  height: 2.5px;
  background: rgb(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: inherit;
  transition: inherit;
}

.mil-menu-btn span {
  position: relative;
}

.mil-menu-btn span:after,
.mil-menu-btn span:before {
  position: absolute;
}

.mil-menu-btn span:before {
  top: -9px;
}

.mil-menu-btn span:after {
  width: 18px;
  top: 9px;
}

.mil-menu-btn.mil-active span {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mil-menu-btn.mil-active span:before {
  -webkit-transform: translate(0px, 9px) rotate(-90deg);
  transform: translate(0px, 9px) rotate(-90deg);
}

.mil-menu-btn.mil-active span:after {
  opacity: 0;
  width: 24px;
  -webkit-transform: translate(0px, -9px) rotate(-90deg);
  transform: translate(0px, -9px) rotate(-90deg);
}

/* -------------------------------------------

menu

------------------------------------------- */
.mil-menu-frame {
  position: fixed;
  z-index: 9;
  width: 100%;
  height: 100vh;
  background-color: rgb(0, 0, 0);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-menu-frame .container {
  pointer-events: none;
}

.mil-menu-frame .mil-frame-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 50px 60px;
}

@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-frame-top {
    display: none;
  }
}

.mil-menu-frame .mil-frame-top .mil-logo {
  /* color: rgb(255, 255, 255); */
}

.mil-menu-frame .mil-frame-top .mil-menu-btn span,
.mil-menu-frame .mil-frame-top .mil-menu-btn span:after,
.mil-menu-frame .mil-frame-top .mil-menu-btn span:before {
  background-color: rgb(255, 255, 255);
}

.mil-menu-frame .mil-main-menu {
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
  opacity: 0;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-main-menu {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
}

.mil-menu-frame .mil-menu-right-frame {
  padding-left: 60px;
  position: relative;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  border-left: solid 1px rgba(255, 255, 255, 0.1);
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-menu-frame .mil-menu-right-frame .mil-menu-right {
  padding-bottom: 60px;
}

.mil-menu-frame .mil-menu-right-frame .mil-animation-in {
  position: absolute;
  top: -320px;
  right: 0;
  opacity: 0;
  -webkit-transform: translateY(-60px);
  transform: translateY(-60px);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-menu-right-frame {
    display: none;
  }
}

@media screen and (max-height: 800px) {
  .mil-menu-frame .mil-menu-right-frame {
    display: none;
  }
}

.mil-menu-frame.mil-active {
  opacity: 1;
  pointer-events: all;
}

.mil-menu-frame.mil-active .container {
  pointer-events: all;
}

.mil-menu-frame.mil-active .mil-main-menu {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.mil-menu-frame.mil-active .mil-menu-right-frame {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.mil-menu-frame.mil-active .mil-menu-right-frame .mil-animation-in {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.mil-menu-list li {
  list-style-type: none;
  margin-bottom: 15px;
}

.mil-menu-list li:last-child {
  margin-bottom: 0;
}

.mil-menu-list li a {
  display: block;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-menu-list li a:hover {
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
  color: rgb(255, 255, 255);
}

.mil-menu-list.mil-hori-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-menu-list.mil-hori-list li {
  margin-bottom: 0;
  margin-right: 30px;
}

.mil-menu-list.mil-dark li a {
  color: rgb(0, 0, 0);
}

.mil-main-menu {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-main-menu ul {
  padding: 0;
  margin: 0;
}

.mil-main-menu ul li {
  margin-bottom: 40px;
}

.mil-main-menu ul li:last-child {
  margin-bottom: 0;
}

.mil-main-menu ul li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  font-size: 34px;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

@media screen and (max-width: 992px) {
  .mil-main-menu ul li a {
    font-size: 26px;
  }
}

.mil-main-menu ul li a:before {
  content: "";
  position: absolute;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-main-menu ul li a:hover {
  color: rgb(255, 255, 255);
}

.mil-main-menu ul li a.mil-active {
  padding-left: 25px;
}

.mil-main-menu ul li a.mil-active:before {
  -webkit-transform: scale(1);
  transform: scale(1);
  background-color: #f0531c;
}

.mil-main-menu ul li.mil-active > a {
  color: #f0531c;
}

.mil-main-menu ul li.mil-active > a:hover {
  color: #f0531c !important;
  -webkit-filter: brightness(110%);
  filter: brightness(110%);
}

.mil-main-menu ul li.mil-has-children > a:hover {
  color: rgb(255, 255, 255);
  padding-left: 25px;
}

.mil-main-menu ul li.mil-has-children > a:hover:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.mil-main-menu ul li.mil-has-children ul {
  padding-left: 25px;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-main-menu ul li.mil-has-children ul li {
  margin-bottom: 5px;
}

.mil-main-menu ul li.mil-has-children ul li:first-child {
  margin-top: 40px;
}

.mil-main-menu ul li.mil-has-children ul li a {
  display: block;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 2px;
  font-weight: 500;
  text-transform: uppercase;
}

.mil-main-menu ul li.mil-has-children ul li a:before {
  display: none;
}

.mil-main-menu ul li.mil-has-children ul li a:hover {
  color: rgba(255, 255, 255, 0.8);
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
}

.mil-main-menu ul li.mil-has-children ul.mil-active {
  max-height: none;
  overflow: visible;
}

@media screen and (max-width: 1200px) {
  .mil-main-menu {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .mil-main-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .mil-main-menu ul li {
    margin-bottom: 30px;
  }

  .mil-main-menu ul li a {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .mil-main-menu ul li a:before {
    display: none;
  }

  .mil-main-menu ul li a.mil-active {
    padding-left: 0 !important;
  }

  .mil-main-menu ul li.mil-has-children ul {
    padding-left: 0;
  }

  .mil-main-menu ul li.mil-has-children ul li:first-child {
    margin-top: 30px;
  }
}

/* -------------------------------------------

banner

------------------------------------------- */
.mil-banner {
  height: 100vh;
}

.mil-banner .container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.mil-banner .mil-banner-content {
  width: 100%;
  padding-bottom: 120px;
  position: relative;
}

@media screen and (max-width: 992px) {
  .mil-banner .mil-banner-content {
    padding-bottom: 90px;
  }
}

.mil-banner .mil-lines-place {
  position: absolute;
  left: 0;
  bottom: calc(100% + 120px);
}

.mil-inner-banner .mil-banner-content {
  padding: 150px 0 0 0;
}

@media screen and (max-width: 1200px) {
  .mil-inner-banner .mil-banner-content {
    padding: 180px 0 0 0;
  }
}

.mil-banner-personal {
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.1);
}

.mil-banner-personal .mil-banner-content {
  position: relative;
  padding-top: 90px;
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content {
    padding-top: 180px;
  }
}

.mil-banner-personal .mil-banner-content .mil-personal-text {
  margin-bottom: 300px;
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-personal-text {
    margin-bottom: 80px;
    text-align: center;
  }
}

.mil-banner-personal .mil-banner-content .mil-banner-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 60px 0 90px;
  background-color: rgb(255, 255, 255);
  height: 180px;
  position: absolute;
  top: calc(100vh - 180px);
  left: 0;
  width: 100%;
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    padding: 60px 30px;
  }

  .mil-banner-personal .mil-banner-content .mil-banner-panel h5 {
    margin-bottom: 60px;
    text-align: center;
    width: 80%;
  }
}

.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-banner-personal
  .mil-banner-content
  .mil-banner-panel
  .mil-right
  .mil-social-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 30px;
  padding: 0 50px;
  background-color: rgba(0, 0, 0, 0.1);
  height: 70px;
  border-radius: 70px;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-banner-personal
  .mil-banner-content
  .mil-banner-panel
  .mil-right
  .mil-social-frame:hover {
  -webkit-transform: scale(1.015);
  transform: scale(1.015);
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mil-banner-personal
    .mil-banner-content
    .mil-banner-panel
    .mil-right
    .mil-social-frame {
    margin-right: 0;
    margin-bottom: 30px;
    height: 60px;
  }
}

.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-button {
  margin: 0 !important;
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    bottom: 0;
    top: auto;
  }
}

@media screen and (max-width: 768px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    position: static;
    margin-bottom: 90px;
  }
}

@media screen and (max-width: 992px) {
  .mil-banner-personal {
    height: auto;
  }
}

.mil-portrait-frame {
  position: relative;
}

.mil-portrait-frame img {
  position: relative;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.mil-portrait-frame .mil-nimbus {
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgb(255, 152, 0) 0%,
    rgba(250, 168, 69, 0) 100%
  );
  width: 100%;
  padding-bottom: 100%;
  position: absolute;
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .mil-portrait-frame {
    height: 400px;
  }

  .mil-portrait-frame img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
  }
}

/* -------------------------------------------

circle text

------------------------------------------- */
.mil-circle-text {
  position: absolute;
  right: 0;
  bottom: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 140px;
  height: 140px;
}

.mil-circle-text .mil-ct-svg {
  -webkit-transform: scale(2);
  transform: scale(2);
  width: 140px;
  height: 140px;
}

.mil-circle-text .mil-ct-svg text {
  fill: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-circle-text .mil-button {
  position: absolute;
}

.mil-circle-text:hover svg text {
  fill: rgb(255, 255, 255);
}

@media screen and (max-width: 992px) {
  .mil-circle-text {
    display: none;
  }
}

/* -------------------------------------------

lines

------------------------------------------- */
@-webkit-keyframes move {
  from {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
  }

  50% {
    -webkit-transform: translateY(75px);
    transform: translateY(75px);
  }

  to {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
  }
}

@keyframes move {
  from {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
  }

  50% {
    -webkit-transform: translateY(75px);
    transform: translateY(75px);
  }

  to {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
  }
}

.mil-lines-place .mil-lines {
  opacity: 0.05;
  pointer-events: none;
}

@media screen and (max-width: 992px) {
  .mil-lines-place .mil-lines {
    display: none;
  }
}

.mil-lines-place .mil-lines path,
.mil-lines-place .mil-lines rect,
.mil-lines-place .mil-lines line {
  stroke: rgb(0, 0, 0);
}

.mil-lines-place .mil-lines .mil-move {
  -webkit-animation: move 10s linear infinite;
  animation: move 10s linear infinite;
}

.mil-lines-place.mil-light .mil-lines {
  opacity: 0.2;
}

.mil-lines-place.mil-light .mil-lines path,
.mil-lines-place.mil-light .mil-lines rect,
.mil-lines-place.mil-light .mil-lines line {
  stroke: rgb(255, 255, 255);
}

/* -------------------------------------------

dodecahedron

------------------------------------------- */
.mil-animation-frame {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 1;
  -webkit-animation: jump 10s linear infinite;
  animation: jump 10s linear infinite;
  pointer-events: none;
}

.mil-animation {
  position: absolute;
  display: inline-block;
  width: 300px;
  height: 300px;
  opacity: 0.2;
  pointer-events: none;
}

.mil-position-1 {
  top: 100px;
  right: 100px;
}

.mil-position-1 .mil-pentagon div {
  border-top: 0.1px solid rgb(255, 255, 255);
}

.mil-position-2 {
  top: -60px;
  left: 15%;
}

.mil-position-2 .mil-pentagon div {
  border-top: 1px solid rgb(255, 255, 255);
}

.mil-position-2 .mil-dodecahedron {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

@media screen and (max-width: 1400px) {
  .mil-position-2 {
    display: none;
  }
}

.mil-position-3 {
  bottom: -100px;
  right: 35%;
}

.mil-position-3 .mil-pentagon div {
  border-top: 1px solid rgb(255, 255, 255);
}

.mil-position-3 .mil-dodecahedron {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

@media screen and (max-width: 1400px) {
  .mil-position-3 {
    display: none;
  }
}

.mil-position-4 {
  top: -60px;
  right: 20%;
}

.mil-position-4 .mil-pentagon div {
  border-top: 0.1px solid rgb(255, 255, 255);
}

.mil-position-4 .mil-dodecahedron {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

@media screen and (max-width: 1400px) {
  .mil-position-4 {
    display: none;
  }
}

.mil-position-4.mil-dark .mil-pentagon div {
  border-top: 0.1px solid rgb(0, 0, 0);
}

.mil-dodecahedron {
  position: relative;
  left: 100px;
  top: 40px;
  width: 100px;
  height: 223px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-animation: rotate 100s infinite linear;
  animation: rotate 100s infinite linear;
}

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
    transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
  }

  to {
    -webkit-transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
    transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
  }
}

@keyframes rotate {
  from {
    -webkit-transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
    transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
  }

  to {
    -webkit-transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
    transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
  }
}

.mil-pentagon {
  position: absolute;
  width: 100px;
}

.mil-pentagon:nth-child(1) {
  -webkit-transform: rotateY(0.2turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(0.2turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(6) {
  bottom: 0;
  -webkit-transform: rotateY(0.2turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(0.2turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(2) {
  -webkit-transform: rotateY(0.4turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(0.4turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(7) {
  bottom: 0;
  -webkit-transform: rotateY(0.4turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(0.4turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(3) {
  -webkit-transform: rotateY(0.6turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(0.6turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(8) {
  bottom: 0;
  -webkit-transform: rotateY(0.6turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(0.6turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(4) {
  -webkit-transform: rotateY(0.8turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(0.8turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(9) {
  bottom: 0;
  -webkit-transform: rotateY(0.8turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(0.8turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(5) {
  -webkit-transform: rotateY(1turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(1turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(10) {
  bottom: 0;
  -webkit-transform: rotateY(1turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(1turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(11) {
  -webkit-transform: translateZ(69px) rotateX(-90deg);
  transform: translateZ(69px) rotateX(-90deg);
}

.mil-pentagon:nth-child(12) {
  bottom: 0;
  -webkit-transform: translateZ(-69px) rotateX(90deg);
  transform: translateZ(-69px) rotateX(90deg);
}

.mil-pentagon div {
  position: absolute;
  width: 100px;
  height: 69px;
  -webkit-transform-origin: bottom;
  transform-origin: bottom;
}

.mil-pentagon div:nth-child(1) {
  -webkit-transform: rotate(0.2turn);
  transform: rotate(0.2turn);
}

.mil-pentagon div:nth-child(2) {
  -webkit-transform: rotate(0.4turn);
  transform: rotate(0.4turn);
}

.mil-pentagon div:nth-child(3) {
  -webkit-transform: rotate(0.6turn);
  transform: rotate(0.6turn);
}

.mil-pentagon div:nth-child(4) {
  -webkit-transform: rotate(0.8turn);
  transform: rotate(0.8turn);
}

.mil-pentagon div:nth-child(5) {
  -webkit-transform: rotate(1turn);
  transform: rotate(1turn);
}

@-webkit-keyframes jump {
  0% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  50% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  100% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}

@keyframes jump {
  0% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  50% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  100% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}

/* -------------------------------------------

about

------------------------------------------- */
.mil-about-quote {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-about-quote .mil-avatar {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  position: relative;
}

.mil-about-quote .mil-avatar:after {
  content: ' " ';
  color: rgb(0, 0, 0);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #f0531c;
  position: absolute;
  bottom: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 12px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 36px;
}

.mil-about-quote .mil-avatar img {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
}

.mil-about-quote .mil-quote {
  padding-left: 30px;
  width: calc(100% - 90px);
}

@media screen and (max-width: 992px) {
  .mil-about-quote .mil-avatar {
    width: 70px;
    height: 70px;
  }

  .mil-about-quote .mil-avatar:after {
    padding-top: 7px;
    width: 25px;
    height: 25px;
    font-size: 24px;
  }

  .mil-about-quote .mil-quote {
    font-size: 16px;
    padding-left: 30px;
    width: calc(100% - 70px);
  }
}

.mil-about-photo {
  position: relative;
}

.mil-about-photo .mil-lines-place {
  position: absolute;
  top: -120px;
  left: -27%;
}

/* ====== HERO TITLES (EN + AR) ====== */

/* =========================
   Hero — centrage arabe (≤768px)
   ========================= */
@media (max-width: 768px) {
  /* le conteneur du hero */
  .mil-hero-wrap {
    text-align: center;
    /* centre tout le contenu du bloc */
    display: grid;
    justify-items: center;
    gap: 8px;
  }

  /* Titre arabe */
  .mil-hero-wrap .mil-title-ar {
    direction: rtl;
    /* sens d’écriture droite→gauche */
    unicode-bidi: isolate;
    text-align: center !important;
    /* centre le texte */
    display: block;
    margin-inline: auto !important;
    /* centre le bloc lui-même */
    max-width: 90%;
    /* évite de coller les bords */
    line-height: 1.4;
    letter-spacing: 0;
    /* pas d’espacement artificiel en arabe */
    transform: none !important;
    /* annule tout translate/scale animé */
  }

  /* (optionnel) centre aussi le titre EN, pour une symétrie parfaite */
  .mil-hero-wrap .mil-title-en {
    text-align: center !important;
    margin-inline: auto;
  }

  .mil-hero-wrap .mil-title-en .line1,
  .mil-hero-wrap .mil-title-en .line2 {
    display: block;
  }
}

.mil-hero-wrap {
  max-width: 1100px;
  /* limite la largeur pour un bloc compact */
  margin: 0 auto 2.5rem auto;
  /* centré + espace sous le bloc */
  text-align: center;
}

/* Le H2 empile 2 lignes fixes, centrées */
.mil-title-en.two-lines {
  display: flex;
  /* <— clé : on contrôle le wrap via flex */
  flex-direction: column;
  align-items: center;
  gap: 0.06em;

  font-family: "Poppins", var(--mil-font, sans-serif);
  font-weight: 800;
  color: var(--mil-muted, #fff);
  text-align: center;
  line-height: 1.1;
  font-size: clamp(28px, 4.3vw, 56px);

  max-width: 1100px;
  /* élargis si besoin (900–1200px) */
  margin: 0 auto 18px;
}

/* Chaque ligne = bloc non-coupable */
.mil-title-en.two-lines .line1,
.mil-title-en.two-lines .line2 {
  display: inline-flex;
  /* évite tout retour interne */
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Option: micro-équilibrage visuel */
.mil-title-en.two-lines .line1 {
  letter-spacing: 0.02em;
}

.mil-title-en.two-lines .line2 {
  letter-spacing: 0.01em;
}

/* Mobile : autoriser le wrap si l’écran est trop étroit */
@media (max-width: 768px) {
  .mil-title-en.two-lines {
    max-width: 92%;
    font-size: clamp(24px, 5vw, 42px);
  }

  .mil-title-en.two-lines .line1,
  .mil-title-en.two-lines .line2 {
    white-space: normal !important;
  }

  .mil-title-en {
    font-size: 24px;
    /* taille du texte principale */
    line-height: 1.3;
    /* un peu plus serré */
  }
}

.mil-title-ar {
  direction: rtl;
  unicode-bidi: isolate;
  font-family: "Changa", "Cairo", "Tajawal", "Noto Kufi Arabic", system-ui,
    sans-serif;
  font-weight: 700;
  /* mets 700 car tu n’as pas 800 */
  line-height: 1.25;
  letter-spacing: 0;
  margin: 6px 0 0;
  font-size: clamp(26px, 4.2vw, 52px);
  color: var(--mil-muted, #fff);
  font-synthesis: none;
}

/* Option : réduis un peu l’espace au-dessus du bloc pour rapprocher des cartes */
.mil-mb-120 {
  margin-bottom: 90px;
}

/* ajuste si besoin */
/* ===== HERO bilingual block (force same look as your PDF) ===== */
.mil-dark-bg .mil-mb-120 .mil-hero-wrap {
  max-width: 1100px;
  margin: 0 auto 32px auto;
  text-align: center;
}

.mil-dark-bg .mil-mb-120 .mil-hero-wrap .mil-title-en {
  font-family: "Pearce", system-ui, -apple-system, Segoe UI, Arial, sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(32px, 5.2vw, 60px) !important;
  /* gros, 2 lignes */
  line-height: 1.15 !important;
  letter-spacing: 0.2px !important;
  color: #fff !important;
  margin: 0 0 14px 0 !important;
}

.mil-dark-bg .mil-mb-120 .mil-hero-wrap .mil-title-ar {
  direction: rtl;
  unicode-bidi: isolate;
  font-family: "Pearce", "Changa", "Cairo", "Tajawal", "Noto Kufi Arabic",
    system-ui, sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(34px, 5.4vw, 62px) !important;
  /* *légèrement* plus grand que EN */
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  /* pas d’espacement artificiel en AR */
  color: #fff !important;
  margin: 6px 0 0 0 !important;
  display: block;
  width: fit-content;
  margin-inline: auto !important;
}

/* rapprocher les cartes services comme sur la maquette */
.mil-dark-bg .mil-p-120-0 .mil-mb-120 {
  margin-bottom: 70px !important;
}

@media (min-width: 992px) {
  .mil-dark-bg .mil-hero-wrap .mil-title-ar {
    white-space: nowrap;
    /* ne casse pas la ligne */
    font-size: clamp(34px, 4.6vw, 56px);
    /* ↓ max un peu (62→56) */
  }
}

/* -------------------------------------------

partners

------------------------------------------- */
.mil-infinite-show .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.mil-partner-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  /* Fixed height for consistency */
  padding: 10px;
  overflow: hidden;
  /* ensure scaled img doesn't overflow container */
}

.mil-partner-frame img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  /* Maintain aspect ratio */
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transition: transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Hover / focus zoom effect for partner logos */
.mil-partner-frame:hover img,
.mil-partner-frame:focus-within img {
  -webkit-transform: scale(1.08);
  transform: scale(1.08);
  filter: brightness(1.04);
}

/* Slight active/tap feedback for touch devices */
.mil-partner-frame:active img {
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .mil-partner-frame img,
  .mil-partner-frame:hover img,
  .mil-partner-frame:focus-within img,
  .mil-partner-frame:active img {
    -webkit-transition: none !important;
    transition: none !important;
    -webkit-transform: none !important;
    transform: none !important;
  }
}

/* -------------------------------------------

services



/* -------------------------------------------

team

------------------------------------------- */

.mil-mb-90 h2.pearce-title {
  font-family: "Pearce", sans-serif;
  font-weight: 700;
  font-size: 42px;
  line-height: 1.1;
  color: #000;
  letter-spacing: -0.5px;
  margin-bottom: 30px;
  max-width: 520px;
  white-space: normal;
  word-break: keep-all;
}

.mil-team-card {
  position: relative;
  overflow: hidden;
  padding-bottom: 130%;
}

.mil-team-card:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 0;
  background-color: #f0531c;
  -webkit-transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-team-card img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-team-card.mil-offset-card {
  -webkit-transform: translateY(60px);
  transform: translateY(60px);
}

@media screen and (max-width: 992px) {
  .mil-team-card.mil-offset-card {
    -webkit-transform: none;
    transform: none;
  }
}

.mil-team-card .mil-description {
  opacity: 0;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 60px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  pointer-events: none;
  -webkit-transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-team-card .mil-description .mil-secrc-text {
  opacity: 0;
  -webkit-transform: translateY(15px);
  transform: translateY(15px);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.mil-team-card .mil-description .mil-secrc-text a {
  color: rgb(255, 255, 255);
  -webkit-transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-team-list {
  position: relative;
}

.mil-team-list .mil-lines-place {
  position: absolute;
  top: -120px;
  left: -22.5%;
}

/* Rendre le mot Ahdaf en gras dans les paragraphes */
.mil-mb-90 p {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  color: #666;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
}

/* Spécifiquement pour le mot "Ahdaf" */
.mil-mb-90 p:has(strong),
.mil-mb-90 p:has(b) {
  color: #444;
}

.mil-mb-90 p strong,
.mil-mb-90 p b,
.mil-mb-90 p span.ahdaf {
  font-weight: 700;
  color: #000;
}

.mil-mb-90 h2 {
  /* font-family: 'Pearce.ttf', sans-serif; */
  font-weight: 700;
  font-size: 42px;
  line-height: 1.1;
  color: #000;
  letter-spacing: -0.5px;
  margin-bottom: 30px;
  max-width: 520px;
  /* augmente la largeur du bloc */
  white-space: normal;
  word-break: keep-all;
}

/* -------------------------------------------

social icons

------------------------------------------- */
/* --- Social icons: rendu comme l'image 2 --- */
footer.mil-dark-bg .mil-social-icons {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  /* sous le champ, aligné à gauche */
  gap: 14px;
  margin: 18px 0 26px;
  padding: 0;
  list-style: none;
}

/* neutraliser styles globaux éventuels sur les <i> */
footer.mil-dark-bg .mil-social-icons i {
  font-size: 20px;
  /* taille visible comme le PDF */
  line-height: 1;
  color: #fff;
  opacity: 0.95;
}

/* zone de clic homogène */
footer.mil-dark-bg .mil-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  /* carré discret, pas de halo */
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease, color 0.2s ease;
  color: #fff;
}

footer.mil-dark-bg .mil-social-icons a:hover {
  color: #f0531c;
  opacity: 1;
  transform: translateY(-1px);
}

/* Mobile: centré sous le formulaire */
@media (max-width: 768px) {
  footer.mil-dark-bg .mil-social-icons {
    justify-content: center;
    gap: 18px;
    margin: 22px auto;
  }
}

/* -------------------------------------------

revievs

------------------------------------------- */
.mil-revi-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 992px) {
  .mil-revi-pagination {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.mil-revi-pagination .swiper-pagination-bullet {
  padding: 0;
  width: 110px;
  height: 110px;
  padding: 10px;
  opacity: 1;
  border: none;
  background-color: transparent;
  margin: 0 !important;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
}

@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet {
    width: 90px;
    height: 90px;
  }
}

.mil-revi-pagination .swiper-pagination-bullet:nth-child(2n) {
  margin-top: 30px !important;
}

@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet:nth-child(2n) {
    margin-top: 0 !important;
  }
}

.mil-revi-pagination .swiper-pagination-bullet:hover {
  -webkit-box-shadow: inset 0 0 0 4px rgb(255, 255, 255);
  box-shadow: inset 0 0 0 4px rgb(255, 255, 255);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot {
  background-color: red;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-size: cover;
  background-position: top;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
}

@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot {
    width: 70px;
    height: 70px;
  }
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-1 {
  background-image: url(../img/faces/customers/1.png);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-2 {
  background-image: url(../img/faces/customers/2.png);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-3 {
  background-image: url(../img/faces/customers/3.png);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-4 {
  background-image: url(../img/faces/customers/4.png);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-5 {
  background-image: url(../img/faces/customers/5.png);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-6 {
  background-image: url(../img/faces/customers/6.png);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-7 {
  background-image: url(../img/faces/customers/7.png);
}

.mil-revi-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  -webkit-box-shadow: inset 0 0 0 4px #f0531c;
  box-shadow: inset 0 0 0 4px #f0531c;
}

.mil-quote-icon {
  display: block;
  margin: 0 auto;
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
}

.mil-quote-icon path {
  fill: #f0531c;
}

.mil-slider-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-slider-nav .mil-slider-arrow {
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgb(0, 0, 0);
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-slider-nav .mil-slider-arrow svg path {
  fill: rgb(255, 152, 0);
}

.mil-slider-nav .mil-slider-arrow.mil-prev {
  margin-right: 10px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.mil-slider-nav .mil-slider-arrow.swiper-button-disabled {
  opacity: 0.1;
  cursor: not-allowed;
}

.mil-slider-nav .mil-slider-arrow:hover {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}

.mil-slider-nav .mil-slider-arrow:hover.mil-prev {
  -webkit-transform: rotate(180deg) scale(1.15);
  transform: rotate(180deg) scale(1.15);
}

.mil-slider-nav.mil-reviews-nav {
  position: absolute;
  top: 160px;
  left: 0;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 992px) {
  .mil-slider-nav.mil-reviews-nav {
    top: 0;
  }
}

.mil-slider-nav.mil-soft .mil-slider-arrow {
  background-color: rgb(229, 229, 229);
}

.mil-slider-nav.mil-soft .mil-slider-arrow svg path {
  fill: rgb(0, 0, 0);
}

/* Pearce sur ce titre + ses spans .mil-thin */
h2.pearce-title,
h2.pearce-title .mil-thin {
  font-family: "Pearce", sans-serif;
}

/* (optionnel) le style visuel du titre */
h2.pearce-title {
  font-weight: 700;
  font-size: 42px;
  line-height: 1.1;
  color: #000;
  letter-spacing: -0.5px;
}

/* -------------------------------------------

blog

------------------------------------------- */
.mil-blog-card {
  display: block;
}

.mil-blog-card .mil-cover-frame {
  position: relative;
  overflow: hidden;
  padding-bottom: 65%;
  margin-bottom: 30px;
}

.mil-blog-card .mil-cover-frame img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-blog-card .mil-post-descr {
  padding: 30px 30px 0 0;
}

.mil-blog-card .mil-post-descr .mil-post-text {
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mil-blog-card:hover .mil-cover-frame img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.mil-blog-card.mil-blog-card-hori {
  padding-top: 60px;
  border-top: solid 1px rgb(229, 229, 229);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-blog-card.mil-blog-card-hori .mil-cover-frame {
  margin-bottom: 0;
  width: 450px;
  padding-bottom: 27%;
}

.mil-blog-card.mil-blog-card-hori .mil-post-descr {
  width: calc(100% - 450px);
  padding: 0;
  padding-left: 60px;
}

@media screen and (max-width: 992px) {
  .mil-blog-card.mil-blog-card-hori {
    display: block;
    padding-top: 0;
    border: none;
  }

  .mil-blog-card.mil-blog-card-hori .mil-cover-frame {
    width: 100%;
    padding-bottom: 65%;
    margin-bottom: 30px;
  }

  .mil-blog-card.mil-blog-card-hori .mil-post-descr {
    width: 100%;
    padding: 30px 30px 0 0;
  }
}

.mil-labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0;
}

.mil-labels .mil-label {
  margin-right: 15px;
}

.mil-labels .mil-label:last-child {
  margin-right: 0;
}

.mil-pagination {
  padding-top: 60px;
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 20px;
}

.mil-pagination-btn {
  display: inline-block;
  width: 40px;
  height: 40px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.1);
  color: rgb(0, 0, 0);
  text-align: center;
  line-height: 40px;
  text-decoration: none;
  margin-right: 10px;
}

.mil-pagination-btn.mil-active {
  background-color: rgb(255, 152, 0);
}

.mil-category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-category-list li {
  list-style-type: none;
  margin-right: 10px;
}

.mil-category-list li:last-child {
  margin-right: 0;
}

.mil-category-list li a {
  height: 40px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: transparent;
  padding: 0 20px;
  border-radius: 40px;
  color: rgb(0, 0, 0);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-category-list li a:hover {
  background-color: rgb(229, 229, 229);
}

.mil-category-list li a.mil-active {
  background-color: rgb(255, 152, 0);
}

@media screen and (max-width: 768px) {
  .mil-category-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mil-category-list li {
    margin-right: 0;
    margin-bottom: 10px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .mil-category-list li:last-child {
    margin-bottom: 0;
  }

  .mil-category-list li a {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

/* -------------------------------------------

footer

------------------------------------------- */
/* =======================
   FOOTER - VERSION DESKTOP
   ======================= */
.mil-footer-menu {
  margin-bottom: 120px;
}

.mil-footer-menu ul li {
  list-style-type: none;
  margin-bottom: 16px;
}

.mil-footer-menu ul li a {
  display: block;
  font-weight: 500;
  font-size: 28px;
  color: rgba(255, 255, 255, 0.9);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-footer-menu ul li a:hover {
  transform: translateX(10px);
  color: #f0531c;
}

.mil-footer-menu ul li.mil-active a {
  color: #f0531c;
}

.mil-footer-menu ul li.mil-active a:hover {
  transform: none;
}

/* =======================
   FOOTER - VERSION MOBILE ≤768px
   ======================= */
/* =======================
   FOOTER – MOBILE (≤768px)
   ======================= */
@media (max-width: 768px) {
  /* 1) Colonnes pleine largeur (évite le split) */
  footer.mil-dark-bg .row {
    flex-wrap: wrap !important;
  }

  footer.mil-dark-bg [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* 2) NE PAS cacher .mi-invert-fix : on neutralise juste ses effets */
  footer.mil-dark-bg .mi-invert-fix {
    position: static !important;
    background: transparent !important;
  }

  footer.mil-dark-bg .mi-invert-fix::before,
  footer.mil-dark-bg .mi-invert-fix::after {
    content: none !important;
    display: none !important;
  }

  /* 3) On masque seulement les décos susceptibles de créer la bande */
  footer.mil-dark-bg .mil-gradient,
  footer.mil-dark-bg .mil-animation-frame,
  footer.mil-dark-bg .mil-animation,
  footer.mil-dark-bg .mil-lines-place {
    display: none !important;
  }

  /* 4) Fond uniforme + centrage global */
  footer.mil-dark-bg {
    background: #000 !important;
    text-align: center;
  }

  footer.mil-dark-bg .mil-logo,
  footer.mil-dark-bg .mil-light-soft,
  footer.mil-dark-bg .mil-muted {
    margin-left: auto;
    margin-right: auto;
  }

  /* 5) Newsletter centrée */
  footer.mil-dark-bg .mil-subscribe-form {
    max-width: 90%;
    margin: 0 auto 20px;
  }

  footer.mil-dark-bg .mil-subscribe-form input {
    text-align: center;
  }

  /* 6) Menus en colonne, centrés */
  footer.mil-dark-bg .mil-footer-menu ul,
  footer.mil-dark-bg .mil-menu-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    margin: 10px auto;
  }

  footer.mil-dark-bg .mil-footer-menu li,
  footer.mil-dark-bg .mil-menu-list li {
    list-style: none;
    margin: 6px 0;
  }

  /* 7) Neutralise les “between” */
  footer.mil-dark-bg .row.justify-content-between,
  footer.mil-dark-bg .row.justify-content-between.flex-sm-row-reverse {
    justify-content: center !important;
  }

  /* 8) Tes tailles/marges mobile existantes */
  .mil-footer-menu {
    margin-bottom: 60px;
  }

  .mil-footer-menu ul li a {
    font-size: 22px;
  }
}

@media (max-width: 768px) {
  /* Force le fond noir sur tout le footer */
  footer.mil-dark-bg {
    background: #000 !important;
  }

  /* Neutralise le pseudo-élément qui peut créer une bande claire */
  footer.mil-dark-bg::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  /* Neutralise aussi le fond de .mi-invert-fix */
  footer.mil-dark-bg .mi-invert-fix {
    background: transparent !important;
  }

  /* Padding left pour footer mobile */
  footer.footer-mobile-centre .container {
    padding-left: 40px !important;
  }
}

/* =======================
   FOOTER V2 – OVERRIDES
   (à placer APRÈS tes règles actuelles)
   ======================= */

/* Padding & structure desktop */
footer.mil-dark-bg .container {
  padding-top: 120px;
  padding-bottom: 60px;
}

footer.mil-dark-bg .mil-logo img {
  height: 40px;
}

/* Slogan + paragraphe newsletter */
footer.mil-dark-bg h6.mil-light {
  font-weight: 700;
  letter-spacing: 0.2px;
  color: #fff;
  font-family: "Pearce", sans-serif;
}

footer.mil-dark-bg p.mil-light-soft {
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 24px;
}

/* Formulaire newsletter type “pilule” */
footer.mil-dark-bg .mil-subscribe-form {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 460px;
  background: #141414;
  border-radius: 28px;
  padding: 6px;
}

footer.mil-dark-bg .mil-subscribe-form input {
  flex: 1 1 auto;
  height: 44px;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0 16px;
  opacity: 0.85;
}

footer.mil-dark-bg .mil-subscribe-form input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}

footer.mil-dark-bg .mil-subscribe-form .mil-button {
  width: 44px;
  height: 44px;
  border-radius: 50%;

  min-width: 44px;
}

/* Menu principal (au centre) */
.mil-footer-menu {
  margin-bottom: 60px;
}

.mil-footer-menu ul {
  padding-left: 0;
}

.mil-footer-menu ul li {
  list-style: none;
  margin-bottom: 30px;
}

.mil-footer-menu ul li a {
  font-weight: 700;
  /* plus “gras” comme la maquette */
  font-size: 28px;
  color: rgba(255, 255, 255, 0.92);
}

.mil-footer-menu ul li a:hover {
  transform: translateX(8px);
  color: #f0531c;
}

.mil-footer-menu ul li.mil-active a {
  color: #f0531c;
}

/* Liens légaux (colonne droite) – augmenter le contraste */
footer.mil-dark-bg .mil-menu-list {
  padding-left: 0;
}

footer.mil-dark-bg .mil-menu-list li {
  list-style: none;
  margin-bottom: 10px;
}

footer.mil-dark-bg .mil-menu-list a {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  /* + lisible */
  transition: color 0.25s ease;
}

footer.mil-dark-bg .mil-menu-list a:hover {
  color: rgba(255, 255, 255, 0.95);
}

/* Icônes sociales en ligne et plus grandes */
/* Désactive l’animation .mil-up si elle reste sur le <ul> */
footer.mil-dark-bg .mil-social-icons.mil-up {
  transform: none !important;
  opacity: 1 !important;
}

/* Bloc d'icônes : même ligne que les adresses */
footer.mil-dark-bg .mil-social-icons {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

/* Clic homogène + rendu FA6 */
footer.mil-dark-bg .mil-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #fff;
  opacity: 0.95;
  transition: transform 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

footer.mil-dark-bg .mil-social-icons a i,
footer.mil-dark-bg .mil-social-icons a .fa-brands {
  font-size: 20px;
  line-height: 1;
}

footer.mil-dark-bg .mil-social-icons a svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

footer.mil-dark-bg .mil-social-icons a:hover {
  color: #f0531c;
  opacity: 1;
  transform: translateY(-1px);
}

/* Option: micro-alignement vertical au pixel près */
@media (min-width: 992px) {
  /* Ajuste la hauteur si besoin pour que la première ligne d'icônes
     tombe exactement au niveau des titres "UAE - Dubai / Germany - Berlin" */
  footer.mil-dark-bg .col-lg-6 .mil-vert-between {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  footer.mil-dark-bg .col-lg-6 .mil-vert-between .mil-social-icons {
    margin-top: 4px;
  }

  /* ajuste 0→10px si nécessaire */
}

/* =============================
   ALIGNER LES ICONES SOCIALES AVEC LES ADRESSES
   ============================= */

footer.mil-dark-bg .mil-social-icons {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  margin: 40px 0 0;
  /* on monte le bloc d'adresses en bas */
  padding: 0;
  list-style: none;
  position: relative;
  top: 40px;
  /* décalage vers le bas pour aligner sur UAE - Dubai */
}

/* Ajuster la taille et le rendu */
footer.mil-dark-bg .mil-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #fff;
  font-size: 20px;
  opacity: 0.95;
  transition: all 0.25s ease;
}

footer.mil-dark-bg .mil-social-icons a:hover {
  color: #f0531c;
  opacity: 1;
  transform: scale(1.08);
}

/* Centrer sur mobile */
@media (max-width: 768px) {
  footer.mil-dark-bg .mil-social-icons {
    justify-content: center;
    top: 0;
    margin: 24px auto;
  }
}

/* 1) Désactiver l'animation de .mil-up dans ce bloc */
footer.mil-dark-bg .mil-social-icons.mil-up {
  transform: none !important;
  opacity: 1 !important;
}

/* 2) Layout, espacement et position */
footer.mil-dark-bg .mil-social-icons {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  /* à gauche comme le PDF */
  gap: 14px;
  margin: 18px 0 26px;
  padding: 0;
  list-style: none;
}

/* 3) Zone de clic homogène */
footer.mil-dark-bg .mil-social-icons li {
  list-style: none;
}

footer.mil-dark-bg .mil-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  /* carré discret sous le champ */
  text-decoration: none;
  color: #fff !important;
  /* force le blanc du thème */
  transition: transform 0.2s ease, color 0.2s ease, opacity 0.2s ease;
  opacity: 0.95;
}

/* 4) Tailles pour FA v6 (svg) + fallback <i> */
footer.mil-dark-bg .mil-social-icons a i,
footer.mil-dark-bg .mil-social-icons a .fa-brands {
  font-size: 20px;
  /* taille visible comme le PDF */
  line-height: 1;
}

footer.mil-dark-bg .mil-social-icons a svg {
  width: 20px;
  height: 20px;
  /* FA6 remplace par <svg> */
  fill: currentColor;
  /* hérite du blanc */
}

/* 5) Hover orange + léger lift */
footer.mil-dark-bg .mil-social-icons a:hover {
  color: #f0531c !important;
  opacity: 1;
  transform: translateY(-1px);
}

/* 6) Mobile centré */
@media (max-width: 768px) {
  footer.mil-dark-bg .mil-social-icons {
    justify-content: center;
    gap: 18px;
    margin: 22px auto;
  }
}

/* Titres adresses */
footer.mil-dark-bg h6.mil-muted {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.2px;
}

footer.mil-dark-bg .mil-no-wrap {
  white-space: nowrap;
}

/* Texte adresses */
footer.mil-dark-bg .col-md-7 .mil-light-soft {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  line-height: 1.65;
}

/* Copyright */
footer.mil-dark-bg .mil-vert-between p.mil-light-soft {
  color: rgba(255, 255, 255, 0.75);
}

/* =========  MOBILE ≤768px (garde ton centrage & fond noir)  ========= */
@media (max-width: 768px) {
  footer.mil-dark-bg {
    background: #000 !important;
    text-align: center;
  }

  footer.mil-dark-bg .row {
    flex-wrap: wrap !important;
  }

  footer.mil-dark-bg [class*="col-"] {
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Form newsletter plein écran mobile */
  footer.mil-dark-bg .mil-subscribe-form {
    max-width: 90%;
    /* Aligne le formulaire à gauche sur mobile (comme la version web) */
    margin: 0 0 18px 0;
    justify-content: flex-start;
  }

  footer.mil-dark-bg .mil-subscribe-form input {
    /* S'assurer que le texte du champ est à gauche sur mobile */
    text-align: left;
  }

  /* Menus centrés */
  footer.mil-dark-bg .mil-footer-menu ul,
  footer.mil-dark-bg .mil-menu-list {
    align-items: center;
  }

  /* Taille des liens */
  .mil-footer-menu ul li a {
    font-size: 22px;
  }
}

.mil-subscribe-form {
  position: relative;
  height: 70px;
  width: 100%;
}

.mil-subscribe-form input {
  height: 100%;
  margin-bottom: 0px;
  text-align: left;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.1);
  color: rgb(0, 0, 0);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: none;
  border-radius: 70px;
  padding: 0 70px 0 20px;
  /* Left padding reduced, right padding for button */
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-subscribe-form input::-webkit-input-placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input::-moz-placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input:-ms-input-placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input::-ms-input-placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input::placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input:focus {
  background-color: rgb(255, 255, 255);
  outline: inherit;
}

.mil-subscribe-form input:hover {
  background-color: rgb(255, 255, 255);
}

.mil-subscribe-form .mil-button {
  position: absolute;
  top: 15px;
  right: 15px;
}

.mil-subscribe-form.mil-subscribe-form-2 input {
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.1);
}

/* -------------------------------------------

portfolio

------------------------------------------- */
.mil-portfolio-item {
  display: block;
}

.mil-portfolio-item .mil-cover-frame {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.mil-portfolio-item .mil-cover-frame .mil-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mil-portfolio-item .mil-cover-frame .mil-cover img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-portfolio-item .mil-cover-frame.mil-vert {
  padding-bottom: 130%;
}

.mil-portfolio-item .mil-cover-frame.mil-hori {
  padding-bottom: 65%;
}

.mil-portfolio-item:hover .mil-cover-frame .mil-cover img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.mil-portfolio-item.mil-slider-item .mil-cover-frame {
  margin-bottom: 30px;
  height: calc(100vh - 360px);
}

@media screen and (max-width: 992px) {
  .mil-portfolio-item.mil-slider-item .mil-cover-frame {
    height: auto;
    padding-bottom: 100%;
  }
}

.mil-portfolio-item.mil-slider-item .mil-descr {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 180px;
  background-color: rgb(242, 242, 242);
  padding: 0 60px;
}

@media screen and (max-width: 992px) {
  .mil-portfolio-item.mil-slider-item .mil-descr {
    padding: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    height: auto;
  }

  .mil-portfolio-item.mil-slider-item .mil-descr .mil-descr-text {
    margin-bottom: 30px;
  }
}

.mil-portfolio-item.mil-slider-item:hover .mil-cover-frame .mil-cover img {
  -webkit-transform: none;
  transform: none;
}

.swiper-slide .mil-portfolio-item .mil-descr {
  pointer-events: none;
}

.swiper-slide.swiper-slide-active .mil-portfolio-item .mil-descr {
  pointer-events: all;
}

.mil-portfolio {
  position: relative;
}

.mil-portfolio .mil-lines-place {
  position: absolute;
  left: 40.7%;
}

.mil-portfolio .mil-lines-place.mil-lines-long {
  top: 1289px;
}

.mil-portfolio-slider-frame {
  z-index: 0;
  padding-top: 150px;
}

@media screen and (max-width: 992px) {
  .mil-portfolio-slider-frame {
    padding-top: 180px;
  }
}

.mil-portfolio-nav {
  background-color: rgb(242, 242, 242);
  width: 100%;
  padding: 0 60px;
  height: 180px;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.mil-portfolio-nav .mil-portfolio-btns-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 15px;
  height: 70px;
  border-radius: 70px;
  background-color: rgb(255, 255, 255);
}

@media screen and (max-width: 992px) {
  .mil-portfolio-nav {
    position: static;
    height: auto;
    padding: 30px 0 90px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    background-color: rgb(255, 255, 255);
  }

  .mil-portfolio-nav .mil-portfolio-btns-frame {
    width: 100%;
    height: auto;
    padding: 0;
  }
}

.swiper-portfolio-pagination {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 0 15px;
}

.mil-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 120px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .mil-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    padding: 30px;
  }
}

@media (max-width: 768px) {
  .mil-info {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 768px) {
  /* Avant-dernier div */
  .mil-info.mil-mb-90 > div:nth-last-of-type(2) {
    margin-right: 80px;
  }

  /* Dernier div */
  .mil-info.mil-mb-90 > div:last-of-type {
    margin-right: 40px;
  }
}

.mil-works-nav {
  padding-top: 60px;
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-works-nav .mil-disabled {
  opacity: 0.2;
  cursor: not-allowed;
}

@media screen and (max-width: 768px) {
  .mil-works-nav {
    padding-top: 0;
    border-top: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .mil-works-nav .mil-link {
    display: none;
  }

  .mil-works-nav .mil-link:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/***************************

map

***************************/
.mil-map-frame {
  background-color: rgb(229, 229, 229);
  pointer-events: all;
  height: 600px;
  position: relative;
  overflow: hidden;
}

.mil-map-frame .mil-map {
  position: absolute;
  top: -25%;
  left: -25%;
  width: 150%;
  height: 150%;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-map-frame .mil-map iframe {
  width: 100%;
  height: 100%;
}

/* -------------------------------------------

accordion

------------------------------------------- */
.mil-accordion-group {
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
  margin-bottom: 30px;
}

.mil-accordion-group .mil-accordion-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  cursor: pointer;
  margin-bottom: 30px;
}

.mil-accordion-group .mil-accordion-menu .mil-symbol {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: rgb(0, 0, 0);
  background-color: rgb(229, 229, 229);
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

.mil-accordion-group .mil-accordion-menu .mil-symbol .mil-plus,
.mil-accordion-group .mil-accordion-menu .mil-symbol .mil-minus {
  position: absolute;
}

.mil-accordion-group .mil-accordion-menu .mil-symbol .mil-minus {
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

.mil-accordion-group .mil-accordion-menu .mil-accordion-head {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgb(0, 0, 0);
}

.mil-accordion-content {
  height: 0;
  overflow: hidden;
}

/***************************

price

***************************/
.mil-price-card {
  display: block;
  width: 100%;
  border-top: solid 1px rgba(255, 255, 255, 0.1);
  border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  padding: 60px 0 30px;
}

.mil-price-card .mil-price-number {
  padding-top: 10px;
  line-height: 70%;
  font-size: 54px;
  font-weight: 500;
}

.mil-price-card .mil-price-number .mil-thin {
  font-weight: 200;
  font-size: 18px;
}

/***************************

404

***************************/
.mil-404-banner .mil-animation-frame {
  z-index: 2;
}

.mil-404-frame {
  padding-top: 100px;
  height: 100vh;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-404-text {
  display: block;
  text-align: center;
  color: rgb(255, 255, 255);
}

.mil-scale-frame {
  -webkit-transform: scale(2.3);
  transform: scale(2.3);
  text-align: center;
  margin-bottom: 90px;
}

@media screen and (max-width: 530px) {
  .mil-scale-frame {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    margin-bottom: 50px;
  }
}

.mil-404 {
  position: relative;
  color: rgb(255, 255, 255);
  font-size: 6em;
  font-weight: 500;
  animation: glitch-skew 1s infinite linear alternate-reverse;
}

.mil-404::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: 2px;
  text-shadow: -2px 0 rgb(255, 152, 0);
  clip: rect(44px, 450px, 56px, 0);
  animation: glitch-anim 5s infinite linear alternate-reverse;
}

.mil-404::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: -2px;
  text-shadow: -2px 0 rgb(153, 153, 153), 2px 2px rgb(229, 229, 229);
  animation: glitch-anim2 1s infinite linear alternate-reverse;
}

@-webkit-keyframes glitch-anim {
  0% {
    clip: rect(49px, 9999px, 31px, 0);
    -webkit-transform: skew(0.04deg);
    transform: skew(0.04deg);
  }

  5% {
    clip: rect(63px, 9999px, 92px, 0);
    -webkit-transform: skew(0.18deg);
    transform: skew(0.18deg);
  }

  10% {
    clip: rect(86px, 9999px, 74px, 0);
    -webkit-transform: skew(0.4deg);
    transform: skew(0.4deg);
  }

  15% {
    clip: rect(85px, 9999px, 19px, 0);
    -webkit-transform: skew(0.57deg);
    transform: skew(0.57deg);
  }

  20% {
    clip: rect(64px, 9999px, 75px, 0);
    -webkit-transform: skew(0.96deg);
    transform: skew(0.96deg);
  }

  25% {
    clip: rect(77px, 9999px, 17px, 0);
    -webkit-transform: skew(0.61deg);
    transform: skew(0.61deg);
  }

  30% {
    clip: rect(16px, 9999px, 76px, 0);
    -webkit-transform: skew(0.81deg);
    transform: skew(0.81deg);
  }

  35% {
    clip: rect(5px, 9999px, 61px, 0);
    -webkit-transform: skew(0.56deg);
    transform: skew(0.56deg);
  }

  40% {
    clip: rect(79px, 9999px, 81px, 0);
    -webkit-transform: skew(0.05deg);
    transform: skew(0.05deg);
  }

  45% {
    clip: rect(20px, 9999px, 97px, 0);
    -webkit-transform: skew(0.56deg);
    transform: skew(0.56deg);
  }

  50% {
    clip: rect(33px, 9999px, 100px, 0);
    -webkit-transform: skew(0.16deg);
    transform: skew(0.16deg);
  }

  55% {
    clip: rect(19px, 9999px, 76px, 0);
    -webkit-transform: skew(0.93deg);
    transform: skew(0.93deg);
  }

  60% {
    clip: rect(29px, 9999px, 59px, 0);
    -webkit-transform: skew(0.58deg);
    transform: skew(0.58deg);
  }

  65% {
    clip: rect(19px, 9999px, 95px, 0);
    -webkit-transform: skew(0.83deg);
    transform: skew(0.83deg);
  }

  70% {
    clip: rect(88px, 9999px, 30px, 0);
    -webkit-transform: skew(0.39deg);
    transform: skew(0.39deg);
  }

  75% {
    clip: rect(43px, 9999px, 45px, 0);
    -webkit-transform: skew(0.6deg);
    transform: skew(0.6deg);
  }

  80% {
    clip: rect(30px, 9999px, 4px, 0);
    -webkit-transform: skew(0.89deg);
    transform: skew(0.89deg);
  }

  85% {
    clip: rect(4px, 9999px, 96px, 0);
    -webkit-transform: skew(1deg);
    transform: skew(1deg);
  }

  90% {
    clip: rect(4px, 9999px, 91px, 0);
    -webkit-transform: skew(0.2deg);
    transform: skew(0.2deg);
  }

  95% {
    clip: rect(48px, 9999px, 80px, 0);
    -webkit-transform: skew(0.41deg);
    transform: skew(0.41deg);
  }

  100% {
    clip: rect(10px, 9999px, 58px, 0);
    -webkit-transform: skew(0.91deg);
    transform: skew(0.91deg);
  }
}

@keyframes glitch-anim {
  0% {
    clip: rect(49px, 9999px, 31px, 0);
    -webkit-transform: skew(0.04deg);
    transform: skew(0.04deg);
  }

  5% {
    clip: rect(63px, 9999px, 92px, 0);
    -webkit-transform: skew(0.18deg);
    transform: skew(0.18deg);
  }

  10% {
    clip: rect(86px, 9999px, 74px, 0);
    -webkit-transform: skew(0.4deg);
    transform: skew(0.4deg);
  }

  15% {
    clip: rect(85px, 9999px, 19px, 0);
    -webkit-transform: skew(0.57deg);
    transform: skew(0.57deg);
  }

  20% {
    clip: rect(64px, 9999px, 75px, 0);
    -webkit-transform: skew(0.96deg);
    transform: skew(0.96deg);
  }

  25% {
    clip: rect(77px, 9999px, 17px, 0);
    -webkit-transform: skew(0.61deg);
    transform: skew(0.61deg);
  }

  30% {
    clip: rect(16px, 9999px, 76px, 0);
    -webkit-transform: skew(0.81deg);
    transform: skew(0.81deg);
  }

  35% {
    clip: rect(5px, 9999px, 61px, 0);
    -webkit-transform: skew(0.56deg);
    transform: skew(0.56deg);
  }

  40% {
    clip: rect(79px, 9999px, 81px, 0);
    -webkit-transform: skew(0.05deg);
    transform: skew(0.05deg);
  }

  45% {
    clip: rect(20px, 9999px, 97px, 0);
    -webkit-transform: skew(0.56deg);
    transform: skew(0.56deg);
  }

  50% {
    clip: rect(33px, 9999px, 100px, 0);
    -webkit-transform: skew(0.16deg);
    transform: skew(0.16deg);
  }

  55% {
    clip: rect(19px, 9999px, 76px, 0);
    -webkit-transform: skew(0.93deg);
    transform: skew(0.93deg);
  }

  60% {
    clip: rect(29px, 9999px, 59px, 0);
    -webkit-transform: skew(0.58deg);
    transform: skew(0.58deg);
  }

  65% {
    clip: rect(19px, 9999px, 95px, 0);
    -webkit-transform: skew(0.83deg);
    transform: skew(0.83deg);
  }

  70% {
    clip: rect(88px, 9999px, 30px, 0);
    -webkit-transform: skew(0.39deg);
    transform: skew(0.39deg);
  }

  75% {
    clip: rect(43px, 9999px, 45px, 0);
    -webkit-transform: skew(0.6deg);
    transform: skew(0.6deg);
  }

  80% {
    clip: rect(30px, 9999px, 4px, 0);
    -webkit-transform: skew(0.89deg);
    transform: skew(0.89deg);
  }

  85% {
    clip: rect(4px, 9999px, 96px, 0);
    -webkit-transform: skew(1deg);
    transform: skew(1deg);
  }

  90% {
    clip: rect(4px, 9999px, 91px, 0);
    -webkit-transform: skew(0.2deg);
    transform: skew(0.2deg);
  }

  95% {
    clip: rect(48px, 9999px, 80px, 0);
    -webkit-transform: skew(0.41deg);
    transform: skew(0.41deg);
  }

  100% {
    clip: rect(10px, 9999px, 58px, 0);
    -webkit-transform: skew(0.91deg);
    transform: skew(0.91deg);
  }
}

@-webkit-keyframes glitch-anim2 {
  0% {
    clip: rect(97px, 9999px, 84px, 0);
    -webkit-transform: skew(0.55deg);
    transform: skew(0.55deg);
  }

  5% {
    clip: rect(82px, 9999px, 21px, 0);
    -webkit-transform: skew(0.04deg);
    transform: skew(0.04deg);
  }

  10% {
    clip: rect(51px, 9999px, 99px, 0);
    -webkit-transform: skew(0.93deg);
    transform: skew(0.93deg);
  }

  15% {
    clip: rect(42px, 9999px, 97px, 0);
    -webkit-transform: skew(0.03deg);
    transform: skew(0.03deg);
  }

  20% {
    clip: rect(27px, 9999px, 25px, 0);
    -webkit-transform: skew(0.86deg);
    transform: skew(0.86deg);
  }

  25% {
    clip: rect(69px, 9999px, 5px, 0);
    -webkit-transform: skew(0.95deg);
    transform: skew(0.95deg);
  }

  30% {
    clip: rect(38px, 9999px, 67px, 0);
    -webkit-transform: skew(0.33deg);
    transform: skew(0.33deg);
  }

  35% {
    clip: rect(8px, 9999px, 90px, 0);
    -webkit-transform: skew(0.67deg);
    transform: skew(0.67deg);
  }

  40% {
    clip: rect(34px, 9999px, 31px, 0);
    -webkit-transform: skew(0.33deg);
    transform: skew(0.33deg);
  }

  45% {
    clip: rect(1px, 9999px, 25px, 0);
    -webkit-transform: skew(0.71deg);
    transform: skew(0.71deg);
  }

  50% {
    clip: rect(45px, 9999px, 40px, 0);
    -webkit-transform: skew(0.38deg);
    transform: skew(0.38deg);
  }

  55% {
    clip: rect(84px, 9999px, 96px, 0);
    -webkit-transform: skew(0.3deg);
    transform: skew(0.3deg);
  }

  60% {
    clip: rect(68px, 9999px, 59px, 0);
    -webkit-transform: skew(0.35deg);
    transform: skew(0.35deg);
  }

  65% {
    clip: rect(93px, 9999px, 48px, 0);
    -webkit-transform: skew(0.25deg);
    transform: skew(0.25deg);
  }

  70% {
    clip: rect(19px, 9999px, 40px, 0);
    -webkit-transform: skew(0.97deg);
    transform: skew(0.97deg);
  }

  75% {
    clip: rect(76px, 9999px, 56px, 0);
    -webkit-transform: skew(0.79deg);
    transform: skew(0.79deg);
  }

  80% {
    clip: rect(22px, 9999px, 82px, 0);
    -webkit-transform: skew(0.48deg);
    transform: skew(0.48deg);
  }

  85% {
    clip: rect(30px, 9999px, 63px, 0);
    -webkit-transform: skew(0.91deg);
    transform: skew(0.91deg);
  }

  90% {
    clip: rect(68px, 9999px, 44px, 0);
    -webkit-transform: skew(0.4deg);
    transform: skew(0.4deg);
  }

  95% {
    clip: rect(12px, 9999px, 36px, 0);
    -webkit-transform: skew(0.61deg);
    transform: skew(0.61deg);
  }

  100% {
    clip: rect(24px, 9999px, 5px, 0);
    -webkit-transform: skew(0.96deg);
    transform: skew(0.96deg);
  }
}

@keyframes glitch-anim2 {
  0% {
    clip: rect(97px, 9999px, 84px, 0);
    -webkit-transform: skew(0.55deg);
    transform: skew(0.55deg);
  }

  5% {
    clip: rect(82px, 9999px, 21px, 0);
    -webkit-transform: skew(0.04deg);
    transform: skew(0.04deg);
  }

  10% {
    clip: rect(51px, 9999px, 99px, 0);
    -webkit-transform: skew(0.93deg);
    transform: skew(0.93deg);
  }

  15% {
    clip: rect(42px, 9999px, 97px, 0);
    -webkit-transform: skew(0.03deg);
    transform: skew(0.03deg);
  }

  20% {
    clip: rect(27px, 9999px, 25px, 0);
    -webkit-transform: skew(0.86deg);
    transform: skew(0.86deg);
  }

  25% {
    clip: rect(69px, 9999px, 5px, 0);
    -webkit-transform: skew(0.95deg);
    transform: skew(0.95deg);
  }

  30% {
    clip: rect(38px, 9999px, 67px, 0);
    -webkit-transform: skew(0.33deg);
    transform: skew(0.33deg);
  }

  35% {
    clip: rect(8px, 9999px, 90px, 0);
    -webkit-transform: skew(0.67deg);
    transform: skew(0.67deg);
  }

  40% {
    clip: rect(34px, 9999px, 31px, 0);
    -webkit-transform: skew(0.33deg);
    transform: skew(0.33deg);
  }

  45% {
    clip: rect(1px, 9999px, 25px, 0);
    -webkit-transform: skew(0.71deg);
    transform: skew(0.71deg);
  }

  50% {
    clip: rect(45px, 9999px, 40px, 0);
    -webkit-transform: skew(0.38deg);
    transform: skew(0.38deg);
  }

  55% {
    clip: rect(84px, 9999px, 96px, 0);
    -webkit-transform: skew(0.3deg);
    transform: skew(0.3deg);
  }

  60% {
    clip: rect(68px, 9999px, 59px, 0);
    -webkit-transform: skew(0.35deg);
    transform: skew(0.35deg);
  }

  65% {
    clip: rect(93px, 9999px, 48px, 0);
    -webkit-transform: skew(0.25deg);
    transform: skew(0.25deg);
  }

  70% {
    clip: rect(19px, 9999px, 40px, 0);
    -webkit-transform: skew(0.97deg);
    transform: skew(0.97deg);
  }

  75% {
    clip: rect(76px, 9999px, 56px, 0);
    -webkit-transform: skew(0.79deg);
    transform: skew(0.79deg);
  }

  80% {
    clip: rect(22px, 9999px, 82px, 0);
    -webkit-transform: skew(0.48deg);
    transform: skew(0.48deg);
  }

  85% {
    clip: rect(30px, 9999px, 63px, 0);
    -webkit-transform: skew(0.91deg);
    transform: skew(0.91deg);
  }

  90% {
    clip: rect(68px, 9999px, 44px, 0);
    -webkit-transform: skew(0.4deg);
    transform: skew(0.4deg);
  }

  95% {
    clip: rect(12px, 9999px, 36px, 0);
    -webkit-transform: skew(0.61deg);
    transform: skew(0.61deg);
  }

  100% {
    clip: rect(24px, 9999px, 5px, 0);
    -webkit-transform: skew(0.96deg);
    transform: skew(0.96deg);
  }
}

@-webkit-keyframes glitch-skew {
  0% {
    -webkit-transform: skew(3deg);
    transform: skew(3deg);
  }

  10% {
    -webkit-transform: skew(2deg);
    transform: skew(2deg);
  }

  20% {
    -webkit-transform: skew(0deg);
    transform: skew(0deg);
  }

  30% {
    -webkit-transform: skew(0deg);
    transform: skew(0deg);
  }

  40% {
    -webkit-transform: skew(2deg);
    transform: skew(2deg);
  }

  50% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  60% {
    -webkit-transform: skew(-3deg);
    transform: skew(-3deg);
  }

  70% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  80% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  90% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  100% {
    -webkit-transform: skew(-3deg);
    transform: skew(-3deg);
  }
}

@keyframes glitch-skew {
  0% {
    -webkit-transform: skew(3deg);
    transform: skew(3deg);
  }

  10% {
    -webkit-transform: skew(2deg);
    transform: skew(2deg);
  }

  20% {
    -webkit-transform: skew(0deg);
    transform: skew(0deg);
  }

  30% {
    -webkit-transform: skew(0deg);
    transform: skew(0deg);
  }

  40% {
    -webkit-transform: skew(2deg);
    transform: skew(2deg);
  }

  50% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  60% {
    -webkit-transform: skew(-3deg);
    transform: skew(-3deg);
  }

  70% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  80% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  90% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  100% {
    -webkit-transform: skew(-3deg);
    transform: skew(-3deg);
  }
}

/***************************

images

***************************/
.mil-image-frame {
  position: relative;
  overflow: hidden;
}

.mil-image-frame > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.mil-image-frame.mil-horizontal {
  padding-bottom: 65%;
}

.mil-image-frame.mil-vertical {
  padding-bottom: 140%;
}

.mil-image-frame.mil-square {
  padding-bottom: 100%;
}

.mil-image-frame.mil-fw {
  padding-bottom: 50%;
}

.mil-image-frame .mil-zoom-btn {
  opacity: 0;
  -webkit-transform: translateY(15px);
  transform: translateY(15px);
  position: absolute;
  top: 30px;
  right: 30px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-image-frame .mil-zoom-btn:hover {
  background-color: rgb(255, 255, 255);
}

.mil-image-frame .mil-zoom-btn img {
  height: 17px;
  width: 17px;
}

.mil-image-frame:hover .mil-zoom-btn {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  z-index: 2;
}

/***************************

page transitions

***************************/
.mil-frame {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.mil-curtain {
  position: fixed;
  pointer-events: none;
  z-index: 4;
  background-color: rgb(0, 0, 0);
  opacity: 0;
  width: 100%;
  height: 100vh;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.mil-main-transition {
  -webkit-transition: 0.6s;
  transition: 0.6s;
  margin-top: 0;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.mil-main-transition .mil-animation-frame {
  opacity: 1;
  margin-top: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.mil-main-transition .mil-lines-place {
  opacity: 1;
  margin-top: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

html.is-animating .mil-frame {
  opacity: 0;
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

@media screen and (max-width: 1200px) {
  html.is-animating .mil-frame {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

html.is-animating .mil-curtain {
  opacity: 1;
  pointer-events: all;
}

html.is-animating .mil-main-transition {
  margin-top: 0.1px;
}

html.is-animating .mil-main-transition .mil-animation-frame {
  opacity: 0;
  margin-top: -90px;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

html.is-animating .mil-main-transition .mil-lines-place {
  opacity: 0;
  margin-top: 90px;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

html.is-animating .mil-menu-frame {
  opacity: 0;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

/*************************** font /***************************/
@font-face {
  font-family: "Pearce";
  src: url("../assets/fonts/Pearce.otf") format("truetype");
  font-weight: 100;
  font-style: normal;
}

/* Changa – map correct des graisses */
@font-face {
  font-family: "Changa";
  src: url("../assets/fonts/Changa-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  /* ExtraLight */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Changa";
  src: url("../assets/fonts/Changa-Regular.ttf") format("truetype");
  font-weight: 400;
  /* Regular */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Changa";
  src: url("../assets/fonts/Changa-Bold.ttf") format("truetype");
  font-weight: 700;
  /* Bold */
  font-style: normal;
  font-display: swap;
}

/* Active la police Pearce (déjà déclarée en @font-face) */

/* Empêche tout héritage de gras via b/strong ou classes du thème */
.mil-banner-content h1 b,
.mil-banner-content h1 strong {
  font-weight: inherit !important;
}

.mil-banner-content .mil-muted {
  /* au cas où le thème force le poids */
  font-weight: inherit !important;
}

/* Lissage pour un rendu plus net */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Paragraphe sous le H1 (même police, poids normal) */
.mil-banner-content p {
  font-family: "Pearce", sans-serif;
  font-weight: 400;
  color: #a9abad;
  /* gris doux comme ta maquette */
  line-height: 1.6;
}

.mil-banner-content-team p {
  font-family: sans-serif;
  font-weight: 400;
  color: #000000;
  /* gris doux comme ta maquette */
  line-height: 1.6;
  max-width: 1500px;
  margin-bottom: 200px;
}

.mil-hero-wrap .mil-title-en {
  font-family: "Pearce", sans-serif;
  font-weight: 400;
  /* poids normal, pas gras */
  color: #fff;
  line-height: 1.3;
  letter-spacing: 0.5px;
}

.mil-hero-wrap .mil-title-ar {
  font-family: "Pearce", "Cairo", sans-serif;
  font-weight: 400;
  color: #fff;
  line-height: 1.6;
  direction: rtl;
  /* pour l’arabe */
  text-align: right;
  /* aligner à droite */
}

/* Titre (avec ta police Pearce) */
.brand-display {
  font-family: "Pearce", serif;
  font-weight: 800;
  font-size: clamp(40px, 6vw, 96px);
  line-height: 0.96;
  /* compact comme la maquette */
  letter-spacing: -0.015em;
  margin: 0 0 24px 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 1ʳᵉ partie sur une seule ligne */
.brand-display .line-keep {
  white-space: nowrap;
}

/* 2ᵉ partie passe à la ligne */
.brand-display .line-break {
  display: block;
}

/* (Optionnel) sur mobile, autoriser 2 lignes libres si l’écran est étroit */
@media (max-width: 768px) {
  .brand-display {
    font-size: clamp(32px, 9vw, 56px);
    line-height: 1.02;
  }
}

.brand-display {
  font-family: "Pearce", serif;
  font-weight: 800;
  font-size: clamp(32px, 4vw, 64px);
  /* réduit la taille max */
  line-height: 1.05;
  /* un peu plus aéré */
  letter-spacing: -0.01em;
  margin-bottom: 24px;
}

.brand-display .line-keep {
  white-space: nowrap;
}

.brand-display .line-break {
  display: block;
}

/* Utility to prevent wrapping for specific pieces of text
   Only force no-wrap on medium+ screens to avoid overflow on mobile */
@media (min-width: 768px) {
  .no-wrap {
    white-space: nowrap;
  }
}

/* Ensure Icon.png logo is visible on dark mobile headers by making it appear white
   without changing the source asset. We target only the Icon.png file so we
   don't invert already-white logos like w.png. */
@media (max-width: 768px) {
  .mil-frame .mil-logo img[src$="Icon.png"],
  .mil-menu-frame .mil-frame-top .mil-logo img[src$="Icon.png"],
  .mil-frame-top .mil-logo img[src$="Icon.png"] {
    filter: invert(1) brightness(1.6) saturate(0.9);
    /* ensure the image renders crisply on mobile */
    -webkit-filter: invert(1) brightness(1.6) saturate(0.9);
  }
}

/* Empêche les césures bizarres sur le H2 */
/* (règles spécifiques gérées par .mil-title-en .keep / .second-line ci-dessous) */

/* Ne jamais couper ces mots */
.mil-title-en .keep {
  white-space: nowrap !important;
}

/* Force la 2e ligne à rester ensemble visuellement */
.mil-title-en .second-line {
  display: block;
}

/*privacy */

.page-privacy .mil-pp-h3,
.page-privacy .mil-pp-h4,
.page-privacy p {
  margin-left: 200px;
}

/* Ensure any h3-styled legal headings follow the same responsive offsets
   as the h4 headings used across the legal pages. This preserves the
   desktop alignment while letting media queries reduce the offset on
   tablet/mobile (overrides use !important where necessary). */
@media screen and (max-width: 992px) {
  .page-privacy .mil-pp-h3 {
    margin-left: 40px !important;
  }
}
@media screen and (max-width: 768px) {
  .page-privacy .mil-pp-h3 {
    margin-left: 20px !important;
  }
}
@media screen and (max-width: 480px) {
  .page-privacy .mil-pp-h3 {
    margin-left: 10px !important;
  }
}

.page-privacy .mil-pp-list li {
  margin-left: 220px;
}

.privacy-brand {
  font-weight: bold !important;
  font-size: 1.25em !important;
  letter-spacing: 0.5px;
  display: inline-block;
}

.mil-privacy-banner .mil-animation-frame {
  z-index: 2;
}

.mil-privacy-frame {
  padding-top: 100px;
  height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.mil-privacy-sub {
  display: block;
  text-align: center;
  color: #fff;
}

.mil-privacy-title {
  position: relative;
  color: #fff;
  font-size: 6em;
  font-weight: 500;
  animation: glitch-skew 1s infinite linear alternate-reverse; /* même effet que 404 */
}
.mil-scale-frame {
  transform: scale(2.3);
  text-align: center;
  margin-bottom: 90px;
}
@media (max-width: 530px) {
  .mil-scale-frame {
    transform: scale(1.3);
    margin-bottom: 50px;
  }
}

/* dédouble l'effet glitch comme 404 */
.mil-privacy-title::before {
  content: attr(data-text);
}
.mil-privacy-title::before,
.mil-privacy-title::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mil-privacy-title::before {
  left: 2px;
  text-shadow: -2px 0 rgb(255, 152, 0);
  clip: rect(44px, 450px, 56px, 0);
  animation: glitch-anim 5s infinite linear alternate-reverse;
}
.mil-privacy-title::after {
  left: -2px;
  text-shadow: -2px 0 #999, 2px 2px #e5e5e5;
  animation: glitch-anim2 1s infinite linear alternate-reverse;
}

/* === Décalage du contenu sur la page Privacy === */
.page-privacy .mil-section.mil-dark-bg .container {
  margin-left: 200px !important; /* décale tout le texte vers la droite */
  max-width: calc(100% - 200px); /* garde la largeur visible correcte */
}

@media (max-width: 991px) {
  .page-privacy .mil-section.mil-dark-bg .container {
    margin-left: 20px !important; /* sur tablette, réduit le décalage */
    max-width: calc(100% - 40px);
  }
}

@media (max-width: 768px) {
  .page-privacy .mil-section.mil-dark-bg .container {
    margin-left: 10px !important; /* sur mobile, presque pas de décalage */
    max-width: calc(100% - 20px);
  }
}

@media (max-width: 480px) {
  .page-privacy .mil-section.mil-dark-bg .container {
    margin-left: 5px !important; /* sur petit mobile, décalage minimal */
    max-width: calc(100% - 10px);
  }
}

/* === Ajustement vertical du titre Privacy Policy pour l'aligner avec "Terms" === */
.page-privacy .mil-privacy-frame {
  align-items: flex-start !important;
  justify-content: flex-end !important; /* place en bas du bloc */
  height: 80vh !important; /* réduit la hauteur du hero */
  padding-left: 200px !important; /* même marge que le contenu */
  padding-bottom: 120px !important; /* descend le titre au niveau de "Terms" */
}

.page-privacy .mil-privacy-title {
  margin: 0 !important;
  text-align: left !important;
}

.page-privacy .mil-privacy-sub {
  margin-top: 15px;
  text-align: left !important;
}

/* version responsive */
@media (max-width: 991px) {
  .page-privacy .mil-privacy-frame {
    padding-left: 40px !important;
    padding-bottom: 60px !important;
    height: 60vh !important;
  }
}

.page-privacy h1,
.page-privacy h4 {
  font-family: "Pearce", sans-serif !important;
}

.page-privacy h1,
.page-privacy h4 {
  font-family: "Pearce", sans-serif !important;
}

/* Styles spécifiques pour la page privacy */
.page-privacy .mil-logo img {
  height: 40px;
  width: auto;
}

.page-privacy .mil-animation.mil-position-4 {
  right: 40%;
}

.page-privacy .privacy-container {
  padding-left: 0px;
  padding-right: 50px;
}
.privacy-title {
  text-align: center;
  margin-bottom: 32px;
}
.privacy-container .privacy-title {
  margin-top: 100px;
}

.page-privacy .privacy-link {
  color: #007bff !important;
  text-decoration: underline;
  cursor: pointer;
  font-weight: bold;
}

.page-privacy .mil-pp-box {
  margin-top: 28px;
}

.page-privacy .privacy-icon {
  font-size: 1.2em;
}

/*terms  */

.terms-brand {
  font-weight: bold !important;
  font-size: 1.25em !important;
  letter-spacing: 0.5px;
  display: inline-block;
}

.page-terms h1,
.page-terms h4 {
  font-family: "Pearce", sans-serif !important;
}

/* Décalage du contenu des titres et paragraphes dans Terms */
.page-terms .mil-pp-h4,
.page-terms p {
  margin-left: 200px;
}

.page-terms .mil-logo img {
  height: 40px;
  width: auto;
}
.page-terms .mil-animation.mil-position-4 {
  right: 40%;
}
.page-terms .terms-container {
  padding-left: 0px;
  padding-right: 50px;
  margin-left: 200px;
}

.page-terms .mil-section.mil-dark-bg .terms-container {
  max-width: calc(100% - 200px);
}
.terms-title {
  text-align: center;
  margin-bottom: 32px;
  margin-top: 100px;
}

.page-terms .terms-link {
  color: #007bff !important;
  text-decoration: underline;
  cursor: pointer;
  font-weight: bold;
}
.page-terms .mil-pp-box {
  margin-top: 28px;
}
.page-terms .terms-icon {
  font-size: 1.2em;
}

/* Corrections version mobile ONLY */
@media (max-width: 767px) {
  /* remettre les textes à gauche */
  .page-terms .mil-pp-h4,
  .page-terms p {
    margin-left: 0;
  }

  /* container plein écran sur mobile */
  .page-terms .terms-container {
    margin-left: 0 !important;
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
  }

  /* le titre ne doit plus avoir 100px de marge */
  .terms-title {
    margin-top: 0; /* ou 16px si tu veux un petit espace */
    text-align: left; /* optionnel, si tu veux l’aligner à gauche sur mobile */
  }

  /* éviter le max-width bizarre sur mobile */
  .page-terms .mil-section.mil-dark-bg .terms-container {
    max-width: 100%;
  }
}

/* Fallback : puces custom via ::before pour Terms & Privacy */
.page-terms .mil-pp-list,
.page-privacy .mil-pp-list {
  list-style: none !important; /* on désactive les markers natifs */
  padding-left: 0 !important;
  margin: 8px 0 14px !important;
  position: relative;
  z-index: 4 !important;
}

.page-terms .mil-pp-list li,
.page-privacy .mil-pp-list li {
  position: relative;
  padding-left: 1.2rem; /* espace pour la puce */
  margin: 6px 0;
  line-height: 1.55;
  z-index: 4 !important;
  color: #ffffff;
}
.page-terms .mil-pp-list li,
.page-privacy .mil-pp-list li,
.page-cookie .mil-pp-list li {
  margin-left: 220px;
}

.page-terms .mil-pp-list li {
  margin-left: 220px;
}

.page-terms .mil-pp-list li::before,
.page-privacy .mil-pp-list li::before {
  content: "•";
  position: absolute;
  left: 0;

  top: 0.1em;

  font-size: 1.1em;
  font-weight: 800;
  z-index: 4 !important;
}

/* Tableau Cookie Policy : style moderne, sombre, texte blanc, responsive */

.mil-pp-table-wrap {
  margin-right: 300px;
}

.page-terms .mil-pp-table,
.page-privacy .mil-pp-table,
.page-cookie .mil-pp-table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0 24px 0;
  background: white !important;
  color: black !important;
  font-size: 1em;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(250, 250, 250, 0.12);
}
.page-terms .mil-pp-table th,
.page-privacy .mil-pp-table th,
.page-cookie .mil-pp-table th {
  background: white !important;

  font-weight: 700;
  padding: 12px 10px;
  text-align: left;
}
.page-terms .mil-pp-table td,
.page-privacy .mil-pp-table td,
.page-cookie .mil-pp-table td {
  padding: 10px 10px;
  border-bottom: 1px solid black !important;
  color: black !important;
}
.page-terms .mil-pp-table tr:last-child td,
.page-privacy .mil-pp-table tr:last-child td,
.page-cookie .mil-pp-table tr:last-child td {
  border-bottom: none;
}
@media (max-width: 600px) {
  .page-terms .mil-pp-table,
  .page-privacy .mil-pp-table,
  .page-cookie .mil-pp-table {
    font-size: 0.92em;
  }
  .page-terms .mil-pp-table th,
  .page-privacy .mil-pp-table th,
  .page-cookie .mil-pp-table th,
  .page-terms .mil-pp-table td,
  .page-privacy .mil-pp-table td,
  .page-cookie .mil-pp-table td {
    padding: 8px 6px;
  }
}

/* cookie */

.page-cookie h1,
.page-cookie h4 {
  font-family: "Pearce", sans-serif !important;
}
.page-cookie .mil-logo img {
  height: 40px;
  width: auto;
}
/* Ensure logo on home page is not affected by page-specific classes */
body:not(.page-privacy):not(.page-terms):not(.page-cookie)
  .mil-frame-top
  .mil-logo
  img,
body:not(.page-privacy):not(.page-terms):not(.page-cookie)
  .mil-frame
  .mil-frame-top
  .mil-logo
  img {
  height: auto !important;
  width: auto !important;
  max-height: 40px !important;
  max-width: none !important;
}
.page-cookie .mil-animation.mil-position-4 {
  right: 40%;
}
.page-cookie .cookie-container {
  padding-left: 0px;
  padding-right: 50px;
  margin-left: 200px;
}
.cookie-container .cookie-title {
  margin-top: 100px;
}

.page-cookie .mil-pp-box {
  margin-top: 28px;
}
.page-cookie .cookie-icon {
  font-size: 1.2em;
}
@media (max-width: 991px) {
  .page-cookie .cookie-container {
    margin-left: 40px !important;
    max-width: calc(100% - 40px);
  }
}
.page-cookie .mil-section.mil-dark-bg .cookie-container {
  max-width: calc(100% - 200px);
}
@media (max-width: 991px) {
  .page-cookie .mil-section.mil-dark-bg .cookie-container {
    max-width: calc(100% - 40px);
  }
}
.page-cookie .mil-pp-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 8px 0 14px !important;
  position: relative;
  z-index: 4 !important;
}
.page-cookie .mil-pp-list li {
  position: relative;
  padding-left: 1.2rem;
  margin: 6px 0;
  line-height: 1.55;
  z-index: 4 !important;
  color: #ffffff;
  margin-left: 20px;
}
.page-cookie .mil-pp-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0.1em;
  font-size: 1.1em;
  font-weight: 800;
  z-index: 4 !important;
}

.page-cookie .mil-pp-table {
  /* Tableau moderne, fin, centré, fond transparent */
  width: 70%; /* largeur réduite */
  margin: 24px auto; /* centré horizontalement */
  border-collapse: collapse; /* pour un tracé net */
  background: transparent; /* fond transparent */
  color: #fff;
  font-size: 0.9rem; /* police plus petite */
  font-family: "Outfit", "Arial", sans-serif;
  font-weight: 300;
  border: 1px solid rgba(255, 255, 255, 0.2); /* bordure extérieure fine blanche */
  border-radius: 8px;
  box-shadow: none; /* pas d'ombre */
  overflow-x: auto;
  display: block; /* pour scroll responsive */
}

/* En-tête */
.page-cookie .mil-pp-table th {
  background: rgba(20, 20, 20, 0.9); /* entête sombre */

  font-weight: 400;
  padding: 12px 10px;
  font-size: 0.92rem;
  letter-spacing: 0.5px;
  text-align: left;
  border: 1px solid black; /* tracé visible entre cellules */
}

/* Cellules */
.page-cookie .mil-pp-table td {
  background: transparent;
  color: #fff;
  padding: 10px 10px;
  border: 1px solid black; /* ligne fine entre chaque cellule */
  font-size: 0.9rem;
  font-weight: 300;
}

/* Dernière ligne sans bord inférieur inutile */
.page-cookie .mil-pp-table tr:last-child td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

/* Hover subtil */
.page-cookie .mil-pp-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
  transition: background 0.2s;
}

/* Coins arrondis */
.page-cookie .mil-pp-table th:first-child {
  border-top-left-radius: 8px;
  color: #000;
}
.page-cookie .mil-pp-table th:last-child {
  border-top-right-radius: 8px;
  color: black;
}
.page-cookie .mil-pp-table tr:last-child td:first-child {
  border-bottom-left-radius: 8px;
}
.page-cookie .mil-pp-table tr:last-child td:last-child {
  border-bottom-right-radius: 8px;
}

/* Responsive */
@media (max-width: 768px) {
  .page-cookie .mil-pp-table {
    width: 100%;
    font-size: 0.85rem;
  }
}

@media (max-width: 600px) {
  .page-cookie .mil-pp-table {
    font-size: 0.92em;
  }
  .page-cookie .mil-pp-table th,
  .page-cookie .mil-pp-table td {
    padding: 8px 6px;
  }
}
.cookie-brand {
  font-weight: bold !important;
  font-size: 1.25em !important;
  letter-spacing: 0.5px;
  display: inline-block;
}

.page-privacy .mil-pp-h4,
.page-cookie .mil-pp-h4 {
  margin-left: 200px;
}
.page-privacy p,
.page-cookie p {
  margin-left: 200px;
}

.cookie-title {
  text-align: center;
  margin-bottom: 32px;
}

.page-cookie .cookie-link {
  color: #007bff !important;
  text-decoration: underline;
  cursor: pointer;
  font-weight: bold;
}
.page-cookie .mil-pp-list li {
  margin-left: 220px;
}

/* ===== RESPONSIVENESS POUR LES PAGES LEGAL ===== */

/* Tablettes (768px - 992px) */
@media screen and (max-width: 992px) {
  .page-terms .mil-pp-h4,
  .page-terms p,
  .page-privacy .mil-pp-h4,
  .page-privacy p,
  .page-cookie .mil-pp-h4,
  .page-cookie p {
    margin-left: 40px !important;
  }

  .page-terms .mil-pp-list li,
  .page-privacy .mil-pp-list li,
  .page-cookie .mil-pp-list li {
    margin-left: 60px !important;
  }

  .mil-pp-table-wrap {
    margin-right: 40px !important;
  }

  .page-terms .terms-container,
  .page-privacy .privacy-container,
  .page-cookie .cookie-container {
    margin-left: 20px !important;
    padding-right: 20px !important;
    max-width: calc(100% - 40px) !important;
  }
}

/* Mobile (max-width: 768px) */
@media screen and (max-width: 768px) {
  .page-terms .mil-pp-h4,
  .page-terms p,
  .page-privacy .mil-pp-h4,
  .page-privacy p,
  .page-cookie .mil-pp-h4,
  .page-cookie p {
    margin-left: 20px !important;
  }

  .page-terms .mil-pp-list li,
  .page-privacy .mil-pp-list li,
  .page-cookie .mil-pp-list li {
    margin-left: 40px !important;
  }

  .mil-pp-table-wrap {
    margin-right: 20px !important;
  }

  .page-terms .terms-container,
  .page-privacy .privacy-container,
  .page-cookie .cookie-container {
    margin-left: 10px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    max-width: calc(100% - 20px) !important;
  }

  .page-cookie .mil-pp-table {
    width: 95% !important;
    font-size: 0.8rem !important;
  }

  .page-cookie .mil-pp-table th,
  .page-cookie .mil-pp-table td {
    padding: 8px 5px !important;
    font-size: 0.75rem !important;
  }
}

/* Très petits mobiles (max-width: 480px) */
@media screen and (max-width: 480px) {
  .page-terms .mil-pp-h4,
  .page-terms p,
  .page-privacy .mil-pp-h4,
  .page-privacy p,
  .page-cookie .mil-pp-h4,
  .page-cookie p {
    margin-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-terms .mil-pp-list li,
  .page-privacy .mil-pp-list li,
  .page-cookie .mil-pp-list li {
    margin-left: 30px !important;
  }

  .mil-pp-table-wrap {
    margin-right: 10px !important;
  }

  .page-terms .terms-container,
  .page-privacy .privacy-container,
  .page-cookie .cookie-container {
    margin-left: 5px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    max-width: calc(100% - 10px) !important;
  }

  .page-cookie .mil-pp-table {
    width: 98% !important;
    font-size: 0.7rem !important;
  }

  .page-cookie .mil-pp-table th,
  .page-cookie .mil-pp-table td {
    padding: 6px 3px !important;
    font-size: 0.65rem !important;
  }
}


/* Mobile uniquement */
@media (max-width: 991px) {
  .page-cookie h5.mil-pp-subtitle {
    margin-left: 0 !important;
    
  }
}


/* ========= CONTACT (Scoped) ========= */

/* couleur du select fermé */
.afs-phone select {
  background-color: #0b0b0b;
  color: #fff;
}

/* couleur de la liste ouverte + options */
.afs-phone select option {
  background-color: #0b0b0b;
  color: #fff;
}

/* option survolée/sélectionnée (selon navigateur) */
.afs-phone select option:checked,
.afs-phone select option:hover {
  background-color: #171717;
  color: #fff;
}

#contact {
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial,
    sans-serif;
}

/* Layout & titre */
.afs-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}

.afs-title {
  font-weight: 800;
  text-align: center;
  margin: 0 0 30px;
  font-size: clamp(28px, 5vw, 42px);
  letter-spacing: -0.5px;
  color: #1b1b1b;
  line-height: 1.2;
}

.afs-block {
  margin-bottom: 12px;
}

.afs-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  row-gap: 12px;
}

/* Labels */
.afs-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #1b1b1b;
  margin: 0 0 4px 0;
  letter-spacing: 0.2px;
}

/* Champs classiques */
.afs-field,
.afs-textarea {
  width: 100%;
  background: #f5f5f5;
  color: #1b1b1b;
  border: 2px solid rgba(255, 138, 61, 0.3);
  padding: 16px 20px;
  border-radius: 12px;
  outline: none;
  font-size: 15px;
  font-family: "Poppins", system-ui, -apple-system, sans-serif;
  letter-spacing: 0.2px;
  transition: all 0.3s ease;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

.afs-field {
  height: 56px;
  padding: 16px 20px;
}

.afs-field::placeholder,
.afs-textarea::placeholder {
  color: #888;
  letter-spacing: 0.3px;
  opacity: 0.7;
}

.afs-field:focus,
.afs-textarea:focus {
  border-color: #ff8a3d;
  box-shadow: 0 0 0 4px rgba(255, 138, 61, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
  background: #ffffff;
}

.afs-field:hover,
.afs-textarea:hover {
  border-color: rgba(255, 138, 61, 0.5);
  background: #fafafa;
}

/* Textarea */
.afs-textarea {
  min-height: 80px;
  max-height: 300px;
  padding: 16px 20px;
  resize: none;
  overflow-y: auto;
  line-height: 1.6;
  transition: height 0.1s ease;
}

/* Séparateurs gris */
.afs-sep {
  height: 1px;
  background: rgba(0, 0, 0, 0.08);
  margin: 16px 0 12px;
  border-radius: 1px;
}

/* ---------- Contact: mobile tweaks ---------- */
@media screen and (max-width: 768px) {
  .afs-wrap {
    padding: 0 16px;
  }

  .afs-title {
    margin: 0 0 24px;
    font-size: clamp(24px, 7vw, 32px);
  }

  .afs-label {
    font-size: 13px;
    margin: 0 0 4px 0;
    line-height: 1.3;
  }

  .afs-block {
    margin-bottom: 10px;
  }

  .afs-row {
    gap: 10px;
    row-gap: 10px;
  }

  .afs-field,
  .afs-textarea {
    font-size: 16px;
    /* Prevents zoom on iOS */
    padding: 14px 18px;
  }

  .afs-field {
    height: 52px;
  }

  .afs-textarea {
    min-height: 70px;
    max-height: 250px;
  }

  .afs-sep {
    margin: 12px 0 10px;
  }
}

/* ======= PHONE: pays + indicatif + numéro dans une seule pilule ======= */
.afs-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f5f5f5;
  border: 2px solid rgba(255, 138, 61, 0.3);
  border-radius: 12px;
  padding: 8px 12px;
  height: 56px;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.afs-phone:hover {
  border-color: rgba(255, 138, 61, 0.5);
  background: #fafafa;
}

.afs-phone select,
.afs-phone input {
  background: transparent;
  border: 0;
  outline: none;
  color: #1b1b1b;
  font-size: 15px;
  font-family: "Poppins", system-ui, -apple-system, sans-serif;
  letter-spacing: 0.2px;
  margin: 0;
}

/* Sélecteur pays */
.afs-phone select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 8px 12px;
  min-width: 200px;
  max-width: 240px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  direction: ltr;
  /* évite l'inversion si le libellé contient de l'arabe */
  cursor: pointer;
  flex-shrink: 0;
}

/* Indicatif */
.afs-phone #qDial {
  width: 60px;
  text-align: center;
  padding: 8px 4px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  direction: ltr;
  flex-shrink: 0;
  font-weight: 500;
}

/* Numéro (prend la place restante) */
.afs-phone input[name="mobile"] {
  flex: 1;
  min-width: 0;
  padding: 8px 12px;
  direction: ltr;
}

/* Placeholder interne */
.afs-phone ::placeholder {
  color: #888;
  letter-spacing: 0.3px;
  opacity: 0.7;
}

/* Séparateur dans le phone field */
.afs-phone select {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.afs-phone #qDial {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}

/* Focus cohérent */
.afs-phone:focus-within {
  border-color: #ff8a3d;
  box-shadow: 0 0 0 4px rgba(255, 138, 61, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
  background: #ffffff;
}

/* ======= Bouton ======= */
.afs-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

.afs-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 22px;
  border: 0;
  cursor: pointer;
  font-weight: 800;
  border-radius: 999px;
  font-size: 16px;
  background: linear-gradient(90deg, #f5b6a2 0%, #f0531c 100%);
  color: #1b1b1b;
  /* box-shadow: 0 6px 18px rgba(255, 122, 47, 0.35); */
  transition: transform 0.08s, box-shadow 0.2s;
}

.afs-btn:active {
  transform: translateY(1px);
}

.afs-arrow {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #121212;
  display: grid;
  place-items: center;
}

.afs-arrow i {
  color: #ffffff;
  font-size: 14px;
}

/* ======= Responsive ======= */
@media (max-width: 768px) {
  .afs-wrap {
    max-width: 100%;
  }

  .afs-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .afs-block {
    margin-bottom: 12px;
  }

  .afs-actions {
    justify-content: center;
    margin-top: 20px;
  }

  .afs-btn {
    width: auto;
    justify-content: center;
    padding: 14px 22px;
    font-size: 16px;
  }

  .afs-phone {
    flex-wrap: nowrap;
    gap: 4px;
    height: 56px;
    padding: 8px 10px;
  }

  .afs-phone select {
    min-width: 140px;
    max-width: 160px;
    width: auto;
    padding: 8px 10px;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
    font-size: 14px;
  }

  .afs-phone #qDial {
    width: 50px;
    min-width: 50px;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 4px;
    font-size: 14px;
  }

  .afs-phone input[name="mobile"] {
    flex: 1;
    min-width: 100px;
    padding: 8px 10px;
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .afs-wrap {
    padding: 0 12px;
  }

  .afs-title {
    margin: 0 0 20px;
  }

  .afs-label {
    font-size: 12px;
    margin: 0 0 4px 0;
  }

  .afs-field,
  .afs-textarea {
    padding: 12px 16px;
    font-size: 16px;
  }

  .afs-field {
    height: 48px;
  }

  .afs-textarea {
    min-height: 70px;
    max-height: 200px;
  }

  .afs-phone {
    padding: 6px 8px;
    height: 52px;
  }

  .afs-phone select {
    min-width: 120px;
    max-width: 140px;
    padding: 6px 8px;
    font-size: 14px;
  }

  .afs-phone #qDial {
    width: 45px;
    min-width: 45px;
    padding: 6px 2px;
    font-size: 13px;
  }

  .afs-phone input[name="mobile"] {
    padding: 6px 8px;
    font-size: 16px;
  }

  .afs-btn {
    padding: 14px 20px;
    font-size: 14px;
  }
}

/* Footer-specific mobile spacing: apply 25px bottom spacing only to the
   primary footer menu links (mobile devices). This overrides any earlier
   generic menu spacing and is intentionally scoped to the footer. */
@media (max-width: 768px) {
  .mil-footer-menu ul li.mil-up > a {
    display: block;
    /* ensures the entire row is clickable and margin works */
    margin-bottom: 25px;
  }

  /* Remove extra margin on the last item to avoid unnecessary gap */
  .mil-footer-menu ul li.mil-up:last-child > a {
    margin-bottom: 0;
  }
}

/* Make .brand-display responsive on small screens without changing desktop */
@media (max-width: 768px) {
  /* allow the .line-keep to wrap on narrow screens so the title doesn't overflow */
  .brand-display .line-keep {
    white-space: normal;
  }

  /* slightly reduce the title size on small phones for better fit */
  @media (max-width: 480px) {
    .brand-display {
      font-size: clamp(20px, 9.5vw, 34px);
      line-height: 1.08;
      margin-bottom: 18px;
    }
  }

  /* on typical mobile widths keep a sensible size */
  .brand-display {
    font-size: clamp(28px, 8.5vw, 48px);
    line-height: 1.04;
  }
}

.mil-portfolio-nav .mil-arrow path {
  fill: #f0531c !important;
}

/* --- Pinned sidebar (desktop) --- */
@media (min-width: 992px) {
  /* make sure the layout allows pinning */
  #blog .container,
  #blog .row {
    overflow: visible;
  }

  /* a wrapper to compute bounds against the article column */
  .mil-sidebar-pinner {
    position: relative;
  }

  /* default (not pinned) */
  #postSidebar {
    position: absolute;
    top: 0;
    right: 0; /* sits at the right edge of its column */
    width: 100%;
  }

  /* pinned while scrolling */
  #postSidebar.is-stuck {
    position: fixed;
    top: 120px; /* below your top frame */
    left: var(--sb-left, auto);
    width: var(--sb-width, 360px);
    max-height: calc(100vh - 140px);
    overflow: auto;
  }

  /* when we reach the end of the article, park it at the bottom of the column */
  #postSidebar.is-bottom {
    position: absolute;
    top: auto;
    bottom: 0;
    left: auto;
    width: 100%;
    max-height: none;
    overflow: visible;
  }
}

/* keep anchors visible below fixed header */
h2,
h3,
h4,
h5,
h6 {
  scroll-margin-top: 120px;
}

/* ===== Sticky Sidebar (Author + TOC) ===== */
#blog .container,
#blog .row {
  overflow: visible;
}

.mil-sidebar {
  position: relative;
}
/* --- MOBILE : TOC façon Semrush --- */
@media (max-width: 768px) {
  .mil-toc {
    position: fixed; /* au lieu de sticky */
    top: 70px; /* hauteur sous ton header (ajuste 60 / 70 / 80…) */
    left: 0;
    right: 0;
    margin: 0;
    padding: 8px 16px;
    background: #f3f3f3;
    z-index: 999; /* passe devant le contenu */
  }

  .mil-toc-card {
    background: transparent;
    border: none;
    padding: 0;
  }

  .mil-toc-card summary {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    margin: 0 auto;
    max-width: 260px;

    background: #ffffff;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.08);

    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
  }

  .mil-toc-card summary::-webkit-details-marker {
    display: none;
  }

  .mil-toc-list,
  .mil-toc-toggle {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
  }

  .mil-toc-list {
    margin-top: 10px;
    padding: 12px 16px;
  }

  .mil-toc-toggle {
    display: block;
    width: 100%;
    margin-top: 8px;
    padding: 10px 16px;
    text-align: center;
  }

  .mil-toc-card details:not([open]) .mil-toc-list,
  .mil-toc-card details:not([open]) .mil-toc-toggle {
    display: none;
  }
}

/* TOC */
.mil-toc {
  margin-bottom: 30px;
}

/* Allow scroll chaining from TOC to page: when the TOC is scrolled to
   its start/end, the wheel/touch should continue scrolling the page. */
.mil-toc,
.mil-toc-list {
  overscroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  /* allow native touch pan gestures and vertical panning inside the TOC */
  touch-action: pan-y;
}
.mil-toc-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  padding: 20px;
}
.mil-toc-card summary {
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.mil-toc .mil-toc-list a:hover {
  color: #f0531c; /* orange vif de ta charte Ahdaf */
}
.mil-toc .mil-toc-list a.active {
  color: #f0531c;
  font-weight: 600;
  border-left: 3px solid #f0531c;
  background-color: rgba(240, 83, 28, 0.08);
}
.mil-sidebar .mil-toc .mil-toc-list a.lvl-3 {
  padding-left: 0px !important;
}

.mil-toc-card summary::-webkit-details-marker {
  display: none;
}
.mil-toc-list {
  list-style: none;
  margin: 10px 0 0 0;
  padding-left: 0;
}
.mil-toc-list li {
  margin: 0.2rem 0;
}
.mil-toc-list a {
  display: block;
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.35;
}
.mil-toc-list a:hover {
  text-decoration: underline;
}
.mil-toc-list a.active {
  font-weight: 600;
}
.mil-toc-list .lvl-3 {
  padding-left: 12px;
}
.mil-toc-list .lvl-4 {
  padding-left: 24px;
}

/* Author card */
.mil-author-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 20px;
}
.mil-author {
  display: flex;
  gap: 14px;
  align-items: center;
}
.mil-author img {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
}
.mil-author .name {
  font-weight: 700;
}
.mil-author .role {
  opacity: 0.7;
  font-size: 0.9rem;
}
/* Mobile only: margin-top + margin-bottom for author card */
@media (max-width: 768px) {
  .mil-author-card {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
}

/* === Author card: make social icons horizontal (scoped) === */
.mil-author-card .mil-social-icons {
  display: flex;
  flex-direction: row;
  gap: 12px;
  padding: 0;
  margin: 12px 0 0 0;
  list-style: none;
  align-items: center;
}
.mil-author-card .mil-social-icons li {
  list-style: none;
}
.mil-author-card .mil-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  text-decoration: none;
}

/* keep anchors visible below your fixed header */
h2,
h3,
h4,
h5,
h6 {
  scroll-margin-top: 120px;
}

/* === CTA ORANGE (as the design example) === */
.mil-cta-wrapper {
  display: flex;
  justify-content: center;
  padding: 60px 0;
}
.mil-cta-orange {
  width: 100%;
  padding-right: 60px;
  width: 820px;
  margin-left: 0px;
  height: 320px;
  max-width: 1100px;
  background: linear-gradient(135deg, #f0531c 0%, #ffa74f 100%);
  border-radius: 30px;
  padding: 40px 60px;
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.mil-cta-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  height: 200px;
}
.mil-cta-text {
  flex: 1;
  z-index: 2;
  margin-bottom: 0px;
  margin-top: 50px;
}
.mil-cta-text h3 {
  font-family: "Pearce", sans-serif;
  font-weight: 800;
  font-size: 32px;
  line-height: 1.25;
  margin-bottom: 16px;
  text-transform: uppercase;
  color: white;
}
.mil-cta-text p {
  font-family: "Blauer Nue", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 24px;
  max-width: 520px;
}
.mil-cta-btn {
  display: inline-block;
  background: #fff;
  color: #f0531c;
  border-radius: 12px;
  font-weight: 700;
  font-size: 15px;
  padding: 12px 22px;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: 0.3s ease;
}
.mil-cta-btn:hover {
  filter: brightness(0.9);
} /* rocket image */
.mil-cta-img {
  flex: 0 0 230px;
  display: flex;
  justify-content: flex-end;
}
.mil-cta-img img {
  width: 100%;
  max-width: 220px;
  height: auto;
}
/* === Force la version 1 colonne en mobile === */
@media (max-width: 991px) {
  /* Center the whole card inside its parent */
  .mil-cta-wrapper {
    display: flex !important;
    justify-content: center !important;
  }

  .mil-cta-orange {
    width: 100% !important;
    max-width: 360px !important; /* adjust if you want wider/narrower */
    margin-left: auto !important;
    margin-right: auto !important; /* makes left/right space equal */
    padding: 30px 20px !important; /* your original padding */
  }

  /* your other mobile styles can stay as they are */
  .mil-cta-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 20px !important;
    height: auto !important;
  }

  .mil-cta-text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .mil-cta-text p {
    margin: 0 auto 20px auto !important;
  }

  .mil-cta-img {
    order: -1 !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
  }

  .mil-cta-img img {
    max-width: 180px !important;
    width: 100% !important;
    height: auto !important;
  }
}

/* ===== Newsletter DARK (like the mock) ===== */
.nl-card {
  background: #0f0f0f;
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  position: relative;
}

/* Glow/Vignette côté gauche */
.nl-ill {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(
      140% 120% at 20% 20%,
      rgba(255, 255, 255, 0.18) 0%,
      rgba(255, 255, 255, 0) 60%
    ),
    radial-gradient(
      60% 60% at 25% 30%,
      rgba(0, 0, 0, 0.55) 0%,
      rgba(0, 0, 0, 0) 70%
    );
}
.nl-ill img {
  max-width: 100%;
  height: auto;
  display: block;
}

.nl-title {
  color: #fff;
  font-family: "Pearce", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.2;
  margin: 0 0 16px 0;
  font-size: 32px;
}

/* Form */
.nl-form {
  display: flex;
  gap: 14px;
}
.nl-form input {
  flex: 1;
  height: 48px;
  border: none;
  outline: none;
  border-radius: 14px;
  background: #1f1f1f;
  color: #fff;
  padding: 0 16px;
  font-size: 14px;
}
.nl-form input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}
.nl-btn {
  height: 48px;
  padding: 0 20px;
  border: none;
  cursor: pointer;
  border-radius: 14px;
  background: #f0531c;
  color: #fff;
  font-weight: 700;
  transition: 0.2s ease;
}
.nl-btn:hover {
  filter: brightness(0.95);
}
@media (max-width: 768px) {
  #nl-email {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    margin-top: 15px !important;
  }
}

/* Share row sous la carte */

/* Supprimer l'espace et le style par défaut du button */
.nl-share .js-share-trigger {
  border: none;
  background: var(--ahdaf-orange); /* couleur orange */
  padding: 12px 18px;
  border-radius: 0px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Supprimer l'espace causé par <span> */
.nl-share .nl-share-label {
  display: inline-block;
  margin: 0;
  padding: 0; /* déjà pris par le button */
}

/* Supprimer l’espace entre les éléments */
.nl-share > * {
  margin: 0 !important;
}

.nl-share {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  margin-left: 900px;
  margin-bottom: 50px;
}
.nl-share-label {
  background: #ffa74f;
  color: #000;
  font-weight: 700;
  border-radius: 0px;
  padding: 12px 18px;
}
.nl-share-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ededed;
  color: #000;
  text-decoration: none;
}
.nl-share-btn:hover {
  filter: brightness(0.95);
}

/* Responsive */
@media (max-width: 991.98px) {
  .nl-card {
    padding: 22px;
  }
  .nl-title {
    text-align: center;
    font-size: 28px;
  }
  .nl-form {
    flex-direction: column;
  }
  .nl-btn {
    width: 100%;
  }
  .nl-ill {
    margin-top: 16px;
  }
  .nl-share {
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  .page-terms .terms-container {
    padding-top: 140px !important;
  }

  .page-terms .terms-title {
    position: relative !important;
    z-index: 9999 !important;
    color: white !important;
  }
}

/* ===== CATEGORY BANNER – rendu identique à la maquette ===== */
.category-banner {
  position: relative;

  width: 750px;
  height: 250px;

  margin: 60px 0;
  border-radius: 28px;
  overflow: hidden;
  background-color: transparent;

  /* si l'image ne charge pas, on garde un fond très sombre */

  background-image: url("../img/blog/Section_Bg.jpg"); /* <- chemin à vérifier */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.category-banner-1 {
  background-image: url("../img/blog/test.jpg") !important;
  background-size: cover;
  background-position: center;
}

.category-banner-1::after {
  background: none !important;
}

/* glow orangé à droite + léger assombrissement */
.category-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(
      50% 70% at 92% 55%,
      rgba(240, 83, 28, 0.28) 0%,
      rgba(240, 83, 28, 0) 60%
    ),
    linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}

.category-banner__content {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  height: 100%;
  padding: 0 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* reset des styles hérités (.mil-up, etc.) */
.category-banner__title {
  all: unset; /* remet à zéro les styles hérités */
  display: block;
  font-family: "Pearce", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.1;
  font-size: 20px;
  color: #fff;
  text-shadow: none !important; /* supprime la grosse ombre blanche */
}

/* artwork à droite */
.category-banner__icon {
  position: relative;
  width: 340px; /* adapte si besoin */
  flex-shrink: 0;
}
.category-banner__icon img {
  display: block;
  margin-left: 120px;
  width: 240px;

  filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.35));
}

/* ===== CATEGORY BANNER — MOBILE ONLY (ne touche pas le web) ===== */
@media (max-width: 767px) {
  #blog .category-banner {
    width: 100% !important;
    height: auto;
    margin: 28px 0;
    padding: 18px 0; /* espace vertical propre */
    border-radius: 20px;
    background-position: center;
    background-size: cover;
  }

  #blog .category-banner__content {
    padding: 0 16px;
    display: flex;
    flex-direction: row; /* texte + visuel côte à côte */
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-align: left;
    height: auto;
  }

  #blog .category-banner__title {
    font-size: 18px; /* 16–20 selon rendu voulu */
    line-height: 1.2;
    letter-spacing: 0.3px;
    max-width: calc(100% - 140px); /* réserve la place de l’icône */
    white-space: normal; /* wrap correct */
  }

  #blog .category-banner__icon {
    position: static;
    width: 140px; /* taille visuel à droite */
    flex: 0 0 140px;
  }

  #blog .category-banner__icon img {
    display: block;
    width: 100%;
    height: auto;
    margin-left: 0; /* annule le décalage desktop */
    object-fit: contain;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.25));
  }
}

/* écrans très étroits */
@media (max-width: 420px) {
  #blog .category-banner__icon {
    width: 110px;
    flex: 0 0 110px;
  }
  #blog .category-banner__title {
    font-size: 16px;
    max-width: calc(100% - 110px);
  }
}

/* === CTA ORANGE – Ahdaf Digital Perfect Version === */
:root {
  --ahdaf-orange: #f0531c;
  --ahdaf-light: #ffa74f;
}

.mil-cta-wrapper {
  display: flex;
  justify-content: center;
  padding: 60px 0;
}

.mil-cta-orange {
  position: relative;

  width: 800px;
  height: 250px;

  max-width: 1100px;
  border-radius: 28px;
  background: #fc5c1e;
  color: #fff;
  padding: 50px 60px;
  padding-right: 340px; /* espace pour l’étoile */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  overflow: visible; /* <- clé : on laisse déborder l’étoile */
}

/* Glow doux */
.mil-cta-orange::before {
  content: "";
  position: absolute;
  inset: -15%;
  background: radial-gradient(
    60% 60% at 80% 40%,
    rgba(255, 255, 255, 0.1) 0%,
    rgba(255, 255, 255, 0) 70%
  );
  pointer-events: none;
}

/* Contenu */
.mil-cta-content {
  position: relative;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mil-cta-text {
  flex: 1;
  z-index: 2;

  margin-bottom: 100px;
}

.mil-cta-text h3 {
  font-family: "Pearce", sans-serif;
  font-weight: 800;
  font-size: 20px;
  line-height: 1.15;
  text-transform: uppercase;
  margin: 0 0 14px 0;
  color: #fff;
}

.mil-cta-text p {
  font-family: "Blauer Nue", sans-serif;
  font-size: 11px;
  line-height: 1.6;
  max-width: 520px;
  margin: 0 0 24px 0;
  opacity: 0.95;
}

.mil-cta-btn {
  display: inline-block;
  background: #fff;
  color: var(--ahdaf-orange);
  border-radius: 12px;
  font-weight: 800;
  font-size: 14px;
  padding: 13px 24px;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.5px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
  transition: 0.25s ease;
}
.mil-cta-btn::after {
  content: " →";
  font-weight: 800;
}
.mil-cta-btn:hover {
  filter: brightness(0.93);
  transform: translateY(-1px);
}

/* === Image des étoiles (effet bleed propre) === */
.mil-cta-img {
  position: absolute;
  right: -300px; /* déborde légèrement hors du bloc */
  top: -100px; /* positionne l'étoile en haut comme sur la version web */
  width: 320px;
  height: auto;
  z-index: 1;
  pointer-events: none;
}
.mil-cta-img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.18));
}

/* === CTA ORANGE — MOBILE SEULEMENT === */
@media (max-width: 767px) {
  #blog .mil-cta-orange {
    width: 100%;
    height: auto;
    padding: 24px;
    border-radius: 20px;
    overflow: visible;
    background: #fc5c1e;
  }
  #blog .mil-cta-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: unset;
    text-align: left;
  }
  #blog .mil-cta-text {
    margin: 0;
    flex: 1 1 auto;
    max-width: calc(100% - 180px);
    min-width: 0;
  }
  #blog .mil-cta-text h3 {
    font-size: 18px;
    line-height: 1.2;
    margin: 0 0 8px;
  }
  #blog .mil-cta-text p {
    font-size: 12px;
    line-height: 1.55;
    margin: 0 0 14px;
  }
  #blog .mil-cta-btn {
    font-size: 13px;
    padding: 12px 20px;

    padding-top: 0px;

    height: 39.171px;
    width: 184px;

    padding-bottom: 5px;
  }

  /* l’image doit être visible à droite, pas en absolute */
  #blog .mil-cta-img {
    position: static !important;
    display: block !important;
    width: 180px !important;
    height: auto !important;
    flex: 0 0 180px !important;
    margin: 0 !important;
    z-index: 2 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  #blog .mil-cta-img img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* écrans très étroits */
  @media (max-width: 420px) {
    #blog .mil-cta-img {
      width: 120px !important;
      flex: 0 0 120px !important;
    }
    #blog .mil-cta-text {
      max-width: calc(100% - 120px);
    }
    #blog .mil-cta-text h3 {
      font-size: 16px;
    }
    #blog .mil-cta-text p {
      font-size: 13px;
    }
  }
}

/* === CTA NEWSLETTER DARK – même gabarit que l’orangé (800×250) === */
/* === CTA NEWSLETTER DARK – version corrigée (sans ombre, espace image) === */
:root {
  --ahdaf-orange: #f0531c;
  --ahdaf-light: #ffa74f;
}

/* wrapper identique à l’orangé */
.mil-cta-wrapper {
  display: flex;
  justify-content: center;
  padding: 60px 0;
}

/* Carte noire (mêmes dimensions) */
.mil-cta-dark {
  position: relative;
  /* alignement visuel avec l’orange */
  width: 800px;
  height: 250px;
  max-width: 1100px;

  border-radius: 28px;
  background: #0f0f0f;
  color: #fff;

  padding: 50px 60px;
  padding-left: 340px; /* réserve pour l’image à gauche */
  overflow: visible;

  /* supprime totalement la lueur grise */
  box-shadow: none;
}

/* supprime aussi le vignettage interne */
.mil-cta-dark::before {
  content: none;
}

.mil-cta-content {
  position: relative;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Formulaire */
.nl-form {
  display: flex;
  gap: 14px;
}
.nl-form input {
  flex: 1;
  height: 48px;
  border: none;
  outline: none;
  border-radius: 14px;
  background: #1f1f1f;
  color: #fff;
  padding: 0 16px;
  font-size: 14px;
}
.nl-form input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}
.nl-btn {
  height: 48px;
  padding: 0 20px;
  border: none;
  cursor: pointer;
  border-radius: 14px;
  background: var(--ahdaf-orange);
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: 0.25s ease;
}
.nl-btn:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}

/* Image gauche (enveloppe) */
.mil-cta-img-left {
  position: absolute;
  top: -80px;
  left: -260px; /* débordement propre, ajusté */
  bottom: 0;
  width: 320px;
  left: -320px;
  height: auto;
  z-index: 1;
  pointer-events: none;
}
.mil-cta-img-left img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: none; /* enlève l’ombre derrière l’enveloppe */
}

/* Responsive */
@media (max-width: 991px) {
  .mil-cta-dark {
    margin-left: 0;
    padding: 36px 24px 28px;
    padding-left: 24px;
    width: 100%;
    height: auto;
    overflow: hidden;
  }
  .mil-cta-content {
    flex-direction: column;
    text-align: center;
    min-height: unset;
  }
  .mil-cta-text h3 {
    font-size: 28px;
  }
  .mil-cta-img-left {
    position: static;
    width: 180px;
    margin: 0 auto 10px;
  }
  .nl-form {
    flex-direction: column;

    margin-bottom: 20px;
  }
  .nl-btn {
    width: 100%;
  }
}

/* === SHARE ROW sous le bloc CTA === */
.nl-share {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  justify-content: flex-start;
}

.nl-share-label {
  background: var(--ahdaf-orange);
  color: #fff;
  font-weight: 800;
  border-radius: 0px;
  padding: 12px 18px;
  font-family: "Blauer Nue", sans-serif;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.3px;
}

.nl-share-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ededed;
  color: #000;
  font-size: 18px;
  transition: 0.2s ease;
  text-decoration: none;
}

.nl-share-btn:hover {
  background: #f7edda;
  color: var(--ahdaf-orange);
  transform: translateY(-1px);
}

/* Centrage mobile */
@media (max-width: 991px) {
  .nl-share {
    justify-content: center;
    flex-wrap: wrap;
    margin-left: 0px;
  }
}

/* TOC collapse/expand helper for publication pages */
.mil-toc-card {
  position: relative;
}
.mil-toc-list li.toc-collapsed {
  display: none;
}
.mil-toc-toggle {
  display: inline-block;
  margin-top: 10px;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
}
.mil-toc-toggle[aria-expanded="true"] {
  background: rgba(0, 0, 0, 0.04);
}

/* Article-specific typography overrides (normal H1/H2 for publications)
   These provide a smaller, template-independent H1 and a normal H2
   used in article content and category banners for better SEO.
*/

/* Normal article H1 (use in templates/pages as: <h1 class="article-title">) */
.article-title,
h1.article-title {
  font-family: "Pearce", serif;
  font-size: 50px;
  line-height: 120%;
  font-weight: 600;
  text-align: center;
  margin-bottom: 30px;
  color: rgb(0, 0, 0);
}

@media screen and (max-width: 992px) {
  .article-title,
  h1.article-title {
    font-size: 28px;
  }
}

/* Category banner titles were previously <h5>; we convert them to <h2>
   but keep the compact visual style suitable for categories. */
.category-banner__title {
  font-size: 20px;
  line-height: 150%;
  font-weight: 500;
  margin: 0 0 15px 0;
  color: white;
}

/* Article-specific H2 (use as <h2 class="article-subtitle">) */
h2.article-subtitle {
  font-family: "Pearce", serif;
  font-size: 36px;
  line-height: 120%;
  font-weight: 500;
  margin-bottom: 24px;
  color: rgb(0, 0, 0);
}

/* Article-specific H3 (use as <h3 class="article-h3">)
   Promoted from smaller template H6 — keeps compact visual
   while improving document outline for SEO. */
.article-h3,
h3.article-h3 {
  font-family: "Pearce", serif;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: rgb(0, 0, 0);
}

/* Share modal styles */
.share-modal {
  display: none;
}
.share-modal[aria-hidden="false"] {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 2000;
}
.share-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
.share-modal__panel {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 520px;
  max-width: calc(100% - 40px);
  background: #fff;
  color: #000;
  border-radius: 10px;
  padding: 22px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}
.share-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: transparent;
  border: none;
  font-size: 22px;
  cursor: pointer;
}
.share-modal__title {
  margin: 0 0 6px 0;
  font-size: 18px;
}
.share-modal__subtitle {
  margin: 0 0 14px 0;
  color: rgba(0, 0, 0, 0.6);
  font-size: 13px;
}
.share-modal__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
.share-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 8px;
  background: #f5f5f5;
  color: inherit;
  text-decoration: none;
}
.share-link i {
  width: 20px;
  text-align: center;
}
.share-modal__actions {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  flex-direction: column;
}
.share-modal__copy {
  display: flex;
  gap: 10px;
  align-items: center;
}
.btn-copy-link,
.btn-copy-embed {
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  cursor: pointer;
}
.share-copy-success {
  display: inline-block;
  margin-left: 8px;
  color: green;
  opacity: 0;
  transition: opacity 0.3s;
}
.share-copy-success.show {
  opacity: 1;
}
.share-modal__embed label {
  display: block;
  font-size: 12px;
  margin-bottom: 6px;
}
.share-modal__embed textarea {
  margin-bottom: 0px;
  height: 68.66666000000001px;
  width: 418.66666px;

  border-radius: 6px;
  padding: 8px;
  font-size: 12px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  resize: vertical;
}

/* --- UNIQUEMENT MOBILE --- */
@media screen and (max-width: 540px) {
  .share-modal__panel {
    width: 92% !important;
    max-width: 92% !important;
    padding: 16px !important;
  }

  /* Textarea responsive */
  .share-modal__embed textarea {
    width: 100% !important; /* largeur fluide */
    max-width: 100% !important;
    min-height: 80px;
    height: auto;
    font-size: 14px; /* lisibilité sur mobile */
  }

  /* Une seule colonne pour les réseaux sociaux */
  .share-modal__grid {
    grid-template-columns: 1fr !important;
  }
}

/* Hide the sidebar author card on small screens so only the inline author block remains */
@media screen and (max-width: 767px) {
  .author-sidebar-hide-mobile {
    display: none !important;
  }
}

/* Also hide any author card that appears inside the post sidebar on small screens.
   Some articles don't include the helper class, so target the sidebar structure
   directly to ensure the sidebar author is hidden on mobile. */
@media screen and (max-width: 767px) {
  .mil-sidebar .mil-author-card {
    display: none !important;
  }
}
