/* Shared responsive shell; does not change account permissions or CMS content. */
.sc-public .sc-about-page { padding-top: 28px; padding-bottom: 48px; }
.sc-about-page .sc-about-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.sc-about-page .sc-about-heading h1 { margin: 0; color: #102033; font-size: clamp(26px, 3vw, 36px); }
.sc-about-page .sc-about-content { width: 100%; min-width: 0; text-align: left; overflow-wrap: anywhere; }
/* Replace the viewport-based width in legacy CMS markup with container width. */
.sc-about-page .sc-about-content > div { width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box; }
.sc-about-page .sc-about-content > div > section { width: 100%; max-width: none !important; }
.sc-about-page .sc-about-content section,
.sc-about-page .sc-about-content article { min-width: 0; box-sizing: border-box; }
.sc-about-page .sc-about-content section[style*="padding"],
.sc-about-page .sc-about-content article[style*="padding"] { padding: clamp(20px, 4vw, 48px) !important; }
.sc-about-page .sc-about-content article { margin: 24px 0; }
.sc-about-page .sc-about-content h1 { font-size: clamp(30px, 4vw, 46px) !important; line-height: 1.15 !important; }
.sc-about-page .sc-about-content h2 { font-size: clamp(24px, 3vw, 30px) !important; line-height: 1.25 !important; }
.sc-about-page .sc-about-content p { max-width: 100%; }
.sc-about-page .sc-about-contact { margin-top: 24px; text-align: center; }

/* Search shrinks to reserve space for notification and profile controls. */
body .sc-topbar { gap: 12px; }
body .sc-topbar .sc-topbar-left { min-width: 0; flex: 1 1 auto; }
body .sc-topbar .sc-topbar-right { display: flex; flex: 0 0 auto; margin-left: auto; }
body .sc-topbar .sc-sidebar-toggle { flex: 0 0 40px; }
body .sc-topbar .sc-global-search { width: 100%; max-width: 620px; min-width: 0; flex: 1 1 auto; }
body .sc-topbar .sc-user-name { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .sc-topbar .sc-user-menu .dropdown-menu { max-height: calc(100dvh - 90px); overflow-y: auto; max-width: calc(100vw - 24px); }
body .sc-topbar .sc-user-trigger:focus-visible,
body .sc-topbar .sc-sidebar-toggle:focus-visible { outline: 2px solid #246bfd; outline-offset: 2px; }
@media (max-width: 991px) {
    body .sc-topbar, body.sc-sidebar-collapsed .sc-topbar { left: 0; padding-inline: 12px; gap: 8px; }
    body .sc-topbar .sc-user-name { display: none; }
    body .sc-topbar .sc-user-trigger, body .sc-topbar .sc-topbar-icon { min-width: 44px; min-height: 44px; }
    body .sc-topbar .sc-topbar-right { gap: 4px; }
    body .sc-topbar .sc-user-menu .dropdown-menu { position: fixed; top: calc(var(--sc-topbar-height) + var(--sc-announcement-banner-height) + 4px); right: 12px; left: auto; width: min(300px, calc(100vw - 24px)); max-height: calc(100dvh - var(--sc-topbar-height) - var(--sc-announcement-banner-height) - 16px); }
    body .sc-topbar .sc-user-menu .dropdown-menu > li > a,
    body .sc-topbar .sc-user-menu .dropdown-menu button { min-height: 44px; padding: 12px 16px; white-space: normal; }
    body.sc-sidebar-collapsed .sc-impersonation-banner-v5 { margin-left: 0; }
    body .sc-impersonation-banner-v5 { min-width: 0; padding-inline: 12px; }
    body .sc-impersonation-banner-v5 .sc-impersonation-banner-actions { min-width: 0; }
    body .sc-impersonation-banner-v5 .sc-impersonation-banner-actions a,
    body .sc-impersonation-banner-v5 .sc-impersonation-banner-actions button { white-space: normal; min-height: 44px; }
    body.sc-public .sc-public-header .sc-public-nav { width: calc(100% - 24px); gap: 8px; flex-wrap: wrap; }
    body.sc-public .sc-public-header .sc-public-brand { min-width: 0; flex: 1 1 110px; }
    body.sc-public .sc-public-header .sc-public-logo-image { width: clamp(110px, 28vw, 180px); max-width: 100%; }
    body.sc-public .sc-public-header .sc-public-menu-toggle { flex: 0 0 44px; width: 44px; height: 44px; margin-left: 0; }
    body.sc-public .sc-public-header .sc-public-nav-actions { flex: 0 0 auto; gap: 4px; }
    body.sc-public .sc-public-header .sc-public-search-icon { width: 36px; height: 44px; }
    body.sc-public .sc-public-header .sc-public-nav-actions .sc-public-button-quiet,
    body.sc-public .sc-public-header .sc-public-nav-actions .sc-public-auth-account-action { display: inline-flex !important; min-height: 44px; padding: 8px 10px; font-size: 12px; }
    body.sc-public .sc-public-header .sc-public-nav-collapse { max-height: calc(100dvh - 72px); overflow-y: auto; }
    body.sc-public .sc-public-header .sc-public-nav-links > a { min-height: 44px; }
}
@media (max-width: 600px) {
    .sc-public .sc-about-page { width: calc(100% - 24px); padding-top: 20px; padding-bottom: 32px; }
    .sc-about-page .sc-about-content section[style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
    .sc-about-page .sc-about-content section[style*="grid-template-columns"] > p { margin-bottom: 0 !important; }
    .sc-about-page .sc-about-content p[style*="font-size:20px"] { font-size: 17px !important; }
    .sc-about-page .sc-about-content a[style*="inline-block"] { display: block !important; margin: 10px 0 !important; text-align: center; min-height: 44px; }
    body .sc-topbar .sc-global-search-icon { display: none; }
    body .sc-topbar .sc-global-search input { padding-left: 8px; }
    body .sc-topbar .sc-global-search-button { min-width: 48px; padding-inline: 6px; font-size: 12px; }
}
