/* Styles communs du site Les Gueux-Lardiers */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#111;font-family:Georgia,'Times New Roman',serif}
.page{max-width:1120px;margin:auto;padding:52px 32px 30px}
.hero{text-align:center}
.logo{display:block;width:min(195px,37.5vw);height:auto;margin:0 auto 28px}
h1,h2{font-family:'MedievalSharp',Georgia,serif;font-weight:400}
h1{margin:0 0 24px;line-height:1.15}
.welcome{display:block;font-size:clamp(1.2rem,2.8vw,1.7rem);margin-bottom:12px}
.company{font-weight:700;display:block;font-size:clamp(2.25rem,6.5vw,4.6rem)}
.subtitle{font-size:clamp(1.05rem,2vw,1.35rem);font-style:normal;line-height:1.6;margin:0 0 22px}
.activities{font-size:1.05rem;line-height:1.7;margin:0 0 10px}
.activities span{padding:0 7px}
.period{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;margin:0 0 28px}
.contact-button{border-radius:7px;display:inline-flex;align-items:center;gap:22px;justify-content:center;padding:15px 24px;background:#111;color:#fff;text-decoration:none;font-family:Georgia,serif;font-size:.98rem;border:1px solid #111;transition:background .2s,color .2s}
.contact-button:hover{background:#fff;color:#111}
.ornament{display:flex;align-items:center;gap:20px;width:min(310px,75%);margin:45px auto 0}
.ornament:before,.ornament:after{content:'';height:1px;flex:1;background:#111}
.ornament span{font-size:20px}
.story{max-width:700px;margin:68px auto 70px}
.eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;margin:0 0 14px}
h2{font-size:clamp(1.9rem,4vw,2.65rem);line-height:1.25;text-align:center;margin:0 0 40px}
.story p{font-size:1.06rem;line-height:1.55}
.story .narration{font-size:1.2rem;font-style:italic;line-height:1.6;margin:30px 0 18px}
.story .narration:first-of-type{margin-top:0}
.dialogue{margin:0 0 8px 18px;padding-left:20px;border-left:1px solid #ddd}
.contact{text-align:center;padding:34px 0 38px;max-width:700px;margin:auto;border-top:1px solid #111}
.contact h2{font-size:1.9rem;margin-bottom:20px}
.contact a{color:#111;font-size:clamp(1.1rem,3.6vw,1.4rem);text-underline-offset:7px;overflow-wrap:anywhere}
.contact a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid #111;outline-offset:6px}
footer{text-align:center;font-size:.75rem;letter-spacing:.08em;margin-top:25px}

@media(max-width:600px){.page{padding:30px 24px 26px}
.logo{width:min(150px,37.5vw);margin-bottom:24px}
.company{font-size:clamp(2rem,8vw,3rem)}
.subtitle{margin-bottom:20px}
.activities{max-width:300px;margin:0 auto 14px;font-size:1rem}
.activities span{padding:0 3px}
.period{font-size:.72rem;letter-spacing:.12em}
.story{margin:48px auto}
.story p{font-size:1rem;line-height:1.55}
.story .narration{font-size:1.1rem;margin-top:26px}
.dialogue{margin-left:0;padding-left:15px}
h2{margin-bottom:30px}
.ornament{margin-top:35px}
.contact-button{min-height:48px}
}


.footer-menu{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:0 0 20px;font-size:.9rem;letter-spacing:normal}
.footer-menu a{color:#111;text-underline-offset:4px}
.legal{max-width:700px;margin:55px auto 65px;font-size:1.06rem;line-height:1.6}
.legal>h2{text-align:center;margin-bottom:40px}
.legal h3{font-family:Georgia,serif;font-size:1.25rem;line-height:1.4;margin:32px 0 14px}
.legal a{color:#111;text-underline-offset:4px}
.legal address{font-style:normal}
.legal p{margin:0 0 18px}

.logo-home{display:block;width:fit-content;margin:0 auto;text-decoration:none}
.logo-home:focus-visible{outline:2px solid #111;outline-offset:6px}
.legal ul{padding-left:24px;margin:12px 0 24px}
.legal li{margin-bottom:8px}
.footer-menu{gap:14px 24px}

/* Adaptation commune aux quatre pages */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{max-width:100%;height:auto}
.page{width:100%;padding-inline:clamp(18px,4vw,32px)}
.hero,.story,.legal,.contact,footer{min-width:0}
h1,h2,h3,p,li,address,a{overflow-wrap:break-word}
.legal a{overflow-wrap:anywhere}
.contact-button{max-width:100%;min-height:48px;text-align:center}
.footer-menu{align-items:center}
.footer-menu a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;text-align:center}
.company{font-size:clamp(1.65rem,7.3vw,4.6rem)}
.legal{font-size:clamp(1rem,2vw,1.06rem)}

@media(max-width:768px){.page{padding-top:32px}
.story,.legal{margin-top:42px;margin-bottom:46px}
.legal>h2{margin-bottom:28px}
.legal h3{font-size:1.15rem;margin-top:26px}
.footer-menu{gap:4px 8px}
.logo-home{max-width:100%}
}

@media(max-width:480px){.page{padding-top:24px;padding-bottom:22px}
.logo{width:min(140px,37.5vw);margin-bottom:20px}
.welcome{font-size:1.15rem;margin-bottom:9px}
h1{margin-bottom:20px}
.subtitle{font-size:1rem;line-height:1.45;margin-bottom:18px}
.activities{font-size:.95rem;line-height:1.55;max-width:280px}
.period{line-height:1.5;margin-bottom:22px}
.contact-button{padding:13px 18px}
.ornament{margin-top:28px}
h2{font-size:clamp(1.45rem,6vw,1.9rem)}
.eyebrow{font-size:.65rem;letter-spacing:.1em}
.story,.legal{margin-top:34px;margin-bottom:36px}
.dialogue{padding-left:12px}
.legal ul{padding-left:20px}
.contact{padding:28px 0}
.contact h2{font-size:1.5rem}
.footer-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%}
.footer-menu a{font-size:.85rem;padding:10px 4px;line-height:1.35}
.contact a{font-size:1.05rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.contact-button{transition:none}
}

.top-menu{margin:0 auto 32px;font-size:.9rem;letter-spacing:normal}
.top-menu a{color:#111;text-underline-offset:4px}
@media(max-width:480px){.top-menu{margin-bottom:24px}
}


/* Page de l&#x27;infographie */
.infographic-page{max-width:1024px;margin:48px auto}
.infographic-page>h2{margin-bottom:16px}
.infographic-intro{text-align:center;line-height:1.6;margin-bottom:28px}
.infographic-figure{margin:0}
.infographic-figure img{display:block;width:100%;height:auto}
.infographic-figure>a{display:block}
.infographic-page a{color:#111;text-underline-offset:4px}
.infographic-figure figcaption{text-align:center;padding:18px 0}
.infographic-transcript{max-width:700px;margin:24px auto;padding:18px 0;border-top:1px solid #aaa;line-height:1.6}
.infographic-transcript summary{cursor:pointer;min-height:44px;padding:10px 0}
.infographic-transcript h3{margin-top:24px}
.infographic-transcript li{margin-bottom:8px}
@media(max-width:480px){.infographic-page{margin:30px auto}
.infographic-intro{font-size:1rem}
}

