/* static/css/architecture.css : composition architecturale, rythme et matières. */
:root{--fond:#f7f8f5;--papier:#fffffc;--encre:#203038;--secondaire:#57646a;--ligne:#d3d9d5;--accent:#dec29a;--sombre:#192c35;--titre:"Public Sans",Arial,sans-serif;--matiere:#e9ede8;--contour:#7d8987;--espace-architecture:6.5rem;--taille-corps:1.0625rem}
body{font-weight:400}
h1,h2,h3{font-family:var(--titre);font-weight:400;letter-spacing:-.055em;line-height:1.08}
h2{font-size:clamp(2.3rem,3.45vw,3.8rem)}
h3{font-size:1.7rem}
.conteneur{width:calc(100% - clamp(32px,5vw,96px));max-width:1760px}
.entete{background:var(--fond)}
.entete__ligne{min-height:108px}
.marque__nom{font-family:var(--titre);font-size:2.25rem;font-weight:600;letter-spacing:-.075em}
.marque__metier{font-size:.64rem;letter-spacing:.01em}
.navigation a{font-size:1rem;font-weight:400}
.bouton{font-weight:400;min-height:48px;padding:1rem 1.4rem;font-size:.85rem;border-radius:0}
.bouton--petit{padding:.8rem 1.1rem;font-size:.76rem}
.lien{font-weight:400;text-underline-offset:5px}
.repere{font-size:.77rem;letter-spacing:0}
.accueil-architecture{display:grid;grid-template-columns:.9fr 1.13fr;gap:4.5rem;align-items:center;padding-block:3.5rem 2.5rem}
.accueil-architecture h1{font-size:clamp(3.6rem,5.5vw,6rem);max-width:11.5ch;letter-spacing:-.07em;line-height:1.015}
.accueil-architecture__intro{font-size:1.15rem;max-width:44ch;line-height:1.75;color:var(--secondaire);margin:1.8rem 0 2rem}
.signature-contact{margin-top:2.3rem;display:flex;gap:1.3rem;align-items:center}
.signature-contact span{font-size:.85rem;color:var(--secondaire)}
.signature-contact a{text-decoration:none;font-size:1.05rem;border-bottom:1px solid var(--contour);padding:.4rem 0}
.accueil-architecture__visuel{min-width:0}
.accueil-architecture__visuel img{width:100%;height:610px;object-fit:cover;object-position:53% center}
.accueil-architecture__visuel figcaption{display:flex;justify-content:space-between;gap:1rem;padding-top:.8rem;font-size:.63rem;color:var(--secondaire)}
.composition-sans-image{min-height:500px;background:var(--sombre);color:var(--papier);display:flex;flex-direction:column;justify-content:space-between;padding:3rem}
.composition-sans-image>span{font-size:clamp(3rem,5vw,6rem);letter-spacing:-.07em}
.familles-architecture{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--ligne)}
.familles-architecture a{padding:1.9rem 0;text-decoration:none;display:flex;flex-direction:column;gap:.4rem}
.familles-architecture a+a{padding-left:2.5rem}
.familles-architecture span{font-size:1.2rem;letter-spacing:-.025em}
.familles-architecture small{font-size:.875rem;color:var(--secondaire)}
.familles-architecture a:hover span{text-decoration:underline;text-underline-offset:5px}
.section{padding-block:var(--espace-architecture)}
.section--haut-court{padding-top:1.2rem}
.introduction-architecture{display:grid;grid-template-columns:.6fr 1.4fr;gap:5rem}
.introduction-architecture>.repere{padding-top:.5rem}
.introduction-architecture h2{max-width:23ch}
.introduction-architecture div>p{max-width:60ch;color:var(--secondaire);font-size:1.075rem;line-height:1.8;margin-block:1.8rem 1rem}
.section__entete{margin-bottom:3rem}








.matiere-architecture{background:var(--matiere);padding-block:4rem}
.matiere-architecture__grille{display:grid;grid-template-columns:1.25fr .75fr;gap:5.5rem;align-items:center}
.matiere-architecture figure{margin-left:-2rem}
.matiere-architecture img{width:100%;height:510px;object-fit:cover}
.matiere-architecture figcaption{font-size:.67rem;color:var(--secondaire);padding-top:.8rem}
.matiere-architecture h2{margin-bottom:2rem}
.matiere-architecture p:not(.repere){color:var(--secondaire);font-size:1.05rem;line-height:1.8}
.matiere-architecture .lien{font-size:.8rem;margin-top:.5rem}
.avis-apercu{gap:7rem;align-items:center}
.avis-apercu .texte-mesure{font-size:1.05rem;line-height:1.8}
.contact-architecture{background:var(--sombre);color:var(--papier);padding-block:5rem}
.contact-architecture>.conteneur{display:grid;grid-template-columns:1.35fr .65fr;gap:5rem;align-items:center}
.contact-architecture h2{font-size:clamp(3rem,4.4vw,4.8rem)}
.contact-architecture .repere,.contact-architecture p{color:#c4cfd3}
.contact-architecture p{font-size:1.05rem;line-height:1.8;max-width:40ch}
.contact-architecture__telephone{display:block;margin-top:1.3rem;font-size:.85rem;text-decoration:none}
.pied{border-top:1px solid #51616a;padding-top:3rem}
.pied__haut{padding-bottom:3rem}
.page-intro h1{font-size:clamp(3rem,5.5vw,5.4rem)}
.page-intro>p:last-of-type{line-height:1.8}
.devis-intro h1{font-size:clamp(3rem,4.5vw,4.8rem)}
.encart{border-top:1px solid var(--contour)}
.encart h2{font-size:2.5rem}
.catalogue__ligne h2{font-size:2.5rem}
.catalogue-visuel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;margin-top:3rem}
.fiche-metier{min-width:0;border-bottom:1px solid var(--ligne);padding-bottom:2rem}
.fiche-metier__image{display:block;overflow:hidden;background:var(--matiere)}
.fiche-metier__image img{width:100%;aspect-ratio:3/2;object-fit:cover}
.fiche-metier__legende{display:block;font-size:.65rem;color:var(--secondaire);margin:.6rem 0 1.4rem}
.fiche-metier h2{font-size:2rem;margin-bottom:1rem}
.fiche-metier h2 a{text-decoration:none}
.fiche-metier p{font-size:1rem;color:var(--secondaire);line-height:1.7}
.fiche-metier .prestations-courtes{padding-left:1rem;margin-top:1rem;line-height:1.7}
.couverture-prestation{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.couverture-prestation h1{font-size:clamp(3rem,4.5vw,4.8rem)}
.couverture-prestation figure img{width:100%;aspect-ratio:3/2;object-fit:cover}
.couverture-prestation figcaption{font-size:.7rem;color:var(--secondaire);margin-top:.75rem}
.couverture-prestation .intro-prestation{color:var(--secondaire);font-size:1.05rem;line-height:1.8;margin-top:1.8rem}
.liste-prestations a{display:flex;justify-content:space-between;gap:1.3rem;text-decoration:none;font-size:.95rem}
.liste-prestations a span{font-size:.73rem;text-decoration:underline;white-space:nowrap}
.galerie{margin-top:2rem}
.legende-illustration{font-size:.68rem;color:var(--secondaire);margin-top:.35rem}
input:not([type=checkbox]):not([type=hidden]),select,textarea{border-color:var(--contour)}
.filtres-metiers a,.menu-mobile summary{border-color:var(--contour)}
@media(min-width:1600px){.accueil-architecture__visuel img{height:670px}}
@media(max-width:1100px){.accueil-architecture{gap:2.5rem}.accueil-architecture__visuel img{height:550px}.accueil-architecture h1{font-size:4.25rem}.matiere-architecture__grille{gap:3rem}.matiere-architecture figure{margin-left:0}.contact-architecture>.conteneur{gap:3rem}.couverture-prestation{gap:2.5rem}}
@media(max-width:850px){:root{--espace-architecture:4.5rem}.accueil-architecture{gap:2rem;padding-top:2.5rem}.accueil-architecture h1{font-size:3.5rem}.accueil-architecture__visuel img{height:480px}.signature-contact{flex-direction:column;align-items:start;gap:.25rem;margin-top:1.5rem}.familles-architecture a+a{padding-left:1.2rem}.familles-architecture span{font-size:1.05rem}.familles-architecture small{font-size:.8rem}.introduction-architecture{gap:2rem;grid-template-columns:.55fr 1.45fr}.matiere-architecture__grille{gap:2rem;grid-template-columns:1fr 1fr}.matiere-architecture img{height:430px}.catalogue-visuel{gap:2rem}.couverture-prestation{grid-template-columns:1fr}.couverture-prestation figure{max-width:650px}.avis-apercu{gap:3rem}}
@media(max-width:650px){:root{--espace-architecture:3.5rem}.entete__ligne{min-height:88px;gap:.7rem}.marque__nom{font-size:1.85rem}.marque__metier{font-size:.56rem}.entete__devis{font-size:.68rem;padding:.7rem;min-height:44px}.menu-mobile summary{min-height:44px;display:flex;align-items:center;font-size:.73rem}.accueil-architecture{grid-template-columns:1fr;gap:2.3rem;padding-block:2.7rem 1.8rem}.accueil-architecture .repere{margin-bottom:1.5rem}.accueil-architecture h1{font-size:clamp(2.95rem,10.5vw,4.2rem);max-width:14ch}.accueil-architecture__intro{font-size:1.05rem;max-width:48ch;margin-block:1.5rem}.signature-contact{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--ligne);padding-top:.9rem}.accueil-architecture__visuel img{height:365px}.accueil-architecture__visuel figcaption{font-size:.6rem}.familles-architecture{grid-template-columns:1fr}.familles-architecture a,.familles-architecture a+a{padding:1.2rem 0;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.familles-architecture a+a{border-top:1px solid var(--ligne)}.familles-architecture small{max-width:20ch;text-align:right}.introduction-architecture{grid-template-columns:1fr;gap:.5rem}.introduction-architecture h2{font-size:2.35rem}.introduction-architecture div>p{font-size:1rem;margin-top:1.3rem}.section__entete{align-items:start;flex-direction:column;gap:1.2rem}.section__entete h2{font-size:2.5rem}.matiere-architecture{padding-block:2rem 3rem}.matiere-architecture__grille{grid-template-columns:1fr;gap:2.5rem}.matiere-architecture img{height:auto;aspect-ratio:3/2}.matiere-architecture h2{font-size:2.8rem;margin-bottom:1.5rem}.matiere-architecture h2 br{display:none}.contact-architecture{padding-block:3.5rem}.contact-architecture>.conteneur{grid-template-columns:1fr;gap:2rem}.contact-architecture h2{font-size:3.1rem}.contact-architecture p{max-width:48ch}.catalogue-visuel{grid-template-columns:1fr;gap:2.5rem;margin-top:2rem}.fiche-metier h2{font-size:1.9rem}.couverture-prestation h1{font-size:3rem}.pied__haut{gap:2rem}.pied__haut>div:first-child{display:block}.pied__haut>div:first-child p{margin-top:1rem}.devis-intro h1{font-size:3rem}.page-intro h1{font-size:3rem}.liste-prestations a{font-size:.88rem}.liste-prestations a span{font-size:.66rem}.avis-apercu h2{font-size:2.6rem}}
@media(max-width:380px){.marque__nom{font-size:1.6rem}.marque__metier{font-size:.5rem}.entete__devis{font-size:.61rem;padding:.6rem}.accueil-architecture h1{font-size:2.95rem}.accueil-architecture__visuel img{height:300px}.signature-contact{gap:.5rem}.signature-contact a{font-size:.8rem}.familles-architecture span{font-size:1rem}.contact-architecture h2{font-size:2.7rem}}

/* Les photographies occupent presque la moitié des lignes de métiers. */
.metiers-introduction{max-width:72ch;font-size:1.1rem;color:var(--secondaire);margin-bottom:2rem;line-height:1.8}
.metier-editorial{display:grid;grid-template-columns:46% minmax(0,1fr);column-gap:clamp(2rem,5vw,6rem);row-gap:1rem;align-content:center;border-top:1px solid var(--ligne);padding:2.5rem 0;text-decoration:none}
.metier-editorial:last-child{border-bottom:1px solid var(--ligne)}
.metier-editorial figure{grid-column:1;grid-row:1/4;align-self:center}
.metier-editorial img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.metier-editorial figcaption{font-size:.75rem;color:var(--secondaire);padding-top:.5rem}
.metier-editorial h3{grid-column:2;align-self:end;font-size:clamp(2rem,3vw,3.2rem);max-width:18ch}
.metier-editorial p{grid-column:2;font-size:1.1rem;line-height:1.8;max-width:52ch;margin:0;color:var(--secondaire)}
.metier-editorial>span{grid-column:2;align-self:start;font-size:.95rem;text-decoration:underline;text-underline-offset:5px}
.metier-editorial:not(:has(figure)){grid-template-columns:1fr}
.metier-editorial:not(:has(figure))>*{grid-column:1}
.metier-editorial:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
@media(max-width:850px){.metier-editorial{column-gap:1.6rem}.metier-editorial h3{font-size:2rem}.metier-editorial p{font-size:1rem;line-height:1.7}}
@media(max-width:650px){.metier-editorial{grid-template-columns:1fr;gap:1rem;padding:1.8rem 0}.metier-editorial figure{grid-column:1;grid-row:auto}.metier-editorial img{aspect-ratio:5/4}.metier-editorial h3,.metier-editorial p,.metier-editorial>span{grid-column:1}.metier-editorial h3{max-width:none;font-size:2.1rem}.metiers-introduction{font-size:1rem}}
