.document-page details { border-bottom: 1px solid var(--line); padding: 14px 0; }
.document-page details:last-child { border-bottom: 0; }
.document-page summary { cursor: pointer; font-weight: 700; padding-left: 20px; position: relative; }
.document-page summary::before { content: '+'; position: absolute; left: 0; color: #2679ec; font-size: 1.15rem; line-height: 1; }
.document-page details[open] summary::before { content: '−'; }
.document-page details p { margin: 10px 0 0; line-height: 2; color: #555; }
.contact-card { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: start; padding: 15px 0; border-bottom: 1px solid var(--line); }
.contact-card > .ui-icon { width: 24px; height: 24px; color: #2679ec; margin-top: 2px; }
.contact-card div { display: grid; gap: 5px; }
.contact-card a { color: #2679ec; }
.profile-info-section { border-top: 1px solid var(--line); padding-top: 16px; margin-top: 24px; }
.profile-info-section:first-of-type { border-top: 0; padding-top: 0; margin-top: 20px; }
.profile-info-section h3 { margin: 0 0 12px; font-size: 1rem; }
.profile-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.profile-info-grid > div { background: #f7f8fa; border-radius: 10px; padding: 11px 12px; min-width: 0; }
.profile-info-grid dt { color: #777; font-size: .76rem; margin-bottom: 4px; }
.profile-info-grid dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.profile-info-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.profile-info-list li { display: grid; grid-template-columns: 22px 1fr auto; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; }
.profile-info-list li > .ui-icon { width: 19px; height: 19px; color: #2679ec; }
.profile-info-list li > span:not(.ui-icon) { font-weight: 700; letter-spacing: .02em; }
.profile-info-list small { color: #85878d; font-size: .7rem; text-align: left; }
@media (max-width: 390px) { .profile-info-grid { grid-template-columns: 1fr; } .profile-info-list li { grid-template-columns: 22px 1fr; } .profile-info-list small { grid-column: 2; text-align: right; } }
