/* P3 — finition <main> portefeuille.html + maison.html (fidèle pages-live/assets-style.css) */

/* ——— sécurité overflow (1440 / 390) ——— */
.pg-portefeuille main,
.pg-maison main{
  overflow-x:clip;
  max-width:100%;
}
.pg-portefeuille .container,
.pg-maison .container,
.pg-portefeuille .th-in > *,
.pg-portefeuille .th-b,
.pg-portefeuille .giant,
.pg-portefeuille .sheet,
.pg-portefeuille .duo,
.pg-portefeuille .ptable-wrap,
.pg-portefeuille .pills,
.pg-maison .about-grid,
.pg-maison .timeline,
.pg-maison .cta-band,
.pg-portefeuille .cta-band{
  min-width:0;
  max-width:100%;
}

/* ——— en-tête de page ——— */
.pg-portefeuille .phead,
.pg-maison .phead{
  padding:80px 0 52px;
}
.pg-portefeuille .phead h1,
.pg-maison .phead h1{
  font-size:clamp(36px,4.6vw,56px);
  margin-bottom:16px;
  max-width:820px;
  font-weight:500;
}
.pg-portefeuille .phead .lead,
.pg-maison .phead .lead{
  font-size:18px;
  color:var(--ink-soft);
  max-width:640px;
}

/* ——— nav thématiques (label i18n + compteur) ——— */
.pg-portefeuille .tnav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:0;
  margin-bottom:24px;
}
.pg-portefeuille .tnav a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  border:1px solid var(--line);
  border-radius:var(--rb);
  font-size:14px;
  font-weight:500;
  background:#fff;
  min-height:44px;
  max-width:100%;
}
.pg-portefeuille .tnav a:hover{border-color:var(--gold)}
/* legacy colore tous les span en or — on restaure le label, or uniquement sur .tn */
.pg-portefeuille .tnav a > span{
  font-size:inherit;
  color:inherit;
  font-weight:inherit;
}
.pg-portefeuille .tnav a > .tn{
  font-size:12px;
  color:var(--gold-dark);
  font-weight:600;
  flex:none;
}

/* ——— sections thématiques portefeuille ——— */
.pg-portefeuille section.th{padding:88px 0}
.pg-portefeuille section.th.band{background:var(--paper)}
.pg-portefeuille .th-in{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:72px;
  align-items:start;
}
.pg-portefeuille .th-h{position:sticky;top:24px} /* header G non sticky */
.pg-portefeuille .th-n{
  display:block;
  font-family:'Playfair Display',serif;
  font-style:italic;
  color:var(--gold);
  font-size:22px;
  margin-bottom:14px;
}
.pg-portefeuille .th-h h2{
  font-size:32px;
  margin-bottom:10px;
  font-weight:500;
}
.pg-portefeuille .th-h p{
  color:var(--ink-soft);
  font-size:15.5px;
}

.pg-portefeuille .giant{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:48px;
  align-items:end;
  border-bottom:1px solid var(--ink);
  padding-bottom:28px;
}
.pg-portefeuille .giant strong{
  font-family:'Playfair Display',serif;
  font-weight:500;
  font-size:clamp(84px,11vw,168px);
  line-height:.85;
  letter-spacing:-.035em;
  color:var(--ink);
  white-space:nowrap;
}
.pg-portefeuille .giant h3{
  font-family:'Inter',sans-serif;
  font-size:24px;
  font-weight:600;
  margin-bottom:8px;
  overflow-wrap:anywhere;
}
.pg-portefeuille .giant p{color:var(--ink-soft);font-size:15px}
.pg-portefeuille .giant .meta{
  color:var(--gold-dark);
  font-weight:600;
  font-size:13px;
  margin-top:6px;
}
.pg-portefeuille .giant.sm{
  margin-top:28px;
  padding-bottom:22px;
  gap:32px;
  border-bottom:1px solid var(--line);
}
.pg-portefeuille .giant.sm strong{
  font-size:clamp(48px,6.5vw,84px);
}
.pg-portefeuille .giant.sm h3{font-size:20px;margin-bottom:6px}
.pg-portefeuille .giant.sm p{font-size:14px}
.pg-portefeuille .duo > div.novol{display:flex;flex-direction:column;justify-content:center}
.pg-portefeuille .duo > div.novol h3{margin-top:0}
.pg-portefeuille .pills li.novol{align-content:center}

.pg-portefeuille .elist{
  list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line);
}
.pg-portefeuille .elist li{
  display:grid;
  grid-template-columns:250px 1fr;
  gap:32px;
  align-items:baseline;
  padding:30px 0;
  border-top:1px solid var(--line);
}
.pg-portefeuille .elist li:first-child{border-top:1px solid var(--ink)}
.pg-portefeuille .elist.sm .ev strong{font-size:46px}
.pg-portefeuille .elist.sm li{grid-template-columns:200px 1fr;padding:24px 0}
.pg-portefeuille .ev strong{
  display:block;
  font-family:'Playfair Display',serif;
  font-weight:500;
  font-size:60px;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--ink);
  font-variant-numeric:lining-nums tabular-nums;
  white-space:nowrap;
}
.pg-portefeuille .ev span{
  display:block;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:10px;
}
.pg-portefeuille .ed h3{
  font-family:'Inter',sans-serif;
  font-size:21px;
  font-weight:600;
  letter-spacing:-.01em;
  margin-bottom:6px;
  overflow-wrap:anywhere;
}
.pg-portefeuille .ed .sct{
  font-size:13px;color:var(--gold-dark);font-weight:600;letter-spacing:.04em;margin-bottom:4px;
}
.pg-portefeuille .ed .kw{font-size:14px;color:var(--ink-soft)}

.pg-portefeuille .sheet{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  border-radius:var(--r);
  overflow:hidden;
  border:1px solid var(--line);
}
.pg-portefeuille .sh-l{
  background:var(--ink);color:#fff;
  padding:56px 48px;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:280px;
}
.pg-portefeuille .sh-l .eyebrow{color:var(--gold-light)}
.pg-portefeuille .sh-l h3{
  font-size:clamp(26px,2.8vw,36px);
  word-break:break-word;
  font-weight:500;
}
.pg-portefeuille .sh-r{margin:0;padding:24px 40px;background:#fff}
.pg-portefeuille .sh-r div{padding:18px 0;border-top:1px solid var(--line)}
.pg-portefeuille .sh-r div:first-child{border-top:0}
.pg-portefeuille .sh-r dt{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;
}
.pg-portefeuille .sh-r dd{margin:0;font-size:17px;font-weight:500}
.pg-portefeuille .sh-r dd.big{
  font-family:'Playfair Display',serif;font-size:48px;font-weight:500;line-height:1;
}

.pg-portefeuille .duo{display:grid;grid-template-columns:1fr 1fr}
.pg-portefeuille .duo > div{padding:8px 48px 8px 0;min-width:0}
.pg-portefeuille .duo > div + div{
  border-left:1px solid var(--line);padding:8px 0 8px 48px;
}
.pg-portefeuille .duo strong{
  display:block;
  font-family:'Playfair Display',serif;
  font-weight:500;
  font-size:64px;
  line-height:1;
  letter-spacing:-.02em;
}
.pg-portefeuille .duo .u{
  display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:10px 0 22px;
}
.pg-portefeuille .duo h3{
  font-family:'Inter',sans-serif;font-size:20px;font-weight:600;margin-bottom:6px;
  overflow-wrap:anywhere;
}
.pg-portefeuille .duo .kw{font-size:14px;color:var(--ink-soft)}

.pg-portefeuille .ptable-wrap{
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden;
}
.pg-portefeuille .ptable{width:100%;border-collapse:collapse;font-size:15px}
.pg-portefeuille .ptable th{
  text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);background:var(--ivory);
  padding:14px 24px;border-bottom:1px solid var(--line);
}
.pg-portefeuille .ptable td{
  padding:16px 24px;border-bottom:1px solid var(--line);color:var(--ink-soft);
}
.pg-portefeuille .ptable tr:last-child td{border-bottom:0}
.pg-portefeuille .ptable td.d{
  font-family:'Playfair Display',serif;font-size:19px;color:var(--ink);
}
.pg-portefeuille .ptable td.d small{
  display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:2px;
  font-family:'Inter',sans-serif;
}
.pg-portefeuille .ptable .v{text-align:right}
.pg-portefeuille .ptable td.v{
  font-family:'Playfair Display',serif;font-size:19px;color:var(--ink);
}

.pg-portefeuille .pills{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.pg-portefeuille .pills li{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:16px;row-gap:4px;
  padding:14px 14px 14px 24px;
  border:1px solid var(--line);
  border-radius:var(--rb);
  background:#fff;
  justify-content:flex-start;
  max-width:100%;
  box-sizing:border-box;
}
.pg-portefeuille .pills b{font-weight:600;font-size:16px;order:1;overflow-wrap:anywhere}
.pg-portefeuille .pills span{font-size:13px;color:var(--muted);flex-basis:100%;order:3}
.pg-portefeuille .pills em{
  font-style:normal;font-family:'Playfair Display',serif;font-size:17px;
  background:var(--cream);padding:6px 14px;border-radius:var(--rb);
  white-space:nowrap;margin-left:auto;order:2;
}
.pg-portefeuille .pills em small{
  font-family:'Inter',sans-serif;font-size:11px;color:var(--muted);
}

.pg-portefeuille .th-end{padding-top:40px}
.pg-portefeuille .th-end .dom-note{margin:0 0 48px;font-size:13px;color:var(--muted);max-width:860px}

/* ——— maison ——— */
.pg-maison .about-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:56px;
  align-items:center;
}
.pg-maison .about-grid img{
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:5/4;
  object-fit:cover;
  border-radius:var(--r);
  display:block;
}
.pg-maison .about-grid h2{
  font-size:clamp(30px,3.6vw,44px);
  margin-bottom:20px;
  font-weight:500;
}
.pg-maison .prose p{
  color:var(--ink-soft);
  margin-bottom:14px;
  font-size:17px;
}
.pg-maison .prose p strong{color:var(--ink)}

.pg-maison .tl-head{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:64px;
  align-items:end;
  margin-bottom:64px;
}
.pg-maison .tl-head h2{
  font-size:clamp(30px,3.6vw,44px);
  font-weight:500;
}
.pg-maison .tl-head p{
  color:var(--ink-soft);font-size:17px;max-width:440px;
}
.pg-maison .timeline{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  position:relative;
}
.pg-maison .timeline::before,
.pg-maison .timeline::after{display:none}
.pg-maison .timeline li{
  position:relative;
  background:var(--ivory);
  border:1px solid var(--line);
  border-radius:var(--rx);
  padding:32px 30px 34px;
}
.pg-maison .tl-n{
  position:static;
  margin-bottom:26px;
  width:45px;height:45px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--gold);
  display:grid;place-items:center;
  font-family:'Playfair Display',serif;
  font-size:16px;color:var(--gold-dark);
}
.pg-maison .timeline h3{font-size:22px;margin-bottom:10px;font-weight:500}
.pg-maison .timeline p{
  color:var(--ink-soft);font-size:16px;max-width:330px;line-height:1.65;
}

.pg-maison #faq.band{background:var(--paper)}
.pg-maison .section-head{max-width:700px;margin-bottom:52px}
.pg-maison .section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.pg-maison .section-head h2{
  font-size:clamp(30px,3.6vw,44px);margin-bottom:14px;font-weight:500;
}
.pg-maison .faq{
  max-width:820px;margin:0 auto;border-top:1px solid var(--line);
}
.pg-maison .faq details{
  border-bottom:1px solid var(--line);
  padding:22px 0;
  border-radius:0;
  background:transparent;
}
.pg-maison .faq summary{
  cursor:pointer;
  font-family:'Playfair Display',serif;
  font-weight:500;
  font-size:20px;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.pg-maison .faq summary::-webkit-details-marker{display:none}
.pg-maison .faq summary::after{
  content:"+";
  font-family:'Inter',sans-serif;
  color:var(--gold-dark);
  font-size:22px;
  font-weight:300;
  line-height:1;
  flex:none;
}
.pg-maison .faq details[open] summary::after{content:"–"}
.pg-maison .faq details p{
  color:var(--ink-soft);margin-top:12px;max-width:680px;
}

/* ——— CTA commun ——— */
.pg-portefeuille .cta-band,
.pg-maison .cta-band{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  background:var(--cream);
  border-radius:var(--r);
  padding:44px 48px;
  box-sizing:border-box;
}
.pg-portefeuille .cta-band h2,
.pg-maison .cta-band h2{
  font-size:clamp(26px,3vw,36px);
  margin-bottom:6px;
  font-weight:500;
}
.pg-portefeuille .cta-band p,
.pg-maison .cta-band p{color:var(--ink-soft)}
.pg-portefeuille .cta-band .btn,
.pg-maison .cta-band .btn{
  flex:none;
  white-space:nowrap;
  border-radius:var(--rb);
}

/* ——— responsive 1024 ——— */
@media (max-width:1024px){
  .pg-portefeuille .th-in{grid-template-columns:1fr;gap:32px}
  .pg-portefeuille .th-h{position:static}
  .pg-maison .about-grid{grid-template-columns:1fr;gap:44px}
}

/* ——— responsive 900 ——— */
@media (max-width:900px){
  .pg-portefeuille section.th{padding:64px 0}
  .pg-portefeuille .pills{grid-template-columns:1fr}
  .pg-portefeuille .sheet{grid-template-columns:1fr}
  .pg-portefeuille .sh-l{min-height:0;padding:40px 28px}
  .pg-portefeuille .sh-r{padding:12px 28px}
  .pg-portefeuille .cta-band,
  .pg-maison .cta-band{
    flex-direction:column;
    align-items:flex-start;
    padding:34px 28px;
  }
  .pg-portefeuille .cta-band .btn,
  .pg-maison .cta-band .btn{
    width:100%;
    justify-content:center;
    white-space:normal;
    text-align:center;
  }
  .pg-maison .tl-head{grid-template-columns:1fr;gap:16px;margin-bottom:40px}
  .pg-maison .timeline{grid-template-columns:1fr;gap:14px}
  .pg-maison .timeline li{padding:26px 24px 28px}
}

/* ——— responsive 600 / 390 ——— */
@media (max-width:600px){
  .pg-portefeuille .tnav{margin-top:0}
  .pg-portefeuille .elist li,
  .pg-portefeuille .elist.sm li{
    grid-template-columns:1fr;gap:12px;padding:24px 0;
  }
  .pg-portefeuille .ev strong{font-size:46px}
  .pg-portefeuille .elist.sm .ev strong{font-size:40px}
  .pg-portefeuille .giant{grid-template-columns:1fr;gap:20px}
  .pg-portefeuille .giant strong{
    font-size:clamp(64px,18vw,84px);
    white-space:normal;
    line-height:.9;
  }
  .pg-portefeuille .giant.sm strong{
    font-size:clamp(40px,12vw,56px);
  }
  .pg-portefeuille .duo{grid-template-columns:1fr}
  .pg-portefeuille .duo > div,
  .pg-portefeuille .duo > div + div{
    padding:24px 0;border-left:0;
  }
  .pg-portefeuille .duo > div + div{border-top:1px solid var(--line)}
  .pg-portefeuille .duo strong{font-size:48px}
  .pg-portefeuille .pills li{
    flex-wrap:wrap;border-radius:var(--r);width:100%;
    gap:6px 14px;padding:16px 18px;
  }
  .pg-portefeuille .ed h3{font-size:19px;word-break:break-word}
  .pg-portefeuille .ptable thead{display:none}
  .pg-portefeuille .ptable,
  .pg-portefeuille .ptable tbody,
  .pg-portefeuille .ptable tr,
  .pg-portefeuille .ptable td{display:block;width:100%}
  .pg-portefeuille .ptable tr{
    padding:16px 18px;border-bottom:1px solid var(--line);
    display:grid;grid-template-columns:1fr auto;gap:4px 12px;
  }
  .pg-portefeuille .ptable tr:last-child{border-bottom:0}
  .pg-portefeuille .ptable td{padding:0;border:0;text-align:left}
  .pg-portefeuille .ptable td.d{grid-column:1/-1;font-size:17px}
  .pg-portefeuille .ptable td:nth-child(2){font-size:14px;color:var(--ink-soft)}
  .pg-portefeuille .ptable td:nth-child(3){display:none}
  .pg-portefeuille .ptable td.v{
    text-align:right;font-family:'Playfair Display',serif;font-size:20px;
    grid-row:2;grid-column:2;
  }
  .pg-portefeuille .ptable-wrap{overflow:hidden}
}
