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

.logo-footer img.logo_nav { filter: invert(1); }

/******************************************** NAVBAR ********************************************/
a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { padding: 0 !important; background: transparent; color: #FBF6EF !important; font-size: 1.4rem; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover { transform: none; color: #9C907B !important; }

.navbar.scrolled a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { color: #491609 !important; }

.navbar.scrolled a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover { color: #9C907B !important; }

.animated-border-button:after { height: 1px !important; background: #FBF6EF !important; }

.navbar .container-fluid { padding: 0 3rem !important; }

.navbar-brand { width: fit-content !important; height: 8vh !important; }

#navigation-bar-hide { opacity: 1 !important; top: 0 !important; }

nav.navbar { border-bottom-left-radius: 2rem; border-bottom-right-radius: 2rem; }

.navbar { transition: background .3s ease; }

.navbar.scrolled { background: rgba(251, 246, 239, 0.9) !important; backdrop-filter: blur(4px); }

ul.navbar-nav.d-flex.flex-wrap.justify-content-center.align-items-center.my-4.my-lg-0.mx-auto.text-center { margin: 0 !important; }

div#navbarSupportedContent { justify-content: end; }

.logo_nav { transition: opacity 0.3s ease; display: block; }

.logo_nav_dark { opacity: 0; transition: opacity 0.3s ease; position: absolute; top: 5px; left: 0; width: 100%; height: auto; }

.navbar.scrolled .animated-border-button::after { background: #491609 !important; }

.navbar.scrolled .animated-border-button span { color: #491609 !important; }

.navbar:has(.navbar-collapse.collapse.show) { background: rgba(33, 10, 4, 0.9) !important; backdrop-filter: blur(4px); }

.navbar.scrolled:has(.navbar-collapse.collapse.show) { background: rgba(251, 246, 239, 0.9) !important; backdrop-filter: blur(4px); }

button.navbar-toggler { background: transparent !important; border: none; padding: 0; filter: invert(1); }

button.navbar-toggler.scrolled { filter: invert(0); }

/******************************************** HERO ********************************************/
.hero { position: relative; width: 100%; height: 100vh; min-height: 400px; overflow: hidden; border-bottom-left-radius: 2rem; border-bottom-right-radius: 2rem; }

.hero-bg { position: absolute; inset: 0; background: linear-gradient(45deg, #491609, #210A04); background-size: cover; background-position: center; z-index: 0; }

.hero-title { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; z-index: 1; pointer-events: none; }

.line { display: block; width: 100%; font-family: 'Zalando Sans',sans-serif; font-size: clamp(3rem, 11.5vw, 14rem); font-weight: 900; letter-spacing: -0.03em; color: #FBF6EF; text-transform: uppercase; white-space: nowrap; line-height: 0.9; }

.line-1 { text-align: left; padding-left: clamp(2rem, 3vw, 48px); animation: fadeInLeft 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both; }

.line-2 { text-align: right; padding-right: clamp(2rem, 3vw, 48px); animation: fadeInRight 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both; }

.hero-img { position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); width: auto; height: 100%; max-width: none; object-fit: contain; object-position: top center; z-index: 2; animation: riseIn 1s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both; filter: drop-shadow(0 0 60px rgba(73, 22, 9, 0.28)); }

.hero-bottom { position: absolute; bottom: clamp(16px, 3.5vh, 40px); left: 0; right: 0; display: flex; justify-content: space-between; align-items: flex-end; padding: 0 clamp(2rem, 4vw, 56px); z-index: 3; animation: fadeIn 1s 0.7s both; }

.hero-tagline { max-width: 300px; font-family: 'Zalando Sans Expanded',serif; font-size: clamp(16px, 1.1vw, 14px); line-height: 1.65; color: #FBF6EF; letter-spacing: 0.01em; font-weight: normal; }

.hero-cta { display: flex; align-items: center; gap: 10px; background: #FBF6EF; color: #210A04; padding: 0.5rem 1.25rem !important; border-radius: 100px; font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(13px, 1.1vw, 17px); letter-spacing: 0.08em; cursor: pointer; border: 1px solid #FBF6EF; text-decoration: none; white-space: nowrap; transition: all 0.3s ease; }

.hero-cta:hover { background: transparent; color: #FBF6EF; border: 1px solid #FBF6EF; }

.hero-cta svg { width: clamp(14px, 1.1vw, 18px); height: clamp(14px, 1.1vw, 18px); flex-shrink: 0; }

@media (max-width: 768px) { .hero-img { bottom: auto; top: -25%; height: auto; } .hero-title { bottom: -40%; } .hero-bottom { flex-direction: column; align-items: flex-start; gap: 1rem; } .hero-tagline { max-width: 90%; } .line { width: auto; } }

@keyframes fadeInLeft { from { opacity: 0;
    transform: translateX(-40px); }
  to { opacity: 1;
    transform: translateX(0); } }

@keyframes fadeInRight { from { opacity: 0;
    transform: translateX(40px); }
  to { opacity: 1;
    transform: translateX(0); } }

@keyframes riseIn { from { opacity: 0;
    transform: translateX(-50%) translateY(50px); }
  to { opacity: 1;
    transform: translateX(-50%) translateY(0); } }

@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }

/******************************************** CARDS ACCUEIL ********************************************/
.collection-section { padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 64px); }

.collection-section h2 { font-family: 'Zalando Sans SemiExpanded',sans-serif; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700 !important; text-transform: uppercase; color: #491609; margin-bottom: clamp(24px, 4vw, 48px); width: fit-content; }

.pillar-cards { display: flex; gap: 16px; height: clamp(320px, 50vw, 500px); }

.pillar-card { flex: 1; border-radius: 2rem; overflow: hidden; position: relative; cursor: pointer; transition: flex 0.7s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.7s cubic-bezier(0.4, 0, 0.2, 1); }

.pillar-card.active { flex: 3; box-shadow: 16px 16px 60px rgba(251, 246, 239, 0.05); }

.pillar-card-bg { position: absolute; inset: 0; background: #1a0d07 no-repeat center center / cover; transform: scale(1.06); transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1); }

.pillar-card.active .pillar-card-bg { transform: scale(1); }

.pillar-card-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(33, 10, 4, 0) 20%, rgba(33, 10, 4, 0.92) 100%); opacity: 0.6; transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1); }

.pillar-card-overlay:hover { opacity: 1; }

.pillar-card.active .pillar-card-overlay { opacity: 1; }

.pillar-card-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 2rem; color: #FBF6EF; z-index: 1; }

.pillar-card-title { font-family: 'Zalando Sans Expanded',sans-serif; font-size: 1.5rem; font-weight: 800; letter-spacing: -0.01em; line-height: 1.1; text-transform: uppercase; white-space: nowrap; margin-bottom: 12px; }

.pillar-card-title p { margin-bottom: 0 !important; }

.pillar-card-content { display: grid; grid-template-rows: 0fr; opacity: 0; transform: translateY(10px); transition: grid-template-rows 0.65s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; }

.pillar-card.active .pillar-card-content { grid-template-rows: 1fr; opacity: 1; transform: translateY(0); }

.pillar-card-content-inner { overflow: hidden; }

.pillar-card-content p { font-family: 'Zalando Sans SemiExpanded',sans-serif; font-size: 1rem; line-height: 1.65; color: rgba(251, 246, 239, 0.8); padding-top: 2px; }

.pillar-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-family: 'Zalando Sans Expanded',sans-serif; font-size: 1rem; text-transform: uppercase; color: #9C907B; box-shadow: 0 1px #9C907B; padding-bottom: 0.3rem; text-decoration: none; transition: all 0.3s ease; }

.pillar-card-link:hover { font-weight: 600; box-shadow: 0 1.7px #FBF6EF; color: #9C907B; }

.pillar-card-link svg { width: 13px; height: 13px; flex-shrink: 0; }

@media (max-width: 600px) { .pillar-cards { flex-direction: column; height: auto; gap: 12px; } .pillar-card { flex: none; height: 16vh; border-radius: 14px; transition: height 0.7s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.7s cubic-bezier(0.4, 0, 0.2, 1); } .pillar-card.active { flex: none; height: 50vh; } .pillar-card-title { margin-bottom: 0; } .pillar-card.active .pillar-card-title { margin-bottom: 12px; } }

/******************************************** A PROPOS ********************************************/
.feature { display: grid; grid-template-columns: 35% 1fr; min-height: clamp(420px, 60vw, 680px); border-radius: 2rem; overflow: hidden; background: linear-gradient(45deg, #9C907B, #210A04 90%); }

.feature-img { position: relative; overflow: hidden; }

.feature-img img { position: absolute; inset: 0; width: 110%; left: -10%; top: 0; object-fit: contain; transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1); }

.feature-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 5vw, 72px) clamp(28px, 5vw, 64px); gap: 0; }

.feature-eyebrow { font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.65rem, 0.8vw, 0.75rem); font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: #9C907B; margin-bottom: clamp(14px, 2vw, 20px); }

.feature-title { font-family: 'Zalando Sans SemiExpanded',sans-serif; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700 !important; line-height: 1; text-transform: uppercase; color: #FBF6EF; margin-bottom: clamp(20px, 3vw, 32px); }

.feature-rule { width: 36px; height: 2px; background: #9C907B; margin-bottom: clamp(20px, 3vw, 32px); border-radius: 1px; }

.feature-text { font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.85rem, 1vw, 1rem); line-height: 1.75; color: #FBF6EF; margin-bottom: clamp(28px, 4vw, 48px); }

.feature-cta { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; background: transparent; color: #FBF6EF; padding: 0.5rem 1.25rem; border-radius: 100px; font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.75rem, 0.9vw, 0.9rem); letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; border: 1px solid #FBF6EF; cursor: pointer; transition: all 0.3s ease; }

.feature-cta:hover { background: #FBF6EF; color: #210A04; border: 1px solid #FBF6EF; transform: scale(1.02); }

.feature-cta svg { width: 14px; height: 14px; flex-shrink: 0; transition: transform 0.3s ease; }

@media (min-width: 1400px) { .feature-img img { top: auto; bottom: -30%; } }

@media (max-width: 700px) { .feature { grid-template-columns: 1fr; grid-template-rows: 40vh 1fr; border-radius: 18px; background: linear-gradient(45deg, #210A04 50%, #9C907B); } .feature-title { font-size: clamp(1.8rem, 8vw, 2.4rem); } .feature-img img { width: 80%; left: -10%; top: auto; bottom: 0; object-fit: contain; transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1); } }

/******************************************** GALERIE ********************************************/
.gallery-section { width: 100%; padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 64px); }

.gallery-header { display: flex; justify-content: space-between; align-items: flex-end; gap: clamp(24px, 4vw, 64px); margin-bottom: clamp(32px, 5vw, 56px); }

.gallery-title { font-family: 'Zalando Sans SemiExpanded',sans; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700 !important; text-transform: uppercase; color: #491609; line-height: 1; flex: 1; }

.gallery-header-left { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; max-width: 800px; padding-top: 6px; width: 100%; }

.gallery-header-left p { margin-bottom: 0 !important; }

.gallery-description { font-family: 'Zalando Sans Expanded',serif; font-size: clamp(0.8rem, 1vw, 0.95rem); line-height: 1.7; color: #210A04; letter-spacing: 0.01em; }

.gallery-cta { display: inline-flex; align-items: center; gap: 10px; background: #491609; color: #FBF6EF; padding: 0.55rem 1.4rem; border-radius: 100px; font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.7rem, 0.85vw, 0.85rem); text-transform: uppercase; border: 1px solid #491609; text-decoration: none; white-space: nowrap; transition: all 0.3s ease; }

.gallery-cta:hover { background: transparent; color: #491609; border: 1px solid #491609; }

.gallery-cta svg { width: 13px; height: 13px; flex-shrink: 0; transition: transform 0.3s ease; }

.gallery-cta:hover svg { transform: translateX(3px); }

.gallery-grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-template-rows: clamp(180px, 28vw, 340px) clamp(160px, 22vw, 280px); gap: 12px; }

.gi-1 { grid-column: 1; grid-row: 1; }

.gi-2 { grid-column: 2; grid-row: 1; }

.gi-3 { grid-column: 3/5; grid-row: 1; }

.gi-4 { grid-column: 1/3; grid-row: 2; }

.gi-5 { grid-column: 3; grid-row: 2; }

.gi-6 { grid-column: 4; grid-row: 2; }

.gallery-item { position: relative; border-radius: 1.25rem; overflow: hidden; cursor: pointer; background: #2a1208; opacity: 0; transform: translateY(32px) scale(0.97); transition: opacity 1.25s ease,transform 1.25s ease,box-shadow 0.4s ease; }

.gi-1 { transition-delay: 0s; }

.gi-2 { transition-delay: 0.08s; }

.gi-3 { transition-delay: 0.16s; }

.gi-4 { transition-delay: 0.22s; }

.gi-5 { transition-delay: 0.3s; }

.gi-6 { transition-delay: 0.38s; }

.gallery-item.visible { opacity: 1; transform: translateY(0) scale(1); }

.gallery-item img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1), filter 0.9s cubic-bezier(0.4, 0, 0.2, 1); }

@media (max-width: 768px) { .gallery-header { flex-direction: column; align-items: flex-start; gap: 20px; } .gallery-header-right { align-items: flex-start; max-width: 100%; } .gallery-description { text-align: left; } .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4, clamp(140px, 36vw, 220px)); } .gi-1 { grid-column: 1; grid-row: 1; } .gi-2 { grid-column: 2; grid-row: 1; } .gi-3 { grid-column: 1/3; grid-row: 2; } .gi-4 { grid-column: 1/3; grid-row: 3; } .gi-5 { grid-column: 1; grid-row: 4; } .gi-6 { grid-column: 2; grid-row: 4; } }

@media (max-width: 480px) { .gallery-item { border-radius: 0.9rem; } .gallery-grid { gap: 8px; } .gallery-title { font-size: clamp(1.8rem, 8vw, 2.4rem); } }

/******************************************** AVIS ********************************************/
.trust-section { padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 64px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 100px); align-items: center; background: linear-gradient(135deg, #210A04 0%, #491609 100%); border-radius: 2rem; }

.trust-left { display: flex; flex-direction: column; gap: clamp(32px, 4vw, 52px); }

.trust-title { font-family: 'Zalando Sans SemiExpanded','Georgia',serif; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700 !important; text-transform: uppercase; color: #FBF6EF; line-height: 0.88; letter-spacing: -0.03em; }

.trust-partners-label { font-family: 'Zalando Sans Expanded','Georgia',sans-serif; font-size: clamp(0.6rem, 0.75vw, 0.7rem); font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: #9C907B; margin-bottom: 20px; }

.trust-logos { display: flex; align-items: start; flex-wrap: wrap; gap: 2rem; width: 100%; position: relative; }

.trust-logos a.trust-logo:hover .trust-logo-item { filter: brightness(0.615) sepia(0.25) saturate(0.95); }

.trust-logo-item { height: 4rem; display: flex; align-items: center; justify-content: center; transition: all .3s ease; }

.trust-logo-item:nth-child(1) { transition-delay: .0s; }

.trust-logo-item:nth-child(2) { transition-delay: .07s; }

.trust-logo-item:nth-child(3) { transition-delay: .14s; }

.trust-logo-item svg { width: auto; height: clamp(16px, 2vw, 24px); opacity: 0.85; fill: #FBF6EF; flex-shrink: 0; }

.trust-right { position: relative; min-width: 0; transform: translateX(28px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.2s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.2s; }

.trust-right.visible { opacity: 1; transform: translateX(0); }

.trust-carousel-track-wrapper { overflow: hidden; border-radius: 2rem; position: relative; }

.trust-carousel-track { width: 100%; display: flex; transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); position: relative; }

.trust-carousel-slide { min-width: 100%; background: #FBF6EF; border-radius: 2rem; padding: 3rem; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }

.trust-carousel-slide::before { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E"); background-size: 180px; opacity: .18; pointer-events: none; border-radius: inherit; }

.slide-quote { font-family: 'Zalando Sans Expanded','Georgia',serif; font-size: clamp(0.85rem, 1.1vw, 1.05rem); line-height: 1.75; color: #210A04; position: relative; }

.slide-author { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }

.slide-author-name { font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.75rem, 0.9vw, 0.9rem); text-transform: uppercase; letter-spacing: .08em; color: #491609; line-height: 1.2; }

.slide-author-name p { display: flex; flex-direction: column-reverse; gap: 0.25rem; }

.slide-author-name p span:nth-child(2) { font-size: 0.75rem; }

.slide-stars { display: flex; gap: 3px; }

.trust-carousel-controls { display: flex; align-items: center; justify-content: space-between; margin-top: 20px; padding: 0 2px; }

.trust-carousel-dots { display: flex; gap: 8px; align-items: center; }

.trust-carousel-dot { width: 6px; height: 6px; border-radius: 100px; background: #9C907B; cursor: pointer; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); border: none; }

.trust-carousel-dot.active { width: 24px; background: #FBF6EF; }

.trust-carousel-arrows { display: flex; gap: 8px; }

.trust-carousel-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #9C907B; background: transparent; color: #9C907B; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .3s ease; }

.trust-carousel-arrow:hover { background: #491609; border-color: #FBF6EF; color: #FBF6EF; }

.trust-carousel-arrow svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

.bi.bi-quote { font-size: 6rem; color: #491609; }

.bi-star-fill { color: #210A04; }

@media (max-width: 860px) { .trust-section { grid-template-columns: 1fr; gap: clamp(40px, 8vw, 64px); } }

@media (max-width: 480px) { .trust-carousel-slide { border-radius: 1.25rem; padding: 1rem; } .trust-carousel-track-wrapper { border-radius: 1.25rem; } .trust-logo-item { height: 2rem; transform: translateY(0); } .trust-logos { gap: 1rem; } .bi.bi-quote { font-size: 4rem; } .trust-right { transform: translateX(0); } .trust-title { font-size: clamp(1.8rem, 8vw, 2.4rem); } }

/******************************************** PARTENAIRES ********************************************/
.partenaires { margin: 0 auto 5rem; width: 80%; height: auto; display: flex; justify-content: center; align-items: center; gap: 2rem; }

.partenaires a { width: 20%; }

.partenaire-img { width: 100%; transition: all 0.3s ease; }

.partenaires a:hover .partenaire-img { filter: brightness(2.1) saturate(1.15); }

/******************************************** BLOC SEO ********************************************/
.mx-auto.shadow-lg, .card.shadow-lg { box-shadow: none !important; }

.card.card-cover.h-100.overflow-hidden.rounded-4.shadow-lg { background-size: 105% auto !important; border-radius: 2rem !important; }

.display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5 { margin-bottom: 1.5rem !important; }

.display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5 h3 { display: flex; flex-direction: column; gap: 0.5rem; }

.display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5 h3 strong:nth-child(1) span { font-size: clamp(1.8rem, 8vw, 2.2rem); }

.display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5 h3 strong:nth-child(2) span { letter-spacing: 1.4px; }

.black-screen { background-color: #210A04 !important; }

.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, .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.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 { margin: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 64px) !important; padding: 0 !important; }

.row.align-items-center.g-5.py-2.px-4.mt-2.position-relative.z-1 { padding: 0 !important; }

.first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { opacity: 0; transform: translateX(48px); transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }

.first-activity-div .card-cover, .third-activity-div .card-cover { transform: translateX(-48px); }

.second-activity-div .card-cover { transform: translateX(48px); }

.first-activity-div .col-lg-7, .second-activity-div .col-lg-7, .third-activity-div .col-lg-7 { opacity: 0; transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.15s, transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.15s; }

.first-activity-div .col-lg-7, .third-activity-div .col-lg-7 { transform: translateX(48px); }

.second-activity-div .col-lg-7 { transform: translateX(-48px); }

.first-activity-div.in-view .card-cover, .second-activity-div.in-view .card-cover, .third-activity-div.in-view .card-cover, .first-activity-div.in-view .col-lg-7, .second-activity-div.in-view .col-lg-7, .third-activity-div.in-view .col-lg-7 { opacity: 1; transform: translateX(0); }

.first-activity-div, .second-activity-div, .third-activity-div { opacity: 0; transform: translateY(24px); transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }

.first-activity-div.in-view, .second-activity-div.in-view, .third-activity-div.in-view { opacity: 1; transform: translateY(0); }

.feature-centered { position: relative; border-radius: 24px; overflow: hidden; min-height: clamp(320px, 40vw, 520px); display: flex; margin: 0 2rem; align-items: center; justify-content: center; }

.feature-centered-bg { position: absolute; inset: 0; background-size: cover !important; background-position: center !important; transform: scale(1.04); transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1); }

.feature-centered:hover .feature-centered-bg { transform: scale(1); }

.feature-centered-overlay { position: absolute; inset: 0; background: linear-gradient(45deg, #491609, rgba(73, 22, 9, 0.4)); }

.feature-centered-body { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: clamp(40px, 6vw, 80px) clamp(28px, 10vw, 160px); gap: 0; width: 100%; }

.feature-centered-title { font-family: 'Zalando Sans SemiExpanded',sans-serif; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700 !important; letter-spacing: -0.03em; line-height: 0.95; text-transform: uppercase; color: #FBF6EF; margin-bottom: clamp(20px, 3vw, 28px); }

.feature-centered-rule { width: 15%; height: 2px; background: #FBF6EF; border-radius: 1px; margin-bottom: clamp(20px, 3vw, 28px); }

.feature-centered-text { font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.85rem, 1vw, 1rem); line-height: 1.75; color: #FBF6EF; max-width: 700px; margin-bottom: clamp(28px, 4vw, 44px); }

.feature-centered-cta { display: inline-flex; align-items: center; gap: 10px; background: #FBF6EF; color: #491609; padding: clamp(11px, 1.1vw, 15px) clamp(22px, 2vw, 32px); border-radius: 100px; border: 1px solid #FBF6EF; font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.7rem, 0.85vw, 0.85rem); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: all 0.3s ease; }

.feature-centered-cta:hover { background: transparent; border-color: #FBF6EF; color: #FBF6EF; }

.feature-centered-cta svg { width: 13px; height: 13px; flex-shrink: 0; transition: transform 0.3s ease; }

@media (max-width: 600px) { .feature-centered { border-radius: 16px; } .feature-centered-body { padding: 10vh clamp(20px, 6vw, 32px); } .feature-centered-title { font-size: clamp(1.8rem, 8vw, 2.4rem); } }

.mhero { position: relative; width: 100%; overflow: hidden; background: linear-gradient(#491609, #210A04); background-blend-mode: overlay; background-size: cover; border-bottom-left-radius: 2rem; border-bottom-right-radius: 2rem; }

.mhero-top { position: relative; z-index: 2; padding-top: 20vh; }

.mhero-line { display: block; width: 100%; margin: auto; font-family: 'Zalando Sans',sans-serif; font-size: clamp(2rem, 6.5vw, 5.7rem); font-weight: 900; letter-spacing: -0.03em; color: #f5ede0; text-transform: uppercase; white-space: nowrap; line-height: 0.92; }

.mhero-line-1 { text-align: left; padding: 0 10vw; margin-bottom: 2rem; animation: fadeInLeft 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both; }

.mhero-line-2 { text-align: right; padding: 0 10vw; animation: fadeInRight 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both; }

.mhero-img-wrap { position: absolute; bottom: -10%; left: 40%; margin-left: -20%; width: 60%; z-index: 3; animation: imgRise 1s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both; }

.mhero-img-wrap2 { position: absolute; bottom: -10%; left: 40%; margin-left: -20%; width: 60%; z-index: 1; animation: imgRise 1s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both; }

.mhero-img { height: 100%; width: 100%; object-fit: contain; object-position: bottom center; display: block; mask-image: linear-gradient(to bottom, black, transparent 90%); -webkit-mask-image: linear-gradient(to bottom, black, transparent 90%); }

.mhero-desc { position: relative; z-index: 4; background: transparent; display: flex; justify-content: center; flex-direction: column; padding: clamp(80px, 14vw, 180px) clamp(20px, 8vw, 120px) clamp(40px, 6vw, 72px); animation: fadeIn 1s 0.6s both; }

.mhero-desc p { font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.85rem, 1.1vw, 1.05rem); line-height: 1.75; color: #f5ede0; text-align: center; max-width: 1000px; margin: auto; margin-bottom: 0 !important; opacity: 0.85; }

@keyframes fadeInLeft { from { opacity: 0;
    transform: translateX(-40px); }
  to { opacity: 1;
    transform: translateX(0); } }

@keyframes fadeInRight { from { opacity: 0;
    transform: translateX(40px); }
  to { opacity: 1;
    transform: translateX(0); } }

@keyframes imgRise { from { opacity: 0;
    transform: translateY(40px); }
  to { opacity: 1;
    transform: translateY(0); } }

@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }

@media (max-width: 1572px) { .mhero-line { white-space: normal; } .mhero-img-wrap, .mhero-img-wrap2 { width: 50%; height: auto; left: 45%; } }

@media (max-width: 768px) { .mhero-line { white-space: normal; font-size: clamp(1.6rem, 9vw, 2.6rem); } .mhero-img-wrap, .mhero-img-wrap2 { width: 90%; height: auto; left: 25%; } }

@media (max-width: 500px) { .mhero-line { white-space: normal; font-size: clamp(1.6rem, 9vw, 2.6rem); } .mhero-img-wrap, .mhero-img-wrap2 { width: 110%; height: auto; left: 15%; } }

.container.my-5.col-lg-11.photoText-div { margin: 0 !important; width: 100%; max-width: 100%; }

.container.my-5.col-lg-11.photoText-div p { font-size: 1rem !important; }

.photoText-div .row.p-4.pb-0.pe-lg-0.pt-lg-5.pb-lg-5.rounded-3.shadow-lg.justify-content-center.position-relative.bg-primaryColor.text-color-primary { box-shadow: none !important; align-items: stretch; padding: clamp(40px, 6vw, 80px) 0 clamp(40px, 6vw, 80px) clamp(20px, 5vw, 64px) !important; justify-content: space-between !important; }

.photoText-div .col-lg-5.offset-lg-1.p-0.m-2.overflow-hidden.position-relative.z-1 { margin: 0 !important; }

.photoText-div img.rounded-lg-3 { height: 100%; object-fit: cover; }

#carte.photoText-div img.rounded-lg-3 { object-fit: contain; height: 100%; width: 100%; }

.photoText-div .col-lg-6.p-3.p-lg-4.pt-lg-2.position-relative.z-1 { padding: 2rem 0 !important; display: flex; align-items: center !important; }

.photoText-div .col-lg-5.offset-lg-1.p-0.m-2.overflow-hidden.position-relative.z-1 { border-bottom-left-radius: 2rem; border-top-left-radius: 2rem; }

.photoText-div h2 { font-size: clamp(2rem, 4vw, 3.6rem); margin-bottom: 1rem !important; }

@media screen and (max-width: 992px) { .photoText-div .row.p-4.pb-0.pe-lg-0.pt-lg-5.pb-lg-5.rounded-3.shadow-lg.justify-content-center.position-relative.bg-primaryColor.text-color-primary { padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 64px) !important; } .photoText-div h2 { font-size: clamp(1.8rem, 8vw, 2.4rem); } .photoText-div .col-lg-5.offset-lg-1.p-0.m-2.overflow-hidden.position-relative.z-1 { border-radius: 2rem; } }

#inverse .row.p-4.pb-0.pe-lg-0.pt-lg-5.pb-lg-5.rounded-3.shadow-lg.justify-content-center.position-relative.bg-primaryColor.text-color-primary { flex-direction: row-reverse; padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 64px) clamp(40px, 6vw, 80px) 0 !important; }

#inverse.photoText-div .col-lg-5.offset-lg-1.p-0.m-2.overflow-hidden.position-relative.z-1 { border-bottom-left-radius: 0; border-top-left-radius: 0; border-bottom-right-radius: 2rem; border-top-right-radius: 2rem; }

#instal .feature-title { display: flex; flex-direction: column; gap: 0.5rem; }

#instal .feature-title span { font-size: clamp(1.8rem, 8vw, 2.2rem); font-weight: 400; font-family: 'Zalando Sans Expanded'; color: #9C907B; }

#instal .feature-text { margin-bottom: 0; }

.photoText-div, .feature { opacity: 0; transform: translateY(32px); transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); }

/* Colonne texte des photoText : depuis la gauche */
.photoText-div .col-lg-6 { opacity: 0; transform: translateX(-36px); transition: opacity 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.15s, transform 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.15s; }

/* Colonne image des photoText : depuis la droite */
.photoText-div .col-lg-5 { opacity: 0; transform: translateX(36px); transition: opacity 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.25s, transform 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.25s; }

/* Bloc inversé (#inverse) : sens opposé */
#inverse.photoText-div .col-lg-6 { transform: translateX(36px); }

#inverse.photoText-div .col-lg-5 { transform: translateX(-36px); }

/* Feature : image depuis la gauche, texte depuis la droite */
.feature .feature-img { opacity: 0; transform: translateX(-36px); transition: opacity 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.15s, transform 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.15s; }

.feature .feature-body { opacity: 0; transform: translateX(36px); transition: opacity 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.25s, transform 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.25s; }

/* ───────────────────────────────────────── État final : tout en place ───────────────────────────────────────── */
.photoText-div.in-view, .feature.in-view { opacity: 1; transform: translateY(0); }

.photoText-div.in-view .col-lg-6, .photoText-div.in-view .col-lg-5, .feature.in-view .feature-img, .feature.in-view .feature-body { opacity: 1; transform: translateX(0); }

.frag-section { padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 64px); }

.frag-grid { display: grid; gap: 12px; height: clamp(420px, 62vw, 700px); position: relative; grid-template-columns: 1fr 1.6fr 1fr 1.6fr; }

.frag-col { border-radius: 2rem; overflow: hidden; position: relative; opacity: 0; transform: translateY(48px); transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }

.frag-col:nth-child(1) { transition-delay: 0s; }

.frag-col:nth-child(2) { transition-delay: 0.1s; }

.frag-col:nth-child(3) { transition-delay: 0.2s; }

.frag-col:nth-child(4) { transition-delay: 0.3s; }

.frag-grid.in-view .frag-col { opacity: 1; transform: translateY(0); }

.frag-bg { position: absolute; top: 0; height: 100%; background-size: cover; background-position: center; transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1); will-change: transform; }

.frag-col:hover .frag-bg { transform: scale(1.04); }

.frag-col.is-text { display: flex; flex-direction: column; }

.frag-text-img { flex: 1; position: relative; overflow: hidden; border-radius: 2rem; }

.frag-text-body { flex: 0 0 auto; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(14px, 1.8vw, 24px); opacity: 0; transform: translateY(16px); transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }

.frag-grid.in-view .frag-text-body { opacity: 1; transform: translateY(0); }

.frag-col:nth-child(1) .frag-text-body { transition-delay: 0.5s; }

.frag-col:nth-child(2) .frag-text-body { transition-delay: 0.55s; }

.frag-col:nth-child(3) .frag-text-body { transition-delay: 0.6s; }

.frag-col:nth-child(4) .frag-text-body { transition-delay: 0.65s; }

.frag-col.is-text.no-img-top .frag-text-body { padding: clamp(20px, 2.5vw, 36px); }

.frag-eyebrow { font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #9C907B; margin-bottom: clamp(6px, 0.8vw, 10px); }

.frag-title { font-family: 'Zalando Sans SemiExpanded',sans-serif; font-size: clamp(1.2rem, 2.7vw, 2.8rem); font-weight: 700 !important; letter-spacing: -0.03em; line-height: 1; text-transform: uppercase; color: #491609; margin-bottom: 1rem; }

.frag-rule { width: 30%; height: 2px; background: #9C907B; border-radius: 1px; margin-bottom: 0; }

.frag-desc { font-family: 'Zalando Sans Expanded',sans-serif; font-size: clamp(0.75rem, 0.95vw, 1rem); line-height: 1.75; color: #210A04; }

@media (max-width: 768px) { .frag-title { font-size: 2rem; } .frag-grid { grid-template-columns: 1fr 1fr !important; grid-template-rows: 240px 240px; height: auto; gap: 10px; } .frag-col.is-text { min-height: 0; } .frag-grid[data-variant="A"] .frag-col:nth-child(1) { grid-column: 1; grid-row: 1; } .frag-grid[data-variant="A"] .frag-col:nth-child(2) { grid-column: 2; grid-row: 1; } .frag-grid[data-variant="A"] .frag-col:nth-child(3) { grid-column: 1; grid-row: 2; } .frag-grid[data-variant="A"] .frag-col:nth-child(4) { grid-column: 2; grid-row: 2; } .frag-grid[data-variant="B"] .frag-col:nth-child(1) { grid-column: 1; grid-row: 2; } .frag-grid[data-variant="B"] .frag-col:nth-child(2) { grid-column: 1; grid-row: 1; } .frag-grid[data-variant="B"] .frag-col:nth-child(3) { grid-column: 2; grid-row: 1; } .frag-grid[data-variant="B"] .frag-col:nth-child(4) { grid-column: 2; grid-row: 2; } .frag-grid[data-variant="C"] .frag-col:nth-child(1) { grid-column: 1; grid-row: 1; } .frag-grid[data-variant="C"] .frag-col:nth-child(2) { grid-column: 2; grid-row: 1; } .frag-grid[data-variant="C"] .frag-col:nth-child(3) { grid-column: 2; grid-row: 2; } .frag-grid[data-variant="C"] .frag-col:nth-child(4) { grid-column: 1; grid-row: 2; } .frag-grid[data-variant="D"] .frag-col:nth-child(1) { grid-column: 1; grid-row: 2; } .frag-grid[data-variant="D"] .frag-col:nth-child(2) { grid-column: 1; grid-row: 1; } .frag-grid[data-variant="D"] .frag-col:nth-child(3) { grid-column: 2; grid-row: 2; } .frag-grid[data-variant="D"] .frag-col:nth-child(4) { grid-column: 2; grid-row: 1; } }

@media (max-width: 480px) { .frag-grid { grid-template-columns: 1fr !important; grid-template-rows: 260px auto auto; height: auto; gap: 10px; } .frag-col[data-role="img-extra"] { display: none !important; } .frag-col[data-role="titre"] .frag-text-img, .frag-col[data-role="texte"] .frag-text-img { display: none; } .frag-col[data-role="img-main"] { grid-column: 1 !important; grid-row: 1 !important; min-height: 260px; } .frag-col[data-role="titre"] { grid-column: 1 !important; grid-row: 2 !important; height: auto; min-height: 0; } .frag-col[data-role="texte"] { grid-column: 1 !important; grid-row: 3 !important; height: auto; min-height: 0; } .frag-col[data-role="titre"], .frag-col[data-role="texte"] { opacity: 1 !important; transform: none !important; } .frag-col[data-role="titre"] .frag-text-body, .frag-col[data-role="texte"] .frag-text-body { opacity: 1 !important; transform: none !important; padding: clamp(16px, 4vw, 24px); } }

.realisations-section { width: 100%; }

.overlay { width: 100%; }

.realisations-top { display: flex; align-items: end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 2rem; border-bottom-left-radius: 2rem; border-bottom-right-radius: 2rem; background: linear-gradient(#491609, #210A04); padding: 20vh clamp(20px, 8vw, 120px) clamp(40px, 6vw, 72px); }

.realisations-top-text { display: flex; flex-direction: column; align-items: start; justify-content: end; gap: 1rem; width: 50%; }

.realisations-main-title { font-family: 'Zalando Sans SemiExpanded', sans-serif; font-size: clamp(2rem, 5.5vw, 5rem); font-weight: 700 !important; text-transform: uppercase; color: #FBF6EF; white-space: nowrap; flex-shrink: 0; line-height: 1 !important; margin-bottom: 0 !important; width: 100%; opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }

.realisations-main-title.visible { opacity: 1; transform: translateY(0); }

.realisations-description { width: 100%; opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease 0.15s, transform 0.7s ease 0.15s; }

.realisations-description p { margin-bottom: 0 !important; }

.realisations-description.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 600px) { .realisations-main-title { font-size: 1.8rem; } }

.filter-tabs { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }

.filter-btn { font-family: 'Zalando Sans Expanded', sans-serif; font-size: 1rem; text-transform: uppercase; padding: 0.5rem 1rem; border-radius: 2rem; border: 1px solid #FBF6EF; background: transparent; color: #FBF6EF; cursor: pointer; transition: all 0.3s ease; opacity: 0; transform: translateY(16px); }

.filter-btn p { margin-bottom: 0 !important; }

.filter-btn.visible { opacity: 1; transform: translateY(0); }

.filter-btn:hover { background: #9C907B; color: #FBF6EF; border: 1px solid #FBF6EF; }

.filter-btn.active { background: #FBF6EF; color: #210A04; border: 1px solid #FBF6EF; }

.realisations-grid { columns: 4 280px; column-gap: 18px; padding: 0 2rem 4rem; }

.realisation-card { break-inside: avoid; position: relative; border-radius: 2rem !important; overflow: hidden; box-shadow: 0 3px 14px rgba(0, 0, 0, 0.09); margin-bottom: 18px; cursor: pointer; opacity: 0; transform: translateY(28px); transition: opacity 0.55s ease, transform 0.55s ease, box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1); }

.realisation-card:nth-child(7n+1) img { height: 380px; }

.realisation-card:nth-child(7n+2) img { height: 240px; }

.realisation-card:nth-child(7n+3) img { height: 310px; }

.realisation-card:nth-child(7n+4) img { height: 420px; }

.realisation-card:nth-child(7n+5) img { height: 260px; }

.realisation-card:nth-child(7n+6) img { height: 340px; }

.realisation-card:nth-child(7n+7) img { height: 290px; }

.realisation-card.visible { opacity: 1; transform: translateY(0); }

.realisation-card:hover { box-shadow: 0 10px 32px rgba(249, 163, 76, 0.22); transform: translateY(-4px) scale(1.01); }

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

.realisation-card:hover img { transform: scale(1.05); }

.card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.3) 100%); opacity: 0; transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; }

.realisation-card:hover .card-overlay { opacity: 1; }

.realisation-card.hidden { display: none; }

.modal { display: none; position: fixed; inset: 0; z-index: 2000; background: rgba(33, 10, 4, 0.8); align-items: center; justify-content: center; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: modalFadeIn 0.5s ease; }

.modal.open { display: flex !important; justify-content: space-between; padding: 0 2rem; }

@keyframes modalFadeIn { from { opacity: 0; }
  to { opacity: 1; } }

.modal-image-wrapper { position: relative; display: flex; align-items: center; justify-content: center; max-width: min(90vw, 900px); max-height: 85vh; }

.modal-content { max-width: 100%; max-height: 85vh; width: auto; height: auto; border-radius: 2rem !important; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6); display: block; transition: opacity 0.3s ease, transform 0.3s ease; }

.modal-content.transitioning { opacity: 0; transform: scale(0.96); }

/* Close */
.modal-close { position: fixed; top: 20px; right: 28px; background: none; border: none; color: #FBF6EF; font-size: 2.4rem; cursor: pointer; line-height: 1; z-index: 2100; opacity: 0.8; transition: all 0.3s ease; }

.modal-close:hover { opacity: 1; color: #9C907B; }

/* Nav arrows */
.modal-nav { background: transparent; border: 1px solid #FBF6EF; border-radius: 50%; color: #FBF6EF; font-size: 1.4rem; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; margin: 0 16px; transition: all 0.3s ease; }

.modal-nav:hover { background: #FBF6EF; border-color: #FBF6EF; color: #210A04; }

/* Counter */
.modal-counter { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); color: rgba(251, 246, 239, 0.6); font-family: 'Zalando Sans Expanded', sans-serif; font-size: 1rem; letter-spacing: 0.12em; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 900px) { .realisations-top { flex-direction: column; align-items: flex-start; } .filter-tabs { justify-content: flex-start; } .realisations-grid { columns: 2 160px; } .realisations-top-text { width: 100%; } .modal-nav { width: 40px; height: 40px; font-size: 1.1rem; margin: 0 8px; } #imageModal.modal { flex-direction: column; justify-content: center; align-items: center; gap: 20px; } .modal-image-wrapper { order: 1; max-width: 90vw; max-height: none; width: 90vw; } .modal-content { width: 90vw; height: 90vw; max-height: none; object-fit: cover; border-radius: 12px; } .modal-nav { order: 2; width: 40px; height: 40px; font-size: 1.1rem; margin: 0 8px; } }

@media (max-width: 540px) { .realisations-grid { columns: 1 120px; } .realisations-top-text { width: 100%; } }

div#contact { border-radius: 0 0 2rem 2rem; padding-top: 10vh !important; background: linear-gradient(45deg, #491609, #210A04); }

form#formContact { border-radius: 2rem !important; background: #FBF6EF !important; }

#contact .col-lg-6.text-center.text-color-sixth { margin-top: 0 !important; padding-left: 10vw; }

#contact .lh-1.mb-3.titles { text-align: left; }

#contact p { line-height: 150%; font-size: 1.1rem; }

#contact h1 { font-size: 5.3rem; display: flex; flex-direction: column; gap: 1rem; }

#contact h1::after { content: ''; height: 2px; width: 40%; background: #9C907B; margin-bottom: 2rem; }

#contact a { text-decoration: none; }

#contact a span { transition: all 0.3s ease; }

#contact a:hover span { color: #9C907B !important; }

@keyframes contactFadeUp { from { opacity: 0;
    transform: translateY(40px); }
  to { opacity: 1;
    transform: translateY(0); } }

#contact .col-lg-6:first-child { animation: contactFadeUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) both; }

#contact .col-md-10 { animation: contactFadeUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s both; }

#carte .col-lg-5.offset-lg-1.p-0.m-2.overflow-hidden.position-relative.z-1 { height: 50vh; }

a.ms-2 { margin-bottom: 1rem; }

.col-8.col-md-2.mb-3.text-color-third { flex: 1.5 0 auto; }

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