/* MEGA PUZZLE — user.css propre — Cassiopeia */
:root{--mega-petrole:#167f86;--mega-petrole-fonce:#105e64;--mega-orange:#e8872d;--mega-noir:#202326;--mega-titre:#17232d;--mega-creme:#f6f2e9;--mega-blanc:#fff;--cassiopeia-color-primary:var(--mega-petrole);--cassiopeia-color-link:var(--mega-petrole);--cassiopeia-color-hover:var(--mega-orange)}
body{background:var(--mega-creme);color:var(--mega-noir);font-family:Arial,Helvetica,sans-serif}.site-grid{max-width:1400px;margin-left:auto;margin-right:auto}h1,h2,h3{color:var(--mega-noir);font-weight:700}a{color:var(--mega-petrole)}a:hover{color:var(--mega-orange)}
.container-header{
    background-color:#fff;
    background-image:url("/files/images%20site/bandeau.png");
    background-repeat:no-repeat;
    background-position:center 62%;
    background-size:cover;
    box-shadow:0 3px 15px rgba(0,0,0,.10);
} 
.container-header .navbar-brand img{max-height:110px;width:auto}.container-header .site-description{color:var(--mega-petrole-fonce);font-size:.95rem;letter-spacing:.03em}.container-header .mod-menu>li>a{color:var(--mega-noir);font-weight:600;text-decoration:none}.container-header .mod-menu>li>a:hover,.container-header .mod-menu>li.active>a{color:var(--mega-orange)}
.btn-primary{background:var(--mega-petrole);border-color:var(--mega-petrole);font-weight:600}.btn-primary:hover,.btn-primary:focus{background:var(--mega-orange);border-color:var(--mega-orange)}

/* HERO */
.mp-hero {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    margin: 0;
    padding: 70px 7%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 18px;
}
.mp-hero-content {
    position: relative;
    z-index: 3;
    width: 65%;
    max-width: 820px;
}
.mp-hero-kicker {margin-bottom:18px;color:#087f89;font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.mp-hero h1 {margin:0 0 22px;color:#17232d;font-size:clamp(3rem,4vw,4rem);line-height:1.02;font-weight:800;letter-spacing:-.04em}
.mp-hero h1 .mp-title-line {display:block;color:#17232d;white-space:nowrap}
.mp-hero h1 .mp-title-orange {color:#e97817}
.mp-hero-intro {max-width:690px;margin:0 0 18px;color:#39434a;font-size:1.2rem;line-height:1.65}
.mp-hero-services {margin:0 0 32px;color:#087f89;font-size:.95rem;font-weight:700}
.mp-hero-buttons {display:flex;flex-wrap:wrap;gap:14px}
.mp-btn {display:inline-block;padding:14px 23px;border-radius:6px;font-size:.9rem;font-weight:800;text-decoration:none!important;text-transform:uppercase;letter-spacing:.04em}
.mp-btn-primary {background:#e97817;color:#fff!important}
.mp-btn-secondary {border:2px solid #087f89;color:#087f89!important}
.mp-btn-secondary:hover {background:#087f89;color:#fff!important}
.mp-hero-deco {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    width: 46%;
    height: 100%;
    opacity: 1;
    transform: none;
    pointer-events: none;
}
.mp-hero-deco .mp-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 1;
}
.mp-hero-deco::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    width: 42%;
    background: linear-gradient(to right,#fff 0%,rgba(255,255,255,.95) 20%,rgba(255,255,255,.70) 48%,rgba(255,255,255,.25) 75%,rgba(255,255,255,0) 100%);
    pointer-events: none;
}
.mp-puzzle-shape {display:none}

/* STORY */
.mp-story{width:calc(100% - 32px);max-width:1320px;margin:35px auto 0;padding:80px 70px;box-sizing:border-box;background:#fff;border-radius:18px}.mp-story-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:42% 58%;gap:70px;align-items:center}.mp-story-kicker{margin:0 0 20px;color:#087f89;font-size:14px;font-weight:800;letter-spacing:.12em}.mp-story-heading h2{margin:0;color:#17232d;font-size:52px;line-height:1.05;font-weight:800;letter-spacing:-.03em}.mp-story-title-line{display:block}.mp-story-title-orange{color:#e97817!important}.mp-story-content{color:#39434a;font-size:17px;line-height:1.7}.mp-story-content>p{margin:0 0 22px}.mp-story-content strong{color:#17232d}.mp-story-questions{margin:0 0 32px;padding:4px 0 4px 24px;border-left:4px solid #e97817}.mp-story-questions p{margin:0 0 14px;color:#17232d;font-size:19px;line-height:1.45;font-weight:600}

/* UNIVERS */
.mp-univers{width:calc(100% - 32px);max-width:1320px;margin:35px auto 0;padding:70px 35px;box-sizing:border-box}.mp-univers-header{max-width:780px;margin:0 auto 45px;text-align:center}.mp-univers-kicker{margin-bottom:10px;color:#087f89;font-size:14px;font-weight:800;letter-spacing:.14em}.mp-univers-header h2{margin:0 0 15px;color:#17232d;font-size:42px;line-height:1.1;font-weight:800}.mp-univers-header p{margin:0;color:#555;font-size:17px;line-height:1.6}.mp-univers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.mp-univers-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.mp-univers-image{position:relative;height:220px;background-size:cover;background-position:center}.mp-univers-image-ville{background:linear-gradient(135deg,#315d5f,#d8a35c)}.mp-univers-image-patrimoine{background:linear-gradient(135deg,#477f86,#d9c79c)}.mp-univers-image-escape{background:linear-gradient(135deg,#33291f,#b76c27)}.mp-univers-icon{position:absolute;left:25px;bottom:-28px;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border:4px solid #fff;border-radius:50%;background:#e97817;color:#fff;font-size:28px;font-weight:800}.mp-univers-card:nth-child(2) .mp-univers-icon{background:#087f89}.mp-univers-body{display:flex;flex-direction:column;flex-grow:1;padding:48px 28px 28px}.mp-univers-body h3{min-height:58px;margin:0 0 15px;color:#17232d;font-size:22px;line-height:1.15;font-weight:800;text-align:center}.mp-univers-tagline{min-height:50px;margin-bottom:16px;color:#17232d;font-size:16px;line-height:1.35;font-weight:700;text-align:center}.mp-univers-body p{color:#4c5155;font-size:15px;line-height:1.55}.mp-univers-target{margin-top:auto;padding-top:10px;color:#e97817!important;font-weight:700}.mp-univers-target:before{content:"› ";font-size:20px}.mp-univers-button{display:block;margin-top:18px;padding:15px 12px;background:#202326;border-radius:5px;color:#fff!important;font-size:13px;font-weight:800;text-align:center;text-decoration:none!important}.mp-univers-button:hover{background:#e97817}

/* PROCESS */
.mp-process{display:block;width:calc(100% - 32px);max-width:1320px;margin:35px auto 0;padding:58px 40px;box-sizing:border-box;border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(22,127,134,.15),transparent 40%),linear-gradient(135deg,#182126,#202a2f 55%,#151b1f);color:#fff}.mp-process-inner{max-width:1180px;margin:0 auto}.mp-process-title{display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 45px}.mp-process-title>span{display:block;width:75px;height:2px;background:#e97817}.mp-process-title h2{margin:0;color:#fff;font-size:25px;line-height:1.2;font-weight:800;letter-spacing:3px;text-align:center}.mp-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.mp-process-step{padding:0 30px;text-align:center;color:#fff}.mp-process-step:not(:last-child){border-right:1px solid rgba(255,255,255,.18)}.mp-process-icon{display:flex;align-items:center;justify-content:center;width:70px;height:70px;margin:0 auto 18px;border:2px solid #e97817;border-radius:50%;color:#fff;font-size:30px}.mp-process-number{margin:0 0 5px;color:#e97817;font-size:16px;font-weight:800}.mp-process-step h3{margin:0 0 13px;color:#fff;font-size:21px;font-weight:800}.mp-process-step p{max-width:250px;margin:0 auto;color:rgba(255,255,255,.8);font-size:14px;line-height:1.55}

@media(max-width:950px){.mp-hero-content{width:100%}.mp-hero h1 .mp-title-line{white-space:normal}.mp-story{padding:60px 35px}.mp-story-inner{grid-template-columns:1fr;gap:40px}.mp-story-heading h2{font-size:44px}.mp-univers-grid{grid-template-columns:1fr;max-width:650px;margin:0 auto}.mp-univers-image{height:260px}.mp-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:45px}.mp-process-step:nth-child(2){border-right:none}}
@media(max-width:600px){.mp-hero{min-height:auto;padding:45px 22px;border-radius:10px}.mp-hero h1{font-size:2.5rem}.mp-hero-buttons{display:block}.mp-btn{display:block;margin-bottom:12px;text-align:center}.mp-story{width:calc(100% - 20px);padding:45px 22px;border-radius:10px}.mp-story-heading h2{font-size:36px}.mp-univers{width:calc(100% - 20px);padding:50px 10px}.mp-univers-header h2{font-size:32px}.mp-univers-image{height:200px}.mp-univers-body{padding:45px 22px 24px}.mp-process{width:calc(100% - 20px);padding:45px 20px;border-radius:10px}.mp-process-title{gap:10px}.mp-process-title>span{width:25px}.mp-process-title h2{font-size:19px;letter-spacing:1.5px}.mp-process-grid{grid-template-columns:1fr;row-gap:35px}.mp-process-step{padding:0 10px 35px;border-right:none!important;border-bottom:1px solid rgba(255,255,255,.15)}.mp-process-step:last-child{border-bottom:none}}


/* =========================================================
   10. RÉALISATION PHARE — LE SECRET DU CORBEAU
   ========================================================= */
.mp-featured-project {
    width: calc(100% - 32px);
    max-width: 1320px;
    margin: 35px auto 0;
    padding: 70px;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 5% 10%, rgba(22,127,134,.10), transparent 30%),
        #ffffff;
    border-radius: 18px;
    overflow: hidden;
}

.mp-featured-inner {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
    gap: 70px;
    align-items: center;
}

/* Visuel provisoire — sera remplacé par l'affiche officielle */
.mp-featured-visual {
    position: relative;
    min-height: 510px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mp-featured-placeholder {
    width: min(100%, 350px);
    aspect-ratio: 2 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 35px;
    box-sizing: border-box;
    border-radius: 10px;
    background:
        radial-gradient(circle at 70% 20%, rgba(232,135,45,.28), transparent 25%),
        linear-gradient(145deg, #3a3028, #7a5a37 55%, #302720);
    box-shadow: 0 18px 38px rgba(0,0,0,.20);
    color: #fff;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .05em;
    text-align: center;
}

/* Contenu */
.mp-featured-kicker {
    margin: 0 0 12px;
    color: #087f89;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.mp-featured-content h2 {
    margin: 0 0 8px;
    color: #17232d;
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.035em;
}

.mp-featured-location {
    margin: 0 0 30px;
    color: #e97817;
    font-size: 17px;
    font-weight: 800;
}

.mp-featured-content p {
    margin: 0 0 20px;
    color: #39434a;
    font-size: 17px;
    line-height: 1.7;
}

.mp-featured-content strong {
    color: #17232d;
}

.mp-featured-highlight {
    margin: 28px 0 !important;
    padding: 18px 22px;
    border-left: 4px solid #e97817;
    background: #f7f3ea;
    color: #17232d !important;
    font-weight: 700;
}

.mp-featured-features {
    margin: 0 0 30px;
    padding: 18px 0;
    border-top: 1px solid rgba(23,35,45,.13);
    border-bottom: 1px solid rgba(23,35,45,.13);
    color: #087f89;
    font-size: 14px;
    line-height: 1.7;
    font-weight: 800;
}

.mp-featured-button {
    display: inline-block;
    padding: 15px 22px;
    border-radius: 5px;
    background: #202326;
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .03em;
    text-decoration: none !important;
    transition: background .2s ease, transform .2s ease;
}

.mp-featured-button:hover {
    background: #e97817;
    transform: translateY(-2px);
}

/* Tablette */
@media (max-width: 950px) {
    .mp-featured-project {
        padding: 60px 35px;
    }

    .mp-featured-inner {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .mp-featured-visual {
        min-height: auto;
    }

    .mp-featured-placeholder {
        width: min(75%, 350px);
    }
}

/* Smartphone */
@media (max-width: 600px) {
    .mp-featured-project {
        width: calc(100% - 20px);
        padding: 45px 22px;
        border-radius: 10px;
    }

    .mp-featured-inner {
        gap: 35px;
    }

    .mp-featured-placeholder {
        width: min(90%, 310px);
        padding: 25px;
        font-size: 20px;
    }

    .mp-featured-content h2 {
        font-size: 36px;
    }

    .mp-featured-content p {
        font-size: 16px;
    }

    .mp-featured-button {
        display: block;
        text-align: center;
    }
}


/* =========================================================
   CORRECTIONS STABLES — IMAGE CORBEAU
   ========================================================= */
.mp-featured-visual img {
    display: block;
    width: 100%;
    max-width: 440px;
    height: auto;
    margin: 0 auto;
    border-radius: 10px;
    box-shadow: 0 15px 35px rgba(0,0,0,.18);
}

/* Image de la carte Escape uniquement — règle volontairement ciblée */
.mp-univers-image-escape > img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
}

/* =========================================================
   CTA PROFESSIONNELS
   ========================================================= */
.mp-cta-project {
    position: relative;
    overflow: hidden;
    width: calc(100% - 32px);
    max-width: 1320px;
    margin: 55px auto 0;
    padding: 75px 70px;
    box-sizing: border-box;
    background: #087f89;
    border-radius: 18px;
    color: #fff;
}
.mp-cta-project-inner { position:relative; max-width:1180px; margin:0 auto; }
.mp-cta-project-content { position:relative; z-index:2; max-width:850px; }
.mp-cta-kicker { margin-bottom:15px; color:#fff; font-size:14px; font-weight:800; letter-spacing:.14em; }
.mp-cta-project h2 { margin:0 0 28px; color:#fff; font-size:clamp(2.5rem,4vw,4rem); line-height:1.02; font-weight:800; letter-spacing:-.035em; }
.mp-cta-project h2 span { display:block; }
.mp-cta-project h2 .mp-cta-orange { color:#f39a42; }
.mp-cta-project p { max-width:760px; margin:0 0 18px; color:rgba(255,255,255,.92); font-size:17px; line-height:1.65; }
.mp-cta-button { display:inline-block; margin-top:15px; padding:16px 24px; background:#e97817; border-radius:5px; color:#fff!important; font-size:14px; font-weight:800; letter-spacing:.03em; text-decoration:none!important; }
.mp-cta-button:hover { background:#202326; }
.mp-cta-decoration { position:absolute; right:35px; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.08); font-size:300px; line-height:1; font-weight:900; }

/* =========================================================
   ACCÈS JOUEURS
   ========================================================= */
.mp-player {
    width: calc(100% - 32px);
    max-width: 1320px;
    margin: 20px auto 35px;
    padding: 38px 55px;
    box-sizing: border-box;
    background: #20272b;
    border-radius: 14px;
    color: #fff;
}

.mp-player-inner { max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:50px; }
.mp-player-content { max-width:760px; }
.mp-player-kicker { margin-bottom:6px; color:#e97817; font-size:12px; font-weight:800; letter-spacing:.14em; }
.mp-player h2 { margin:0 0 8px; color:#fff; font-size:30px; font-weight:800; }
.mp-player p { margin:0; color:rgba(255,255,255,.80); font-size:15px; line-height:1.55; }
.mp-player-button { display:inline-block; padding:15px 22px; border:2px solid #e97817; border-radius:5px; color:#fff!important; font-size:13px; font-weight:800; white-space:nowrap; text-decoration:none!important; }
.mp-player-button:hover { background:#e97817; }

@media (max-width: 800px) {
    .mp-cta-project { padding:55px 35px; }
    .mp-cta-decoration { right:-20px; opacity:.5; }
    .mp-player { padding:35px 30px; }
    .mp-player-inner { display:block; }
    .mp-player-action { margin-top:25px; }
}

@media (max-width: 600px) {
    .mp-univers-image-escape > img { height:200px; }
    .mp-cta-project, .mp-player { width:calc(100% - 20px); border-radius:10px; }
    .mp-cta-project { padding:45px 22px; }
    .mp-cta-project h2 { font-size:36px; }
    .mp-cta-project p { font-size:16px; }
    .mp-cta-decoration { display:none; }
    .mp-cta-button, .mp-player-button { display:block; text-align:center; }
}
/* BARRE DE NAVIGATION BLANCHE */
.container-header .container-nav{
    position:relative;
    z-index:2;
    padding-top:0;
    padding-bottom:0;
}

.container-header .container-nav::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    background:#ffffff;
    box-shadow:0 4px 10px rgba(0,0,0,.08);
}
/* HAUTEUR DU BANDEAU */
.container-header .navbar-brand{
    min-height:210px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
/* AJUSTEMENTS — SECTION EXPÉRIENCE MEGA PUZZLE */

/* Réduit l'espace vertical de la section */
.mp-story{
    padding-top:55px;
    padding-bottom:55px;
}

/* Améliore la respiration des textes à droite */
.mp-story p{
    line-height:1.65;
}
/* =========================================================
   FORMULAIRE — DEMANDER UN PROJET
   ========================================================= */

#cf_2 {
    margin-left: auto !important;
    margin-right: auto !important;
}