/* Ajustements des paragraphes et des réseaux sociaux — sans modifier les contenus */
/* Les titres et leur texte occupent le même bloc de composition, sans tronquer les mots. */
.section-head {inline-size:min(100%, 960px);max-inline-size:100%;}
.section-head > h2 {max-inline-size:100%;text-wrap:balance;}
.section-head > p,.section-head > .lead {display:block;inline-size:100%;max-inline-size:100%!important;margin-inline:0;}
/* Sur les panneaux à deux colonnes, le texte reste dans son espace naturel. */
.archi-process-step p,.archi-process-footnote,.archi-case-section p,
.commercial-example-copy p,.feature-copy p,.notice-box p,.quote-strong p {
  max-inline-size:100%;
}
/* Le texte justifié n'est pertinent que dans les paragraphes longs, avec une dernière ligne naturelle. */
@media (min-width:701px){
 .section-head > p,.section-head > .lead,.archi-process-step p,
 .archi-process-footnote,.archi-case-section .section-head p,
 .commercial-example-copy p,.feature-copy p,.notice-box p {
  text-align:justify!important;text-align-last:left!important;
 }
}
/* Aucun mot tronqué et aucune césure automatique */
.section-head p,.archi-process-step p,.archi-process-footnote,.commercial-example-copy p,
.feature-copy p,.notice-box p,.local-support p,.tile-body p {
 -webkit-hyphens:none!important;hyphens:none!important;word-break:normal!important;
 overflow-wrap:break-word;text-wrap:pretty;
}
/* Icônes de réseaux dans le pied de page commun à toutes les vues */
.footer-v7 .footer-social{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:25px;flex-wrap:wrap;}
.footer-v7 .footer-social a{height:42px;width:42px;box-sizing:border-box;border:1px solid rgba(211,170,56,.72);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#d3aa38!important;transition:background .2s,color .2s,transform .2s;}
.footer-v7 .footer-social a:hover,.footer-v7 .footer-social a:focus-visible{background:#d3aa38;color:#141414!important;transform:translateY(-2px);outline-offset:3px;}
.footer-v7 .footer-social svg{width:21px;height:21px;display:block;}
@media(max-width:700px){
 .section-head{inline-size:100%;}
 .section-head>p,.section-head>.lead,.archi-process-step p,.archi-process-footnote{text-align:left!important;}
 .footer-v7 .footer-social{gap:15px;}
}


/* V13 — harmonisation des filets dorés autour des grands titres */
:root{
  --home3d-title-line-short:72px;
  --home3d-title-line-long:122px;
}

/* Le filet doré de l'accueil doit être sous le grand titre, pas sous le petit intitulé. */
.hero-copy .hero-gold-line{display:none !important;}

/* Filet doré sous les grands titres principaux sur l'ensemble du site. */
.hero-copy h1::after,
.page-hero h1::after,
.split-copy h2::after,
.cta-row h2::after,
.contact-intro h2::after,
.commercial-example-copy h2::after,
.portfolio-page-header h1::after,
.real-work-panel h2::after,
.legal-hero h1::after{
  content:'';
  display:block;
  width:var(--home3d-title-line-long);
  max-width:100%;
  height:1px;
  margin-top:26px;
  background:var(--gold);
}

/* Les titres de sections conservent le même principe, avec un filet légèrement plus court. */
.section-head h2::after{
  width:var(--home3d-title-line-short) !important;
  height:1px;
  margin-top:26px !important;
  background:var(--gold);
}
.section-head.center h2::after{margin-inline:auto;}

/* Ajustements fins selon les blocs */
.hero-copy h1,
.page-hero h1,
.legal-hero h1,
.portfolio-page-header h1{margin-bottom:0;}
.split-copy h2,
.cta-row h2,
.contact-intro h2,
.commercial-example-copy h2,
.real-work-panel h2{margin-bottom:0;}

/* Garder une respiration cohérente entre le trait et le texte qui suit. */
.hero-copy h1 + p,
.page-hero h1 + p,
.legal-hero h1 + p,
.section-head h2 + p,
.split-copy h2 + p,
.cta-row h2 + p,
.contact-intro h2 + p,
.commercial-example-copy h2 + p,
.portfolio-page-header h1 + p,
.real-work-panel h2 + p{
  margin-top:24px;
}

@media (max-width:900px){
  :root{
    --home3d-title-line-short:64px;
    --home3d-title-line-long:104px;
  }
  .hero-copy h1::after,
  .page-hero h1::after,
  .split-copy h2::after,
  .cta-row h2::after,
  .contact-intro h2::after,
  .commercial-example-copy h2::after,
  .portfolio-page-header h1::after,
  .real-work-panel h2::after,
  .legal-hero h1::after,
  .section-head h2::after{
    margin-top:22px !important;
  }
  .hero-copy h1 + p,
  .page-hero h1 + p,
  .legal-hero h1 + p,
  .section-head h2 + p,
  .split-copy h2 + p,
  .cta-row h2 + p,
  .contact-intro h2 + p,
  .commercial-example-copy h2 + p,
  .portfolio-page-header h1 + p,
  .real-work-panel h2 + p{
    margin-top:20px;
  }
}

@media (max-width:650px){
  :root{
    --home3d-title-line-short:56px;
    --home3d-title-line-long:92px;
  }
  .hero-copy h1::after,
  .page-hero h1::after,
  .split-copy h2::after,
  .cta-row h2::after,
  .contact-intro h2::after,
  .commercial-example-copy h2::after,
  .portfolio-page-header h1::after,
  .real-work-panel h2::after,
  .legal-hero h1::after,
  .section-head h2::after{
    margin-top:18px !important;
  }
  .hero-copy h1 + p,
  .page-hero h1 + p,
  .legal-hero h1 + p,
  .section-head h2 + p,
  .split-copy h2 + p,
  .cta-row h2 + p,
  .contact-intro h2 + p,
  .commercial-example-copy h2 + p,
  .portfolio-page-header h1 + p,
  .real-work-panel h2 + p{
    margin-top:16px;
  }
}

/* Pied de page recentré sur les informations utiles. */
.footer-v7{padding-top:58px!important;}
.footer-v7 .footer-top{grid-template-columns:1fr 1.35fr 1fr!important;gap:clamp(28px,4vw,65px)!important;}
.footer-v7 .footer-logo-link{width:145px!important;}
.footer-v7 .partner-logos{margin-top:14px!important;gap:13px!important;}
.footer-v7 .matterport-badge{width:142px!important;}
.footer-v7 .google-badge{width:107px!important;}
.footer-v7 h4{margin-bottom:17px!important;}
.footer-v7 .footer-links{gap:5px!important;}
.footer-v7 .footer-bottom{margin-top:35px!important;}
/* Grand titre rendu et rubrique portfolio : même filet doré que les autres pages. */
.pf-detail-heading h1::after,.portfolio-page-header h1::after{
 content:'';display:block;width:122px;max-width:100%;height:1px;
 background:var(--gold);margin-top:22px;
}
@media(max-width:900px){.footer-v7 .footer-top{grid-template-columns:1fr 1fr!important;}.footer-v7 .footer-brand-column{grid-column:1 / -1;}}
@media(max-width:650px){.footer-v7 .footer-top{grid-template-columns:1fr!important;gap:26px!important;}.footer-v7 .footer-brand-column{grid-column:auto;}.pf-detail-heading h1::after{width:92px;}}


/* Alignement ciblé : Deux formules.
   Le paragraphe reste sous le titre et s'arrête au même bord droit
   au lieu de s'étendre sur toute la largeur de la section. */
@media (min-width: 701px) {
  #immobilier .section-head:has(> h2) {
    max-inline-size: 820px;
  }
  #immobilier .section-head > p {
    inline-size: 100%;
    max-inline-size: 820px !important;
    text-align: justify !important;
    text-align-last: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
  }
}


/* Alignement ciblé : sections Architectes.
   Les paragraphes restent sous les grands titres au lieu de filer sur toute la largeur. */
@media (min-width: 701px) {
  .archi-benefits-first .section-head {
    max-inline-size: 900px;
  }
  .archi-benefits-first .section-head > p {
    inline-size: 100%;
    max-inline-size: 900px !important;
    text-align: justify !important;
    text-align-last: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
  }

  .archi-process .section-head {
    max-inline-size: 980px;
  }
  .archi-process .section-head > p {
    inline-size: 100%;
    max-inline-size: 980px !important;
    text-align: justify !important;
    text-align-last: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
  }
}

/* V12 — Pied de page harmonisé : marque en bande, trois colonnes métiers. */
.footer-v7 .footer-brand-column{
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  flex-wrap:wrap;text-align:left;gap:22px 32px;
  border-bottom:1px solid rgba(211,170,56,.22);padding-bottom:28px;margin-bottom:34px;
}
.footer-v7 .footer-brand-column .footer-logo-link{flex:0 0 132px;max-width:132px;}
.footer-v7 .footer-brand-column .partner-logos{
  margin-top:0!important;display:flex;flex-direction:row;align-items:center;gap:20px!important;
}
.footer-v7 .footer-brand-column .matterport-badge{width:132px!important;}
.footer-v7 .footer-brand-column .google-badge{width:105px!important;}
.footer-v7 .footer-brand-column .footer-social{
  display:flex;justify-content:flex-start;align-items:center;margin-top:0!important;gap:10px;
}
.footer-v7 .footer-top{
  display:grid!important;grid-template-columns:1.15fr 1fr 1fr!important;
  gap:clamp(20px,4vw,62px)!important;align-items:start;
}
.footer-v7 .footer-top > .footer-col{min-width:0;}
.footer-v7 .footer-bottom .footer-legal-nav{display:flex;gap:clamp(10px,2vw,24px);flex-wrap:wrap;}
@media(max-width:900px){
 .footer-v7 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .footer-v7 .footer-brand-column{justify-content:center;text-align:center;}
}
@media(max-width:650px){
 .footer-v7 .footer-top{grid-template-columns:1fr!important;gap:26px!important;}
 .footer-v7 .footer-brand-column{flex-direction:column;align-items:center;text-align:center;}
 .footer-v7 .footer-brand-column .partner-logos{justify-content:center;}
 .footer-v7 .footer-brand-column .footer-social{justify-content:center;}
}
