/* The Public Workbench: shared navigation and editorial section pages. */
:root { --ia-paper: #f8f6f0; --ia-ink: #101820; --ia-link: #00446f; --ia-muted: #4e5962; --ia-rule: #d7d5ce; --ia-surface: #fffdfa; --ia-accent: #b64216; }

[data-bs-theme="dark"] { --ia-paper: #101820; --ia-ink: #f8f6f0; --ia-link: #8dd6f3; --ia-muted: #bac6ce; --ia-rule: #40505c; --ia-surface: #17222c; --ia-accent: #ffb18c; }

.library-site { background: var(--ia-paper); color: var(--ia-ink); padding-top: 70px; font-family: Inter, sans-serif; font-size: 18px; line-height: 1.65; }

body:has(.site-preview-banner) { padding-top: 108px !important; }

.library-site a { color: var(--ia-link); text-underline-offset: .2em; }

.library-site a:hover { text-decoration-thickness: 3px; }

.library-site h1, .library-site h2, .library-site h3 { font-family: "Cal Sans", "Titillium Web", sans-serif; color: var(--ia-ink); letter-spacing: -.025em; line-height: 1.15; }

.library-site h1 { font-size: clamp(2.75rem, 5.8vw, 5.6rem); }

.library-site h2 { font-size: clamp(1.7rem, 2.3vw, 2.45rem); }

.library-site h3 { font-size: 1.3rem; }

.library-site [id] { scroll-margin-top: 125px; }

.library-site .btn-primary { background: #00446f; border-color: #00446f; color: #fff; padding: .75rem 1.25rem; }

.library-site .btn-outline-primary { border-color: var(--ia-link); color: var(--ia-link); padding: .75rem 1.25rem; }

.library-site .btn-outline-primary:hover { background: var(--ia-link); color: var(--ia-paper); }

.library-site .form-control, .library-site .form-select { font-size: 1rem; min-height: 48px; background-color: var(--ia-surface); color: var(--ia-ink); border-color: var(--ia-rule); }

.library-site a:focus-visible, .library-site button:focus-visible, .library-site input:focus-visible, .library-site select:focus-visible { outline: 3px solid var(--ia-link); outline-offset: 4px; box-shadow: none; }

.ia-container { max-width: 1280px; padding-inline: clamp(1.25rem, 4vw, 3rem); }

.ia-eyebrow { font-size: .77rem; letter-spacing: .07em; font-weight: 700; margin-bottom: 1rem; color: var(--ia-muted); }

.ia-lead { font-size: clamp(1.08rem, 1.6vw, 1.35rem); line-height: 1.7; max-width: 46rem; color: var(--ia-muted); }

.ia-small { font-size: .88rem; color: var(--ia-muted); }

.ia-home-hero { display: grid; grid-template-columns: 1.25fr 1fr; gap: 3.5rem; padding-block: 4.5rem; align-items: center; }

.ia-home-hero h1 { margin-bottom: 1.75rem; }

.ia-actions { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; margin-top: 2rem; }

.ia-text-link { font-weight: 600; }

.ia-hero-photo { margin: 0; }

.ia-hero-photo img { display: block; width: 100%; height: 390px; object-fit: cover; border-radius: .375rem; }

.ia-hero-photo figcaption { margin-top: .75rem; font-size: .82rem; color: var(--ia-muted); }

.ia-home-section { border-top: 1px solid var(--ia-rule); padding-block: 3rem; }

.ia-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; margin-bottom: 1.75rem; }

.ia-section-heading p { margin: .5rem 0 0; color: var(--ia-muted); font-size: .95rem; }

.ia-section-heading > a { font-size: .95rem; }

.ia-shelf-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }

.ia-shelf { padding: 1rem 1.3rem 1rem 0; margin-right: 1.3rem; border-right: 1px solid var(--ia-rule); }

.ia-shelf:last-child { margin-right: 0; border-right: 0; padding-right: 0; }

.ia-shelf-number { font-size: .8rem; color: var(--ia-accent); font-family: "Fira Code", monospace; }

.ia-shelf h3 { margin: .75rem 0 1rem; }

.ia-shelf h3 a { text-decoration: none; }

.ia-shelf p { font-size: .93rem; color: var(--ia-muted); min-height: 6rem; }

.ia-shelf ul { list-style: none; padding: 0; font-size: .8rem; }

.ia-shelf li { margin-top: .65rem; }

.ia-highlight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem 2.5rem; }

.ia-highlight { padding: 1.25rem 0; }

.ia-highlight h3 a { text-decoration: none; }

.ia-highlight p:last-child { font-size: .97rem; color: var(--ia-muted); }

.ia-status { display: inline-block; padding: .2rem .6rem; background: var(--ia-surface); border: 1px solid var(--ia-rule); border-radius: 1rem; color: var(--ia-ink); font-size: .7rem; line-height: 1.5; letter-spacing: 0; white-space: nowrap; }

.ia-highlight .ia-status { margin-left: .5rem; }

.ia-writing-row { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) 1rem; gap: 1.5rem; padding: 1.35rem 0; border-bottom: 1px solid var(--ia-rule); }

.ia-writing-row time { font-size: .83rem; color: var(--ia-muted); }

.ia-writing-row h3 { font-size: 1.35rem; margin: 0 0 .5rem; }

.ia-writing-row h3 a { text-decoration: none; }

.ia-writing-row p { font-size: .95rem; color: var(--ia-muted); margin: 0; }

.ia-about-strip { display: flex; justify-content: space-between; align-items: center; gap: 3rem; margin: 1rem 0 4rem; padding: 2rem; background: var(--ia-surface); border-left: 4px solid #00446f; }

.ia-about-strip p { max-width: 43rem; margin-bottom: 0; color: var(--ia-muted); }

.ia-about-strip .ia-eyebrow { margin-bottom: .8rem; }

.ia-about-strip .btn { flex-shrink: 0; }

.ia-breadcrumb { display: flex; gap: .8rem; padding-top: 2rem; font-size: .85rem; color: var(--ia-muted); }

.ia-section-header { padding: 3rem 0; }

.ia-section-header h1 { margin-bottom: 1.25rem; }

.ia-jump-links { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-top: 1.75rem; font-size: .87rem; }

.ia-jump-links a { padding-block: .35rem; }

.ia-group { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; border-top: 1px solid var(--ia-rule); padding-block: 2.5rem; }

.ia-group-intro p { color: var(--ia-muted); max-width: 37rem; margin-bottom: 0; }

.ia-destination-list { margin: 0; padding: 0; list-style: none; }

.ia-destination-list li + li { border-top: 1px solid var(--ia-rule); }

.ia-destination-list a { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; text-decoration: none; font-size: 1rem; }

.ia-destination-list a:hover { text-decoration: underline; }

.ia-group-list { padding-bottom: 3.5rem; }

.ia-footer { border-top: 1px solid var(--ia-rule); padding-block: 3rem 1.5rem; }

.ia-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; }

.ia-footer-name { font-family: "Cal Sans", sans-serif; font-size: 1.75rem; text-decoration: none; }

.ia-footer-grid p { color: var(--ia-muted); margin-top: .75rem; font-size: .95rem; }

.ia-footer-heading { font-size: 1.1rem !important; margin-bottom: 1rem; }

.ia-footer ul { list-style: none; padding: 0; font-size: .9rem; }

.ia-footer li { margin-bottom: .6rem; }

.ia-footer-bottom { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--ia-rule); display: flex; justify-content: space-between; font-size: .8rem; color: var(--ia-muted); }

.ia-tool-filters, .ia-search-form { display: grid; grid-template-columns: 2fr 1fr; gap: 1rem; padding: 1.5rem; margin-bottom: 2rem; background: var(--ia-surface); border: 1px solid var(--ia-rule); border-radius: .375rem; }

.ia-tool-filters label, .ia-search-form label { display: block; font-size: .9rem; margin-bottom: .45rem; font-weight: 600; }

.ia-tool-filters p { grid-column: 1 / -1; margin: 0; }

.ia-tool-section { border-top: 1px solid var(--ia-rule); padding-block: 2.5rem; }

.ia-tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }

.ia-tool-card { background: var(--ia-surface); padding: 1.5rem; border: 1px solid var(--ia-rule); border-radius: .375rem; display: flex; flex-direction: column; }

.ia-tool-card h3 { font-size: 1.3rem; }

.ia-tool-card h3 a { text-decoration: none; }

.ia-tool-card > p:not(.ia-eyebrow) { font-size: .95rem; color: var(--ia-muted); flex-grow: 1; }

.ia-featured { margin-left: .6rem; color: var(--ia-accent); }

.ia-tool-meta { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .75rem; color: var(--ia-muted); margin: .75rem 0 1rem; }

.ia-tool-actions { display: flex; justify-content: space-between; gap: 1rem; font-size: .85rem; }

.ia-tool-card[hidden], .ia-tool-section[hidden] { display: none !important; }

.ia-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }

.ia-directory-grid section { border-top: 1px solid var(--ia-rule); padding-top: 1.5rem; }

.ia-directory-grid p { font-size: .95rem; color: var(--ia-muted); }

.ia-directory-grid ul { padding-left: 1.25rem; font-size: .9rem; }

.ia-directory-grid li, .ia-directory-apps li { margin-bottom: .7rem; }

.ia-search-form { grid-template-columns: 2fr 1fr auto; align-items: end; }

.ia-search-results { padding: 0 0 3rem; list-style: none; }

.ia-search-results li { padding: 1.5rem 0; border-top: 1px solid var(--ia-rule); }

.ia-search-results h2 { font-size: 1.5rem; }

.ia-search-results p { font-size: 1rem; color: var(--ia-muted); }

.ia-skip-link { position: fixed; top: .5rem; left: 1rem; transform: translateY(-200%); z-index: 1100; padding: .75rem 1rem; background: #fff; color: #00446f; }

.ia-skip-link:focus { transform: none; }

.ia-navbar .nav-link.menu-item { font-size: 15px !important; height: 44px; padding: 0 .4rem !important; margin: 0 !important; color: #f8f6f0; white-space: nowrap; }

.ia-navbar .ia-nav-disclosure { height: 44px; min-width: 28px; padding-inline: .4rem; border: 0; background: none; color: #f8f6f0; }

.ia-navbar .ia-nav-item { flex-wrap: wrap; }

.ia-navbar .ia-nav-link.active { text-decoration: underline; text-underline-offset: .4em; }

.ia-navbar .navbar-brand img { height: 48px; width: 48px; object-fit: contain; }

.ia-navbar .dropdown-item { min-height: 44px; display: flex; align-items: center; white-space: normal; }

.ia-navbar .dropdown-menu { min-width: 240px; }

.ia-navbar .scheme-switcher { margin-left: .75rem; }

.ia-navbar .scheme-switcher__button { padding-inline: .5rem; }

.library-site [data-toc-visibility-container] { display: none !important; }

.site-preview-banner { position: fixed; top: 70px; inset-inline: 0; z-index: 1029; min-height: 38px; display: flex; justify-content: center; align-items: center; gap: 1rem; background: #f5ebd4; color: #373023; border-bottom: 1px solid #c9b98f; font-size: 13px; padding: .35rem .75rem; }

.site-preview-banner a { color: #00446f !important; text-underline-offset: .15em; }

@media (max-width: 1199.98px) { .ia-navbar .navbar-nav { width: 100%; align-items: stretch !important; max-height: calc(100dvh - 150px); overflow-y: auto; } .ia-navbar .ia-nav-item { width: 100%; } .ia-navbar .ia-nav-link { flex: 1; } .ia-navbar .ia-nav-disclosure { min-width: 44px; } .ia-navbar .dropdown-menu { position: static !important; width: 100%; margin-top: 0 !important; } .ia-navbar .ia-nav-utility { width: 100%; } .ia-navbar .navbar-collapse { position: absolute !important; top: 100%; left: 0; right: 0; background: #101820 !important; padding: .75rem 1rem; } .ia-navbar .navbar-collapse:not(.show):not(.is-open) { display: none !important; } .ia-shelf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 0; } .ia-shelf p { min-height: auto; } .ia-home-hero { gap: 2rem; } .ia-hero-photo img { height: 330px; } }

@media (max-width: 767.98px) { .ia-home-hero { grid-template-columns: 1fr; padding-block: 2.5rem; gap: 1.75rem; } .ia-home-hero h1 { font-size: clamp(2.6rem, 10vw, 3.75rem); } .ia-hero-photo img { height: 220px; } .ia-shelf-grid { grid-template-columns: 1fr; } .ia-shelf { padding: 1.25rem 0; margin: 0; border-right: 0; border-bottom: 1px solid var(--ia-rule); } .ia-shelf ul { display: flex; flex-wrap: wrap; gap: .5rem 1rem; } .ia-shelf li { margin-top: 0; } .ia-highlight-grid, .ia-tool-grid, .ia-directory-grid { grid-template-columns: 1fr; gap: 1rem; } .ia-section-heading { display: block; } .ia-group { grid-template-columns: 1fr; gap: 1rem; padding-block: 2rem; } .ia-writing-row { grid-template-columns: 1fr; gap: .5rem; } .ia-writing-row > span { display: none; } .ia-about-strip { display: block; padding: 1.5rem; } .ia-about-strip .btn { margin-top: 1.25rem; } .ia-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; } .ia-footer-grid > div { grid-column: 1 / -1; } .ia-tool-filters, .ia-search-form { grid-template-columns: 1fr; padding: 1rem; } .site-preview-banner { gap: .6rem; font-size: 11px; } .site-preview-banner > span { display: none; } }

@media (prefers-reduced-motion: reduce) { .library-site *, .library-site *::before, .library-site *::after { scroll-behavior: auto !important; transition: none !important; } }

/*# sourceMappingURL=information-architecture.css.map */