/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties;
.visible {
  visibility: visible;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.relative {
  position: relative;
}
.static {
  position: static;
}
.sticky {
  position: sticky;
}
.right-\[40px\] {
  right: 40px;
}
.bottom-\[40px\] {
  bottom: 40px;
}
.left-\[40px\] {
  left: 40px;
}
.z-10 {
  z-index: 10;
}
.container {
  width: 100%;
}
.mx-\[25px\] {
  margin-inline: 25px;
}
.mx-auto {
  margin-inline: auto;
}
.mt-\[15px\] {
  margin-top: 15px;
}
.mb-\[25px\] {
  margin-bottom: 25px;
}
.box-border {
  box-sizing: border-box;
}
.block {
  display: block;
}
.contents {
  display: contents;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline {
  display: inline;
}
.table {
  display: table;
}
.size-full {
  width: 100%;
  height: 100%;
}
.h-\[70px\] {
  height: 70px;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.max-h-\[500px\] {
  max-height: 500px;
}
.w-\[46px\] {
  width: 46px;
}
.w-\[140px\] {
  width: 140px;
}
.w-full {
  width: 100%;
}
.transform {
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
}
.resize {
  resize: both;
}
.columns-2 {
  columns: 2;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-rows-none {
  grid-template-rows: none;
}
.flex-col {
  flex-direction: column;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.items-start {
  align-items: flex-start;
}
.justify-center {
  justify-content: center;
}
.rounded-\[15px\] {
  border-radius: 15px;
}
.border-\[\#7f7f7f\] {
  border-color: #7f7f7f;
}
.bg-\[\#1a1a1a\] {
  background-color: #1a1a1a;
}
.bg-\[\#f5efe0\] {
  background-color: #f5efe0;
}
.bg-cover {
  background-size: cover;
}
.bg-center {
  background-position: center;
}
.object-contain {
  object-fit: contain;
}
.p-\[50px\] {
  padding: 50px;
}
.px-\[6rem\] {
  padding-inline: 6rem;
}
.px-\[16px\] {
  padding-inline: 16px;
}
.py-\[23px\] {
  padding-block: 23px;
}
.pt-\[200px\] {
  padding-top: 200px;
}
.pb-\[20px\] {
  padding-bottom: 20px;
}
.text-\[10vw\] {
  font-size: 10vw;
}
.leading-none {
  --tw-leading: 1;
  line-height: 1;
}
.font-\[100\] {
  --tw-font-weight: 100;
  font-weight: 100;
}
.font-\[600\] {
  --tw-font-weight: 600;
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.filter {
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, ease);
  transition-duration: var(--tw-duration, 0s);
}
.hover\:text-\[\#7f7f7f\] {
  &:hover {
    @media (hover: hover) {
      color: #7f7f7f;
    }
  }
}
@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&display=swap');
h2 {
  margin: 0px 0px 18px 0 !important;
  font-size: 3rem !important;
}
p {
  font-family: 'Courier Prime';
}
.courier-prime-regular {
  font-family: "Courier Prime", monospace;
  font-weight: 400;
  font-style: normal;
}
.courier-prime-bold {
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  font-style: normal;
}
.courier-prime-regular-italic {
  font-family: "Courier Prime", monospace;
  font-weight: 400;
  font-style: italic;
}
.courier-prime-bold-italic {
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  font-style: italic;
}
html {
  overflow-x: hidden;
}
.header-toggles {
  display: none !important;
}
body {
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  width: 100%;
  min-height: 100vh;
  margin: 0;
}
main {
  flex: 1;
}
.modal-menu a:focus, .modal-menu a:hover, .modal-menu li.current-menu-item > .ancestor-wrapper > a, .modal-menu li.current_page_ancestor > .ancestor-wrapper > a, body:not(.overlay-header) .primary-menu > li > a, body:not(.overlay-header) .primary-menu > li > .icon, .modal-menu a, .footer-menu a, .footer-widgets a:where(:not(.wp-block-button__link)), #site-footer .wp-block-button.is-style-outline, .wp-block-pullquote:before, .singular:not(.overlay-header) .entry-header a, .archive-header a, .header-footer-group .color-accent, .header-footer-group .color-accent-hover:hover {
  color: #000;
  text-decoration: none !important;
}
.singular .entry-header, .header {
  background: #f5efe0 !important;
  @media (min-width: 700px) {
    padding: 18rem 8rem 0 !important;
  }
  @media (max-width: 699px) {
    margin-top: 10rem;
  }
}
.button, .wpcf7-submit {
  border-radius: 0 !important;
  padding: 15px 25px !important;
  background-color: #1a1a1a !important;
  transition: 0.2s;
  &:hover {
    background-color: #606060 !important;
    transition: 0.2s;
  }
}
a, p, label, span, button, li, h1, h2, h3 {
  line-height: normal !important;
  font-family: 'Courier Prime';
  &:hover {
    text-decoration: none;
  }
}
.hero-home p {
  margin: 0 !important;
}
.header-titles-wrapper {
  padding: 0 !important;
}
#site-header {
  box-shadow: 0px 15px 20px #1a1a1a1c !important;
  position: fixed !important;
  width: 100% !important;
  z-index: 99 !important;
  .search-header {
    display: none !important;
  }
}
#preloader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #f7f3e8;
  z-index: 100000;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  opacity: 1;
  transition: opacity 0.5s ease-out;
}
#preloader-overlay.loaded {
  opacity: 0;
  pointer-events: none;
}
.preloader-content {
  text-align: center;
  width: 300px;
}
.logo-container {
  margin-bottom: 25px;
  display: flex;
  justify-content: center;
}
.preloader-logo {
  max-width: 120px;
  height: auto;
  filter: drop-shadow(0px 2px 5px rgba(0,0,0,0.2));
}
.progress-container {
  width: 100%;
  height: 10px;
  background-color: #2c2c2c;
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid #1a1a1a;
  position: relative;
}
.progress-bar {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #6f3d42, #a61d2c);
  transition: width 0.3s ease;
}
.status-text {
  font-family: 'Courier Prime';
  color: #333;
  font-size: 0.8rem;
  margin-top: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
@keyframes glisseFlecheLente {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(40px);
  }
}
.section-hero-image {
  width: 100%;
  @media (max-width: 768px) {
    padding: 50px;
    max-height: max-content;
  }
  .bloc {
    margin-top: 50px;
  }
}
.fleche-animee {
  display: inline-block;
  animation: glisseFlecheLente 3s infinite ease-in-out !important;
}
.search-header {
  display: none;
}
.notre-conteneur-responsive {
  display: flex;
  flex-direction: column;
}
.notre-conteneur-responsive .bloc-gauche, .notre-conteneur-responsive .bloc-droite {
  width: 100% !important;
}
.notre-conteneur-responsive .bloc-gauche {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .notre-conteneur-responsive {
    flex-direction: row !important;
    justify-content: space-between !important;
  }
  .notre-conteneur-responsive .bloc-gauche {
    width: 40% !important;
    margin-bottom: 0 !important;
  }
  .notre-conteneur-responsive .bloc-droite {
    width: 50% !important;
  }
}
.conteneur-hero {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  gap: 20px;
  .button {
    margin-top: 50px;
  }
}
.titre-hero {
  font-weight: 600;
  font-size: 13vw;
  margin: 0;
  line-height: 1;
}
@media (min-width: 1380px) {
  .conteneur-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
  }
  .titre-hero {
    font-size: 200px;
  }
}
.layout-principal {
  display: flex;
  flex-direction: column;
}
.zone-gauche {
  display: flex;
  flex-direction: column;
  padding: 20px;
  gap: 20px;
}
.rectangle-petit, .rectangle-grand {
  width: 100%;
}
.zone-droite {
  display: flex;
  flex-direction: column;
  padding: 20px;
  gap: 20px;
  justify-content: center;
}
.trait-repere {
  display: none;
}
.portfolio {
  a {
    margin-top: 6rem !important;
  }
}
@media (min-width: 768px) {
  .img-scroll {
    animation: inverse-scroll linear forwards;
    animation-timeline: view();
    animation-range: entry cover;
    will-change: transform;
  }
}
@keyframes inverse-scroll {
  from {
    transform: translateY(250px);
  }
  to {
    transform: translateY(-250px);
  }
}
@media (min-width: 1380px) {
  .layout-principal {
    flex-direction: row;
    height: 100%;
    align-items: stretch;
  }
  .zone-gauche {
    flex-direction: row;
    width: 30%;
    padding: 40px;
    gap: 40px;
    align-items: stretch;
  }
  .rectangle-grand {
    width: 65%;
  }
  .zone-droite {
    width: 70%;
  }
  .trait-repere {
    display: block;
    position: absolute;
    right: -60px;
    top: 40px;
    width: 60px;
    height: 4px;
    background-color: #7f7f7f;
  }
}
.zone-centrale-cadre img, .bloc-gauche img {
  @media (max-width: 768px) {
    margin-bottom: 5rem;
  }
}
@media (min-width: 768px) {
  .layout-maquette-v2 {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .colonne-gauche-ligne {
    width: 10%;
    border-right: 6px solid #7f7f7f;
  }
  .zone-centrale-cadre {
    width: 70%;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 50px;
    margin: 50px;
    width: 100%;
    height: 100%;
    border-radius: 15px;
  }
  .cadre-interieur {
    width: 100%;
    height: 100%;
  }
  .colonne-droite-vide {
    width: 20%;
    position: relative;
    box-shadow: 0px 0px 20px #1a1a1a2e;
    background-color: #ffffffd1;
    padding: 50px;
    margin: 50px;
    width: 100%;
    height: 100%;
    border-radius: 15px;
  }
  .trait-repere-final {
    position: absolute;
    right: 0;
    top: 40px;
    width: 60px;
    height: 4px;
    background-color: #7f7f7f;
  }
}
.ma-grille {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .ma-grille {
    display: grid;
    grid-template-columns: 70% 30%;
  }
  .bloc {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
  }
  .contenu-interne {
    width: 100%;
    height: 100%;
  }
  .trait-repere {
    width: 60px;
    height: 4px;
    background-color: #7f7f7f;
    position: absolute;
    right: -60px;
    top: 60px;
  }
}
.footer-nav-widgets-wrapper, #site-footer {
  background-color: #1a1a1a !important;
  padding: 50px !important;
  margin: 0 !important;
  .div-content {
    justify-content: space-between;
  }
  @media (max-width: 768px) {
    .div-content {
      display: flex;
      flex-direction: column !important;
    }
  }
}
footer {
  box-shadow: 0px -15px 20px #1a1a1a69;
  h3 {
    margin-top: 0 !important;
    @media (max-width: 768px) {
      margin-bottom: 25px !important;
    }
  }
  .copyright {
    @media (max-width: 768px) {
      display: none !important;
    }
  }
  a, p, ul {
    padding: 0;
    margin: 0;
    color: white !important;
    list-style: none !important;
  }
}
.cadre-exterieur {
  width: 100%;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}
