.page-directory .directory-intro { background: #f3f3ed; border-bottom: 1px solid #d9dcd2; }
.page-directory h1 { max-width: 900px; margin: 0 0 26px; font-size: clamp(40px, 5.2vw, 74px); line-height: 1.04; letter-spacing: -.045em; }
.page-directory .directory-intro p:last-child { max-width: 650px; color: #565a50; font-size: 19px; line-height: 1.65; }
.page-directory .directory-group + .directory-group { padding-top: 0; }
.page-directory .directory-heading { display: flex; gap: 24px; margin-bottom: 24px; }
.page-directory .directory-heading .op-number { padding-top: 8px; }
.page-directory .directory-heading h2 { margin: 0 0 12px; }
.page-directory .directory-heading p { color: #565a50; line-height: 1.6; }
.page-directory .directory-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 44px; }
.page-directory .directory-links > a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0; border-top: 1px solid #d3d6cc; color: #111; text-decoration: none; }
.page-directory .directory-links > a strong { display: block; margin-bottom: 8px; font-size: 19px; }
.page-directory .directory-links > a span span { display: block; font-size: 15px; line-height: 1.6; color: #565a50; }
.page-directory .directory-links > a > span:last-child { color: #7a6a00; font-size: 25px; transition: transform .18s ease; }
.page-directory .directory-links > a:hover > span:last-child { transform: translate(3px,-3px); }
@media(max-width:700px) { .page-directory .directory-links { grid-template-columns: 1fr; } .page-directory .directory-heading { gap: 14px; } }
