/* Pages profils (TPE/PME, professions libérales, immobilier) : préfixe px- */
.px-sec{padding-bottom:clamp(44px,6vw,84px);margin-bottom:clamp(44px,6vw,84px);border-bottom:1px solid var(--line);scroll-margin-top:96px}
.px-sec:last-child{border:0;margin-bottom:0;padding-bottom:0}
.px-sec>h2{font-size:clamp(1.8rem,3vw,2.5rem);max-width:24ch;margin-bottom:18px}
.px-sec>p,.px-sec .px-p{max-width:68ch;font-size:1.05rem;color:var(--ink-2)}
.px-sec>p+p{margin-top:1em}
.px-sec>h3{font-size:1.4rem;margin:36px 0 12px}
.px-sec p strong{color:var(--ink);font-weight:600}
.px-sec .px-intro{font-size:1.16rem;color:var(--ink);max-width:62ch}

.px-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-m);background:#fff;margin-bottom:clamp(44px,6vw,84px);overflow:hidden}
.px-brief>div{padding:22px 24px;border-left:1px solid var(--line)}
.px-brief>div:first-child{border-left:0}
.px-brief b{display:block;font:italic 400 1.15rem/1.2 var(--serif);color:var(--bordeaux);margin-bottom:8px}
.px-brief p{margin:0;font-size:.95rem;color:var(--ink-2);line-height:1.55}

.px-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:28px}
.px-card{border:1px solid var(--line);border-radius:var(--r-m);padding:22px 24px 24px;background:#fff}
.px-card h3{font-size:1.25rem;margin-bottom:10px}
.px-card p{margin:0;font-size:.97rem;color:var(--ink-2);line-height:1.6}
.px-card ul{list-style:none;display:grid;gap:7px;margin:12px 0 0}
.px-card li{position:relative;padding-left:16px;font-size:.94rem;line-height:1.5;color:var(--ink-2)}
.px-card li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:2px;background:var(--bordeaux)}
.px-card--tint{background:var(--bordeaux-t);border-color:transparent}

.px-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:30px}
.px-split .frame{aspect-ratio:4/3;border-radius:var(--r-m)}
.px-split--rev .frame{order:-1}
.px-split p{margin:0 0 1em;font-size:1.02rem;color:var(--ink-2);max-width:60ch}
.px-split p:last-child{margin:0}
.px-figure{margin:30px 0 0}
.px-figure .frame{aspect-ratio:21/9;border-radius:var(--r-m)}
.px-figure figcaption{font-size:.84rem;color:var(--mute);margin-top:10px}

.px-phases{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin-top:32px;border-top:2px solid var(--ink);counter-reset:ph}
.px-phases li{counter-increment:ph;padding:20px clamp(12px,1.6vw,22px) 0 0}
.px-phases li::before{content:"Phase " counter(ph);display:block;font:italic 400 1.05rem/1 var(--serif);color:var(--bordeaux);margin-bottom:8px}
.px-phases h3{font-size:1.2rem;margin-bottom:10px}
.px-phases p{margin:0;font-size:.93rem;line-height:1.55;color:var(--ink-2)}

.px-tablewrap{overflow-x:auto;margin-top:28px;border:1px solid var(--line);border-radius:var(--r-m);background:#fff}
.px-table{border-collapse:collapse;width:100%;min-width:680px;font-size:.93rem;line-height:1.5}
.px-table th{text-align:left;font:600 .86rem/1.3 var(--sans);color:var(--ink);background:var(--mist);padding:13px 18px;border-bottom:1px solid var(--line)}
.px-table td{padding:15px 18px;vertical-align:top;border-top:1px solid var(--line);color:var(--ink-2)}
.px-table tr:first-child td{border-top:0}
.px-table td:first-child{font-weight:600;color:var(--ink);width:26%}
.px-table a{color:var(--bordeaux)}

.px-cal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px);margin-top:30px}
.px-cal>div{border-top:2px solid var(--bordeaux);padding-top:16px}
.px-cal h3{font-size:1.2rem;margin-bottom:12px}
.px-cal ul{list-style:none;display:grid;gap:10px}
.px-cal li{font-size:.93rem;line-height:1.5;color:var(--ink-2)}
.px-cal li b{display:block;color:var(--ink);font-weight:600;font-size:.88rem}

.px-cases{display:grid;gap:clamp(16px,2.4vw,26px);margin-top:30px}
.px-case{border:1px solid var(--line);border-radius:var(--r-m);background:#fff;overflow:hidden}
.px-case__head{padding:18px 24px;background:var(--mist);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;justify-content:space-between}
.px-case__head h3{font-size:1.3rem;margin:0}
.px-case__head span{font-size:.82rem;color:var(--mute)}
.px-case__body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.px-case__body>div{padding:20px 24px;border-left:1px solid var(--line)}
.px-case__body>div:first-child{border-left:0}
.px-case h4{font:600 .86rem/1.2 var(--sans);color:var(--bordeaux);margin-bottom:8px}
.px-case p{margin:0;font-size:.94rem;line-height:1.6;color:var(--ink-2)}

.px-mistakes{list-style:none;counter-reset:m;margin-top:28px;border-top:1px solid var(--ink)}
.px-mistakes li{counter-increment:m;position:relative;padding:20px 0 20px 56px;border-bottom:1px solid var(--line)}
.px-mistakes li::before{content:counter(m);position:absolute;left:0;top:18px;font:italic 400 1.9rem/1 var(--serif);color:var(--bordeaux)}
.px-mistakes h3{font-size:1.15rem;margin-bottom:6px}
.px-mistakes p{margin:0;font-size:.97rem;line-height:1.6;color:var(--ink-2);max-width:66ch}

.px-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px);margin-top:28px}
.px-tool{border-left:2px solid var(--bordeaux);padding:2px 0 2px 18px}
.px-tool h3{font-size:1.12rem;margin-bottom:6px}
.px-tool p{margin:0;font-size:.94rem;line-height:1.55;color:var(--ink-2)}

.px-note{margin-top:22px;font-size:.84rem;color:var(--mute);max-width:72ch}
.px-sec .faq{margin-top:26px}
.px-sec .faq details>div p{font-size:.98rem;color:var(--ink-2)}
.px-sec .co-articles{margin-top:26px;max-width:760px}
.px-sec .chips{margin-top:22px}

.px-cta{margin-top:clamp(36px,5vw,64px)}
.px-cta .cta-box{margin:0}

@media (max-width:1020px){
  .px-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .px-case__body{grid-template-columns:1fr}
  .px-case__body>div{border-left:0;border-top:1px solid var(--line)}
  .px-case__body>div:first-child{border-top:0}
}
@media (max-width:820px){
  .px-brief{grid-template-columns:1fr}
  .px-brief>div{border-left:0;border-top:1px solid var(--line)}
  .px-brief>div:first-child{border-top:0}
  .px-split{grid-template-columns:1fr}
  .px-split--rev .frame{order:0}
}
@media (max-width:640px){
  .px-cal{grid-template-columns:1fr}
  .px-grid,.px-tools{grid-template-columns:1fr}
  .px-phases{grid-template-columns:1fr;border-top:0}
  .px-phases li{padding:18px 0;border-top:1px solid var(--line)}
  .px-phases li:first-child{border-top:2px solid var(--ink)}
  .px-mistakes li{padding-left:44px}
  .px-figure .frame{aspect-ratio:16/9}
}
