/* SPAN reuses the COMPOSITE components from pages.css/components.css. */
/* base.css already supplies --header-height as root scroll padding. */
.span-page [id] { scroll-margin-top:calc(var(--span-header-height,var(--header-height)) - var(--header-height) + 24px); }
.span-page .profile-hero__title > span { white-space:nowrap; }
.span-page .profile-hero__image img { object-fit:contain; background:var(--color-surface); }
.span-page .profile-content__grid > *, .span-page .profile-desc__grid > * { min-width:0; }
.span-page .profile-info__row { min-width:0; }
.span-page .profile-info__row dt { flex-shrink:1; }
.span-page .profile-info__row dd { overflow-wrap:anywhere; }
.span-page .profile-desc__applications .profile-info__row { flex-direction:column; gap:5px; }
.span-page .profile-desc__applications .profile-info__row dd { text-align:left; }
.span-page .table--tech tbody th { background:transparent; font-size:14px; font-weight:600; color:var(--color-text); vertical-align:middle; white-space:nowrap; }
.span-page .table-wrap:focus-visible,.span-page .span-sources>summary:focus-visible { outline:2px solid var(--color-primary-dark); outline-offset:4px; }
.span-drawing-caption,.span-family-link { margin:20px 0 0; }
.span-source-note { margin:16px 0 0; color:var(--color-text-muted); font-size:12px; line-height:1.75; }
.span-source-note a,.span-sources a { color:var(--color-primary-dark); text-decoration:underline; text-underline-offset:3px; }
.span-table-hint { margin-top:12px; }
.span-sources { margin-top:20px; color:var(--color-text-muted); font-size:13px; line-height:1.8; }
.span-sources>summary { cursor:pointer; width:fit-content; color:var(--color-text); }
.span-sources>div { padding-top:12px; }
.span-sources p { margin:0 0 12px; }
.span-sources ul { padding-left:20px; list-style:disc; }
.span-page .docs-grid > li { min-width:0; }
.span-page .doc-card__title { overflow-wrap:anywhere; }
.span-page .doc-card__btn { margin-top:auto; }
.span-page .profile-cta__image img { background:var(--color-surface); }
@media(max-width:767px) {
 .span-page .profile-info__row { flex-wrap:wrap; gap:6px 16px; }
 .span-page .key-spec { padding:20px 18px; }
 .span-page .profile-cta__panel { padding:28px 24px; }
}
@media(min-width:1100px) { .span-table-hint { display:none; } }
