:root {
    /* COULEURS */
    --color-bg: #F3F1EC;
    --color-bg-soft: #E9E6DF;
    --color-surface: #FFFFFF;

    --color-green: #667166;
    --color-green-dark: #3F493D;
    --color-green-deep: #303A32;

    --color-text: #30342F;
    --color-muted: #737970;
    --color-line: rgba(63, 73, 61, .18);

    /* TYPOGRAPHIES */
    --font-title: "Lora", serif;
    --font-body: "Inter", sans-serif;

    /* LARGEURS */
    --container: 1200px;
    --container-wide: 1400px;

    /* ESPACEMENTS */
    --section-space: clamp(5rem, 9vw, 9rem);

    /* TRANSITIONS */
    --transition: .35s ease;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
  }
  
  body {
    font-family: var(--font-body);
    background: #F3F1EC;
    color: var(--text);
    line-height: 1.7;
  }

  /* =========================
   HEADER
========================= */

header {

    position: sticky;

    top: 0;

    z-index: 9999;

    background: rgba(248,245,241,0.97);

    backdrop-filter: blur(10px);

    border-bottom: 1px solid #E8DDD1;
}
/****** LOGO *******/

.logo {

    display: flex;

    align-items: center;

    text-decoration: none;
}

.logo-image {

    height: 120px;

    width: auto;

    object-fit: contain;
}

/******* NAVIGATION ********/

.nav {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 18px 0;

    position: relative;
}

/* MENU DESKTOP */

.main-nav ul {

    display: flex;

    align-items: center;

    gap: 40px;

    list-style: none;

    margin: 0;
    padding: 0;
}

.main-nav a {

    text-decoration: none;

    color: #3F493D;

    font-weight: 500;

    transition: 0.3s;
}

.main-nav a:hover {

    color: #B56E5A;
}


/* =========================
   BOUTON BURGER
========================= */

.menu-toggle {

    display: none;

    flex-direction: column;

    justify-content: center;

    gap: 6px;

    background: none;

    border: none;

    cursor: pointer;

    z-index: 10001;
}

.menu-toggle span {

    width: 28px;

    height: 3px;

    background: #2F2F2F;

    border-radius: 20px;

    transition: 0.3s;
}
  
  .container {
    width: min(1200px, 90%);
    margin: auto;
  }

  /********* SECTION HERO *********/

  .approche-hero {

    background: #F4F2ED;
    padding: 100px 0;

}

.approche-hero .container {

    width: min(1400px, 90%);
    margin: auto;

}

/* INTRO */

.approche-intro {

    text-align: center;

}

.approche-intro h1 {

    font-family: "Lora", serif;
    font-size: 2.4em;

    color: #495347;

    text-transform: uppercase;
    line-height: 1.15;

    margin-bottom: 60px;

}

.approche-intro p {

    font-size: 1.5rem;
    line-height: 1.5;

    color: #3F493D;

    margin-bottom: revert;
    margin-top: revert;

}

/* SEPARATEUR */

.separator {

    width: 100%;
    height: 1px;

    background: #C8CCC6;

    margin: 70px 0;

}

/* ETAPES */

.approche-steps {

    display: flex;
    justify-content: center;
    gap: 15px;

    margin-bottom: 70px;

}

.step {

    flex: 1;
    text-align: center;

}

/* FLECHES */

.arrow-box {

    position: relative;

    height: 90px;

    background: #495347;

    color: white;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 2.3rem;
    font-weight: 700;

    margin-bottom: 25px;
    clip-path: polygon(
    0 0,
    calc(100% - 30px) 0,
    100% 50%,
    calc(100% - 30px) 100%,
    0 100%,
    30px 50%
  );

}

.arrow-box::after {

    content: "";

    position: absolute;

    right: -45px;
    top: 0;

    width: 0;
    height: 0;

    border-top: 45px solid transparent;
    border-bottom: 45px solid transparent;
    border-left: 45px solid #495347;

}
.arrow-box {

    overflow: hidden;
}

.arrow-box::before {

    content: "";

    position: absolute;

    inset: 0;

    background: rgba(255,255,255,.08);

    transform: translateX(-100%);

    transition: .5s ease;

}

.step:hover .arrow-box::before {

    transform: translateX(0);

}
.step:last-child .arrow-box::after {

    display: none;

}

.step h3 {

    font-size: 1.5rem;

    color: #3F493D;

    font-weight: 600;

}

/* BOUTON */

.approche-cta {

    text-align: right;

}

.btn {

    display: inline-block;

    padding: 18px 38px;

    background: #C4D0CB;

    color: #1f1f1f;

    text-decoration: none;

    border-radius: 16px;

    font-size: 1.3rem;
    font-weight: 600;

    transition: .3s ease;

}

.btn:hover {

    transform: translateY(-3px);

    background: #AEBFBA;

}

    /********** IMG ACCUEIL **********/

.img-accueil img{
    width: 100%;
}

  /********* SECTION ENTREMELE *********/

  .entremele-section {

    background: #F4F2ED;
    padding: 120px 0;

}

.entremele-section .container {

    width: min(1400px, 90%);
    margin: auto;

}

/* TITRE */

.entremele-header {

    text-align: center;
    margin-bottom: 90px;

}

.entremele-header h2 {

    font-family: "Cormorant Garamond", serif;

    font-size: 2.3em;

    text-transform: uppercase;

    line-height: 1.1;

    color: #3F493D;

    margin-bottom: 40px;

}

.entremele-header p {

    font-size: 1.3rem;

    color: #3F493D;

}

/* QUESTIONS */

.questions-wrapper {

    display: grid;

    gap: 0px;

}

.questions-line {

    grid-column: 2;
    grid-row: 4 / -1;
    width: 2px;
    height: 100%;

    background: #5A6558;

}

.question {

    width: 100%;

    padding: 30px;

    background: #EAE7E0;

    font-size: 1.4rem;

    line-height: 1.5;

    color: #3F493D;

}

.question-left.top {
    grid-column: 1;
    grid-row: 1;
    text-align: right;
}

.question-right {
    grid-column: 3;
    grid-row: 2;
    text-align: left;
}

.question-left.bottom {
    grid-column: 1;
    grid-row: 3;
    text-align: right;
}

/* TEXTE */

.transition-text {

    text-align: center;

    margin: 90px 0;

}

.transition-text p {

    font-size: 1.5rem;

    color: #3F493D;

}

/* BENEFICES */

.benefits {

    position: relative;

    max-width: 700px;

    margin: auto auto 100px;

    padding-left: 12px;

}

.benefits-line {

    position: absolute;

    left: 18px;

    top: 20px;

    bottom: 20px;

    width: 2px;

    background: #5A6558;

}

.benefit {

    display: flex;

    align-items: center;

    gap: 40px;

    margin-bottom: 60px;

}

.dot {

    width: 16px;
    height: 16px;

    border-radius: 50%;

    background: #3F493D;

    position: relative;

}

.dot::after {

    content: '';

    position: absolute;

    left: 100%;
    top: 50%;

    transform: translateY(-50%);

    width: 40px;
    height: 2px;

    background: #3F493D;

}

.benefit p {

    font-size: 1.5rem;

    color: #3F493D;

}

/* CONCLUSION */

.entremele-conclusion {

    text-align: center;

}

.entremele-conclusion p {

    font-size: 1.5rem;

    line-height: 1.6;

    color: #3F493D;

    margin-bottom: 20px;

}

  /********* SECTION METHODE ***********/

  .method-section {

    display: grid;
    grid-template-columns: 38% 62%;

    background: #F4F2ED;

    min-height: 100vh;

}

.method-image {

    overflow: hidden;

}

.method-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

}

.method-content {

    padding: 80px 80px 80px 60px;

}

.section-title {

    text-align: center;

    margin-bottom: 80px;

}

.section-title h2 {

    font-family: "lora", serif;

    font-size: 2.3em;

    line-height: 1.1;

    color: #3F493D;

    text-transform: uppercase;

}

.timeline {

    position: relative;

}

.timeline::before {

    content: '';

    position: absolute;

    left: 12px;
    top: 0;
    bottom: 0;

    width: 2px;

    background: #667165;

}

.timeline-item {

    position: relative;

    display: flex;

    gap: 50px;

    margin-bottom: 90px;

}

.timeline-marker {

    position: relative;

    width: 26px;
    min-width: 26px;

}

.timeline-marker::before {

    content: '';

    position: absolute;

    top: 12px;
    left: 4px;

    width: 18px;
    height: 18px;

    border-radius: 50%;

    background: #3F493D;

    z-index: 2;

}

.timeline-marker::after {

    content: '';

    position: absolute;

    top: 20px;
    left: 18px;

    width: 40px;
    height: 2px;

    background: #3F493D;

}

.timeline-text h3 {

    font-family: "Cormorant Garamond", serif;

    font-size: 2rem;

    color: #3F493D;

    text-transform: uppercase;

    margin-bottom: 25px;

}

.timeline-text p {

    font-size: 1.2rem;

    line-height: 1.7;

    color: #3F493D;

    margin-bottom: 20px;

}

.timeline-text ul {

    margin: 20px 0 25px 25px;

}

.timeline-text li {

    margin-bottom: 10px;

    font-size: 1.15rem;

    color: #3F493D;

}


  /****** SECTION TROIS MISSIONS UNE COHERENCE *******/

  .prestations-home {

    background: #F4F2ED;

    padding: 120px 0;

}

.prestations-home .container {

    width: min(1400px, 90%);
    margin: auto;

}

.section-header {

    text-align: center;

    margin-bottom: 80px;

}

.section-label {

    display: block;

    font-size: .95rem;

    font-weight: 700;

    letter-spacing: 2px;

    color: #3F493D;

    margin-bottom: 15px;

}

.section-header h2 {

    font-family: "Lora", serif;

    font-size: 2.3em;

    color: #3F493D;

    text-transform: uppercase;

    line-height: 1.1;

}

.prestations-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 50px;

}

.prestation-card {

    display: flex;

    flex-direction: column;

}

.prestation-image {

    display: flex;

    justify-content: center;

    margin-bottom: 35px;

}

.prestation-image img {

    width: 280px;

    height: 280px;

    border-radius: 50%;

    object-fit: cover;

}

.prestation-card h3 {

    font-family: "Cormorant Garamond", serif;

    font-size: 2rem;

    text-align: center;

    color: #3F493D;

    margin-bottom: 10px;

}

.prestation-subtitle {

    text-align: center;

    font-style: italic;

    color: #6C756A;

    margin-bottom: 30px;

}

.prestation-card p {

    font-size: 1.15rem;

    line-height: 1.7;

    margin-bottom: 20px;

    color: #3F493D;

}

.prestation-card ul {

    margin: 10px 0 25px 20px;

}

.prestation-card li {

    margin-bottom: 12px;

    color: #3F493D;

}

.btn-outline {

    margin-top: auto;

    align-self: center;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    text-decoration: none;

    padding: 18px 30px;

    border: 1px solid #AAB6A7;

    border-radius: 18px;

    color: #93A48F;

    font-weight: 600;

    transition: .3s ease;

}

.btn-outline:hover {

    background: rgba(147,164,143,.08);

    transform: translateY(-2px);

}

.section-footer {

    text-align: center;

    margin-top: 80px;

}

.btn-large {

    padding: 22px 40px;

}


  /***** SECTION MAP *********/

  .section-map{
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
  }

  .section-map h2{
      font-size: 2.3em;
      padding: 30px 0px;
  }
  .section-map-image{
    text-align: center;
    
}
    .section-map-image img{
    width: 80%;
    height: auto;
    text-align: center;
    margin: auto;

}
.section-map p{
    text-align: center;
    padding: 10px 0px;
}
.section-map p:last-child{
    padding: 10px 0px;
    font-weight: bold;
}
  /******* SECTION CTA *******/

  .cta-section, .section-mhd {

    display: grid;
    grid-auto-flow: column;
    align-content: space-evenly;
    min-height: 750px;
    background: #F4F2ED;

}

.cta-content, .content-mhd {

    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 8%;

}

.cta-content h2, .content-mhd h2 {

    font-family: "Lora", serif;

    font-size: 2.3em;

    font-weight: bold;

    line-height: 1.1;

    text-transform: uppercase;

    text-align: center;

    color: #3F493D;

    margin-bottom: 40px;

    max-width: 750px;

}

.cta-content p, .content-mhd p {

    font-family: "Inter", sans-serif;

    font-size: 1rem;

    line-height: 1.6;

    text-align: center;

    color: #3F493D;

    max-width: 700px;

    margin-bottom: 50px;

}
.content-mhd .btn-secondary{
    margin-top: 30px;
}

.cta-buttons {

    display: flex;
    gap: 20px;

}

.btn-primary {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 18px 30px;

    background: #6E7A71;

    color: #FFF;

    text-decoration: none;

    border-radius: 20px;

    font-weight: 600;

    transition: .3s ease;

}

.btn-primary:hover {

    transform: translateY(-2px);

    background: #59645C;

}

.btn-secondary {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 18px 30px;

    border: 1px solid #6E7A71;

    color: #6E7A71;

    text-decoration: none;

    border-radius: 20px;

    font-weight: 600;

    transition: .3s ease;

}

.btn-secondary:hover {

    background: rgba(110,122,113,.08);

}

.cta-image {

    overflow: hidden;

}

.cta-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

}
.cta-image-mh img{
    width: 50%;
    height: auto;
}

/******* SECTION PROJET PLANS *******/

.about-vision {

    display: grid;
    grid-template-columns: 40% 60%;

    min-height: 900px;

    background: #F4F2ED;

}

.about-image {

    overflow: hidden;

}

.about-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

}

.about-content {

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 6rem 7rem;

}

.about-content h2 {

    font-family: "Lora", serif;

    font-size: 2.3em;

    line-height: 1.1;

    text-transform: uppercase;

    color: #3F493D;

    margin-bottom: 3rem;

    max-width: 900px;

}

.about-content p {

    font-family: "Inter", sans-serif;

    font-size: 1.4rem;

    line-height: 1.5;

    color: #3F493D;

    margin-bottom: 2rem;

    max-width: 950px;

}

.about-content strong {

    font-weight: 700;

}
/********* INFO BULLE *********/

.tooltip {

    position: relative;

    display: inline-block;

    font-weight: 700;

    cursor: help;

    border-bottom: 1px dotted rgba(77, 86, 75, .4);

}

.tooltip-content {

    position: absolute;

    left: 50%;
    bottom: 140%;

    transform: translateX(-50%);

    width: 320px;

    padding: 18px 22px;

    background: #4D564B;

    color: #fff;

    font-size: 0.95rem;

    font-weight: 400;

    line-height: 1.5;

    border-radius: 12px;

    opacity: 0;
    visibility: hidden;

    transition: .3s ease;

    z-index: 100;

    box-shadow: 0 15px 40px rgba(0,0,0,.15);

}

.tooltip-content::after {

    content: '';

    position: absolute;

    top: 100%;
    left: 50%;

    transform: translateX(-50%);

    border-width: 8px;
    border-style: solid;

    border-color: #4D564B transparent transparent transparent;

}

.tooltip:hover .tooltip-content {

    opacity: 1;
    visibility: visible;

}

/******** SECTION REALISATION INDEX *******/

.realisations-section {

    background: #F4F2ED;

    padding: 120px 0;

}

.realisations-section .container {

    width: min(1200px, 90%);
    margin: auto;

}

.section-title {

    text-align: center;
    margin-bottom: 80px;

}

.section-title span {

    display: block;

    font-size: .95rem;

    font-weight: 700;

    letter-spacing: 2px;

    margin-bottom: 15px;

    color: #3F493D;

}

.section-title h2 {

    font-family: "Lora", serif;

    font-size: 2.3em;

    line-height: 1.4;

    color: #3F493D;

    text-transform: uppercase;

}


/* RÉALISATIONS — GALERIE ÉDITORIALE */

.main-project {
    width: min(900px, 100%);
    margin: 0 auto 100px;
    overflow: visible;
}

.main-project a {
    display: block;
    width: 100%;
}

.main-project img {
    display: block;
    width: 70%;
    max-width: 900px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

/* Grille secondaire */

.projects-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(30px, 6vw, 100px);
    row-gap: 60px;
    align-items: start;
}

/* Texte éditorial */

.project-text {
    grid-column: 1;
    grid-row: 1;
    max-width: 400px;
    padding-top: 40px;
}

.project-text p {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-bottom: 35px;
    color: #3F493D;
}

/* Photographies secondaires */

.project-image {
    width: 100%;
    min-width: 0;
    overflow: visible;
}

.project-image a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.project-image img {
    display: block;
    width: 100%;
    object-fit: cover;
}

/* Photo 2 : colonne droite, première ligne */

.project-image-top {
    grid-column: 2;
    grid-row: 1 / 3;
}

.project-image-top img {
    aspect-ratio: 4 / 5;
}

/* Photo 3 : colonne gauche */

.project-image-left {
    grid-column: 1;
    grid-row: 2;
    width: 82%;
    margin: 0;
}

.project-image-left img {
    aspect-ratio: 4 / 5;
}

/* Photo 4 : colonne droite */

.project-image-right {
    grid-column: 2;
    grid-row: 3;
    width: 100%;
    margin: 0;
}

.project-image-right img {
    aspect-ratio: 4 / 3;
}

.project-image-visual {
    width: 100%;
    overflow: hidden;
}

.project-image-visual img {
    display: block;
    width: 100%;
    max-width: none;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform .6s ease;
}

/* Animation discrète */

.main-project img,
.project-image img {
    transition: transform .6s ease;
}

.main-project a:hover img,
.project-image a:hover img {
    transform: scale(1.035);
}

/* Légendes des réalisations */

.project-link {
    display: block;
    width: 100%;
    color: inherit;
    text-decoration: none;
}

.project-caption {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 22px 0 0;
    color: #3F493D;
}

.project-caption-label {
    display: block;
    margin-bottom: 9px;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: 2px;
}

.project-caption h3 {
    margin: 0;
    font-family: "Lora", serif;
    font-size: clamp(1rem, 1.4vw, 1.3rem);
    font-weight: 400;
    line-height: 1.45;
}

.project-caption-arrow {
    font-size: 1.4rem;
    line-height: 1;
    transition: transform .3s ease;
}

.project-link:hover .project-caption-arrow {
    transform: translate(4px, -4px);
}

.project-link:focus-visible {
    outline: 2px solid #3F493D;
    outline-offset: 6px;
}

.project-link:hover .project-image-visual img {
    transform: scale(1.035);
}

.realisations-conclusion {

    text-align: center;

    margin-top: 100px;

}

.realisations-conclusion p {

    font-size: 1.5rem;

    line-height: 1.6;

    color: #3F493D;

}

.realisations-cta {

    text-align: center;

    margin-top: 60px;

}

.btn-realisation {

    display: inline-block;

    padding: 18px 35px;

    background: #728177;

    color: white;

    text-decoration: none;

    border-radius: 15px;

    font-weight: 600;

    transition: .3s ease;

}

.btn-realisation:hover {

    background: #5F6D63;

    transform: translateY(-2px);

}
  /****** FOOTER *******/
  .footer {

    padding: 90px 0 40px;

    color: #3F493D;

}

.footer-container {

    width: min(1400px, 88%);
    margin: auto;

}

.footer-top {

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 80px;

}

.footer-col h3 {

    font-family: "Cormorant Garamond", serif;

    font-size: 1.5rem;

    font-weight: 700;

    margin-bottom: 30px;

    text-transform: uppercase;

    letter-spacing: 0px;

}

.footer-col p {

    font-size: 1.05rem;

    line-height: 1.4;

    margin-bottom: 25px;

}

.footer-separator {

    border: 0;

    border-top: 2px solid rgba(71, 80, 70, .25);

    margin: 70px 0;

}

.footer-partners h3 {

    font-size: 1.6rem;

    font-weight: 700;

    margin-bottom: 50px;

}

.partners-logos {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 60px;

}

.partners-logos img {

    width: 150px;

    height: auto;

    transition: transform .3s ease;

}

.partners-logos img:hover {

    transform: translateY(-4px);

}

.footer-bottom {

    text-align: center;

}

.footer-bottom p {

    font-size: 1rem;

    margin: 0;

}
  /* ANIMATIONS DISCRETES */
  .fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease,
    transform 0.8s ease;
  }
  
  .fade-in.visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* REALISATIONS GRID */
  .projects-grid {

    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 24px;
  
  }
  
  .project-card {
  
    position: relative;
    overflow: hidden;
  
  }
  
  .project-card img {
  
    width: 100%;
    height: 520px;
    object-fit: cover;
  
    transition: transform 0.6s ease;
  
  }
  
  .project-card:hover img {
    transform: scale(1.04);
  }

  /* CONTACT */

.contact-page {
    padding: 15px 0;
}

.contact-page h1 {
    text-align: center;
    margin-bottom: 30px;
    color: #3F493D;
    font-weight: bold;
}

.contact-form {
    max-width: 700px;
    margin: auto;

    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-form input,
.contact-form textarea,
.contact-form select {

    width: 100%;
    padding: 16px;

    border: 1px solid #ddd;
    border-radius: 12px;

    font-size: 1rem;
    background: white;
}

.contact-form textarea {
    resize: vertical;
}
.contact-form .btn{
    display: inline-block;
    background-color: #B56E5A;
    color: white;
    padding: 14px 28px;
    border-radius: 30px;
    text-decoration: none;
    transition: 0.3s;
}
.contact-form .btn:hover{
    background-color: #9d5f4d;;
}
.contact-form input::placeholder, .contact-form textarea::placeholder{
    font-style: italic;
    color:rgba(189, 186, 186, 0.9);
}
.hidden-field{
    display: none;
}
.success-message p{
    color:green;
    font-weight:600;
    text-align: center;
    margin:auto;
}
/**************************************/
/********* PAGE PRESTATIONS.PHP *******/
/**************************************/

.offers-hero {

    display: flex;
    padding: 20px 0 120px;
    text-align: left;
}
.offers-content{
    padding: 0 60px;
}

.offers-hero h1 {

    font-family: var(--font-title);

    font-size: 2.3em;

    line-height: 1.2;

    color: #3F493D;

    text-transform: uppercase;

    max-width: 1100px;

    margin: auto auto 10px;

}
.offers-content p:nth-child(2){
    font-size: 1.5em;
    font-weight: bold;
}
.offers-hero p {

    max-width: 900px;

    margin: 0 auto 25px;

    font-size: 1.2rem;

    color: #3F493D;

    line-height: 1.6;

}
.offers-img{
    width: 40%;
}
.offers-img img{
    width: 100%;
}
.journey h2{
    font-size: 2.3em;
    color: #3F493D;
    line-height: 1.4;
}
.journey p {
    font-size: 1.2rem;

    color: #3F493D;

    line-height: 2.4;
}
.journey img{
    margin-top: 20px;
}

/***** OFFRE DIAGONSTIC ADN *******/

.offer-block{
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    color: #3F493D;
}
.offer-content{
    width: 50%;
    padding:40px 60px;
}
.offer-content h2{
    text-transform: uppercase;
    font-size: 2.3em;
}
.offer-content h3{
    text-transform: uppercase;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 20px;
}
.offer-content p{
    font-size: 1.1em;
    margin-bottom: 20px;
}
.offer-image{
    width: 50%;
    padding: 50px 30px;
}
.offer-image img{
    width: 80%;
}

.orientation{
    color: #3F493D;
}
.orientation p{
    margin-bottom: 20px;
    font-size: 1.2em;
}

.orientation-grid{
    display: grid;
    grid-template-columns: 33% 33% 33%;
    gap: 20px;
}
.orientation-grid article{
    border-color: #3F493D;
    border-style: solid;
    border-left-width: 8px;
    padding: 40px;
}
.orientation h2{
    font-size: 2.3em;
    margin-bottom: 20px;
}
.orientation-grid h3{
    font-size: 1.4em;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.orientation-grid p{
    font-size: 1.1em;
    line-height: 1.4;
}
.orientation-grid .link {
    position: relative;
    text-decoration: none;
    color: #3F493D;
  }
  
  .orientation-grid .link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 2px;
    background: #3F493D;
  
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  
  .orientation-grid .link:hover::after {
    transform: scaleX(1);
  }

  .cta-final{
      color: #3F493D;
      padding: 50px;
  }
  .cta-final h2{
      font-size: 2.3em;
      margin-bottom: 30px;
  }
  .cta-final p{
      margin-bottom: 30px;
  }

  /****************************/
  /**** MATIERES AMBIANCE *****/
  /****************************/

  .matieres-page {

    background: #F4F2ED;

}

/* HERO */

.matieres-hero {

    padding: 140px 0 100px;

    text-align: center;

}

.matieres-hero h1 {

    font-family: var(--font-title);

    font-size: clamp(3rem,5vw,5.5rem);

    color: var(--green);

    line-height: 1.1;

    max-width: 1200px;

    margin: auto;

}

.matieres-hero p {

    max-width: 900px;

    margin: 40px auto 0;

    font-size: 1.3rem;

    line-height: 1.8;

}

/* INTRO */

.intro-matieres {

    text-align: center;

    padding-bottom: 120px;

}

.intro-matieres p {

    font-size: 1.3rem;

    margin-bottom: 25px;

}

/* BLOCS */

.matiere-bloc {

    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: 700px;

}

.matiere-bloc.reverse {

    direction: rtl;

}

.matiere-bloc.reverse .matiere-content {

    direction: ltr;

}

.matiere-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

}

.matiere-content {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 80px;

}

.matiere-content span {

    letter-spacing: 2px;

    font-weight: 600;

    color: var(--green);

}

.matiere-content h2 {

    font-family: var(--font-title);

    font-size: clamp(2.5rem,4vw,4rem);

    color: var(--green);

    margin: 20px 0 40px;

}

.matiere-content p {

    font-size: 1.2rem;

    line-height: 1.8;

    margin-bottom: 20px;

}

/* CONCLUSION */

.matieres-conclusion {

    text-align: center;

    padding: 140px 0;

}

.matieres-conclusion h2 {

    font-family: var(--font-title);

    font-size: clamp(2.5rem,4vw,4rem);

    color: var(--green);

    margin-bottom: 40px;

}

.matieres-conclusion p {

    font-size: 1.3rem;

    line-height: 1.8;

}

/* CTA */

.cta-matieres {

    text-align: center;

    padding-bottom: 140px;

}

 /****** MEDIA QUERIES ********/

  @media screen and (max-width: 1200px) {

    .offers-hero h1 {

        font-size: 3.8rem;

    }

    .offer-content {

        padding: 60px;

    }

    .offer-content h2 {

        font-size: 2.8rem;

    }

    .about-content {

        padding: 4rem;

    }
    .matiere-content {

        padding: 60px;

    }

    .matiere-content h2 {

        font-size: 3rem;

    }
    .realisations-section {
        padding: 90px 0;
    }

    .realisations-section .section-title {
        margin-bottom: 55px;
    }

    .main-project {
        width: 100%;
        margin-bottom: 75px;
    }

    .projects-layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 35px;
        row-gap: 45px;
    }

    .project-text {
        padding-top: 0;
    }

    .project-text p {
        font-size: 1.2rem;
    }

    .project-image-left,
    .project-image-right {
        width: 100%;
    }

}
  @media screen and (max-width: 900px) {

    .matieres-hero {

        padding: 100px 0 80px;

    }

    .matieres-hero h1 {

        font-size: 3rem;

    }

    .intro-matieres {

        padding-bottom: 80px;

    }

    .matiere-bloc {

        grid-template-columns: 1fr;

        min-height: auto;

    }

    .matiere-bloc.reverse {

        direction: ltr;

    }

    .matiere-image {

        height: 450px;

    }

    .matiere-content {

        padding: 60px 8%;

        text-align: center;

    }

    .matiere-content h2 {

        font-size: 2.7rem;

    }

    .matieres-conclusion {

        padding: 100px 0;

    }

    .offers-hero {

        padding: 100px 0 80px;

    }

    .offers-hero h1 {

        font-size: 3rem;

        line-height: 1.15;

    }

    .offers-hero p {

        font-size: 1.15rem;

    }

    /* PARCOURS */

    .journey-grid {

        grid-template-columns: 1fr;

        gap: 40px;

    }

    .journey-grid article {

        max-width: 500px;

        margin: auto;

    }

    /* OFFRES */

    .offer-block {

        display: flex;
        flex-direction: column;

    }

    .offer-block.reverse {

        flex-direction: column;

    }

    .offer-image {

        height: 450px;

    }

    .offer-content {

        padding: 70px 8%;

        text-align: center;

    }

    .offer-content h2 {

        font-size: 2.5rem;

    }

    .offer-content .btn-secondary {

        margin: 30px auto 0;

    }

    /* ORIENTATION */

    .orientation-grid {

        grid-template-columns: 1fr;

        gap: 40px;

    }
    
    .approche-steps {

        flex-direction: column;

    }

    .arrow-box::after {

        display: none;

    }

    .approche-intro p {

        font-size: 1.4rem;

    }

    .step h3 {

        font-size: 1.5rem;

    }

    .approche-cta {

        text-align: center;

    }

    .questions-wrapper {

        display: flex;
        flex-direction: column;
        gap: 30px;

        min-height: auto;

    }

    .questions-line {

        display: none;

    }

    .question {

        position: static;

        width: 100%;

        text-align: left;

    }

    .method-section {

        grid-template-columns: 1fr;

    }

    .method-image,
    .method-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: auto;

    }

    .prestations-grid {

        grid-template-columns: minmax(0, 1fr);

        gap: 80px;

    }

    .prestation-card {

        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: auto;

    }

    /* Empêcher les titres d'élargir les cartes */
    .prestation-card h3 {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
        font-size: clamp(1.85rem, 4.5vw, 1.4rem);
        line-height: 1.4;
    }

    .about-vision {

        grid-template-columns: 1fr;

    }

    .about-image {

        height: 500px;

    }

    .about-content {

        padding: 4rem 10%;

    }

    .main-project img {

        width: 100%;

    }

    .projects-layout {

        grid-template-columns: 1fr;

    }

    .project-text,
    .project-image-top,
    .project-image-left,
    .project-image-right {

        grid-column: auto;

        margin-top: 0;

    }

    .project-text {

        text-align: center;

    }
    
    .logo-image {

        height: 80px;
    }

    .menu-toggle {

        display: flex;
    }


    /* MENU MOBILE */

    .main-nav {

        position: fixed;

        top: 0;
        right: -100%;

        width: 280px;

        height: 100vh;

        background: #F8F5F1;

        padding-top: 120px;

        transition: 0.4s ease;

        box-shadow: -5px 0 20px rgba(0,0,0,0.08);
    }

    .main-nav.active {

        right: 0;
    }


    /* UL MOBILE */

    .main-nav ul {

        display: flex;

        flex-direction: column;

        align-items: center;

        justify-content: flex-start;

        gap: 30px;

        list-style: none;

        padding: 0;
        margin: 0;
    }

    .main-nav li {

        list-style: none;
    }

    .main-nav a {

        font-size: 1.1rem;
    }


    /* ANIMATION BURGER */

    .menu-toggle.active span:nth-child(1) {

        transform: rotate(45deg) translateY(12px);
    }

    .menu-toggle.active span:nth-child(2) {

        opacity: 0;
    }

    .menu-toggle.active span:nth-child(3) {

        transform: rotate(-45deg) translateY(-12px);
    }
    
    
    .projects-grid {
      grid-template-columns: 1fr;
    }
    .project-image-left, .project-image-right{
        width: 100%;
    }
  
    .nav {
      gap: 16px;
    }
    .footer-top {

        grid-template-columns: 1fr;

        gap: 50px;

    }

    .partners-logos {

        flex-direction: row;

        gap: 30px;

    }
    .cta-section, .section-mhd {

        display: block;

    }

    .cta-image {

        order: -1;
        height: 450px;
    }
    .cta-image-mh{
        text-align: center;
    }

    .cta-content, .content-mhd {

        padding: 80px 10%;

        text-align: center;
        align-items: center;

    }

    .cta-buttons {

        justify-content: center;

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

    .matieres-hero {

        padding: 80px 0 60px;

    }

    .matieres-hero h1 {

        font-size: 2.3rem;

        line-height: 1.2;

    }

    .matieres-hero p {

        font-size: 1.05rem;

        line-height: 1.7;

    }

    .intro-matieres {

        padding-bottom: 60px;

    }

    .intro-matieres p {

        font-size: 1.05rem;

        line-height: 1.7;

    }

    .matiere-image {

        height: 320px;

    }

    .matiere-content {

        padding: 50px 7%;

    }

    .matiere-content span {

        font-size: .85rem;

        letter-spacing: 1px;

    }

    .matiere-content h2 {

        font-size: 2rem;

        margin: 15px 0 25px;

    }

    .matiere-content p {

        font-size: 1rem;

        line-height: 1.7;

    }

    .matieres-conclusion {

        padding: 80px 0;

    }

    .matieres-conclusion h2 {

        font-size: 2rem;

        margin-bottom: 25px;

    }

    .matieres-conclusion p {

        font-size: 1rem;

        line-height: 1.7;

    }

    .cta-matieres {

        padding-bottom: 80px;

    }

    .offers-hero {

        padding: 80px 0 60px;

    }

    .offers-hero h1 {

        font-size: 2.2rem;

        line-height: 1.2;

    }

    .offers-hero p {

        font-size: 1rem;

        line-height: 1.8;

    }

    /* JOURNEY */

    .journey {

        padding: 80px 0;

    }

    .journey h2 {

        font-size: 2rem;

    }

    .journey-intro {

        font-size: 1rem;

    }

    .journey-grid article {

        padding: 30px;

    }

    .journey-grid span {

        font-size: 2rem;

    }

    .journey-grid h3 {

        font-size: 1.4rem;

    }

    /* OFFRES */

    .offer-image {

        height: 300px;

    }

    .offer-content {

        padding: 50px 7%;

    }

    .offer-content h2 {

        font-size: 2rem;

    }

    .offer-content p {

        font-size: 1rem;

        line-height: 1.8;

    }

    /* ORIENTATION */

    .orientation {

        padding: 80px 0;

    }

    .orientation h2 {

        font-size: 2rem;

    }

    .orientation-grid article {

        padding: 30px;

    }

    .orientation-grid h3 {

        font-size: 1.4rem;

    }

    /* CTA */

    .cta-final {

        padding: 80px 0;

    }

    .cta-final h2 {

        font-size: 2rem;

    }

    .cta-final p {

        font-size: 1rem;

    }

    .cta-buttons {

        display: flex;

        flex-direction: column;

        gap: 15px;

        align-items: center;

    }

    .cta-buttons a {

        width: 100%;

        max-width: 350px;

    }

    .approche-intro h2 {

        font-size: 2.5rem;

    }

    .entremele-header h2 {

        font-size: 2.8rem;

    }

    .question {

        font-size: 1.2rem;

        padding: 25px;

    }

    .benefit p {

        font-size: 1.2rem;

    }

    .entremele-conclusion p {

        font-size: 1.25rem;

    }

    .method-content {

        padding: 60px 30px;

    }

    .section-title h2 {

        font-size: 2.8rem;

    }

    .timeline-item {

        gap: 25px;

    }

    .timeline-text h3 {

        font-size: 1.6rem;

    }

    .timeline-text p,
    .timeline-text li {

        font-size: 1rem;

    }

    .section-header h2 {

        font-size: 2.8rem;

    }

    .prestation-image img {

        width: 220px;
        height: 220px;

    }

    .prestation-card p {

        font-size: 1rem;

    }

    .about-content {

        padding: 3rem 8%;

    }

    .about-content h2 {

        font-size: 2.8rem;

    }

    .about-content p {

        font-size: 1.15rem;

    }
  
    .section-title h2 {

        font-size: 2.8rem;

    }

    .project-text p {

        font-size: 1.15rem;

    }

    .realisations-conclusion p {

        font-size: 1.2rem;

    }
    
    .hero h1 {
      font-size: 3rem;
    }
  
    .nav {
      display: none;
    }
  
    .footer {

        padding: 60px 0 30px;

    }

    .footer-col h3 {

        font-size: 1.6rem;

    }

    .footer-partners h3 {

        font-size: 1.8rem;

    }

    .partners-logos img {

        width: 120px;

    }
  
    .cta-content h2, .content-mhd h2 {

       font-size: clamp(28px, 8vw, 48px);
        max-width: 100%;
        overflow-wrap: break-word;

    }

    .cta-content p, .content-mhd p {

        font-size: 1.2rem;

    }

    .cta-buttons {

        flex-direction: column;
        width: 100%;

    }

    .btn-primary,
    .btn-secondary {

        width: 100%;

    }

    .realisations-section {
        padding: 65px 0;
    }

    .realisations-section .container {
        width: min(100% - 36px, 560px);
    }

    .realisations-section .section-title {
        margin-bottom: 40px;
    }

    .realisations-section .section-title h2 {
        font-size: clamp(1.55rem, 6vw, 2rem);
        line-height: 1.35;
    }

    .main-project {
        width: 100%;
        margin: 0 auto 55px;
    }

    .main-project .project-image-visual img {
        aspect-ratio: 4 / 3;
    }

    .projects-layout {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 45px;
    }

    /* Ordre de lecture :
       photo principale, texte, photos 2, 3, 4 */

    .project-text {
        order: 0;
        width: 100%;
        max-width: none;
        padding: 0;
        text-align: center;
    }

    .project-text p {
        font-size: 1.05rem;
        line-height: 1.65;
        margin-bottom: 16px;
    }

    .project-text p:last-child {
        margin-bottom: 0;
    }

    .project-image-top {
        order: 1;
    }

    .project-image-left {
        order: 2;
    }

    .project-image-right {
        order: 3;
    }

    .project-image {
        width: 100%;
        min-width: 0;
        margin: 0;
        overflow: visible;
    }

    .project-image .project-image-visual img {
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .project-caption {
        padding-top: 15px;
        gap: 12px;
    }

    .project-caption h3 {
        font-size: 1.05rem;
        line-height: 1.4;
    }

    .project-caption-label {
        font-size: .65rem;
        letter-spacing: 1.6px;
        margin-bottom: 7px;
    }

    .project-caption-arrow {
        font-size: 1.2rem;
    }

    .realisations-conclusion {
        margin-top: 65px;
    }

    .realisations-conclusion p {
        font-size: 1.15rem;
        line-height: 1.6;
    }
  }

  /* Très petits smartphones */
@media (max-width: 380px) {

    .realisations-section .container {
        width: calc(100% - 28px);
    }

    .realisations-section .section-title h2 {
        font-size: 1.45rem;
    }

    .project-caption h3 {
        font-size: 1rem;
    }
}