.prof{display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:center;max-width:1000px;margin:0 auto}
.prof .ph{border-radius:0;overflow:hidden;background:var(--mist)}
.prof .ph img{width:100%;display:block}
.prof h2{font-size:clamp(34px,4.6vw,56px);margin-bottom:12px}
.prof .role{font-size:19px;font-weight:600;color:var(--blue)}
.prof .sp{font-size:16px;color:var(--slate);margin-top:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{background:var(--mist);border-radius:0;padding:8px 16px;font-size:14px;font-weight:500;line-height:1.3}
.lead{max-width:1000px;margin:48px auto 0;font-size:clamp(17px,1.7vw,20px);line-height:1.95;color:var(--slate)}
.msg{max-width:760px;margin:0 auto}
.msg h2,.msg .eyebrow,.pol h2,.pol .eyebrow{text-align:center}
.msg h2{margin:12px 0 36px;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.msg p.b{font-size:19px;line-height:2;color:var(--slate);margin-bottom:22px}
.msg p.sig{text-align:right;color:var(--ink);font-weight:600;font-size:19px}
@media(max-width:860px){.prof{grid-template-columns:1fr;gap:28px}}.hname{display:inline-flex;align-items:center;gap:12px;margin-top:26px;font-size:clamp(18px,2vw,24px);font-weight:600}
.hname img{width:34px;height:34px;object-fit:contain}
.cg{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;max-width:1100px;margin:0 auto;align-items:start}
.ct{width:100%;border-collapse:collapse}
.ct tr{border-bottom:1px solid var(--hair)}.ct tr:first-child{border-top:1px solid var(--hair)}
.ct th{width:7.5em;text-align:left;font-weight:600;font-size:16px;padding:20px 12px 20px 4px;vertical-align:top;white-space:nowrap}
.ct td{font-size:17px;line-height:1.7;padding:20px 4px;color:var(--slate)}
.ct td a{color:var(--link)}
.map{border-radius:0;overflow:hidden;background:var(--mist);aspect-ratio:4/3}
.map iframe{width:100%;height:100%;border:0;display:block}
.mapbn{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;background:var(--mist);border-radius:0;padding:20px 24px;transition:background .3s}
.mapbn:hover{background:#ececef}
.mapbn b{font-size:12px;letter-spacing:.2em;color:var(--slate);font-weight:600;display:block}
.mapbn span{font-size:18px;font-weight:600}
.mapbn::after{content:"›";color:var(--link);font-size:28px;line-height:1}
.pol{max-width:760px;margin:0 auto}
.pol h2{margin:12px 0 30px;text-wrap:balance}
.pol p{font-size:17px;line-height:1.95;color:var(--slate)}
.pol h3{font-size:21px;font-weight:600;margin:38px 0 10px}
.pol a{color:var(--link)}
@media(max-width:860px){.cg{grid-template-columns:1fr}.ct th{width:6em;font-size:15px}.ct td{font-size:16px}}