/* Ajustements responsives communs, sans masquer les débordements. */
img{max-width:100%}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.hero>*,.section-heading>*,.universe-grid>*,.gallery>*,.atelier>*,.steps>*,.footer-main>*,.footer-bottom>*{min-width:0}
.universe-grid,.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.atelier{grid-template-columns:repeat(2,minmax(0,1fr))}
.header nav{flex-wrap:wrap;align-items:center}
.header nav a,.footer-legal a,.footer-top{display:inline-flex;align-items:center;min-height:44px}
.button,.nav-cta{max-width:100%;text-align:center;white-space:normal;overflow-wrap:anywhere}
.contact-details a{max-width:calc(100% - 20px);overflow-wrap:anywhere}
.footer-bottom,.footer-legal{min-width:0}.footer-credit{overflow-wrap:anywhere}
.site-footer .footer-legal,.footer-main .footer-top{font-size:14px}
.hero h1{overflow-wrap:normal}
.creation-category,.zoom-label{font-size:12px}
.creation-image img,.arch img{display:block}
#lightbox{position:fixed;width:max-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:50px 14px 18px;box-sizing:border-box}
#lightbox .close{position:absolute;float:none;top:5px;right:7px;min-width:44px;min-height:44px}
#lightbox img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 155px);object-fit:contain}
#lightbox p{font-size:20px;line-height:1.4;overflow-wrap:anywhere;max-width:100%}
body:has(#lightbox[open]){overflow-y:hidden}
@media(max-width:1000px){
 .hero{gap:32px}.header nav{column-gap:22px;row-gap:4px}
 .universe-grid,.gallery{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
 .universe-grid p,.section-heading>p,.atelier-copy>p,.personal>p,.steps p,.hero-copy>p{font-size:16px}
 .universe-grid .tag{font-size:13px}.eyebrow,.hero-copy>.eyebrow{font-size:12px;letter-spacing:1.5px}
 .hero-note{font-size:14px}.values{font-size:14px;flex-wrap:wrap;gap:12px 24px}
 .atelier{gap:36px}.atelier-photo img{height:auto;aspect-ratio:4/5;object-fit:cover}
 .steps{gap:24px}.steps h3{font-size:23px}
 .footer-bottom{align-items:flex-start}.footer-legal{row-gap:4px}
}
@media(min-width:651px) and (max-width:900px){
 .hero{grid-template-columns:minmax(0,1fr);padding:46px 8% 54px;gap:32px}
 .hero h1{font-size:64px;line-height:1.12;max-width:600px}.hero-copy>p{max-width:570px}
 .hero-visual{width:100%;max-width:460px;justify-self:center;padding-top:0}
 .arch{height:auto;aspect-ratio:4/4.6}.image-caption{font-size:14px}
 .section{padding:64px 7%}.section-heading{gap:28px}.section-heading>p{max-width:280px}
 .atelier{grid-template-columns:minmax(0,1fr);gap:40px}.atelier-photo{max-width:460px;width:100%;justify-self:center}.atelier-copy{max-width:640px}
}
@media(max-width:650px){
 .header{padding:12px 6% 10px}.header nav{font-size:14px;gap:2px 14px;justify-content:center;width:100%}
 .hero{grid-template-columns:minmax(0,1fr);padding:32px 7% 42px;gap:30px}
 .hero h1{font-size:clamp(42px,12vw,61px);letter-spacing:-1.3px;line-height:1.13;margin:22px 0}
 .hero h1 br:last-of-type{display:initial}.hero h1 em{margin-right:0}
 .hero-copy>.eyebrow{font-size:12px;line-height:1.65;letter-spacing:1.2px}.hero-copy>.eyebrow>span{flex-shrink:0;width:20px}
 .hero-note{font-size:14px}.hero-visual{width:100%;margin:0;min-width:0;padding:0}
 .arch{height:auto;aspect-ratio:4/5}.seal{left:-10px;bottom:52px;width:104px;height:104px;font-size:12px;border-width:4px}.seal em{font-size:16px}
 .image-caption{font-size:13px;line-height:1.6;margin-top:16px;max-width:100%}
 .values{display:grid;grid-template-columns:1fr;text-align:center;gap:7px;padding:20px 7%;font-size:14px}.values .diamond{display:none}
 .section{padding:52px 7%}.section-heading{margin-bottom:30px}.section-heading>p{font-size:16px}
 h2,.atelier-copy h2{font-size:clamp(31px,8.7vw,39px);line-height:1.25}
 .universe-grid{grid-template-columns:minmax(0,1fr);gap:0}.universe-grid article{padding:26px 0}.universe-icon{width:84px;height:84px;margin-bottom:14px}
 .universe-grid h3{font-size:26px}.universe-grid p{font-size:16px}.universe-grid .tag{font-size:13px;padding:8px 14px}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.creation-title{font-size:23px}.creation-category{font-size:12px;letter-spacing:1px;line-height:1.6}.zoom-label{font-size:12px;padding:5px 12px}
 .atelier{grid-template-columns:minmax(0,1fr);gap:28px}.atelier-photo{margin:0 0 26px}.atelier-photo img{height:auto;aspect-ratio:4/5}.photo-label{left:10px;right:0;font-size:16px;padding:14px;line-height:1.5}
 .atelier-copy>p,.personal>p{font-size:16px}.atelier-foot{font-size:20px}
 .steps{grid-template-columns:minmax(0,1fr);gap:28px}.steps>div{max-width:100%}.steps p{max-width:320px;font-size:16px}.steps h3{font-size:25px}.steps span{font-size:13px}
 .contact-details{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:30px}.contact-details br,.contact-details>span{display:none}.contact-details a{margin:0;max-width:100%;font-size:16px;min-height:44px;display:inline-flex;align-items:center}.contact-details .button{margin:0 0 4px;border-bottom:0}
 .site-footer{padding:28px 7%}.footer-main{flex-wrap:wrap;gap:16px}.footer-legal{display:flex;flex-direction:column;gap:0;align-items:flex-start}.site-footer .footer-credit{font-size:13px;line-height:1.8;margin-top:15px}
 .legal-heading h1{font-size:clamp(31px,9vw,36px)}.legal-content h2{font-size:25px}.legal-content a,.legal-details dd{overflow-wrap:anywhere}
}
@media(max-width:480px){.gallery{grid-template-columns:minmax(0,1fr)}.creation-image{aspect-ratio:1/1.06}.creation-title{font-size:25px}.creation-category{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
