.catalog-main { max-width: 1280px; margin: auto; padding: 38px 40px 90px; display: grid; grid-template-columns: 205px minmax(0,1fr); gap: 48px; }
.catalog-nav { position: sticky; top: 90px; align-self: start; display: grid; gap: 7px; padding-top: 8px; }
.catalog-nav a { font-size: 13px; color: var(--soft); text-decoration: none; padding: 9px 12px; border-radius: 6px; }
.catalog-nav a:hover { background: #e8e5dd; color: var(--ink); }
.catalog-heading h1.env-h1 { margin: 0 0 20px; font-size: 39px; }
.catalog-eyebrow { font-size: 12px; color: var(--soft); margin: 0 0 16px; }
.catalog-heading .env-sub { color: var(--soft); line-height: 1.85; margin: 0 0 25px; font-size: 15px; }
.catalog-metrics { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 20px 0; }
.catalog-metrics > div { display: flex; flex-direction: column; gap: 3px; padding: 0 20px; border-right: 1px solid var(--line); }
.catalog-metrics > div:first-child { padding-left: 0; }
.catalog-metrics > div:last-child { border: 0; }
.catalog-metrics strong { font: 400 38px/1.4 Georgia,serif; }
.catalog-metrics span { color: var(--soft); font-size: 12px; }
.catalog-count-note { font-size: 12px; color: var(--soft); line-height: 1.9; margin: 17px 0 26px; }
.catalog-search { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px 20px; padding: 22px; border: 1px solid var(--line); background: #e8e5dd; border-radius: 10px; margin: 0 0 35px; }
.catalog-search label { font-size: 13px; }
.catalog-search input { min-width: 0; width: 100%; border: 1px solid #cecbc2; border-radius: 6px; background: var(--surface-raised); color: #141413; font-size: 13px; padding: 11px 12px; }
.catalog-search p { grid-column: 2; color: var(--soft); font-size: 11px; margin: 0; }
.catalog-major { scroll-margin-top: 90px; padding-bottom: 35px; }
.catalog-section-title { font-family: var(--display); font-size: 30px; font-weight: 400; margin: 5px 0 12px; }
.catalog-section-title span { font: 400 13px/1.5 var(--body); color: var(--soft); vertical-align: middle; padding: 4px 9px; border-radius: 5px; border: 1px solid var(--line); margin-left: 8px; }
.catalog-section-intro { font-size: 14px; color: var(--soft); margin: 0 0 25px; }
.catalog-group { margin-bottom: 28px; }
.catalog-group > h2 { font-size: 13px; color: var(--soft); font-weight: 500; margin: 22px 0 14px; }
.catalog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.catalog-card { padding: 21px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-raised); min-width: 0; }
.catalog-card h3 { font-size: 16px; font-weight: 500; line-height: 1.65; margin: 0 0 5px; }
.catalog-card code { font-size: 11px; color: #88847b; overflow-wrap: anywhere; }
.catalog-card p { font-size: 13px; color: var(--soft); line-height: 1.85; margin: 10px 0 0; }
.catalog-card-title { display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap; }
.catalog-tag { color: #9e4c30; font-size: 9px; border: 1px solid #e6d3c7; border-radius: 4px; padding: 1px 5px; white-space: nowrap; }
.catalog-links { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 24px; }
.catalog-links a { color: var(--ink); font-size: 13px; text-decoration: none; }
#catalog-empty { padding: 30px 20px; margin-bottom: 30px; font-size: 14px; background: #e8e5dd; border-radius: 8px; }
.catalog-main [hidden] { display: none !important; }
@media(max-width:1000px) { .catalog-main { grid-template-columns: 175px minmax(0,1fr); gap: 28px; padding-left: 28px; padding-right: 28px; }.catalog-heading h1.env-h1 { font-size: 34px; } }
@media(max-width:819px) { .catalog-main { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 15px 20px 50px; }.catalog-nav { display: flex; flex-wrap: wrap; gap: 3px 7px; position: static; padding: 0 0 15px; border-bottom: 1px solid var(--line); }.catalog-nav a { font-size: 11px; padding: 7px 4px; }.catalog-heading h1.env-h1 { font-size: 30px; }.catalog-heading .env-sub { font-size: 14px; }.catalog-metrics strong { font-size: 31px; }.catalog-metrics > div { padding: 0 15px; }.catalog-metrics span { font-size: 11px; }.catalog-search { grid-template-columns: 1fr; padding: 17px; gap: 9px; }.catalog-search p { grid-column: 1; }.catalog-grid { grid-template-columns: minmax(0,1fr); }.catalog-section-title { font-size: 27px; }.catalog-card { padding: 19px; } }
.catalog-heading h1.env-h1 { text-wrap: balance; }
