@charset "UTF-8";
@import url(main.css);
:root { --ap-white: #FFFEFF; --ap-accent1: #AE205C; --ap-accent2: #C23D7C; --ap-accent3: #E687B3; --ap-text: #1B1B1B; --ap-text-muted: rgba(27,27,27,0.7); --ap-bg-light: rgba(27,27,27,0.1); --ap-grey: #5F6261; --ap-shadow: 0 4px 1rem rgba(174,32,92,0.3); --ap-font-display: 'SF Burlington Script', serif; --ap-font-sans: 'Walkway Bold', sans-serif; --ap-font-sans-bold: 'Walkway Black', sans-serif; }

/************************* BOUTONS *************************/
button, input[type="button"], input[type="submit"], input[type="reset"], a[class*="btn"], a[class*="button"] { text-decoration: none; padding: .5rem 1.25rem !important; background: var(--ap-accent1); color: var(--ap-white); transition: all .3s ease; font-weight: 500 !important; border-radius: .5rem !important; border: 1px solid var(--ap-accent1); }

button:hover, input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover, a[class*="btn"]:hover, a[class*="button"]:hover { background: var(--ap-accent2); box-shadow: var(--ap-shadow); color: var(--ap-white); border-color: var(--ap-accent2); }

button.outline, input.outline[type="button"], input.outline[type="submit"], input.outline[type="reset"], a.outline[class*="btn"], a.outline[class*="button"] { background: transparent !important; color: var(--ap-text); border: 1px solid var(--ap-text); }

button.outline:hover, input.outline[type="button"]:hover, input.outline[type="submit"]:hover, input.outline[type="reset"]:hover, a.outline[class*="btn"]:hover, a.outline[class*="button"]:hover { background: var(--ap-bg-light) !important; box-shadow: none !important; border-color: var(--ap-text); }

.fs-6.animated-border-button.obftrucs { letter-spacing: 1px; color: var(--ap-grey); }

.animated-border-button::after { background: var(--ap-accent1); }

.navbar .container-fluid { padding: 0 2rem; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.my-2.my-lg-1.p-2.rounded-pill.text-decoration-none.button-header-telephone:nth-child(1) { background: transparent !important; color: var(--ap-text) !important; border: 1px solid var(--ap-text); }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.my-2.my-lg-1.p-2.rounded-pill.text-decoration-none.button-header-telephone:nth-child(1):hover { background: var(--ap-bg-light) !important; box-shadow: none !important; border-color: var(--ap-text); color: var(--ap-text) !important; }

footer img.logo_nav { filter: brightness(0) invert(1); }

/************************* CARRÉS GRAPHIQUES COMMUNS *************************/
.sq { position: absolute; pointer-events: none; border-radius: 0; opacity: 0.5; }

.sq--1 { width: 140px; height: 140px; background-color: var(--ap-accent1); rotate: -15deg; }

.sq--2 { width: 90px; height: 90px; background-color: var(--ap-accent2); rotate: -8deg; }

.sq--3 { width: 55px; height: 55px; background-color: var(--ap-accent3); rotate: -22deg; }

/************************* HERO *************************/
.hero { background-color: var(--ap-white); }

.hero__bg-img { width: 100%; height: 100%; object-fit: cover; }

.hero__overlay { background: linear-gradient(to right, rgba(255, 254, 255, 0.92) 40%, rgba(255, 254, 255, 0.3) 100%); }

.hero__squares .sq--1 { top: -40px; right: 8%; }

.hero__squares .sq--2 { bottom: 10%; right: 18%; }

.hero__squares .sq--3 { top: 30%; right: 5%; }

.hero__logo { height: 10vh; width: auto; object-fit: contain; object-position: left; margin-bottom: 1rem; }

.hero__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.hero__title h1 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; font-size: clamp(100px, 4vw, 120px); word-spacing: -15px; }

.hero__subtitle div { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.hero__pills-label { font-family: var(--ap-font-sans-bold); color: var(--ap-grey); letter-spacing: 0.15em; }

.hero__pill { background-color: var(--ap-white); border: 1px solid var(--ap-bg-light); text-decoration: none; transition: all 0.3s ease; }

.hero__pill:hover { border-color: var(--ap-accent1); box-shadow: var(--ap-shadow); transform: translateY(-2px); }

.hero__pill-icon { height: 2rem; }

.hero__pill-label { font-family: var(--ap-font-sans); color: var(--ap-text); font-size: 2rem; }

/************************* SAVOIR-FAIRE *************************/
.services { background-color: var(--ap-bg-light); }

.services__squares .sq--1 { top: -50px; left: -30px; }

.services__squares .sq--2 { bottom: 5%; right: -20px; }

.services__squares .sq--3 { top: 15%; right: 10%; }

.services__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.services__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.6; font-size: 7vw; word-spacing: -15px; }

.service-encart { background-color: var(--ap-white); border: 1px solid rgba(27, 27, 27, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.service-encart:hover { transform: translateY(-4px); box-shadow: var(--ap-shadow); }

.service-encart__img-wrap { position: relative; height: 180px; overflow: hidden; }

.service-encart__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.service-encart:hover .service-encart__img { transform: scale(1.05); }

.service-encart__img-overlay { background: linear-gradient(to bottom, transparent 50%, rgba(174, 32, 92, 0.15) 100%); }

.service-encart__body { flex: 1; }

.service-encart__icon { color: var(--ap-accent1); }

.service-encart__title p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); line-height: 1.1; letter-spacing: 1px; }

.service-encart__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.65; }

.service-encart__link { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.08em; text-decoration: none; display: inline-flex; align-items: center; transition: color 0.3s ease; }

.service-encart__link:hover { color: var(--ap-accent2); }

.tw-grid.tw-grid-cols-2.lg\:tw-grid-cols-3.tw-gap-4.servicecard { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

/************************* DÉMARCHE *************************/
.demarche { background-color: var(--ap-white); }

.demarche__squares .sq--1 { bottom: -40px; right: -30px; }

.demarche__squares .sq--2 { top: 10%; left: -20px; }

.demarche__squares .sq--3 { top: 50%; right: 8%; }

.demarche__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.demarche__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.6; font-size: 7vw; word-spacing: -15px; }

.step__left { width: 24px; }

.step__dot { width: 16px; height: 16px; border-radius: 50%; background-color: var(--ap-accent1); border: 3px solid var(--ap-accent3); flex-shrink: 0; }

.step__line { width: 2px; background-color: var(--ap-bg-light); margin: 6px auto 0; }

.step__num { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.15em; }

.step__title p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); line-height: 1.1; margin-bottom: 0 !important; letter-spacing: 0.18em; }

.step__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.7; }

/************************* ATELIER EN CHIFFRES *************************/
.atelier-chiffres { background-color: var(--ap-bg-light); }

.atelier-chiffres__squares .sq--1 { top: -30px; right: -30px; }

.atelier-chiffres__squares .sq--2 { bottom: 5%; left: -20px; }

.atelier-chiffres__squares .sq--3 { top: 45%; right: 5%; }

.atelier-chiffres__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.atelier-chiffres__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.kpi-card { background-color: var(--ap-white); border: 1px solid rgba(27, 27, 27, 0.08); position: relative; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; }

.kpi-card:hover { transform: translateY(-4px); box-shadow: var(--ap-shadow); }

.kpi-card__sq { position: absolute; width: 80px; height: 80px; background-color: var(--ap-accent3); opacity: 0.15; rotate: -15deg; bottom: -20px; right: -20px; border-radius: 0; pointer-events: none; }

.kpi-card__value { font-family: var(--ap-font-display); color: var(--ap-accent1); line-height: 0.7; word-spacing: -15px; font-size: clamp(64px, 5vw, 90px); }

.kpi-card__title p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.15em; font-size: 1.5rem; margin-bottom: 0; }

.kpi-card__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.65; }

/************************* GALERIE *************************/
.galerie { background-color: var(--ap-white); }

.galerie__squares .sq--1 { top: -40px; left: -20px; }

.galerie__squares .sq--2 { bottom: 5%; right: -25px; }

.galerie__squares .sq--3 { top: 35%; left: 8%; }

.galerie__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.galerie__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.galerie__item { overflow: hidden; background-color: var(--ap-bg-light); }

.galerie__item--tall { grid-row: span 2; }

.galerie__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.galerie__item:hover .galerie__img { transform: scale(1.04); }

.galerie__caption { background: linear-gradient(to top, rgba(27, 27, 27, 0.65) 0%, transparent 60%); opacity: 0; transition: opacity 0.3s ease; }

.galerie__item:hover .galerie__caption { opacity: 1; }

.galerie__caption-text div { font-family: var(--ap-font-sans); color: var(--ap-white); letter-spacing: 0.1em; }

/************************* ZONE D'INTERVENTION *************************/
.zone { background-color: var(--ap-bg-light); }

.zone__squares .sq--1 { top: -30px; right: -20px; }

.zone__squares .sq--2 { bottom: 10%; left: -25px; }

.zone__squares .sq--3 { top: 40%; right: 6%; }

.zone__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.zone__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.zone__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.zone__text-note div { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.zone__map { background-color: var(--ap-white); border: 1px solid rgba(27, 27, 27, 0.08); }

.zone__map-icon { color: var(--ap-accent3); }

.zone__map-label { font-family: var(--ap-font-sans); color: var(--ap-grey); letter-spacing: 0.08em; }

.localite-tag { font-family: var(--ap-font-sans); color: var(--ap-text); border: 1px solid var(--ap-bg-light); background-color: var(--ap-white); transition: all 0.3s ease; }

.localite-tag:hover { border-color: var(--ap-accent3); color: var(--ap-accent1); }

.localite-tag--primary { border-color: var(--ap-accent1); color: var(--ap-accent1); background-color: rgba(174, 32, 92, 0.06); }

/************************* CTA CONTACT *************************/
.cta-contact { background-color: var(--ap-accent1); }

.cta-contact__squares .sq--1 { top: -30px; right: 5%; opacity: 0.15; background-color: rgba(255, 254, 255, 0.6); }

.cta-contact__squares .sq--2 { bottom: -20px; left: 8%; opacity: 0.12; background-color: rgba(255, 254, 255, 0.6); }

.cta-contact__squares .sq--3 { top: 20%; left: 2%; opacity: 0.1; background-color: rgba(255, 254, 255, 0.6); }

.cta-contact__title h2 { font-family: var(--ap-font-display); color: var(--ap-white); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.cta-contact__text p { font-family: var(--ap-font-sans); color: var(--ap-white); opacity: 0.85; line-height: 1.7; }

.cta-contact__info { font-family: var(--ap-font-sans); color: var(--ap-white); opacity: 0.75; letter-spacing: 0.05em; }

.cta-contact .btn { background: var(--ap-white) !important; color: var(--ap-accent1) !important; border: 1px solid var(--ap-white) !important; }

.cta-contact .btn.outline { background: transparent !important; color: var(--ap-white) !important; border: 1px solid var(--ap-white) !important; }

.cta-contact .btn:hover { background: rgba(245, 245, 245, 0.8) !important; color: var(--ap-accent1) !important; border: 1px solid var(--ap-accent3) !important; }

.cta-contact .btn.outline:hover { background: var(--ap-bg-light) !important; color: var(--ap-white) !important; border: 1px solid var(--ap-white) !important; }

/************************* HERO ATELIER *************************/
.atelier-hero { background-color: var(--ap-text); min-height: 60vh; }

.atelier-hero__bg-img { width: 100%; height: 100%; object-fit: cover; }

.atelier-hero__overlay { background: linear-gradient(to right, rgba(27, 27, 27, 0.85) 40%, rgba(27, 27, 27, 0.5) 100%); }

.atelier-hero__squares .sq--1 { top: -40px; right: 8%; }

.atelier-hero__squares .sq--2 { bottom: 10%; right: 18%; }

.atelier-hero__squares .sq--3 { top: 30%; right: 5%; }

.atelier-hero__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent3); letter-spacing: 0.18em; }

.atelier-hero__title h1 { font-family: var(--ap-font-display); color: var(--ap-white); line-height: 0.7; word-spacing: -15px; font-size: clamp(100px, 4vw, 120px); }

.atelier-hero__subtitle p { font-family: var(--ap-font-sans); color: var(--ap-white); opacity: 0.75; line-height: 1.75; }

/************************* HISTOIRE *************************/
.atelier-histoire { background-color: var(--ap-white); }

.atelier-histoire__squares .sq--1 { top: -40px; right: -20px; }

.atelier-histoire__squares .sq--2 { bottom: 5%; left: -25px; }

.atelier-histoire__squares .sq--3 { top: 40%; right: 6%; }

.atelier-histoire__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.atelier-histoire__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 5.5vw; }

.atelier-histoire__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.atelier-histoire__text--accent p { font-family: var(--ap-font-sans); color: var(--ap-text); line-height: 1.75; border-left: 3px solid var(--ap-accent1); padding-left: 1rem; }

.atelier-histoire__img { width: 100%; height: 480px; object-fit: cover; }

.atelier-histoire__img-badge { background-color: var(--ap-white); box-shadow: var(--ap-shadow); bottom: -20px; left: -20px; }

.atelier-histoire__badge-value { font-family: var(--ap-font-display); color: var(--ap-accent1); font-size: clamp(48px, 4vw, 72px); line-height: 0.7; word-spacing: -15px; }

.atelier-histoire__badge-label { font-family: var(--ap-font-sans-bold); color: var(--ap-text-muted); letter-spacing: 0.18em; }

/************************* ATELIER FABRICATION *************************/
.atelier-fab { background-color: var(--ap-bg-light); }

.atelier-fab__squares .sq--2 { top: -30px; right: -20px; }

.atelier-fab__squares .sq--3 { bottom: 5%; left: -15px; }

.atelier-fab__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.atelier-fab__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.atelier-fab__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.atelier-fab__photo { background-color: var(--ap-text); height: 240px; }

.atelier-fab__photo--tall { height: calc(480px + 1rem); grid-row: span 2; }

.atelier-fab__photo--wide { grid-column: span 2; }

.atelier-fab__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.atelier-fab__photo:hover .atelier-fab__img { transform: scale(1.04); }

/************************* CBS *************************/
.atelier-cbs { background-color: var(--ap-white); }

.atelier-cbs__squares .sq--1 { top: -30px; left: -20px; }

.atelier-cbs__squares .sq--3 { bottom: 20px; right: -15px; }

.atelier-cbs__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.atelier-cbs__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.atelier-cbs__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.atelier-cbs__bloc { background-color: var(--ap-bg-light); border-left: 4px solid var(--ap-accent1); }

.atelier-cbs__icon { color: var(--ap-accent1); }

.atelier-cbs__bloc-text p { font-family: var(--ap-font-sans-bold); color: var(--ap-text-muted); line-height: 1.75; margin-bottom: 0 !important; font-size: 1.25rem; letter-spacing: 0.1em; }

/************************* ENGAGEMENTS *************************/
.atelier-engagements { background-color: var(--ap-bg-light); }

.atelier-engagements__squares .sq--1 { top: -30px; right: -20px; }

.atelier-engagements__squares .sq--2 { bottom: 5%; left: -25px; }

.atelier-engagements__squares .sq--3 { top: 40%; right: 5%; }

.atelier-engagements__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.atelier-engagements__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.eng-card { background-color: var(--ap-white); border: 1px solid rgba(27, 27, 27, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.eng-card:hover { transform: translateY(-4px); box-shadow: var(--ap-shadow); }

.eng-card__sq { position: absolute; width: 80px; height: 80px; background-color: var(--ap-accent3); opacity: 0.12; rotate: -15deg; bottom: -20px; right: -20px; border-radius: 0; pointer-events: none; }

.eng-card__icon { color: var(--ap-accent1); }

.eng-card__title p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.1em; margin-bottom: 0; font-size: 1.25rem; }

.eng-card__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.65; }

/************************* PRÉSENTATION BDE *************************/
.bde-presentation { background-color: var(--ap-white); }

.bde-presentation__squares .sq--1 { top: -40px; right: -20px; }

.bde-presentation__squares .sq--2 { bottom: 5%; left: -25px; }

.bde-presentation__squares .sq--3 { top: 40%; right: 6%; }

.bde-presentation__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.bde-presentation__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.bde-presentation__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.bde-presentation__img { width: 100%; height: 480px; object-fit: cover; }

/************************* CONCEPTION 3D *************************/
.bde-3d { background-color: var(--ap-bg-light); }

.bde-3d__squares .sq--2 { top: -30px; right: -20px; }

.bde-3d__squares .sq--3 { bottom: 5%; left: -15px; }

.bde-3d__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.bde-3d__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.bde-3d__intro p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.bde-3d-card { background-color: var(--ap-white); border: 1px solid rgba(27, 27, 27, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.bde-3d-card:hover { transform: translateY(-4px); box-shadow: var(--ap-shadow); }

.bde-3d-card__sq { position: absolute; width: 80px; height: 80px; background-color: var(--ap-accent3); opacity: 0.12; rotate: -15deg; bottom: -20px; right: -20px; border-radius: 0; pointer-events: none; }

.bde-3d-card__icon { color: var(--ap-accent1); }

.bde-3d-card__title p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.1em; margin-bottom: 0; font-size: 1.25rem; }

.bde-3d-card__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.65; }

.bde-3d__conclusion { background-color: var(--ap-white); border-left: 4px solid var(--ap-accent1); }

.bde-3d__conclusion-text p { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); line-height: 1.75; margin-bottom: 0 !important; letter-spacing: 0.1em; }

/************************* PROCESSUS ITÉRATIF *************************/
.bde-process { background-color: var(--ap-white); }

.bde-process__squares .sq--1 { top: -30px; left: -20px; }

.bde-process__squares .sq--3 { bottom: -20px; right: -15px; }

.bde-process__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.bde-process__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.bde-process__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; margin-bottom: 0 !important; }

.bde-process__img { width: 100%; height: 480px; object-fit: cover; }

/************************* DU PLAN À LA RÉALITÉ *************************/
.bde-realite { background-color: var(--ap-bg-light); }

.bde-realite__squares .sq--1 { top: -30px; right: -20px; }

.bde-realite__squares .sq--2 { bottom: 5%; left: -25px; }

.bde-realite__squares .sq--3 { top: 40%; right: 5%; }

.bde-realite__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.bde-realite__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.bde-realite__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.bde-realite__step { background-color: var(--ap-white); border: 1px solid rgba(27, 27, 27, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.bde-realite__step:hover { transform: translateY(-4px); box-shadow: var(--ap-shadow); }

.bde-realite__step--accent { background-color: var(--ap-accent1); border-color: var(--ap-accent1); }

.bde-realite__step-num { font-family: var(--ap-font-display); color: var(--ap-accent1); font-size: clamp(48px, 4vw, 72px); line-height: 0.7; word-spacing: -15px; }

.bde-realite__step-num--accent { color: var(--ap-white); }

.bde-realite__step-label { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.18em; }

.bde-realite__step-label--accent { color: var(--ap-white); }

/************************* INTRODUCTION MINT *************************/
.mint-intro { background-color: var(--ap-white); }

.mint-intro__squares .sq--1 { top: -40px; right: -20px; }

.mint-intro__squares .sq--2 { bottom: 5%; left: -25px; }

.mint-intro__squares .sq--3 { top: 40%; right: 6%; }

.mint-intro__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mint-intro__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 5vw; }

.mint-intro__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mint-intro__img-item { background-color: var(--ap-bg-light); }

.mint-intro__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.mint-intro__img-item:hover .mint-intro__img { transform: scale(1.04); }

.mint-intro .tw-grid.tw-grid-cols-2.tw-gap-3.tw-auto-rows-auto.self-stretch { height: 100%; }

/************************* PHOTOS COMMUNES MINT *************************/
.mint-photo { background-color: var(--ap-bg-light); }

.mint-photo--tall { grid-row: span 2; }

.mint-photo--large { grid-column: span 2 !important; }

.mint-photo__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.mint-photo:hover .mint-photo__img { transform: scale(1.04); }

/************************* CUISINE *************************/
.mint-cuisine { background-color: var(--ap-bg-light); }

.mint-cuisine__squares .sq--1 { top: -30px; left: -20px; }

.mint-cuisine__squares .sq--3 { bottom: -20px; right: -15px; }

.mint-cuisine__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mint-cuisine__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mint-cuisine__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mint-cuisine__process { background-color: var(--ap-white); border-left: 4px solid var(--ap-accent1); }

.mint-cuisine__process-label { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mint-process__step p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); background-color: var(--ap-bg-light); padding: 0.35rem 0.75rem; border-radius: 0.5rem; font-size: 0.85rem; margin-bottom: 0 !important; letter-spacing: 0.1em; }

.mint-process__arrow { color: var(--ap-accent1); }

/************************* SALLE DE BAIN *************************/
.mint-bain { background-color: var(--ap-white); }

.mint-bain__squares .sq--2 { top: -30px; right: -20px; }

.mint-bain__squares .sq--3 { bottom: 5%; left: -15px; }

.mint-bain__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mint-bain__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mint-bain__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

/************************* DRESSING *************************/
.mint-dressing { background-color: var(--ap-bg-light); }

.mint-dressing__squares .sq--1 { top: -30px; right: -20px; }

.mint-dressing__squares .sq--2 { bottom: 5%; left: -25px; }

.mint-dressing__squares .sq--3 { top: 30%; right: 5%; }

.mint-dressing__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mint-dressing__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mint-dressing__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mint-dressing__item { background-color: var(--ap-white); border: 1px solid rgba(27, 27, 27, 0.08); transition: border-color 0.3s ease; }

.mint-dressing__item:hover { border-color: var(--ap-accent1); }

.mint-dressing__icon { color: var(--ap-accent1); }

.mint-dressing__item-title p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.18em; margin-bottom: 0; }

.mint-dressing__item-text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.65; }

/************************* ESCALIER *************************/
.mint-escalier { background-color: var(--ap-white); }

.mint-escalier__squares .sq--1 { top: -30px; left: -20px; }

.mint-escalier__squares .sq--3 { bottom: -20px; right: -15px; }

.mint-escalier__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mint-escalier__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mint-escalier__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mint-esc-card { background-color: var(--ap-bg-light); border: 1px solid rgba(27, 27, 27, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.mint-esc-card:hover { transform: translateY(-4px); box-shadow: var(--ap-shadow); }

.mint-esc-card__sq { position: absolute; width: 70px; height: 70px; background-color: var(--ap-accent3); opacity: 0.12; rotate: -15deg; bottom: -15px; right: -15px; border-radius: 0; pointer-events: none; }

.mint-esc-card__icon { color: var(--ap-accent1); }

.mint-esc-card__title p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.18em; margin-bottom: 0; }

.mint-esc-card__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.65; }

.mint-escalier__text span { letter-spacing: .1em; color: var(--ap-accent1); line-height: 90%; }

a.btn.outline.btn-partenaire { align-self: start; }

/************************* AUTRES MENUISERIES *************************/
.mint-autres { background-color: var(--ap-bg-light); }

.mint-autres__squares .sq--2 { top: -30px; right: -20px; }

.mint-autres__squares .sq--3 { bottom: 5%; left: -15px; }

.mint-autres__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mint-autres__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mint-autres__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

/************************* INTRODUCTION MEXT *************************/
.mext-intro { background-color: var(--ap-white); }

.mext-intro__squares .sq--1 { top: -40px; right: -20px; }

.mext-intro__squares .sq--2 { bottom: 5%; left: -25px; }

.mext-intro__squares .sq--3 { top: 40%; right: 6%; }

.mext-intro__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mext-intro__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mext-intro__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mext-intro__img-wrap { height: 420px; }

.mext-intro__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.mext-intro__img-wrap:hover .mext-intro__img { transform: scale(1.04); }

/************************* ABRIS DE JARDIN *************************/
.mext-abris { background-color: var(--ap-bg-light); }

.mext-abris__squares .sq--2 { top: -30px; right: -20px; }

.mext-abris__squares .sq--3 { bottom: 5%; left: -15px; }

.mext-abris__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mext-abris__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mext-abris__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mext-abris__img-wrap { height: 420px; }

.mext-abris__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.mext-abris__img-wrap:hover .mext-abris__img { transform: scale(1.04); }

/************************* TERRASSES *************************/
.mext-terrasses { background-color: var(--ap-white); }

.mext-terrasses__squares .sq--1 { top: -30px; left: -20px; }

.mext-terrasses__squares .sq--3 { bottom: -20px; right: -15px; }

.mext-terrasses__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mext-terrasses__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mext-terrasses__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mext-terrasses__img-wrap { height: 420px; }

.mext-terrasses__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.mext-terrasses__img-wrap:hover .mext-terrasses__img { transform: scale(1.04); }

/************************* CARPORTS *************************/
.mext-carports { background-color: var(--ap-bg-light); }

.mext-carports__squares .sq--2 { top: -30px; right: -20px; }

.mext-carports__squares .sq--3 { bottom: 5%; left: -15px; }

.mext-carports__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mext-carports__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mext-carports__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mext-carports__img-wrap { height: 420px; }

.mext-carports__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.mext-carports__img-wrap:hover .mext-carports__img { transform: scale(1.04); }

/************************* PORTES & OUVERTURES *************************/
.mext-portes { background-color: var(--ap-white); }

.mext-portes__squares .sq--1 { top: -30px; left: -20px; }

.mext-portes__squares .sq--3 { bottom: -20px; right: -15px; }

.mext-portes__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.mext-portes__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.mext-portes__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.mext-portes__img-wrap { height: 420px; }

.mext-portes__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.mext-portes__img-wrap:hover .mext-portes__img { transform: scale(1.04); }

.mext-tag { font-family: var(--ap-font-sans); color: var(--ap-text); border: 1px solid var(--ap-bg-light); background-color: var(--ap-bg-light); transition: all 0.3s ease; }

.mext-tag:hover { border-color: var(--ap-accent1); color: var(--ap-accent1); background-color: rgba(174, 32, 92, 0.06); }

/************************* INTRODUCTION AGPRO *************************/
.agpro-intro { background-color: var(--ap-white); }

.agpro-intro__squares .sq--1 { top: -40px; right: -20px; }

.agpro-intro__squares .sq--2 { bottom: 5%; left: -25px; }

.agpro-intro__squares .sq--3 { top: 40%; right: 6%; }

.agpro-intro__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.agpro-intro__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.agpro-intro__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.agpro-intro__text--accent p { font-family: var(--ap-font-sans); color: var(--ap-text); line-height: 1.75; border-left: 3px solid var(--ap-accent1); padding-left: 1rem; }

.agpro-intro__img-wrap { height: 480px; }

.agpro-intro__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.agpro-intro__img-wrap:hover .agpro-intro__img { transform: scale(1.04); }

/************************* ESPACES AGPRO *************************/
.agpro-espaces { background-color: var(--ap-bg-light); }

.agpro-espaces__squares .sq--1 { top: -30px; right: -20px; }

.agpro-espaces__squares .sq--2 { bottom: 5%; left: -25px; }

.agpro-espaces__squares .sq--3 { top: 35%; right: 5%; }

.agpro-espaces__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.agpro-espaces__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.agpro-card { background-color: var(--ap-white); border: 1px solid rgba(27, 27, 27, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.agpro-card:hover { transform: translateY(-4px); box-shadow: var(--ap-shadow); }

.agpro-card--accent { background-color: var(--ap-white); border-color: var(--ap-accent1); }

.agpro-card__sq { position: absolute; width: 80px; height: 80px; background-color: var(--ap-accent3); opacity: 0.12; rotate: -15deg; bottom: -20px; right: -20px; border-radius: 0; pointer-events: none; }

.agpro-card__icon { color: var(--ap-accent1); }

.agpro-card__title p { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.18em; margin-bottom: 0; }

.agpro-card__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.65; }

/************************* MÉTHODE AGPRO *************************/
.agpro-methode { background-color: var(--ap-white); }

.agpro-methode__squares .sq--2 { top: -30px; right: -20px; }

.agpro-methode__squares .sq--3 { bottom: 5%; left: -15px; }

.agpro-methode__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.agpro-methode__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.agpro-methode__text p { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.agpro-step { background-color: var(--ap-bg-light); border: 1px solid rgba(27, 27, 27, 0.08); transition: border-color 0.3s ease; }

.agpro-step:hover { border-color: var(--ap-accent1); }

.agpro-step--accent { background-color: var(--ap-accent1); border-color: var(--ap-accent1); }

.agpro-step__num { font-family: var(--ap-font-display); color: var(--ap-accent1); font-size: clamp(40px, 3vw, 60px); line-height: 0.7; word-spacing: -15px; }

.agpro-step__num--accent { color: var(--ap-white); }

.agpro-step__label { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.18em; margin-bottom: 0; }

.agpro-step__label--accent { color: var(--ap-white); }

.agpro-step__detail { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.5; margin-bottom: 0; }

.agpro-step__detail--accent { color: rgba(255, 254, 255, 0.8); }

/************************* GALERIE AGPRO *************************/
.agpro-galerie { background-color: var(--ap-bg-light); }

.agpro-galerie__squares .sq--1 { top: -30px; left: -20px; }

.agpro-galerie__squares .sq--3 { bottom: -20px; right: -15px; }

.agpro-galerie__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.agpro-galerie__title h2 { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.agpro-photo { background-color: var(--ap-white); }

.agpro-photo--tall { grid-row: span 2; }

.agpro-photo__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }

.agpro-photo:hover .agpro-photo__img { transform: scale(1.04); }

/************************* HORAIRES *************************/
.horaires { background-color: var(--ap-white); }

.horaires__squares .sq--1 { top: -40px; right: -20px; }

.horaires__squares .sq--2 { bottom: 5%; left: -25px; }

.horaires__squares .sq--3 { top: 40%; right: 6%; }

.horaires__eyebrow { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; }

.horaires__title { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; word-spacing: -15px; font-size: 7vw; }

.horaires__note { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.horaires__row--header { border-bottom: 2px solid var(--ap-accent1); background-color: transparent !important; }

.horaires__col-label { font-family: var(--ap-font-sans-bold); color: var(--ap-accent1); letter-spacing: 0.18em; font-size: 0.75rem; text-transform: uppercase; }

.horaires__row { background-color: var(--ap-bg-light); }

.horaires__row--closed { background-color: transparent; border: 1px solid var(--ap-bg-light); }

.horaires__row--today { background-color: var(--ap-accent1); }

.horaires__row--today .horaires__day { color: var(--ap-white); }

.horaires__row--today .horaires__time { color: var(--ap-white); }

.horaires__row--today .horaires__time--closed { color: rgba(255, 254, 255, 0.5); }

.horaires__row--today .horaires__closed { color: rgba(255, 254, 255, 0.7); }

.horaires__day { font-family: var(--ap-font-sans-bold); color: var(--ap-text); letter-spacing: 0.1em; }

.horaires__day--closed { color: var(--ap-text-muted); }

.horaires__time { font-family: var(--ap-font-sans); color: var(--ap-text); }

.horaires__time--closed { color: var(--ap-text-muted); }

.horaires__closed { font-family: var(--ap-font-sans); color: var(--ap-text-muted); }

/************************* FACEBOOK CTA *************************/
.fb-cta__sq { position: absolute; width: 100px; height: 100px; background-color: var(--ap-accent1); opacity: 0.08; rotate: -15deg; bottom: -30px; right: -20px; border-radius: 0; pointer-events: none; }

.fb-cta__sq--2 { width: 60px; height: 60px; background-color: var(--ap-accent3); opacity: 0.12; rotate: -8deg; bottom: 20px; right: 60px; }

.fb-cta__icon-wrap { width: 7rem; height: 7rem; }

.fb-cta__icon { color: var(--ap-accent1); font-size: 7rem; }

.fb-cta__title { font-family: var(--ap-font-display); color: var(--ap-text); line-height: 0.7; font-size: 4vw; word-spacing: -8px; }

.fb-cta__text { font-family: var(--ap-font-sans); color: var(--ap-text-muted); line-height: 1.75; }

.fb-cta.tw-flex.tw-flex-col.sm\:tw-flex-row.tw-items-center.tw-max-w-7xl.tw-mx-auto.tw-p-12.tw-relative.tw-z-10.tw-gap-8 { padding-top: 5rem; padding-bottom: 5rem; }

/************************* SEO *************************/
.seo-bloc { display: grid; grid-template-columns: repeat(3, 1fr); justify-content: center !important; max-width: 1400px; margin: auto; padding: 2rem; }

.seo-bloc .mx-auto { margin: 0 !important; box-shadow: none !important; width: 100%; }

.seo-bloc .flex-lg-row, .seo-bloc .flex-lg-row-reverse { flex-direction: column-reverse !important; padding: 0; }

.seo-bloc .col-12.col-sm-8.col-lg-5.my-0.order-2.order-lg-2.order-xl-2.order-xxl-2 { width: 100%; padding: 0; }

.seo-bloc .card.card-cover.h-100.overflow-hidden.rounded-4.shadow-lg { box-shadow: none !important; }

.col-lg-7.my-0.order-1.order-lg-1.order-xl-1.order-xxl-1 { width: 100%; padding: .5rem; }

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

.display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5 h3 { font-family: var(--ap-font-sans-bold); letter-spacing: .1em; color: var(--ap-accent1); }

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