/* Présentation harmonisée — octobre 2026. */
:root{--ink:#092a4d;--green:#477b16;--muted:#526274;--paper:#f5f7f2;--line:#dce4df}body{font-family:'Helvetica Neue',Arial,sans-serif;line-height:1.65}h1,h2,h3{color:var(--ink);text-wrap:balance}h2{font-weight:650}.wrap{width:min(1180px,90%)}.reference-header{height:160px;min-height:0;max-width:1320px;padding:12px 5%;gap:35px;flex-wrap:nowrap;justify-content:space-between}.reference-header .reference-logo{width:270px;height:136px;max-width:270px;flex-shrink:0}.reference-header nav{flex:0 1 auto;gap:8px;flex-basis:auto;font-size:13px}.reference-header nav a{min-width:0;min-height:44px;padding:10px 14px;border:none;border-radius:8px}.reference-header nav a[aria-current]{border:none;background:#eef4e7;color:var(--green)}.reference-header nav a:last-child{background:var(--ink);color:white}.reference-header .reference-logo::after{display:none}.button,.reference-quote{border-radius:9px;font-size:18px;font-weight:700;padding:17px 24px;gap:24px;line-height:1.4;transition:background .15s}.button:hover,.reference-quote:hover{background:#365f10;color:white}.button span{font-size:23px}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding-block:35px 65px}.welcome h1{font-size:clamp(36px,4vw,55px);line-height:1.12;letter-spacing:-.045em;margin:0 0 25px}.welcome h1 em{font-style:normal;color:var(--green)}.welcome-lead{font-size:19px;max-width:500px;color:var(--muted);margin-bottom:28px}.welcome .eyebrow{font-size:11px;letter-spacing:.12em}.welcome-secondary{display:block;margin-top:18px;font-size:15px;font-weight:650;color:var(--ink)}.welcome-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:28px;margin-top:30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.welcome-facts strong{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}.welcome-photo{margin:0;background:var(--paper);border-radius:20px;overflow:hidden}.welcome-photo img{width:100%;height:400px;object-fit:cover;display:block}.welcome-photo figcaption{padding:20px 24px;font-size:13px;color:var(--muted)}.welcome-photo strong{font-size:17px;color:var(--ink)}.energy-slogan{padding:20px}.energy-slogan p{font-size:22px}.aid-banner{max-width:1000px;margin:40px auto;padding:0 25px}.aid-banner img{border-radius:14px}.reference-intro{padding:32px 5% 45px}.reference-intro .short-rule{display:none}.reference-intro .single-contact{max-width:1100px;grid-template-columns:200px minmax(0,1fr) 200px;gap:30px;margin-bottom:65px}.single-contact p{font-size:25px;line-height:1.4}.single-contact .single-quote-message{font-size:19px;line-height:1.6}.reference-intro .single-contact>.alsace-emblem{width:160px;justify-self:center}.reference-intro .single-contact>.team-qualibat{width:170px;justify-self:center;padding:16px 12px;border:1px solid #b7cba1;border-radius:16px;background:#fbfcf9}.team-qualibat img{max-width:95px}.team-qualibat .qualification-count{font-size:14px}.team-qualibat .qualification-count strong{font-size:18px;text-decoration:none}.reference-intro .area-heading{font-size:26px;line-height:1.3;margin-bottom:28px}.reference-intro .area-cities{max-width:850px;font-size:18px;line-height:1.7;color:var(--muted);margin-top:12px}.reference-quote{display:inline-flex;background:var(--green);color:white;border:none;box-shadow:none}.reference-quote svg{width:23px;height:29px}.reference-quote>span{font-size:26px}.photo-services{max-width:1250px;margin:45px auto 60px;padding:0 35px}.services-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:35px}.services-heading h2{font-size:clamp(28px,3vw,40px);max-width:620px}.services-heading img{width:175px}.photo-services-grid{gap:24px}.service-photo-card{border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 7px 25px #092a4d06}.service-photo-card h2{font-size:19px;text-transform:none;line-height:1.4}.service-gallery img{border-radius:8px}.service-gallery figcaption{font-size:12px}.service-more{padding-top:12px}.project-steps{padding-block:55px 70px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps-grid article{border-top:1px solid var(--line);padding-top:22px}.steps-grid article>span{color:var(--green);font-weight:750;font-size:14px}.steps-grid h3{font-weight:650;margin:12px 0}.steps-grid p{color:var(--muted)}.trust-row{max-width:1180px;margin-inline:auto;border-radius:16px;background:var(--paper)}.page-intro{padding:45px 0 40px}.page-intro h1{font-size:clamp(34px,4.4vw,56px);font-weight:600;line-height:1.15}.craft-heading,.contact-heading,.generations-heading{display:flex;justify-content:space-between;gap:45px;align-items:center;margin-bottom:26px}.craft-heading>img,.generations-heading>img{width:180px}.contact-heading>img{width:220px}.lead{font-size:20px;line-height:1.8;max-width:900px}.alsace-photo{margin-top:40px}.alsace-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:16px}.section{padding-block:60px}.company-history{max-width:1000px}.company-history h2{font-size:36px;line-height:1.25}.history-transition{width:85%;max-width:850px;margin:35px auto}.history-transition img{border-radius:14px}.history-transition figcaption{font-size:12px;text-align:center}.company-history .history-transition+.local-partners{margin-top:60px}.split{gap:50px}.experience-description p{font-size:20px;line-height:1.75;font-weight:500;margin:0 0 26px!important}.green-band{background:#113c34;padding-block:55px}.green-band h2,.green-band h3{color:white}.green-band h2{font-size:34px}.green-band .experience-highlight{font-size:23px}.company-rge-heading{gap:18px}.rge-domains{columns:2;column-gap:25px;font-size:16px}.rge-domains li{break-inside:avoid}.project-gallery{columns:3;column-gap:24px}.project-photo{border-radius:12px}.project-photo figcaption{font-size:14px;padding:16px}.project-section h2{font-size:30px;margin-bottom:30px}.cta{padding-block:60px}.cta h2{font-size:34px}.cta .button{font-size:20px;padding:19px 26px;flex-shrink:0}.contact-grid{gap:55px}.contact-grid form{background:var(--paper);padding:30px;border-radius:18px}input,select,textarea{border-radius:8px;border-color:#bac6c0;padding:13px}.note{border-radius:8px}.reference-footer{margin-top:35px}.footer-contact a{overflow-wrap:anywhere}.footer-legal{line-height:1.6}
@media(max-width:1000px){.reference-header{gap:10px}.reference-header .reference-logo{width:220px;max-width:220px}.reference-header nav a{padding:10px;font-size:12px}.welcome{gap:25px}.welcome-photo img{height:360px}.reference-intro .single-contact{grid-template-columns:150px minmax(0,1fr) 170px;gap:20px}.single-contact p{font-size:22px}.single-contact .single-quote-message{font-size:17px}.craft-heading,.contact-heading,.generations-heading{gap:25px}.craft-heading>img,.generations-heading>img{width:140px}.contact-heading>img{width:180px}.rge-domains{columns:1}}
@media(max-width:760px){.reference-header{height:125px;padding:8px 5%}.reference-header .reference-logo{height:105px;width:210px;max-width:calc(100% - 85px)}.reference-header .menu{display:block;border-radius:8px}.reference-header nav{display:none;position:absolute;top:125px;left:0;right:0;padding:18px 5%;background:white;z-index:30}.reference-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.reference-header nav a{font-size:15px;justify-content:flex-start}.welcome{grid-template-columns:1fr;padding-block:25px 40px;gap:30px}.welcome h1{font-size:39px}.welcome-photo img{height:auto;aspect-ratio:1.7}.welcome-facts{margin-top:25px}.energy-slogan p{font-size:19px}.aid-banner{margin:25px auto;padding:0 5%}.reference-intro .single-contact{grid-template-columns:1fr 1fr;gap:25px;margin-bottom:45px}.reference-intro .single-contact>p{grid-column:1/-1;grid-row:1;max-width:500px;justify-self:center;font-size:23px}.reference-intro .single-contact>.alsace-emblem{grid-column:1;grid-row:2;width:145px}.reference-intro .single-contact>.team-qualibat{grid-column:2;grid-row:2;width:165px}.single-contact .single-quote-message{font-size:18px}.reference-intro .area-cities{font-size:16px}.photo-services{margin-top:30px;padding:0 5%}.services-heading{gap:18px}.services-heading h2{font-size:29px}.services-heading img{width:110px}.photo-services-grid{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr;gap:20px}.project-steps{padding-block:35px}.page-intro{padding-block:30px}.page-intro h1{font-size:34px}.craft-heading,.contact-heading,.generations-heading{gap:18px;flex-wrap:nowrap}.craft-heading>img,.generations-heading>img{width:95px}.contact-heading>img{width:115px}.lead{font-size:18px}.alsace-photo img{aspect-ratio:auto;height:auto}.company-history h2{font-size:29px}.history-transition{width:100%}.section{padding-block:40px}.split,.contact-grid{grid-template-columns:1fr;gap:25px}.experience-description p{font-size:18px}.project-gallery{columns:2}.green-band h2{font-size:30px}.cta{display:block}.cta .button{margin-top:25px}.contact-grid form{padding:22px}.footer-contact a{font-size:15px}}
@media(max-width:420px){.welcome h1{font-size:35px}.welcome-facts{gap:8px}.welcome-facts strong{font-size:14px}.welcome-facts span{font-size:11px}.reference-intro .single-contact{gap:14px}.reference-intro .single-contact>.alsace-emblem{width:115px}.reference-intro .single-contact>.team-qualibat{width:155px}.services-heading h2{font-size:26px}.services-heading img{width:95px}.craft-heading,.contact-heading,.generations-heading{flex-wrap:wrap}.craft-heading>img,.generations-heading>img{width:100px}.contact-heading>img{width:150px}.project-gallery{columns:1}.service-gallery,.service-photo-card:last-child .service-gallery{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.contact-grid form{padding:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Logo principal agrandi, proportions originales conservées. */
.reference-header{height:auto;min-height:280px;gap:24px}
.reference-header .reference-logo{width:420px;max-width:420px;height:280px;aspect-ratio:1537/1023}
@media(min-width:761px) and (max-width:1100px){
.reference-header{flex-wrap:wrap;justify-content:center;padding-bottom:22px;gap:8px}
.reference-header nav{flex-basis:100%;justify-content:center}
}
@media(max-width:760px){
.reference-header{min-height:0;flex-wrap:wrap;justify-content:center;gap:0;padding:8px 5% 16px}
.reference-header .reference-logo{width:360px;max-width:100%;height:auto;aspect-ratio:1537/1023}
.reference-header .menu{margin:0 auto}
.reference-header nav{top:100%}
}

/* Équipe des prestations décalée vers la gauche. */
.services-heading img{margin-right:3cm}
@media(max-width:760px){.services-heading img{margin-right:6vw}}

/* Identité et qualification côte à côte au-dessus de la navigation. */
.reference-header.home-brand-header{height:auto;min-height:0;flex-wrap:wrap;justify-content:center;gap:10px;padding-top:0;padding-bottom:22px}
.header-branding{display:flex;align-items:center;justify-content:center;gap:50px;width:100%;min-width:0}
.reference-header.home-brand-header .reference-logo{width:560px;max-width:calc(100% - 155px);height:auto;aspect-ratio:1537/1023}
.header-certification{display:block;width:105px;flex:0 0 105px}
.header-certification img{display:block;width:100%;height:auto;object-fit:contain}
.reference-header.home-brand-header nav{flex-basis:100%;justify-content:center}
@media(max-width:760px){
.header-branding{gap:18px}
.reference-header.home-brand-header .reference-logo{width:440px;max-width:calc(100% - 103px);height:auto}
.header-certification{width:85px;flex-basis:85px}
.reference-header.home-brand-header nav{top:100%}
}

/* Signature sur la photographie de réalisation de l’accueil. */
.welcome-photo-image{position:relative}
.welcome-photo .welcome-photo-brand{position:absolute;right:5px;bottom:5px;left:auto;z-index:1;width:120px;max-width:28%;height:auto;aspect-ratio:1537/1023;object-fit:contain;border-radius:5px;background:#fff;box-shadow:0 2px 8px #0002}

/* Accueil : marque centrée et qualification alignée sur sa base visible. */
.home-brand-header .header-branding{position:relative;display:flex;justify-content:center;align-items:center;gap:0}
.reference-header.home-brand-header .reference-logo{width:560px;max-width:100%;height:auto;margin-inline:auto}
.home-brand-header .header-certification{position:absolute;width:115px;right:auto;left:calc(50% + 330px + 3cm);bottom:24.4%;transform:translateY(5%)}
@media(max-width:1250px){
.home-brand-header .header-certification{left:auto;right:0;width:110px}
.reference-header.home-brand-header .reference-logo{width: min(560px,65%)}
}
@media(max-width:760px){
.reference-header.home-brand-header .reference-logo{width:70%;max-width:70%}
.home-brand-header .header-certification{width:18%;max-width:90px;right:0;bottom:24.4%}
}

/* Signature détourée sur la photo du Markstein. */
.welcome-photo .welcome-photo-brand{height:auto;aspect-ratio:auto;background:transparent;border-radius:0;box-shadow:none}

/* Signature transparente sur toutes les réalisations. */
.project-photo>a{position:relative}
.project-photo .project-photo-brand{position:absolute;right:5px;bottom:5px;width:100px;max-width:23%;height:auto;object-fit:contain;background:transparent;pointer-events:none}

/* Accueil : rapprocher la navigation de la partie visible du logo. */
.reference-header.home-brand-header{row-gap:0}
.home-brand-header .header-branding{margin-bottom:clamp(-65px,-5vw,-20px)}
.home-brand-header nav,.home-brand-header .menu{position:relative;z-index:2}
@media(max-width:760px){.reference-header.home-brand-header nav{position:absolute}}

/* Pages intérieures : logo réduit et aligné avec la navigation. */
.reference-header:not(.home-brand-header){min-height:0;height:auto;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px;padding-block:8px}
.reference-header:not(.home-brand-header) .reference-logo{width:340px;max-width:340px;height:auto;aspect-ratio:1537/1023;flex-shrink:0}
.reference-header:not(.home-brand-header) nav{flex:1 1 auto;justify-content:flex-end;align-items:center}
@media(min-width:761px) and (max-width:1100px){
.reference-header:not(.home-brand-header){gap:14px}
.reference-header:not(.home-brand-header) .reference-logo{width:260px;max-width:260px}
.reference-header:not(.home-brand-header) nav{gap:4px}
.reference-header:not(.home-brand-header) nav a{padding-inline:8px}
}
@media(max-width:760px){
.reference-header:not(.home-brand-header) .reference-logo{width:270px;max-width:calc(100% - 90px)}
.reference-header:not(.home-brand-header) .menu{margin:0}
.reference-header:not(.home-brand-header) nav{top:100%;align-items:stretch}
}

/* Alignement optique du logo et des boutons des pages intérieures. */
.reference-header:not(.home-brand-header){gap:20px;align-items:center}
.reference-header:not(.home-brand-header) .reference-logo{width:280px;max-width:280px;transform:translateY(3px)}
.reference-header:not(.home-brand-header) nav{margin:0;align-self:center;align-items:center;flex-wrap:nowrap}
@media(min-width:761px) and (max-width:1000px){
.reference-header:not(.home-brand-header) .reference-logo{width:220px;max-width:220px}
.reference-header:not(.home-brand-header){gap:12px}
}
@media(max-width:760px){
.reference-header:not(.home-brand-header) .reference-logo{width:230px;max-width:calc(100% - 90px)}
.reference-header:not(.home-brand-header) nav{align-items:stretch}
}

/* Équipe des prestations agrandie et rapprochée du titre. */
.services-heading img{width:200px;margin-right:5cm}
@media(max-width:1000px){.services-heading img{width:180px;margin-right:2cm}}
@media(max-width:760px){.services-heading img{width:130px;margin-right:10vw}}
@media(max-width:420px){.services-heading img{width:115px}}

/* Emblème alsacien agrandi, entouré du seul contour d’un cœur rouge. */
.reference-intro .single-contact{grid-template-columns:320px minmax(0,1fr) 200px}
.reference-intro .single-contact>.alsace-heart{position:relative;width:320px;max-width:100%;aspect-ratio:340/360}
.alsace-heart>svg{display:block;width:100%;height:100%;overflow:visible}
.alsace-heart .alsace-heart-art{position:absolute;left:18%;top:20%;width:64%;height:auto}
@media(max-width:1000px) and (min-width:761px){.reference-intro .single-contact{grid-template-columns:270px minmax(0,1fr) 170px}}
@media(max-width:760px){
.reference-intro .single-contact{grid-template-columns:1fr 1fr}
.reference-intro .single-contact>.alsace-heart{width:270px;grid-column:1;grid-row:2}
}

/* Contact : poignée de main agrandie et rapprochée du titre. */
.contact-heading>img{width:245px;margin-right:3cm;flex-shrink:0}
@media(max-width:1000px){.contact-heading>img{width:200px;margin-right:1.5cm}}
@media(max-width:760px){.contact-heading>img{width:130px;margin-right:4vw}}
@media(max-width:420px){.contact-heading>img{width:165px;margin-right:4vw}}

/* Emblème agrandi sans encadrement en cœur. */
.reference-intro .single-contact>.alsace-emblem{width:205px;height:auto;justify-self:center}
@media(max-width:760px){.reference-intro .single-contact>.alsace-emblem{width:173px;max-width:100%}}

/* Présentation de l’équipe alignée avec le secteur d’activité. */
@media(min-width:761px){.reference-intro .single-contact{grid-template-columns:205px minmax(0,1fr) 205px}.reference-intro .single-contact>p{text-align:center;justify-self:center}}

/* À propos : les trois générations rapprochées du titre. */
.generations-heading>img{margin-right:2cm}
@media(max-width:760px){.generations-heading>img{margin-right:4vw}}

/* Réalisations : emblème artisan rapproché du titre. */
.craft-heading>img{margin-right:3cm}
@media(max-width:760px){.craft-heading>img{margin-right:4vw}}

/* Accueil : photographie du chalet entière, sans recadrage. */
.welcome-photo-image>img:not(.welcome-photo-brand){display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Portrait sous la présentation de l’expérience. */
.founder-photo{position:relative;width:85%;margin:28px auto 0;overflow:hidden;border-radius:14px}
.founder-photo img{display:block;width:100%;height:auto}
.founder-photo figcaption{position:absolute;right:0;max-width:100%;box-sizing:border-box;bottom:calc(12px - 1cm);margin:0;padding:0;color:#000;background:transparent;border-radius:0;font-family:"Snell Roundhand","Apple Chancery","Segoe Script","Brush Script MT",cursive;font-size:clamp(22px,2.2vw,30px);font-weight:400;line-height:1.2;text-align:right}

/* Laisser apparaître la signature abaissée sous la photo. */
.founder-photo{overflow:visible;margin-bottom:1cm}
.founder-photo img{border-radius:14px}

.suppliers-after-experience{margin:0 auto 60px;width:85%;max-width:850px}

/* Espace entre le portrait signé et le texte des partenaires. */
.founder-photo + .local-partners{margin-top:2cm}

/* Signature sous la personne, dans le flux sous la photographie. */
.founder-photo figcaption{position:static;width:48%;max-width:100%;margin:10px 0 0;padding:0;text-align:center;background:transparent;color:#000}

/* Signature du portrait : typographie sobre et lisible. */
.founder-photo figcaption{font-family:"Noteworthy","Segoe Print","Bradley Hand","Chalkboard SE",cursive;font-size:clamp(20px,2vw,27px);font-weight:400;font-style:normal;line-height:1.5}
