@charset "UTF-8";
@import url(main.css);
.video-background-holder { display: none; }

.b-bloc-divider { height: 40px !important; background-color: transparent !important; border: none !important; box-shadow: none !important; }

:root { --lebel-black: #050505; --lebel-white: #ffffff; --lebel-accent: #F9B30D; }

/* ============================== PAGES SEO ============================== */
a.fw-light.grow.button_header.text-color-fourth.rounded-pill.p-2.text-decoration-none.all-activities-button { border-radius: 0px !important; font-weight: 600 !important; padding: 14px 16px !important; }

a.button_homepageDoubleScreen.first-banner-seo-page-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { border-radius: 0px; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { border-radius: 0px; }

.display-5.titles.mt-lg-5.mx-5.mb-2.fw-bold.text-body-emphasis.first-banner-seo-page-title { text-transform: uppercase; margin-bottom: 35px !important; }

.text-center.fs-6.text-color-sixth { color: rgba(255, 255, 255, 0.9) !important; font-size: 16px !important; line-height: 1.8; font-weight: 400 !important; }

p.lead { color: rgba(255, 255, 255, 0.9) !important; font-size: 16px !important; line-height: 1.8; font-weight: 400 !important; }

.px-5.pt-5.display-6.text-color-primary.titles { font-weight: 600; font-size: 35px; }

img.img-fluid.object-fit-contain.my-2.logo-seo-page { margin-bottom: 50px !important; }

span.display-4.fw-bold.lh-1.text-body-emphasis.mb-3.titles { text-transform: uppercase; font-size: 38px; text-align: center; margin-left: 0px; }

a.p-3.fw-bold.fs-6.m-2.phone-number-button.text-decoration-none { background-color: #f9b30d; color: black !important; }

a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { display: none; }

/* ============================== SERVICES ACCUEIL ============================== */
.lebel-expertise-home { position: relative; overflow: hidden; padding: clamp(90px, 6vw, 160px) clamp(24px, 7vw, 120px); background: var(--lebel-black); color: var(--lebel-white); padding-bottom: 40px; }

.lebel-expertise-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(15px, 1.5vw, 32px); }

.lebel-expertise-card { position: relative; display: block; color: var(--lebel-white); }

.lebel-expertise-image { position: relative; overflow: hidden; aspect-ratio: 1.35 / 1; background: rgba(255, 255, 255, 0.06); }

.lebel-expertise-image img { width: 100%; height: 100%; display: block; object-fit: cover; filter: grayscale(10%); transform: scale(1.02); transition: transform .65s ease, filter .65s ease; }

.lebel-expertise-big-title { position: absolute; left: 50%; top: 50%; z-index: 2; transform: translate(-50%, -50%); width: 100%; padding: 0 28px; text-align: center; text-transform: uppercase; font-size: clamp(40px, 3.2vw, 130px); font-weight: 700; color: rgba(255, 255, 255, 0.7); line-height: 1.2; pointer-events: none; transition: opacity .35s ease, transform .35s ease; }

.lebel-expertise-hover { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: clamp(28px, 4vw, 56px); text-align: center; background: rgba(0, 0, 0, 0.68); opacity: 0; transition: opacity .4s ease; }

.lebel-expertise-hover::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(249, 179, 13, 0.55); opacity: 0; transform: scale(0.96); transition: .4s ease; }

.lebel-expertise-hover h3 { position: relative; z-index: 2; margin: 0 0 18px; text-transform: uppercase; font-size: 35px; font-weight: 600 !important; }

.lebel-expertise-hover p { position: relative; z-index: 2; max-width: 520px; margin: 0; color: rgba(255, 255, 255, 0.9); font-size: 16px; line-height: 1.7; }

.lebel-expertise-card:hover .lebel-expertise-image img { transform: scale(1.08); filter: grayscale(0%); }

.lebel-expertise-card:hover .lebel-expertise-big-title { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }

.lebel-expertise-card:hover .lebel-expertise-hover { opacity: 1; }

.lebel-expertise-card:hover .lebel-expertise-hover::before { opacity: 1; transform: scale(1); }

.lebel-expertise-btn-wrap { display: flex; justify-content: center; margin-top: 54px; }

.lebel-expertise-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 64px; padding: 0 34px; border: 1px solid rgba(249, 179, 13, 0.9); color: var(--lebel-white); text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 700; overflow: hidden; isolation: isolate; transition: color .35s ease, border-color .35s ease; }

.lebel-expertise-btn::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(250, 180, 19, 0.5); transition: .35s ease; border-radius: 10px; }

.lebel-expertise-btn::after { content: ""; position: absolute; inset: 0; background: var(--lebel-accent); transform: translateX(-101%); transition: 0.45s cubic-bezier(0.77, 0, 0.18, 1); z-index: -1; }

.lebel-expertise-btn span { position: relative; z-index: 1; }

.lebel-expertise-btn:hover { color: var(--lebel-black); border-color: var(--lebel-accent); }

.lebel-expertise-btn:hover::before { border-color: rgba(0, 0, 0, 0.5); }

.lebel-expertise-btn:hover::after { transform: translateX(0); }

@media (max-width: 980px) { .lebel-expertise-grid { grid-template-columns: 1fr; } .lebel-expertise-image { aspect-ratio: 1.25 / 1; } }

@media (max-width: 640px) { .lebel-expertise-home { padding: 80px 24px; } .lebel-expertise-image { aspect-ratio: 1 / 1; } .lebel-expertise-big-title { font-size: clamp(44px, 15vw, 82px); } .lebel-expertise-hover { opacity: 1; background: rgba(0, 0, 0, 0.58); } .lebel-expertise-big-title { opacity: 0; } .lebel-expertise-hover h3 { font-size: 28px; } }

/* ============================== GALERIE REALISATIONS ============================== */
.lebel-project-gallery { padding: clamp(70px, 8vw, 130px) clamp(24px, 7vw, 120px); background: var(--lebel-black); position: relative; overflow: hidden; }

.lebel-project-gallery-ghost { position: absolute; right: -0vw; top: -70px; z-index: 0; text-transform: uppercase; font-size: clamp(70px, 12vw, 190px); font-weight: 700; color: rgba(255, 255, 255, 0.12); pointer-events: none; user-select: none; }

.lebel-project-gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; position: relative; z-index: 2; }

.lebel-project-gallery-item { height: 320px; padding: 0; border: none; cursor: pointer; overflow: hidden; background: transparent; }

.lebel-project-gallery-item img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease, filter .5s ease; }

.lebel-project-gallery-item:hover img { transform: scale(1.08); filter: grayscale(15%); }

.lebel-lightbox { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.92); padding: 70px; }

.lebel-lightbox.is-open { display: flex; }

.lebel-lightbox-img { max-width: 90vw; max-height: 86vh; object-fit: contain; }

.lebel-lightbox-close, .lebel-lightbox-prev, .lebel-lightbox-next { position: absolute; border: 1px solid rgba(249, 179, 13, 0.7); background: rgba(0, 0, 0, 0.25); color: var(--lebel-white); cursor: pointer; transition: .3s ease; }

.lebel-lightbox-close { top: 30px; right: 36px; width: 52px; height: 52px; font-size: 34px; }

.lebel-lightbox-prev, .lebel-lightbox-next { top: 50%; width: 58px; height: 98px; transform: translateY(-50%); font-size: 54px; }

.lebel-lightbox-prev { left: 36px; }

.lebel-lightbox-next { right: 36px; }

.lebel-lightbox-close:hover, .lebel-lightbox-prev:hover, .lebel-lightbox-next:hover { background: var(--lebel-accent); color: var(--lebel-black); }

@media (max-width: 980px) { .lebel-project-gallery-grid { grid-template-columns: repeat(2, 1fr); } .lebel-project-gallery-item { height: 260px; } }

@media (max-width: 640px) { .lebel-project-gallery-grid { grid-template-columns: 1fr; } .lebel-lightbox { padding: 24px; } .lebel-lightbox-prev, .lebel-lightbox-next { width: 46px; height: 60px; font-size: 42px; } .lebel-project-gallery-ghost { font-size: 50px; top: 0px; } }

/* ============================== CONTACT ============================== */
.lh-1.mb-3.titles p { color: rgba(255, 255, 255, 0.9); font-size: clamp(15px, 1.05vw, 16px); line-height: 1.85; padding-top: 15px; }

.lh-1.mb-3.titles { text-align: left; margin-left: 50px; }

.lh-1.mb-3.titles h6 { margin: 0 0 18px; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 700; }

button.w-100.btn.btn-outline-dark { background-color: #f9b30d; border: none; font-weight: 600; border-radius: 0px; }

button.w-100.btn.btn-outline-dark:hover { color: black !important; }

@media (max-width: 640px) { .lh-1.mb-3.titles { text-align: left; margin-left: 20px; margin-bottom: 40px !important; } }

/* ============================== FAQ – PAGE SERVICE ============================== */
.lebel-service-accordion { position: relative; padding: clamp(90px, 10vw, 160px) clamp(24px, 7vw, 120px); background: var(--lebel-black); color: var(--lebel-white); overflow: hidden; margin-top: 30px; padding-bottom: 110px; }

.lebel-service-accordion-ghost { position: absolute; left: 0vw; top: 10px; z-index: 0; text-transform: uppercase; font-size: clamp(70px, 12vw, 190px); font-weight: 700; color: rgba(255, 255, 255, 0.12); pointer-events: none; }

.lebel-service-accordion-container { position: relative; z-index: 2; margin: 0 auto; }

.lebel-service-accordion-intro { margin-bottom: 70px; }

.lebel-service-accordion-eyebrow { display: inline-block; margin-bottom: 18px; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 700; }

.lebel-service-accordion-title { margin: 0; text-transform: uppercase; font-size: 35px; font-weight: 600 !important; }

.lebel-service-accordion-list { border-top: 1px solid rgba(255, 255, 255, 0.14); }

.lebel-service-accordion-item { border-bottom: 1px solid rgba(255, 255, 255, 0.14); }

.lebel-service-accordion-trigger { width: 100%; padding: 30px 0; display: grid; grid-template-columns: 90px 1fr 50px; align-items: center; gap: 24px; background: transparent; border: none; color: inherit; text-align: left; cursor: pointer; }

.lebel-service-accordion-index { width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; }

.lebel-service-accordion-index img { width: 40px; height: 40px; object-fit: contain; display: block; }

.lebel-service-accordion-name { color: var(--lebel-white); text-transform: uppercase; font-size: 20px; font-weight: 500; }

.lebel-service-accordion-icon { position: relative; width: 28px; height: 28px; justify-self: end; }

.lebel-service-accordion-icon::before, .lebel-service-accordion-icon::after { content: ""; position: absolute; top: 50%; left: 50%; background: var(--lebel-white); transform: translate(-50%, -50%); transition: .3s ease; }

.lebel-service-accordion-icon::before { width: 18px; height: 2px; }

.lebel-service-accordion-icon::after { width: 2px; height: 18px; }

.lebel-service-accordion-item.is-open .lebel-service-accordion-icon::before, .lebel-service-accordion-item.is-open .lebel-service-accordion-icon::after { background: var(--lebel-accent); }

.lebel-service-accordion-item.is-open .lebel-service-accordion-icon::after { opacity: 0; }

.lebel-service-accordion-content { max-height: 0; overflow: hidden; transition: max-height .35s ease; }

.lebel-service-accordion-content p { margin: 0; padding: 0 70px 30px 114px; max-width: 950px; color: rgba(255, 255, 255, 0.9); font-size: 16px; line-height: 1.85; }

.lebel-service-accordion-item.is-open .lebel-service-accordion-content { max-height: 280px; }

@media (max-width: 767px) { .lebel-service-accordion-trigger { grid-template-columns: 1fr 30px; grid-template-areas: "index icon" "title title"; gap: 12px; } .lebel-service-accordion-index { grid-area: index; } .lebel-service-accordion-name { grid-area: title; font-size: 20px; } .lebel-service-accordion-icon { grid-area: icon; } .lebel-service-accordion-content p { padding: 0 0 26px 0; } .lebel-service-accordion-item.is-open .lebel-service-accordion-content { max-height: 420px; } .lebel-service-accordion-ghost { font-size: 50px; top: 40px; } }

/* ============================== HEADER LEBEL – PAGE SERVICE ============================== */
.lebel-service-header { position: relative; width: 100%; min-height: 520px; height: 62vh; overflow: hidden; background: var(--lebel-black); color: var(--lebel-white); margin-top: -55px; }

.lebel-service-header-bg { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; background-repeat: no-repeat; filter: grayscale(15%); transform: scale(1.04); }

.lebel-service-header-overlay { position: absolute; inset: 0; z-index: 1; background: #0000008c; }

.lebel-service-header-container { position: relative; z-index: 3; height: 100%; margin: 0 auto; padding: 0 clamp(24px, 7vw, 120px); display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 70px; padding-top: 70px; }

.lebel-service-header-logo { display: flex; align-items: center; justify-content: flex-end; }

.lebel-service-header-logo img { max-width: 300px; width: 100%; height: auto; }

.lebel-service-header-text { display: flex; align-items: center; gap: 46px; }

.lebel-service-header-line { width: 2px; height: 220px; background: var(--lebel-accent); }

.lebel-service-header-content p { margin: 0 0 18px; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 700; }

.lebel-service-header-content h1 { margin: 0; color: var(--lebel-white); text-transform: uppercase; font-size: clamp(42px, 5.6vw, 60px); font-weight: 600; }

@media (max-width: 900px) { .lebel-service-header { height: auto; min-height: 560px; } .lebel-service-header-container { grid-template-columns: 1fr; gap: 38px; padding-top: 180px; padding-bottom: 80px; text-align: center; } .lebel-service-header-logo { justify-content: center; } .lebel-service-header-logo img { max-width: 210px; } .lebel-service-header-text { justify-content: center; gap: 24px; } }

@media (max-width: 600px) { .lebel-service-header-text { flex-direction: column; } .lebel-service-header-line { width: 70px; height: 2px; } .lebel-service-header-content h1 { font-size: 40px; } .lebel-service-header-ghost { right: -18vw; bottom: 40px; } }

/* =========================== NAVBAR =========================== */
.navbar { transition: all 0.3s ease; border-bottom: 1px solid #fafafa; }

.navbar.scrolled { background-color: rgba(51, 51, 51, 0.5) !important; backdrop-filter: blur(1rem); border-bottom: 1px solid #fafafa; }

/* 📱 Responsive : navbar TOUJOURS visible */
@media (max-width: 991px) { .navbar { background-color: rgba(0, 0, 0, 0.5) !important; backdrop-filter: blur(1rem); } a.navbar-brand { height: 10vh !important; width: 15vh !important; padding-top: 10px !important; } }

.navbar-brand { height: 9vh !important; width: 9vw !important; }

.logo_nav { height: 8vh !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { border-radius: 0px !important; background-color: #F9B30D; padding: 10px !important; font-weight: 600; }

/* =========================== BLOC SEO =========================== */
.card.card-cover.h-100.overflow-hidden.rounded-4.shadow-lg { border-radius: 0px !important; }

.fs-6.lead.mt-4.mb-4 { color: rgba(255, 255, 255, 0.9); font-size: clamp(15px, 1.05vw, 16px); line-height: 1.85; font-weight: 400 !important; margin-top: -20px !important; }

.col-12.col-sm-8.col-lg-5.my-0.order-2.order-lg-2.order-xl-2.order-xxl-2 { border: 1px solid rgba(249, 179, 13, 0.55); padding: 10px; }

/* =========================== BLOC GALERIE =========================== */
.lebel-gallery-home { position: relative; overflow: hidden; padding: clamp(90px, 10vw, 160px) clamp(24px, 7vw, 120px); background: var(--lebel-black); color: var(--lebel-white); }

.lebel-gallery-ghost-text { position: absolute; right: -0vw; top: -42px; z-index: 0; text-transform: uppercase; font-size: clamp(70px, 11vw, 190px); font-weight: 700; color: rgba(255, 255, 255, 0.12); pointer-events: none; user-select: none; }

.lebel-gallery-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 230px; gap: 22px; }

.lebel-gallery-item { position: relative; display: block; overflow: hidden; background: rgba(255, 255, 255, 0.06); }

.lebel-gallery-item-large { grid-column: span 2; grid-row: span 2; }

.lebel-gallery-item-tall { grid-row: span 2; }

.lebel-gallery-item-wide { grid-column: span 2; }

.lebel-gallery-item::before { content: ""; position: absolute; inset: 0; z-index: 2; background: rgba(0, 0, 0, 0.35); opacity: 0; transition: opacity .4s ease; }

.lebel-gallery-item::after { content: ""; position: absolute; inset: 16px; z-index: 3; border: 1px solid rgba(249, 179, 13, 0.55); opacity: 0; transform: scale(0.96); transition: .4s ease; }

.lebel-gallery-item img { width: 100%; height: 100%; display: block; object-fit: cover; transform: scale(1.03); transition: transform .65s ease, filter .65s ease; }

.lebel-gallery-item:hover img { transform: scale(1.1); filter: grayscale(10%); }

.lebel-gallery-item:hover::before, .lebel-gallery-item:hover::after { opacity: 1; }

.lebel-gallery-item:hover::after { transform: scale(1); }

.lebel-gallery-btn-wrap { position: relative; z-index: 2; display: flex; justify-content: center; margin-top: 54px; }

.lebel-gallery-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 64px; padding: 0 34px; border: 1px solid rgba(249, 179, 13, 0.9); color: var(--lebel-white); text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 700; overflow: hidden; isolation: isolate; transition: color .35s ease, border-color .35s ease; }

.lebel-gallery-btn::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(250, 180, 19, 0.5); transition: .35s ease; border-radius: 10px; }

.lebel-gallery-btn::after { content: ""; position: absolute; inset: 0; background: var(--lebel-accent); transform: translateX(-101%); transition: 0.45s cubic-bezier(0.77, 0, 0.18, 1); z-index: -1; }

.lebel-gallery-btn span { position: relative; z-index: 1; }

.lebel-gallery-btn:hover { color: var(--lebel-black); border-color: var(--lebel-accent); }

.lebel-gallery-btn:hover::before { border-color: rgba(0, 0, 0, 0.5); }

.lebel-gallery-btn:hover::after { transform: translateX(0); }

.lebel-gallery-title { position: absolute; left: 28px; right: 28px; bottom: 28px; z-index: 4; color: var(--lebel-white); text-transform: uppercase; font-size: 18px; font-weight: 600; opacity: 0; transform: translateY(14px); transition: opacity .35s ease, transform .35s ease; }

.lebel-gallery-title::before { content: ""; display: block; width: 46px; height: 2px; margin-bottom: 14px; background: var(--lebel-accent); }

.lebel-gallery-item:hover .lebel-gallery-title { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) { .lebel-gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 220px; } }

@media (max-width: 640px) { .lebel-gallery-home { padding: 80px 24px; padding-top: 120px; } .lebel-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 260px; } .lebel-gallery-item-large, .lebel-gallery-item-tall, .lebel-gallery-item-wide { grid-column: span 1; grid-row: span 1; } }

@media (max-width: 640px) { .lebel-gallery-title { opacity: 1; transform: none; } .lebel-gallery-item::before { opacity: 1; } .lebel-gallery-ghost-text { font-size: 50px; top: 40px; } }

/* =========================== BLOC VALEURS =========================== */
.lebel-values-home { position: relative; overflow: hidden; padding: clamp(90px, 10vw, 160px) clamp(24px, 7vw, 120px); background: var(--lebel-black); color: var(--lebel-white); }

.lebel-values-ghost-text { position: absolute; right: 18vw; top: -60px; z-index: 0; text-transform: uppercase; font-size: clamp(70px, 11vw, 220px); font-weight: 700; color: rgba(255, 255, 255, 0.12); pointer-events: none; user-select: none; }

.lebel-values-grid { position: relative; z-index: 2; }

.lebel-values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.lebel-value-card { position: relative; min-height: 560px; display: flex; align-items: flex-end; justify-content: center; padding: 28px; background-size: cover; background-position: center; overflow: hidden; }

.lebel-value-card::before { content: ""; position: absolute; inset: 0; }

.lebel-value-box { position: relative; z-index: 2; width: 100%; padding: 46px 30px 34px; background: rgba(8, 8, 8, 0.92); border: 1px solid rgba(255, 255, 255, 0.08); text-align: center; }

.lebel-value-icon { position: absolute; left: 50%; top: 0; width: 74px; height: 74px; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; background: var(--lebel-accent); color: var(--lebel-black); border: 8px solid var(--lebel-black); border-radius: 50%; font-size: 24px; }

.lebel-value-icon img { width: 52px; height: 52px; object-fit: contain; display: block; }

.lebel-value-box h3 { margin: 15px 0 18px; text-transform: uppercase; font-size: 20px; font-weight: 600 !important; }

.lebel-value-box p { margin: 0; color: rgba(255, 255, 255, 0.9); font-size: 15px; line-height: 1.8; }

.lebel-value-more { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .45s ease, opacity .35s ease, margin-top .35s ease; }

.lebel-value-more p { margin-top: 16px; }

.lebel-value-card.active .lebel-value-more { max-height: 520px; opacity: 1; margin-top: 16px; }

.lebel-value-toggle { margin-top: 24px; padding: 0; border: none; background: transparent; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 700; cursor: pointer; }

.lebel-value-card.active .lebel-value-toggle { color: var(--lebel-white); }

@media (max-width: 980px) { .lebel-values-grid { grid-template-columns: 1fr; } }

@media (max-width: 640px) { .lebel-values-home { padding: 80px 24px; } .lebel-value-card { min-height: 520px; padding: 18px; } .lebel-value-box { padding: 42px 22px 28px; } .lebel-values-ghost-text { top: -10px; font-size: 50px; left: 1px; } }

/* =========================== BLOC ATELIER =========================== */
.lebel-workshop-home { position: relative; overflow: hidden; display: grid; grid-template-columns: 50% 55%; align-items: center; padding: clamp(90px, 10vw, 160px) clamp(24px, 7vw, 120px); background: var(--lebel-black); color: var(--lebel-white); }

.lebel-workshop-content { position: relative; z-index: 2; }

.lebel-workshop-kicker { margin: 0 0 18px; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 700; }

.lebel-workshop-content h2 { margin: 0 0 30px; text-transform: uppercase; font-size: 35px; font-weight: 600 !important; }

.lebel-workshop-content p:not(.lebel-workshop-kicker) { margin: 0 0 22px; color: rgba(255, 255, 255, 0.9); font-size: clamp(15px, 1.05vw, 16px); line-height: 1.85; }

.lebel-workshop-media { position: relative; min-height: 620px; display: flex; align-items: center; justify-content: center; }

.lebel-workshop-ghost-text { position: absolute; right: -2vw; top: -32%; z-index: 0; text-transform: uppercase; font-size: clamp(72px, 12vw, 190px); font-weight: 700; color: rgba(255, 255, 255, 0.12); pointer-events: none; user-select: none; }

.lebel-workshop-video-frame { position: absolute; width: 80%; max-width: 460px; height: 650px; z-index: 1; border: 1px solid rgba(249, 179, 13, 0.55); transform: translate(45px, 2px); pointer-events: none; }

.lebel-workshop-video-wrap { position: relative; width: 80%; max-width: 450px; /* largeur vidéo */ height: 560px; /* hauteur vidéo */ z-index: 2; overflow: visible; }

.lebel-workshop-video-wrap::before { content: ""; position: absolute; inset: 0; z-index: -1; border: 1px solid rgba(249, 179, 13, 0.55); transform: translate(-60px, 26px); /* décalage cadre orange */ pointer-events: none; }

.lebel-workshop-video { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center center; }

@media (max-width: 980px) { .lebel-workshop-media { min-height: 640px; } }

@media (max-width: 640px) { .lebel-workshop-video-frame { width: 96%; height: 550px; transform: translate(1px, 1px); } .lebel-workshop-video-wrap { width: 86%; height: 520px; } .lebel-workshop-ghost-text { right: -5vw; top: -10px; font-size: 50px; } .lebel-workshop-video-wrap::before { display: none; } }

@media (max-width: 980px) { .lebel-workshop-home { grid-template-columns: 1fr; } .lebel-workshop-content { max-width: none; } }

@media (max-width: 640px) { .lebel-workshop-home { padding: 80px 24px; } }

/* =========================== BLOC SERVICES =========================== */
.lebel-services-home { position: relative; overflow: hidden; padding: clamp(90px, 6vw, 160px) clamp(24px, 7vw, 120px); background: var(--lebel-black); color: var(--lebel-white); }

.lebel-services-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(15px, 1.5vw, 32px); }

.lebel-service-card { position: relative; display: block; color: var(--lebel-white); text-decoration: none; }

.lebel-service-image { position: relative; overflow: hidden; aspect-ratio: 1.35 / 1; background: rgba(255, 255, 255, 0.06); }

.lebel-service-image img { width: 100%; height: 100%; display: block; object-fit: cover; filter: grayscale(10%); transform: scale(1.02); transition: transform .65s ease, filter .65s ease; }

.lebel-service-big-title { position: absolute; left: 50%; top: 50%; z-index: 2; transform: translate(-50%, -50%); width: 100%; padding: 0 28px; text-align: center; text-transform: uppercase; font-size: clamp(40px, 3.2vw, 130px); font-weight: 700; color: rgba(255, 255, 255, 0.7); line-height: 1.2; pointer-events: none; transition: opacity .35s ease, transform .35s ease; }

.lebel-service-hover { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: clamp(28px, 4vw, 56px); text-align: center; background: rgba(0, 0, 0, 0.68); opacity: 0; transition: opacity .4s ease; }

.lebel-service-hover::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(249, 179, 13, 0.55); opacity: 0; transform: scale(0.96); transition: .4s ease; }

.lebel-service-hover h3 { position: relative; z-index: 2; margin: 0 0 18px; text-transform: uppercase; font-size: 35px; font-weight: 600 !important; }

.lebel-service-hover p { position: relative; z-index: 2; max-width: 520px; margin: 0; color: rgba(255, 255, 255, 0.9); font-size: 16px; line-height: 1.7; }

.lebel-service-hover span { position: relative; z-index: 2; display: inline-flex; margin-top: 28px; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 700; }

.lebel-service-hover span::after { content: "→"; margin-left: 12px; transition: transform .3s ease; }

.lebel-service-card:hover .lebel-service-image img { transform: scale(1.08); filter: grayscale(0%); }

.lebel-service-card:hover .lebel-service-big-title { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }

.lebel-service-card:hover .lebel-service-hover { opacity: 1; }

.lebel-service-card:hover .lebel-service-hover::before { opacity: 1; transform: scale(1); }

.lebel-service-card:hover .lebel-service-hover span::after { transform: translateX(6px); }

@media (max-width: 980px) { .lebel-services-grid { grid-template-columns: 1fr; gap: 30px; } .lebel-service-image { aspect-ratio: 1.25 / 1; } }

@media (max-width: 640px) { .lebel-services-home { padding: 80px 24px; } .lebel-service-image { aspect-ratio: 1 / 1; } .lebel-service-big-title { font-size: clamp(44px, 15vw, 82px); } .lebel-service-hover { opacity: 1; background: rgba(0, 0, 0, 0.58); } .lebel-service-big-title { opacity: 0; } .lebel-service-hover h3 { font-size: 28px; } }

/* =========================== BLOC SAVOIR FAIRE =========================== */
.lebel-knowhow-home { position: relative; overflow: hidden; padding: clamp(100px, 12vw, 190px) clamp(24px, 7vw, 120px); background: var(--lebel-black); color: var(--lebel-white); padding-bottom: 50px; }

.lebel-knowhow-bg-logo { position: absolute; left: 92%; top: 62%; max-width: none; transform: translate(-50%, -50%); opacity: .2; z-index: 0; pointer-events: none; user-select: none; width: 500px; }

.lebel-knowhow-ghost-text { position: absolute; left: 0vw; top: -5px; z-index: 1; font-size: clamp(70px, 10vw, 210px); line-height: .82; font-weight: 700; text-transform: uppercase; letter-spacing: -.07em; color: rgba(255, 255, 255, 0.12); pointer-events: none; user-select: none; }

.lebel-knowhow-inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(260px, 0.8fr) minmax(280px, 1fr) minmax(280px, 1fr); gap: clamp(34px, 5vw, 88px); align-items: start; }

.lebel-knowhow-heading { position: sticky; top: 100px; }

.lebel-knowhow-kicker { margin: 0 0 18px; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 700; }

.lebel-knowhow-heading h2 { margin: 0; text-transform: uppercase; font-size: clamp(34px, 4vw, 35px); font-weight: 600 !important; padding-bottom: 35px; }

.lebel-knowhow-text { position: relative; padding-top: 42px; }

.lebel-knowhow-text::before { content: ""; position: absolute; top: 0; left: 0; width: 52px; height: 2px; background: var(--lebel-accent); }

.lebel-knowhow-text p { margin: 0 0 24px; color: rgba(255, 255, 255, 0.9); font-size: clamp(15px, 1.05vw, 16px); line-height: 1.9; }

.lebel-knowhow-text-right { margin-top: 100px; }

@media (max-width: 980px) { .lebel-knowhow-inner { grid-template-columns: 1fr; } .lebel-knowhow-heading { position: relative; top: auto; } .lebel-knowhow-text, .lebel-knowhow-text-right { margin-top: 0; padding-top: 34px; } }

@media (max-width: 640px) { .lebel-knowhow-home { padding: 80px 24px; } .lebel-knowhow-ghost-text { top: 0px; font-size: 50px; } }

/* =========================== BLOC A PROPOS =========================== */
.lebel-about-home { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr); gap: clamp(48px, 7vw, 120px); align-items: center; padding: clamp(90px, 10vw, 160px) clamp(24px, 7vw, 120px); background: var(--lebel-black); color: var(--lebel-white); }

.lebel-about-visual { position: relative; min-height: 650px; }

.lebel-about-img { position: absolute; display: block; width: 100%; height: auto; object-fit: cover; filter: grayscale(15%); }

.lebel-about-img-main { top: 0; left: 0; width: 72%; height: 420px; z-index: 2; }

.lebel-about-img-second { right: 0; bottom: 0; width: 72%; height: 470px; z-index: 3; border-left: 12px solid var(--lebel-black); border-top: 12px solid var(--lebel-black); }

.lebel-about-visual::before { content: ""; position: absolute; left: -28px; top: 64px; width: 340px; height: 470px; border: 1px solid rgba(249, 179, 13, 0.55); z-index: 1; }

.lebel-about-content { position: relative; z-index: 4; max-width: 660px; }

.lebel-about-kicker { margin: 0 0 18px; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 700; }

.lebel-about-content h2 { margin: 0 0 30px; text-transform: uppercase; font-size: clamp(34px, 4.6vw, 35px); font-weight: 600 !important; }

.lebel-about-content p:not(.lebel-about-kicker) { margin: 0 0 22px; color: rgba(255, 255, 255, 0.9); font-size: clamp(15px, 1.05vw, 16px); line-height: 1.85; }

@media (max-width: 980px) { .lebel-about-home { grid-template-columns: 1fr; } .lebel-about-visual { min-height: 540px; } .lebel-about-content { max-width: none; } }

@media (max-width: 640px) { .lebel-about-home { padding: 80px 24px; } .lebel-about-visual { min-height: 420px; } .lebel-about-img-main { width: 82%; height: 270px; } .lebel-about-img-second { width: 82%; height: 300px; border-left-width: 12px; border-top-width: 12px; } .lebel-about-visual::before { left: -14px; top: 42px; width: 90px; height: 340px; } }

/* =========================== BLOC ACCUEIL =========================== */
.lebel-hero-home { position: relative; height: 100vh; overflow: hidden; display: flex; align-items: center; padding: 80px clamp(24px, 7vw, 120px); background: var(--lebel-black); }

.lebel-hero-slider { position: absolute; inset: 0; z-index: 0; }

.lebel-hero-slider span { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 1; transform: scale(1); animation: lebelHeroZoom 14s ease-out forwards; }

@keyframes lebelHeroZoom { from { transform: scale(1); }
  to { transform: scale(1.15); } }

.lebel-hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0) 42%, rgba(0, 0, 0, 0.32) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.5)); }

.lebel-hero-ghost-text { position: absolute; right: 0vw; bottom: -1vh; z-index: 2; font-size: clamp(70px, 10vw, 230px); line-height: .8; font-weight: 700; text-transform: uppercase; letter-spacing: -.06em; color: rgba(255, 255, 255, 0.12); pointer-events: none; user-select: none; }

.lebel-hero-content { position: relative; z-index: 3; max-width: 720px; }

.lebel-hero-logo { width: clamp(240px, 18vw, 300px); margin-bottom: 60px; }

.lebel-hero-kicker { margin: 0 0 18px; color: var(--lebel-accent); text-transform: uppercase; letter-spacing: .18em; font-size: 13px; font-weight: 700; }

.lebel-hero-content h1 { margin: 0; text-transform: uppercase; font-size: clamp(42px, 6vw, 50px); font-weight: 600; color: white; padding-bottom: 40px; }

.lebel-hero-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 64px; padding: 0 34px; border: 1px solid rgba(249, 179, 13, 0.9); color: var(--lebel-white) !important; text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 700; overflow: hidden; isolation: isolate; transition: color .35s ease, border-color .35s ease; }

.lebel-hero-btn::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(250, 180, 19, 0.5); transform: translate(0px, 0px); transition: .35s ease; border-radius: 10px; }

.lebel-hero-btn::after { content: ""; position: absolute; inset: 0; background: var(--lebel-accent); transform: translateX(-101%); transition: 0.45s cubic-bezier(0.77, 0, 0.18, 1); z-index: -1; }

.lebel-hero-btn span { position: relative; z-index: 1; }

.lebel-hero-btn:hover { color: var(--lebel-black) !important; border-color: var(--lebel-accent); }

.lebel-hero-btn:hover::before { transform: translate(0, 0); border-color: rgba(0, 0, 0, 0.5); }

.lebel-hero-btn:hover::after { transform: translateX(0); }

@media (max-width: 768px) { .lebel-hero-home { min-height: 92vh; padding: 48px 24px; } .lebel-hero-overlay { background: linear-gradient(90deg, rgba(0, 0, 0, 0.88), rgba(0, 0, 0, 0.48)), linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)); } .lebel-hero-logo { margin-bottom: 55px; } .lebel-hero-content h1 { font-size: 45px; } .lebel-hero-text { margin: 24px 0 34px; } .lebel-hero-ghost-text { right: 2vw; bottom: 0vh; font-size: 50px; } .lebel-hero-watermark-logo { left: -28vw; bottom: -8vw; width: 105vw; } }

/*# sourceMappingURL=custom.css.map */