/* Editorial media geometry; shared heading, card and navigation components own their appearance. */
.app-page-description { color: var(--app-color-text-muted); white-space: pre-line; margin: .8rem 0 0; line-height: 1.65; }
.app-page-hero { margin-bottom: var(--app-space); overflow: hidden; border-radius: var(--app-radius); }
.app-page-hero img { width: 100%; height: clamp(150px, 24vw, 340px); object-fit: cover; }
.app-page-image { margin: 0 0 var(--app-space); }
.app-page-image img { max-width: 100%; max-height: 450px; border-radius: var(--app-radius); }
.app-page-content .app-rich-text { max-width: 75ch; }
.app-page-landing .app-rich-text { max-width: none; }
.app-page-inline-controls { display: flex; flex-wrap: wrap; gap: var(--app-space); margin-bottom: var(--app-space); }
.app-page-inline-controls > * { flex: 1 1 260px; }
.app-profile-navigation { background: var(--app-color-surface); border: 1px solid var(--app-color-border); border-radius: var(--app-radius); padding: var(--app-space); }
.app-profile-navigation h2 { font-weight: 700; padding: .4rem .6rem .8rem; }
.app-profile-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .3rem; }
.app-profile-navigation a { display: flex; align-items: center; gap: .75rem; min-height: var(--app-control-height); padding: .7rem; border-radius: var(--app-control-radius); }
.app-profile-navigation a:hover { background: var(--app-color-surface-alternate); }
.app-profile-navigation [aria-current="page"] { background: var(--app-color-selection); color: var(--app-color-selection-text); }
.app-profile-navigation i { width: 1.1rem; text-align: center; }
