/* Progression (maîtrise) + archétypes. */

.sw-mastery-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:56px;align-items:center;margin-top:var(--space-block)}
.sw-mastery-grid .ph{width:clamp(160px,42%,238px);margin:0 auto;max-width:100%}
.sw-mcard{
  border:1px solid var(--line);border-radius:8px;padding:30px;
  background:#FBF9F2;box-shadow:0 14px 32px -24px rgba(23,37,28,.32);
}
.sw-mhead{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.sw-badge{
  width:70px;height:70px;border-radius:50%;flex:none;
  border:1px solid var(--gold);background:var(--cream);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.sw-badge b{font-family:var(--serif);font-size:27px;font-weight:600;line-height:1;color:var(--ink)}
.sw-badge span{font-size:7.5px;letter-spacing:.16em;color:var(--gold);margin-top:5px;font-weight:600}
.sw-mhead h4{margin-bottom:4px;font-family:var(--serif);font-size:21px}
.sw-mhead p{margin:0;font-size:14.5px;color:#6E7A70;line-height:1.45}
.sw-seg{display:flex;gap:6px;margin-bottom:22px}
.sw-seg i{height:6px;flex:1;border-radius:4px;background:#DDD8C6;transition:background .55s var(--ease)}
.sw-seg i.on{background:var(--gold)}
.sw-chips{display:flex;flex-wrap:wrap;gap:9px}
.sw-chip{
  font-size:13.5px;padding:9px 15px;border-radius:22px;
  border:1px dashed #C7C1AE;color:#8A8878;
  transition:border-color .5s var(--ease),color .5s var(--ease),background .5s var(--ease);
}
.sw-chip.on{border:1px solid var(--gold);border-style:solid;color:var(--ink);background:rgba(169,140,54,.09);font-weight:500}
.sw-mastery-copy h3{margin-bottom:var(--space-title)}
.sw-mastery-copy > p{color:#4C594F;max-width:46ch}
.sw-progress-title{max-width:16ch}
.sw p.sw-mastery-chute{padding:var(--space-chute) 0 0}

.sw-archetypes{
  background:var(--dark-2);color:#EDE9DC;
  border-top:1px solid rgba(201,169,79,.12);
}
.sw-arch-grid{
  display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.2fr);
  gap:var(--space-6);align-items:start;
}
.sw-arch-grid h2{max-width:12ch;margin-bottom:var(--space-title);color:#EDE9DC}
.sw-arch-grid .lead{color:#B9C3B6;max-width:36ch;margin:0}
.sw-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.sw-path{
  background:linear-gradient(165deg,#1A2A20,#121C16);
  color:#EDE9DC;border-radius:8px;padding:26px 24px;
  border:1px solid rgba(201,169,79,.18);
  transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
  min-height:168px;display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;overflow:hidden;
}
.sw-path::before{
  content:attr(data-n);position:absolute;top:10px;right:16px;
  font-family:var(--serif);font-size:42px;font-weight:600;line-height:1;
  color:rgba(201,169,79,.14);pointer-events:none;
}
.sw-path:hover{
  transform:translateY(-4px);
  border-color:rgba(201,169,79,.5);
  box-shadow:0 16px 32px -22px rgba(0,0,0,.55);
}
.sw-path svg{width:28px;height:28px;stroke:var(--gold-lt);fill:none;stroke-width:1.5;margin-bottom:var(--space-3)}
.sw-path h4{font-family:var(--serif);font-size:22px;margin-bottom:var(--space-1);color:#EDE9DC}
.sw-path p{margin:0;font-size:15px;line-height:1.5;color:#A9B4A7}
.sw-arch-foot{margin-top:var(--space-block);text-align:center}
.sw-arch-foot .lead{margin:0 auto 28px;max-width:48ch;color:#B9C3B6;text-align:center}
