.v-fam-g{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:start}
.v-fam-av{width:88px;height:88px;border-radius:24px;display:grid;place-items:center;font-size:2.4rem;background:var(--v-gold-l);border:2px solid #F3DD8A;margin-bottom:1rem}
.v-rel{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--v-red);color:#fff;border-radius:99px;padding:.25rem .7rem;margin-bottom:.6rem}
.v-role{font-size:.95rem;font-weight:700;color:var(--v-red);margin:.1rem 0 .7rem}
.v-facts{background:#fff;border:1px solid var(--v-line);border-radius:16px;overflow:hidden}
.v-facts div{display:grid;grid-template-columns:8.5rem 1fr;gap:.8rem;padding:.7rem 1rem;border-bottom:1px solid #F4EFE8;font-size:.84rem}
.v-facts div:last-child{border-bottom:0}.v-facts dt{font-weight:700;color:var(--v-mute);font-size:.74rem}.v-facts dd{margin:0;font-weight:700;color:var(--v-ink)}
.v-prose{max-width:74ch}.v-prose h2{font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.25rem;margin:1.6rem 0 .6rem;padding-left:.7rem;border-left:4px solid var(--v-red)}
.v-prose h2:first-child{margin-top:0}.v-prose p{font-size:.95rem;line-height:1.8;color:var(--v-ink2);margin:0 0 .9rem}
.v-works{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.v-works li{display:grid;grid-template-columns:4.5rem 1fr;gap:.8rem;background:#fff;border:1px solid var(--v-line);border-radius:12px;padding:.7rem .9rem;align-items:center}
.v-works b{font-family:'Montserrat',sans-serif;font-weight:900;color:var(--v-red)}.v-works span{font-size:.86rem}.v-works small{display:block;color:var(--v-mute);font-size:.74rem}
.v-tbl tr.vj td{background:#FFF8E1;font-weight:700}.v-tbl tr.vj td:last-child{color:var(--v-red)}
.v-prose a{color:var(--v-red);font-weight:600}
.v-famnav{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}
.v-famnav a{display:flex;flex-direction:column;gap:.15rem;background:#fff;border:1px solid var(--v-line);border-radius:14px;padding:.85rem .9rem;text-decoration:none;color:var(--v-ink)}
.v-famnav a:hover{border-color:var(--v-red)}.v-famnav a.on{border-color:var(--v-red);background:#FFF7F4;pointer-events:none}
.v-famnav small{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--v-red)}.v-famnav b{font-size:.86rem}
@media (max-width:860px){.v-fam-g{grid-template-columns:1fr}.v-famnav{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.v-facts div{grid-template-columns:1fr;gap:.1rem}}
