@charset "UTF-8";
@import url(main.css);
a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { font-family: Playfair\ Display !important; font-weight: 700 !important; }

/*================== CUSTOM FORMULAIRE DE CONTACT ===================*/
.mx-auto.third-activity-div.col-lg-11.px-4.py-4.mb-4.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative, .mx-auto.second-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.rounded-3.shadow-lg.bg-primaryColor.text-color-primary.position-relative, .mx-auto.first-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { border-radius: 0px !important; margin-top: 100px !important; margin-bottom: 100px !important; padding: 50px 20px !important; }

.black-screen { display: none; }

.card.card-cover.h-100.overflow-hidden.rounded-4.shadow-lg { border-radius: 0px !important; border: none; }

/*================== CUSTOM FORMULAIRE DE CONTACT ===================*/
div#contact { padding: 50px 0 !important; }

form#formContact { border-radius: 0px !important; background-color: black !important; }

.background-image-div-opacity { background-attachment: scroll; }

.lh-1.mb-3.titles { margin-left: 70px; }

@media (max-width: 991px) { .lh-1.mb-3.titles { margin-left: 0px; padding: 10px; } }

#formContact > div.checkbox.mb-3 > label { color: white !important; }

/*================== CUSTOM BLOC MAPS===================*/
.col-sm-12.col-lg-6.col-xl-4.py-5.content.text-color-sixth { color: black !important; }

.maps-section .map-content { padding: 50px; }

\
.maps-section iframe { border-radius: 0px !important; }

/*================== CUSTOM COOKIES ===================*/
div#termsfeed-com---nb { border-radius: 0px; margin: 10px; }

/*================== CUSTOM FOOTER ===================*/
.bg-thirdColor:has(footer) { background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F43edva8TszUCzEIJZv7VDJl8Llu1%2Fimages%2FFond_footer_d1a9.webp"); background-size: contain; background-position: 38% bottom; background-repeat: no-repeat; padding-top: 100px; }

/*================== CUSTOM NAVBAR ===================*/
.spacer { display: none; }

/* Etat initial */
.navbar { transition: all 0.3s ease; background: transparent; border-bottom: 1px solid transparent; }

/* Liens en blanc au départ */
.animated-border-button { color: white !important; transition: color 0.3s ease; }

.animated-border-button.scrolled { color: black !important; }

/* Etat au scroll */
.navbar.scrolled { background: rgba(255, 255, 255, 0.7) !important; /* blanc semi transparent */ backdrop-filter: blur(1rem); -webkit-backdrop-filter: blur(1rem); /* Safari */ border-bottom: 1px solid rgba(0, 0, 0, 0.05); }

/* Liens noirs quand scroll */
.navbar.scrolled .nav-link, .navbar.scrolled .navbar-brand { color: #000 !important; }

.animated-border-button:after { background-color: #997c37; }

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

.logo_nav { height: 8vh !important; }

button.w-100.btn.btn-outline-dark, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { padding: 12px 30px !important; }

/* 📱 Responsive : navbar TOUJOURS visible */
@media (max-width: 991px) { .navbar { background-color: rgba(255, 255, 255, 0.7) !important; backdrop-filter: blur(1rem); } }

/*======================================================================= HERO D'ACCUEIL ========================================================================*/
.asc-hero { position: relative; width: 100%; min-height: 100vh; display: flex; align-items: center; overflow: hidden; background: #000; font-family: 'Lato', sans-serif; box-sizing: border-box; }

.asc-hero *, .asc-hero *::before, .asc-hero *::after { box-sizing: border-box; }

/* Background image layer */
.asc-hero__bg { position: absolute; inset: 0; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F43edva8TszUCzEIJZv7VDJl8Llu1%2Fimages%2FFond_page_daccueil_1_uimp.webp"); background-size: cover; background-position: center 40%; transform: scale(1.05); animation: asc-zoomin 8s ease forwards; }

@keyframes asc-zoomin { from { transform: scale(1.08); }
  to { transform: scale(1); } }

/* Gradient overlays */
.asc-hero__overlay { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.5) 5%, rgba(0, 0, 0, 0.15) 50%), linear-gradient(to top, rgba(94, 85, 65, 0.35) 0%, transparent 60%); }

/* Gold accent line left */
.asc-hero__accent-line { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(to bottom, transparent 0%, #997c37 30%, #bab8b2 70%, transparent 100%); animation: asc-line 1.2s ease forwards; transform-origin: top; }

@keyframes asc-line { from { transform: scaleY(0);
    opacity: 0; }
  to { transform: scaleY(1);
    opacity: 1; } }

/* Content container */
.asc-hero__content { position: relative; z-index: 2; padding: 80px 7vw; max-width: 1200px; }

/* Eyebrow */
.asc-hero__eyebrow { font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 700 !important; letter-spacing: 4px; text-transform: uppercase; color: #997c37; margin: 0 0 20px; opacity: 0; transform: translateX(-20px); animation: asc-slidein 0.7s 0.6s ease forwards; display: flex; align-items: center; gap: 12px; }

.asc-hero__eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: #997c37; flex-shrink: 0; }

/* Title */
.asc-hero__title { font-family: 'Playfair Display', serif; font-size: clamp(2.6rem, 5.5vw, 4.8rem); font-weight: 700 !important; line-height: 1.1; color: #fff; margin: 0 0 12px; opacity: 0; transform: translateY(24px); animation: asc-fadein 0.9s 0.8s ease forwards; text-transform: uppercase; }

.asc-hero__title em { font-style: normal; background: linear-gradient(135deg, #997c37 0%, #bab8b2 50%, #997c37 100%); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: asc-shimmer 4s 2s linear infinite; }

@keyframes asc-shimmer { from { background-position: 0% center; }
  to { background-position: 200% center; } }

/* Divider */
.asc-hero__divider { width: 60px; height: 2px; background: linear-gradient(90deg, #997c37, #bab8b2); margin: 24px 0; opacity: 0; animation: asc-fadein 0.6s 1.1s ease forwards; }

/* Subtitle */
.asc-hero__subtitle { font-family: 'Lato', sans-serif; font-size: clamp(1rem, 1.8vw, 1.18rem); font-weight: 300; line-height: 1.75; color: #bab8b2; margin: 0 0 40px; max-width: 500px; opacity: 0; transform: translateY(16px); animation: asc-fadein 0.9s 1.2s ease forwards; }

/* CTA group */
.asc-hero__cta-group { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; opacity: 0; animation: asc-fadein 0.9s 1.5s ease forwards; }

/* Gold button */
button.w-100.btn.btn-outline-dark, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone, .asc-hero__btn { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 16px 36px; font-family: 'Lato', sans-serif; font-size: 13px; font-weight: 700 !important; letter-spacing: 2px; text-transform: uppercase; color: #000; text-decoration: none; background: linear-gradient(135deg, #997c37 0%, #bab8b2 50%, #997c37 100%); background-size: 200% auto; border: none; cursor: pointer; transition: background-position 0.5s ease, transform 0.3s ease, box-shadow 0.3s ease; overflow: hidden; border-radius: 0px !important; }

button.w-100.btn.btn-outline-dark::after, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone::after, .asc-hero__btn::after { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, 0); transition: background 0.3s ease; }

button.w-100.btn.btn-outline-dark:hover, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover, .asc-hero__btn:hover { background-position: right center; transform: translateY(-2px); box-shadow: 0 12px 40px rgba(153, 124, 55, 0.45); }

button.w-100.btn.btn-outline-dark:hover::after, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover::after, .asc-hero__btn:hover::after { background: rgba(255, 255, 255, 0.08); }

.asc-hero__btn svg { width: 16px; height: 16px; flex-shrink: 0; }

/* Secondary link */
.asc-hero__link { font-family: 'Lato', sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 1.5px; color: #bab8b2; text-decoration: none; border-bottom: 1px solid rgba(186, 184, 178, 0.4); padding-bottom: 2px; transition: color 0.3s, border-color 0.3s; }

.asc-hero__link:hover { color: #fff; border-color: #fff; }

.asc-hero__link:visited { color: white !important; }

@keyframes asc-scrollpulse { 0%, 100% { opacity: 0.4;
    transform: scaleY(1); }
  50% { opacity: 1;
    transform: scaleY(1.2); } }

/* Shared animations */
@keyframes asc-fadein { from { opacity: 0;
    transform: translateY(20px); }
  to { opacity: 1;
    transform: translateY(0); } }

@keyframes asc-slidein { from { opacity: 0;
    transform: translateX(-20px); }
  to { opacity: 1;
    transform: translateX(0); } }

/* Responsive */
@media (max-width: 600px) { .asc-hero__content { padding: 60px 6vw 140px; } .asc-hero__scroll { display: none; } .asc-hero__badges { gap: 16px; bottom: 24px; } .asc-hero__badge-sep { display: none; } }

/*===================================================================== CONFIANCE - ARGUMENTS ==================================================================*/
.asc-trust { width: 100%; background: #fff; padding: 20px 3vw; font-family: 'Lato', sans-serif; box-sizing: border-box; }

.asc-trust *, .asc-trust *::before, .asc-trust *::after { box-sizing: border-box; }

.asc-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; width: 100%; }

.asc-trust__item { display: grid; grid-template-rows: 64px auto auto 1fr; padding: 40px 36px; border-left: 1px solid #e8e6e1; }

.asc-trust__item:first-child { border-left: none; }

/* Icon */
.asc-trust__icon { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; position: relative; align-self: start; }

.asc-trust__icon svg { width: 28px; height: 28px; stroke: #997c37; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.asc-trust__icon::after { content: ''; position: absolute; inset: 0; background: rgba(153, 124, 55, 0.08); border-radius: 50%; }

/* Title — fixed height so all descs start at same line */
.asc-trust__title { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 600 !important; color: #000; margin: 0 0 12px; line-height: 1.35; height: 3em; overflow: hidden; display: flex; align-items: flex-start; text-transform: uppercase; }

/* Description */
.asc-trust__desc { font-size: 0.88rem; font-weight: 300; color: #5e5541; line-height: 1.7; margin: 0; align-self: start; }

/* Responsive */
@media (max-width: 900px) { .asc-trust__grid { grid-template-columns: repeat(2, 1fr); } .asc-trust__item:nth-child(3) { border-left: none; } .asc-trust__item:nth-child(2) { border-left: 1px solid #e8e6e1; } .asc-trust__title { height: auto; } }

@media (max-width: 520px) { .asc-trust__grid { grid-template-columns: 1fr; } .asc-trust__item { border-left: none; border-top: 1px solid #e8e6e1; padding: 28px 20px; } .asc-trust__item:first-child { border-top: none; } }

/*==================================================================== A PROPOS - PRESENTATION ===================================================================*/
.asc-about { width: 100%; background: #fff; padding: 100px 5vw; font-family: 'Lato', sans-serif; box-sizing: border-box; position: relative; overflow: hidden; }

.asc-about *, .asc-about *::before, .asc-about *::after { box-sizing: border-box; }

/* Decorative diamond shapes */
.asc-about__deco { position: absolute; width: 110px; height: 110px; border: 1.5px solid rgba(153, 124, 55, 0.25); transform: rotate(45deg); pointer-events: none; z-index: 1; }

.asc-about__deco--tl { top: 40px; left: 60px; }

.asc-about__deco--tl2 { top: 90px; left: 100px; width: 70px; height: 70px; border-color: rgba(153, 124, 55, 0.15); }

.asc-about__deco--br { bottom: 60px; right: 80px; }

.asc-about__deco--br2 { bottom: 110px; right: 120px; width: 70px; height: 70px; border-color: rgba(153, 124, 55, 0.15); }

/* Layout */
.asc-about__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; /* on augmente aussi l'espace */ width: 100%; max-width: 1200px; /* largeur max propre */ margin: 0 auto; /* centre le bloc */ align-items: center; }

/* LEFT — images */
.asc-about__images { position: relative; height: 500px; }

.asc-about__img { position: absolute; object-fit: cover; display: block; border: 4px solid #fff; box-shadow: 0 12px 48px rgba(0, 0, 0, 0.12); }

.asc-about__img--back { width: 62%; height: 72%; top: 0; left: 0; }

.asc-about__img--front { width: 55%; height: 62%; bottom: 0; right: 0; border: 4px solid #fff; box-shadow: 0 16px 56px rgba(0, 0, 0, 0.16); }

/* Gold corner accent */
.asc-about__img-accent { position: absolute; bottom: 36px; left: 36px; width: 50px; height: 50px; border-left: 2px solid #997c37; border-bottom: 2px solid #997c37; pointer-events: none; }

/* RIGHT — content */
.asc-about__content { display: flex; flex-direction: column; }

.asc-about__eyebrow { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.1rem; font-weight: 400; color: #997c37; margin: 0 0 16px; }

.asc-about__title { font-family: 'Playfair Display', serif; font-style: normal; font-size: clamp(1.7rem, 2.8vw, 2.4rem); font-weight: 700 !important; color: #000; line-height: 1.15; text-transform: uppercase; margin: 0 0 28px; letter-spacing: -0.01em; }

.asc-about__text { font-size: 0.95rem; font-weight: 300; color: #5e5541; line-height: 1.85; margin: 0 0 20px; }

.asc-about__text:last-of-type { margin-bottom: 28px; }

/* Gold divider */
.asc-about__divider { width: 52px; height: 2px; background: linear-gradient(90deg, #997c37, #bab8b2); margin-bottom: 32px; }

/* Logo */
.asc-about__logo { width: 140px; height: auto; display: block; opacity: 0.9; }

/* Responsive */
@media (max-width: 860px) { .asc-about__inner { grid-template-columns: 1fr; gap: 48px; } .asc-about__images { height: 380px; } .asc-about__deco--tl, .asc-about__deco--tl2 { display: none; } }

@media (max-width: 520px) { .asc-about { padding: 60px 6vw; } .asc-about__images { height: 280px; } .asc-about__img--back { width: 65%; height: 68%; } .asc-about__img--front { width: 58%; height: 60%; } }

/*===================================================================== LES SERVICES =========================================================================*/
.asc-services { width: 100%; background: #fff; font-family: 'Lato', sans-serif; box-sizing: border-box; }

.asc-services *, .asc-services *::before, .asc-services *::after { box-sizing: border-box; }

.asc-services__grid { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }

/* Card */
.asc-services__card { position: relative; overflow: hidden; aspect-ratio: 3 / 4; display: block; text-decoration: none; color: inherit; cursor: pointer; }

/* Background image */
.asc-services__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.7s ease; }

.asc-services__card:hover .asc-services__bg { transform: scale(1.05); }

/* Dark gradient overlay */
.asc-services__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.1) 100%); }

/* Gold top border on hover */
.asc-services__card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #997c37, #bab8b2, #997c37); transform: scaleX(0); transform-origin: left; transition: transform 0.5s ease; z-index: 2; }

.asc-services__card:hover::after { transform: scaleX(1); }

/* Vertical separator */
.asc-services__card:not(:last-child) { border-right: 1px solid rgba(255, 255, 255, 0.08); }

.asc-services__content { position: absolute; bottom: 0; left: 0; right: 0; z-index: 1; padding: 0 44px 48px; display: grid; grid-template-rows: 48px auto minmax(60px, auto) 20px 1fr 28px; }

/* Number */
.asc-services__number { font-family: 'Playfair Display', serif; font-size: 3rem; font-weight: 700 !important; color: rgba(153, 124, 55, 0.25); line-height: 1; display: block; letter-spacing: -2px; align-self: end; padding-bottom: 10px; transition: color 0.4s ease; order: -1; }

.asc-services__card:hover .asc-services__number { color: rgba(153, 124, 55, 0.45); }

/* Icon */
.asc-services__icon { width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }

.asc-services__icon svg { width: 30px; height: 30px; stroke: #997c37; fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }

/* Title */
.asc-services__title { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 700 !important; color: #fff; margin: 14px 0 0; line-height: 1.25; height: 80px; overflow: hidden; display: flex; align-items: flex-start; text-transform: uppercase; }

/* Divider */
.asc-services__divider { width: 36px; height: 2px; background: linear-gradient(90deg, #997c37, #bab8b2); margin-top: 16px; transition: width 0.4s ease; flex-shrink: 0; }

.asc-services__card:hover .asc-services__divider { width: 56px; }

/* Description */
.asc-services__desc { font-size: 0.87rem; font-weight: 300; color: #bab8b2; line-height: 1.8; margin: 16px 0 0; }

/* CTA */
.asc-services__link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700 !important; letter-spacing: 2.5px; text-transform: uppercase; color: #997c37; margin-top: 24px; opacity: 0; transform: translateY(8px); transition: opacity 0.4s ease, transform 0.4s ease, color 0.3s ease; }

.asc-services__card:hover .asc-services__link { opacity: 1; transform: translateY(0); }

.asc-services__link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.3s ease; }

.asc-services__card:hover .asc-services__link svg { transform: translateX(4px); }

/* Background images */
.asc-services__card--1 .asc-services__bg { background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F43edva8TszUCzEIJZv7VDJl8Llu1%2Fimages%2FCouverture_Zinguerie_1_mf4k.webp"); }

.asc-services__card--2 .asc-services__bg { background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F43edva8TszUCzEIJZv7VDJl8Llu1%2Fimages%2FEntretien_Protection_zm38.webp"); }

.asc-services__card--3 .asc-services__bg { background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F43edva8TszUCzEIJZv7VDJl8Llu1%2Fimages%2FIsolation_Bardage_g31h.webp"); }

/* Responsive */
@media (max-width: 900px) { .asc-services__grid { grid-template-columns: 1fr; } .asc-services__card:not(:last-child) { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.08); } .asc-services__link { opacity: 1; transform: translateY(0); } .asc-services__title { height: auto; } .asc-services__content { padding: 0 28px 36px; } }

/*========================================================================= LES REALISATIONS =====================================================================*/
.asc-real { width: 100%; background: #fff; padding: 100px 0 80px; font-family: 'Lato', sans-serif; box-sizing: border-box; overflow: hidden; }

.asc-real *, .asc-real *::before, .asc-real *::after { box-sizing: border-box; }

/* Header */
.asc-real__header { display: flex; align-items: flex-end; justify-content: space-between; padding: 0 5vw 56px; gap: 32px; flex-wrap: wrap; }

.asc-real__eyebrow { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1rem; color: #997c37; display: block; margin-bottom: 12px; }

.asc-real__title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 700 !important; color: #000; text-transform: uppercase; margin: 0; line-height: 1.1; }

.asc-real__title em { font-style: normal; background: linear-gradient(135deg, #997c37, #bab8b2); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

.asc-real__btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 32px; font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 700 !important; letter-spacing: 2.5px; text-transform: uppercase; color: #000; text-decoration: none; background: linear-gradient(135deg, #997c37 0%, #bab8b2 50%, #997c37 100%); background-size: 200% auto; transition: background-position 0.5s ease, box-shadow 0.3s ease, transform 0.3s ease; white-space: nowrap; flex-shrink: 0; }

.asc-real__btn:hover { background-position: right center; box-shadow: 0 10px 36px rgba(153, 124, 55, 0.4); transform: translateY(-2px); }

.asc-real__btn svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.3s ease; }

.asc-real__btn:hover svg { transform: translateX(3px); }

/* ===================== GALERIE UNE LIGNE ===================== */
.asc-real__track-wrap { overflow: hidden; width: 100%; }

.asc-real__track { display: flex; gap: 20px; animation: asc-scroll-left 15s linear infinite; will-change: transform; }

.asc-real__track:hover { animation-play-state: paused; }

@keyframes asc-scroll-left { 0% { transform: translateX(0); }
  100% { transform: translateX(-50%); } }

/* Photo item */
.asc-real__item { flex-shrink: 0; width: 320px; height: 320px; position: relative; cursor: pointer; outline: 2px solid #997c37; outline-offset: -2px; overflow: hidden; }

.asc-real__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }

/* Zoom icon overlay on hover */
.asc-real__item-hover { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.35s ease; }

.asc-real__item:hover .asc-real__item-hover { opacity: 1; }

.asc-real__item:hover img { transform: scale(1.06); }

.asc-real__item-hover svg { width: 44px; height: 44px; stroke: #fff; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5)); }

/* Gold border glow on hover */
.asc-real__item:hover { outline-color: #bab8b2; box-shadow: 0 0 0 1px #bab8b2, 0 8px 32px rgba(153, 124, 55, 0.3); }

/* ===================== LIGHTBOX ===================== */
.asc-lightbox { position: fixed; inset: 0; z-index: 9999; background: rgba(0, 0, 0, 0.95); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.35s ease; }

.asc-lightbox.is-open { opacity: 1; pointer-events: all; }

.asc-lightbox__img-wrap { position: relative; max-width: 90vw; max-height: 90vh; display: flex; align-items: center; justify-content: center; transform: scale(0.92); transition: transform 0.35s ease; }

.asc-lightbox.is-open .asc-lightbox__img-wrap { transform: scale(1); }

.asc-lightbox__img { max-width: 90vw; max-height: 90vh; object-fit: contain; display: block; outline: 2px solid #997c37; outline-offset: 6px; }

/* Close button */
.asc-lightbox__close { position: fixed; top: 24px; right: 28px; width: 44px; height: 44px; background: none; border: 1px solid rgba(153, 124, 55, 0.5); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: border-color 0.3s ease, background 0.3s ease; z-index: 10000; }

.asc-lightbox__close:hover { border-color: #997c37; background: rgba(153, 124, 55, 0.1); }

.asc-lightbox__close svg { width: 20px; height: 20px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; }

/* Nav arrows */
.asc-lightbox__nav { position: fixed; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; background: none; border: 1px solid rgba(153, 124, 55, 0.4); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: border-color 0.3s, background 0.3s; z-index: 10000; }

.asc-lightbox__nav:hover { border-color: #997c37; background: rgba(153, 124, 55, 0.1); }

.asc-lightbox__nav svg { width: 22px; height: 22px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.asc-lightbox__prev { left: 20px; }

.asc-lightbox__next { right: 20px; }

/* Responsive */
@media (max-width: 700px) { .asc-real__item { width: 240px; height: 240px; } .asc-real__header { flex-direction: column; align-items: flex-start; } .asc-lightbox__prev { left: 8px; } .asc-lightbox__next { right: 8px; } .asc-real__track { animation: asc-scroll-left 20s linear infinite; } }

/*======================================================================= ZONE D'INTERVENTION ====================================================================*/
.asc-zone { width: 100%; background: #fff; font-family: 'Lato', sans-serif; box-sizing: border-box; display: grid; grid-template-columns: 5fr 7fr; position: relative; overflow: hidden; }

.asc-zone *, .asc-zone *::before, .asc-zone *::after { box-sizing: border-box; }

/* Losanges décoratifs fond blanc */
.asc-zone__deco { position: absolute; border: 1.5px solid rgba(153, 124, 55, 0.2); transform: rotate(45deg); pointer-events: none; z-index: 0; }

.asc-zone__deco--1 { width: 80px; height: 80px; top: 40px; left: 40px; }

.asc-zone__deco--2 { width: 48px; height: 48px; top: 72px; left: 72px; border-color: rgba(153, 124, 55, 0.1); }

.asc-zone__deco--3 { width: 80px; height: 80px; bottom: 40px; left: 220px; border-color: rgba(153, 124, 55, 0.12); }

.asc-zone__deco--4 { width: 48px; height: 48px; bottom: 72px; left: 252px; border-color: rgba(153, 124, 55, 0.08); }

/* LEFT — texte */
.asc-zone__content { padding: 80px 40px 80px 5vw; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 1; }

.asc-zone__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: #997c37; display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }

.asc-zone__eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: #997c37; flex-shrink: 0; }

.asc-zone__title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 700; color: #000; text-transform: uppercase; margin: 0 0 8px; line-height: 1.1; }

.asc-zone__title-gold { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 700; text-transform: uppercase; line-height: 1.1; margin: 0 0 28px; background: linear-gradient(135deg, #997c37 0%, #bab8b2 50%, #997c37 100%); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: asc-shimmer 5s linear infinite; }

@keyframes asc-shimmer { from { background-position: 0% center; }
  to { background-position: 200% center; } }

.asc-zone__divider { width: 48px; height: 2px; background: linear-gradient(90deg, #997c37, #bab8b2); margin-bottom: 28px; }

.asc-zone__desc { font-size: 0.93rem; font-weight: 300; color: #5e5541; line-height: 1.85; margin: 0; max-width: 400px; }

/* RIGHT — carte SVG */
.asc-zone__map { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; padding: 60px 5vw 60px 10px; min-height: 520px; }

.asc-zone__svg-wrap { width: 100%; max-width: 520px; position: relative; }

.asc-zone__svg-wrap svg { width: 100%; height: auto; overflow: visible; }

/* Grid de fond */
.asc-map-grid line { stroke: rgba(94, 85, 65, 0.1); stroke-width: 1; }

/* Zone polygone */
.asc-map-zone { fill: rgba(153, 124, 55, 0.08); stroke: #997c37; stroke-width: 1.5; stroke-dasharray: 6 4; stroke-linejoin: round; }

/* Points villes */
.asc-map-dot-outer { fill: none; stroke: rgba(153, 124, 55, 0.35); stroke-width: 1; }

.asc-map-dot-inner { fill: #997c37; }

/* Ville label */
.asc-map-label { font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; fill: #000; }

/* Point central Baupte */
.asc-map-center-ring { fill: none; stroke: rgba(153, 124, 55, 0.25); stroke-width: 1; animation: asc-pulse 2.5s ease-in-out infinite; }

.asc-map-center-ring-2 { fill: none; stroke: rgba(153, 124, 55, 0.15); stroke-width: 1; animation: asc-pulse 2.5s ease-in-out 0.6s infinite; }

@keyframes asc-pulse { 0%, 100% { r: 22;
    opacity: 0.6; }
  50% { r: 28;
    opacity: 0; } }

.asc-map-center-dot { fill: #997c37; }

/* Badge "AS Couverture" */
.asc-map-badge { opacity: 0; transition: opacity 0.3s ease; }

.asc-zone__svg-wrap:hover .asc-map-badge { opacity: 1; }

.asc-map-badge rect { fill: #000; stroke: #997c37; stroke-width: 1.5; }

.asc-map-badge text { font-family: 'Lato', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; fill: #fff; dominant-baseline: middle; text-anchor: middle; }

/* Responsive */
@media (max-width: 860px) { .asc-zone { grid-template-columns: 1fr; } .asc-zone__content { padding: 60px 6vw 40px; } .asc-zone__map { padding: 40px 6vw 60px; min-height: auto; } }

/*======================================================================== EN TETE - SERVICES ======================================================================*/
.asc-service-hero { position: relative; width: 100%; min-height: 70vh; display: flex; align-items: center; overflow: hidden; background: #000; font-family: 'Lato', sans-serif; }

/* Background image */
.asc-service-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.05); animation: asc-service-zoomin 8s ease forwards; }

/* Overlay */
.asc-service-hero__overlay { position: absolute; inset: 0; background: linear-gradient(110deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.3) 55%, rgba(0, 0, 0, 0.2) 100%), linear-gradient(to top, rgba(94, 85, 65, 0.35) 0%, transparent 70%); }

/* Accent vertical line */
.asc-service-hero__accent-line { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(to bottom, transparent 0%, #997c37 30%, #bab8b2 70%, transparent 100%); transform-origin: top; animation: asc-service-line 1.2s ease forwards; }

@keyframes asc-service-line { from { transform: scaleY(0);
    opacity: 0; }
  to { transform: scaleY(1);
    opacity: 1; } }

/* Content */
.asc-service-hero__content { position: relative; z-index: 2; padding: 100px 7vw; max-width: 1100px; }

/* Eyebrow */
.asc-service-hero__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: #997c37; margin-bottom: 20px; display: flex; align-items: center; gap: 14px; opacity: 0; transform: translateX(-20px); animation: asc-service-slidein 0.7s 0.5s ease forwards; }

.asc-service-hero__eyebrow::before { content: ''; width: 36px; height: 1px; background: #997c37; display: block; }

/* Title */
.asc-service-hero__title { font-family: 'Playfair Display', serif; font-size: clamp(2.4rem, 5vw, 4.2rem); font-weight: 700; line-height: 1.1; color: #fff; margin: 0 0 18px; text-transform: uppercase; opacity: 0; transform: translateY(24px); animation: asc-service-fadein 0.9s 0.8s ease forwards; }

.asc-service-hero__title em { font-style: normal; background: linear-gradient(135deg, #997c37 0%, #bab8b2 50%, #997c37 100%); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: asc-service-shimmer 4s 2s linear infinite; }

@keyframes asc-service-shimmer { from { background-position: 0% center; }
  to { background-position: 200% center; } }

/* Divider */
.asc-service-hero__divider { width: 60px; height: 2px; background: linear-gradient(90deg, #997c37, #bab8b2); margin: 24px 0; opacity: 0; animation: asc-service-fadein 0.6s 1.1s ease forwards; }

/* Subtitle */
.asc-service-hero__subtitle { font-size: clamp(1rem, 1.6vw, 1.15rem); line-height: 1.75; color: #bab8b2; max-width: 540px; margin-bottom: 40px; opacity: 0; transform: translateY(16px); animation: asc-service-fadein 0.9s 1.2s ease forwards; }

/* CTA button (identique à ton hero principal) */
.asc-service-hero__btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 36px; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #000; text-decoration: none; background: linear-gradient(135deg, #997c37 0%, #bab8b2 50%, #997c37 100%); background-size: 200% auto; border: none; cursor: pointer; transition: background-position 0.5s ease, transform 0.3s ease, box-shadow 0.3s ease; margin-right: 20px; }

.asc-service-hero__btn:hover { background-position: right center; transform: translateY(-2px); box-shadow: 0 12px 40px rgba(153, 124, 55, 0.45); }

/* Animations */
@keyframes asc-service-fadein { from { opacity: 0;
    transform: translateY(20px); }
  to { opacity: 1;
    transform: translateY(0); } }

@keyframes asc-service-slidein { from { opacity: 0;
    transform: translateX(-20px); }
  to { opacity: 1;
    transform: translateX(0); } }

/* Responsive */
@media (max-width: 768px) { .asc-service-hero__content { padding: 80px 6vw; } }

@media (max-width: 600px) { .asc-service-hero { min-height: 80vh; } .asc-service-hero__content { padding: 60px 6vw; } }

/*===================================================================== PRESENTATION DU SERVICE ===================================================================*/
.asc-intro { width: 100%; background: #fff; font-family: 'Lato', sans-serif; box-sizing: border-box; position: relative; overflow: hidden; }

.asc-intro *, .asc-intro *::before, .asc-intro *::after { box-sizing: border-box; }

/* Losanges déco fond */
.asc-intro__deco { position: absolute; border: 1.5px solid rgba(153, 124, 55, 0.18); transform: rotate(45deg); pointer-events: none; z-index: 0; }

.asc-intro__deco--1 { width: 72px; height: 72px; top: 48px; right: 7vw; }

.asc-intro__deco--2 { width: 44px; height: 44px; top: 78px; right: calc(7vw + 30px); border-color: rgba(153, 124, 55, 0.09); }

.asc-intro__deco--3 { width: 56px; height: 56px; bottom: 52px; left: 7vw; border-color: rgba(153, 124, 55, 0.1); }

/* =========================== LIGNE 1 : texte + image =========================== */
.asc-intro__top { display: grid; grid-template-columns: 1fr 1fr; position: relative; z-index: 1; }

/* Colonne texte */
.asc-intro__left { padding: 90px 52px 80px 7vw; display: flex; flex-direction: column; justify-content: center; }

.asc-intro__eyebrow { font-size: 10px; font-weight: 700 !important; letter-spacing: 4px; text-transform: uppercase; color: #997c37; display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }

.asc-intro__eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: #997c37; flex-shrink: 0; }

.asc-intro__title { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 2.8vw, 2.6rem); font-weight: 700 !important; color: #000; line-height: 1.15; margin: 0 0 28px; text-transform: uppercase; }

.asc-intro__divider { width: 52px; height: 2px; background: linear-gradient(90deg, #997c37, #bab8b2); margin-bottom: 32px; }

.asc-intro__text { font-size: 0.97rem; font-weight: 300; color: #5e5541; line-height: 1.9; margin: 0; }

/* Colonne image */
.asc-intro__img-col { position: relative; min-height: 480px; overflow: hidden; }

.asc-intro__img-col img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s ease; }

/* Trait doré vertical entre texte et image */
.asc-intro__img-col::before { content: ''; position: absolute; left: 0; top: 10%; bottom: 10%; width: 2px; background: linear-gradient(to bottom, transparent, #997c37 35%, #bab8b2 65%, transparent); z-index: 1; }

/* Coin doré bas-gauche sur l'image */
.asc-intro__img-corner { position: absolute; bottom: 24px; left: 24px; width: 44px; height: 44px; border-left: 2px solid #997c37; border-bottom: 2px solid #997c37; z-index: 2; pointer-events: none; }

/* =========================== LIGNE 2 : points clés pleine largeur =========================== */
.asc-intro__bottom { padding: 0 7vw 80px; position: relative; z-index: 1; }

.asc-intro__points { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #e8e6e1; }

.asc-intro__point { padding: 36px 32px 36px 0; border-right: 1px solid #e8e6e1; }

.asc-intro__point:last-child { border-right: none; padding-right: 0; }

.asc-intro__point:not(:first-child) { padding-left: 32px; }

.asc-intro__point-icon { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; position: relative; margin-bottom: 18px; }

.asc-intro__point-icon::after { content: ''; position: absolute; inset: 0; background: rgba(153, 124, 55, 0.08); border-radius: 50%; }

.asc-intro__point-icon svg { width: 22px; height: 22px; stroke: #997c37; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; position: relative; z-index: 1; }

.asc-intro__point-title { font-family: 'Playfair Display', serif; font-size: 1.2rem; font-weight: 600 !important; color: #000; margin: 0 0 8px; line-height: 1.3; text-transform: uppercase; }

.asc-intro__point-desc { font-size: 0.90rem; font-weight: 300; color: #5e5541; line-height: 1.75; margin: 0; }

/* Responsive */
@media (max-width: 900px) { .asc-intro__top { grid-template-columns: 1fr; } .asc-intro__img-col { min-height: 320px; } .asc-intro__img-col::before { display: none; } .asc-intro__left { padding: 60px 6vw 40px; } .asc-intro__points { grid-template-columns: 1fr 1fr; } .asc-intro__point:nth-child(2) { border-right: none; padding-right: 0; } .asc-intro__point:nth-child(3) { border-right: 1px solid #e8e6e1; padding-left: 0; } .asc-intro__bottom { padding: 0 6vw 60px; } }

@media (max-width: 560px) { .asc-intro__points { grid-template-columns: 1fr; } .asc-intro__point { border-right: none !important; border-bottom: 1px solid #e8e6e1; padding: 28px 0 !important; } .asc-intro__point:last-child { border-bottom: none; } }

/*====================================================================== PRESTATIONS DU SERVICE ====================================================================*/
.asc-prest { width: 100%; background: #000; padding: 90px 7vw; font-family: 'Lato', sans-serif; box-sizing: border-box; position: relative; overflow: hidden; }

.asc-prest *, .asc-prest *::before, .asc-prest *::after { box-sizing: border-box; }

/* Losanges déco */
.asc-prest__deco { position: absolute; border: 1.5px solid rgba(153, 124, 55, 0.15); transform: rotate(45deg); pointer-events: none; }

.asc-prest__deco--1 { width: 80px; height: 80px; top: 52px; right: 7vw; }

.asc-prest__deco--2 { width: 48px; height: 48px; top: 82px; right: calc(7vw + 32px); border-color: rgba(153, 124, 55, 0.08); }

.asc-prest__deco--3 { width: 64px; height: 64px; bottom: 60px; left: 5vw; border-color: rgba(153, 124, 55, 0.1); }

.asc-prest__deco--4 { width: 38px; height: 38px; bottom: 88px; left: calc(5vw + 26px); border-color: rgba(153, 124, 55, 0.07); }

/* Header */
.asc-prest__header { margin-bottom: 52px; }

.asc-prest__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: #997c37; display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }

.asc-prest__eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: #997c37; flex-shrink: 0; }

.asc-prest__title { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 2.8vw, 2.6rem); font-weight: 700 !important; color: #fff; margin: 0; line-height: 1.15; text-transform: uppercase; }

/* Grille 3 colonnes */
.asc-prest__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* Carte */
.asc-prest__card { border: 1px solid rgba(153, 124, 55, 0.2); display: flex; flex-direction: column; position: relative; }

/* Barre dorée top */
.asc-prest__card::before { content: ''; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, #997c37, #bab8b2); z-index: 1; }

/* Photo */
.asc-prest__photo { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; flex-shrink: 0; }

.asc-prest__photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }

/* Numéro sur la photo */
.asc-prest__photo-num { position: absolute; bottom: 14px; left: 18px; font-family: 'Playfair Display', serif; font-size: 3rem; font-weight: 700; color: rgba(255, 255, 255, 0.2); line-height: 1; letter-spacing: -2px; pointer-events: none; z-index: 1; }

/* Overlay léger bas de photo */
.asc-prest__photo::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 60%; background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%); pointer-events: none; }

/* Corps de la card */
.asc-prest__body { padding: 32px 32px 36px; display: flex; flex-direction: column; flex: 1; }

/* Icône + titre */
.asc-prest__card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }

.asc-prest__icon { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; position: relative; flex-shrink: 0; }

.asc-prest__icon::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: rgba(153, 124, 55, 0.1); }

.asc-prest__icon svg { width: 20px; height: 20px; stroke: #997c37; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; position: relative; z-index: 1; }

.asc-prest__card-title { font-family: 'Playfair Display', serif; font-size: 1.2rem; font-weight: 700 !important; color: #fff; margin: 0; line-height: 1.25; text-transform: uppercase; }

/* Séparateur */
.asc-prest__card-divider { width: 32px; height: 1px; background: linear-gradient(90deg, #997c37, #bab8b2); margin-bottom: 20px; }

/* Liste */
.asc-prest__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }

.asc-prest__list li { display: flex; align-items: flex-start; gap: 10px; font-size: 0.93rem; font-weight: 300; color: #bab8b2; line-height: 1.5; }

.asc-prest__list li::before { content: ''; width: 5px; height: 5px; min-width: 5px; background: #997c37; border-radius: 50%; margin-top: 6px; }

/* Responsive */
@media (max-width: 860px) { .asc-prest__grid { grid-template-columns: 1fr; gap: 16px; } .asc-prest { padding: 60px 6vw; } .asc-prest__header { margin-bottom: 36px; } }

/*================================================================== PRESTATION DU SERVICE 2 =====================================================================*/
.asc-zing { width: 100%; background: #fff; font-family: 'Lato', sans-serif; box-sizing: border-box; position: relative; overflow: hidden; }

.asc-zing *, .asc-zing *::before, .asc-zing *::after { box-sizing: border-box; }

/* Losanges déco */
.asc-zing__deco { position: absolute; border: 1.5px solid rgba(153, 124, 55, 0.18); transform: rotate(45deg); pointer-events: none; z-index: 0; }

.asc-zing__deco--1 { width: 72px; height: 72px; bottom: 48px; right: 7vw; }

.asc-zing__deco--2 { width: 44px; height: 44px; bottom: 78px; right: calc(7vw + 30px); border-color: rgba(153, 124, 55, 0.09); }

/* Layout : image gauche, contenu droite */
.asc-zing__inner { display: grid; grid-template-columns: 1fr 1fr; position: relative; z-index: 1; }

/* IMAGE */
.asc-zing__img-col { position: relative; min-height: 560px; overflow: hidden; }

.asc-zing__img-col img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s ease; }

/* Coin doré bas-droite */
.asc-zing__img-corner { position: absolute; bottom: 24px; right: 24px; width: 44px; height: 44px; border-right: 2px solid #997c37; border-bottom: 2px solid #997c37; z-index: 2; pointer-events: none; }

/* Bandeau texte sur l'image */
.asc-zing__img-quote { position: absolute; bottom: 0; left: 0; right: 0; padding: 32px 36px; background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 100%); z-index: 2; }

.asc-zing__img-quote p { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.3rem; color: rgba(255, 255, 255, 0.85); line-height: 1.7; margin: 0; }

.asc-zing__img-quote span { display: block; width: 32px; height: 1px; background: #997c37; margin-bottom: 14px; }

/* CONTENU droite */
.asc-zing__content { padding: 80px 7vw 80px 60px; display: flex; flex-direction: column; justify-content: center; }

.asc-zing__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: #997c37; display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }

.asc-zing__eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: #997c37; flex-shrink: 0; }

.asc-zing__title { font-family: 'Playfair Display', serif; font-size: clamp(1.7rem, 2.5vw, 2.4rem); font-weight: 700 !important; color: #000; line-height: 1.15; margin: 0 0 28px; text-transform: uppercase; }

.asc-zing__divider { width: 52px; height: 2px; background: linear-gradient(90deg, #997c37, #bab8b2); margin-bottom: 28px; }

.asc-zing__text { font-size: 0.93rem; font-weight: 300; color: #5e5541; line-height: 1.9; margin: 0 0 36px; }

/* Prestations */
.asc-zing__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; border-top: 1px solid #e8e6e1; }

.asc-zing__list li { display: flex; align-items: center; gap: 16px; font-size: 0.9rem; font-weight: 400; color: #000; padding: 14px 0; border-bottom: 1px solid #e8e6e1; letter-spacing: 0.3px; }

.asc-zing__list li svg { width: 16px; height: 16px; stroke: #997c37; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* Responsive */
@media (max-width: 860px) { .asc-zing__inner { grid-template-columns: 1fr; } .asc-zing__img-col { min-height: 320px; } .asc-zing__content { padding: 60px 6vw; } }

/*========================================================================= CTA =============================================================================*/
.asc-cta { width: 100%; position: relative; overflow: hidden; font-family: 'Lato', sans-serif; box-sizing: border-box; }

.asc-cta *, .asc-cta *::before, .asc-cta *::after { box-sizing: border-box; }

/* Photo fond */
.asc-cta__bg { position: absolute; inset: 0; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F43edva8TszUCzEIJZv7VDJl8Llu1%2Fimages%2FFond_CTA_r0ue.webp"); background-size: cover; background-position: center 40%; background-attachment: scroll; }

/* Overlay */
.asc-cta__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.78); }

/* Trait doré haut et bas */
.asc-cta__rule-top, .asc-cta__rule-bot { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(to right, transparent, #997c37 30%, #bab8b2 60%, transparent); }

.asc-cta__rule-top { top: 0; }

.asc-cta__rule-bot { bottom: 0; }

/* Losanges déco */
.asc-cta__deco { position: absolute; border: 1.5px solid rgba(153, 124, 55, 0.2); transform: rotate(45deg); pointer-events: none; z-index: 1; }

.asc-cta__deco--1 { width: 60px; height: 60px; top: 36px; left: 7vw; }

.asc-cta__deco--2 { width: 36px; height: 36px; top: 56px; left: calc(7vw + 24px); border-color: rgba(153, 124, 55, 0.1); }

.asc-cta__deco--3 { width: 60px; height: 60px; bottom: 36px; right: 7vw; }

.asc-cta__deco--4 { width: 36px; height: 36px; bottom: 56px; right: calc(7vw + 24px); border-color: rgba(153, 124, 55, 0.1); }

/* Contenu centré */
.asc-cta__inner { position: relative; z-index: 2; padding: 100px 7vw; display: flex; flex-direction: column; align-items: center; text-align: center; }

.asc-cta__eyebrow { font-size: 10px; font-weight: 700 !important; letter-spacing: 4px; text-transform: uppercase; color: #997c37; margin-bottom: 20px; display: flex; align-items: center; gap: 12px; }

.asc-cta__eyebrow::before, .asc-cta__eyebrow::after { content: ''; display: block; width: 28px; height: 1px; background: #997c37; flex-shrink: 0; }

.asc-cta__title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 700 !important; color: #fff; line-height: 1.15; margin: 0 0 12px; text-transform: uppercase; }

.asc-cta__title em { font-style: normal; background: linear-gradient(135deg, #997c37 0%, #bab8b2 50%, #997c37 100%); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: asc-shimmer 5s linear infinite; }

@keyframes asc-shimmer { from { background-position: 0% center; }
  to { background-position: 200% center; } }

.asc-cta__sub { font-size: 0.92rem; font-weight: 300; color: #bab8b2; line-height: 1.8; margin: 0 0 52px; max-width: 520px; }

/* Boutons */
.asc-cta__btns { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; justify-content: center; }

/* Bouton primaire — doré */
.asc-cta__btn-primary { display: inline-flex; align-items: center; gap: 10px; padding: 17px 40px; font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 700 !important; letter-spacing: 2.5px; text-transform: uppercase; color: #000; text-decoration: none; background: linear-gradient(135deg, #997c37 0%, #bab8b2 50%, #997c37 100%); background-size: 200% auto; transition: background-position 0.5s ease, box-shadow 0.3s ease, transform 0.3s ease; }

.asc-cta__btn-primary:hover { background-position: right center; box-shadow: 0 12px 40px rgba(153, 124, 55, 0.45); transform: translateY(-2px); }

.asc-cta__btn-primary svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.3s ease; }

.asc-cta__btn-primary:hover svg { transform: translateX(3px); }

/* Bouton secondaire — outline */
.asc-cta__btn-secondary { display: inline-flex; align-items: center; gap: 10px; padding: 16px 40px; font-family: 'Lato', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: #fff; text-decoration: none; border: 1px solid rgba(186, 184, 178, 0.5); background: transparent; transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease; }

.asc-cta__btn-secondary:hover { border-color: #bab8b2; background: rgba(255, 255, 255, 0.06); transform: translateY(-2px); color: white; }

.asc-cta__btn-secondary svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.3s ease; }

.asc-cta__btn-secondary:hover svg { transform: translateX(3px); }

.asc-cta__btn-secondary:visited { color: white !important; }

/* Responsive */
@media (max-width: 560px) { .asc-cta__inner { padding: 80px 6vw; } .asc-cta__btns { flex-direction: column; width: 100%; } .asc-cta__btn-primary, .asc-cta__btn-secondary { width: 100%; justify-content: center; } }

/*======================================================================== BLOC REALISATIONS ===================================================================*/
#custom-gallery { padding-top: 40px; }

@media screen and (min-width: 991px) { #custom-gallery { padding: 60px 30px 30px 30px; } }

#custom-gallery .image { height: 400px !important; margin: 20px 0; border-radius: 0px; }

.img-wrapper { position: relative; height: 100%; margin-top: -15px; }

.img-wrapper img { border-radius: 0px; width: 100%; }

.img-overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; opacity: 0; border-radius: 0px; }

.img-overlay i { color: #997c37; font-size: 3em; }

#overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: fixed; top: 0; left: 0; display: flex; justify-content: center; align-items: center; z-index: 999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

#overlay img { margin: 0; width: 80%; height: 80%; object-fit: contain; padding: 5%; }

@media screen and (min-width: 768px) { #overlay img { width: 60%; } }

@media screen and (min-width: 1200px) { #overlay img { width: 50%; } }

#nextButton, #prevButton, #exitButton { background-color: #997c37; color: #fff; font-size: 1.2em; transition: background-color 0.3s; border: none; border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; }

#nextButton:hover, #prevButton:hover, #exitButton:hover { background-color: #1F0001; }

@media screen and (min-width: 768px) { #nextButton, #prevButton, #exitButton { font-size: 1.6em; width: 50px; height: 50px; } }

#exitButton { position: absolute; top: 115px; right: 15px; }

.img-responsive { height: 100% !important; object-fit: cover !important; }

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