/* Uses the existing company typeface, colors, surfaces, and card conventions. */
.case-content { padding-block: clamp(2rem, 5vw, 4rem); }
.cs-page button, .cs-page input, .cs-page select { font: inherit; color: inherit; }
.cs-page button { cursor: pointer; }
.cs-page :focus-visible { outline: 3px solid var(--accent-dark); outline-offset: 4px; }
.cs-page [hidden] { display: none !important; }
.cs-page .section-heading { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.cs-page .section-heading h1 { font-size: clamp(1.85rem, 4vw, 3rem); margin-bottom: 0; }
.cs-page .section-heading > p { color: var(--muted); flex-shrink: 0; margin: 0; }
.cs-page .filters, .cs-page .project-facts { padding: 1.5rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.cs-page .search-row { display: flex; gap: 1.5rem; align-items: end; margin-bottom: 1.25rem; }
.cs-page .search-label { flex: 1; }
.cs-page label { font-weight: 700; font-size: .85rem; }
.cs-page input, .cs-page select { display: block; width: 100%; margin-top: .45rem; padding: .65rem; border: 1px solid var(--line); border-radius: .4rem; background: var(--surface-soft); min-height: 44px; min-width: 0; }
.cs-page .filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.cs-page .reset { min-height: 44px; padding: .6rem; border: 0; background: transparent; text-decoration: underline; text-underline-offset: .2em; }
.cs-page .results-bar { display: flex; justify-content: space-between; gap: 1rem; margin: 1.5rem 0; color: var(--muted); font-size: .85rem; }
.cs-page .results-bar p { margin: 0; }
.cs-page .case-grid, .cs-page .related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.cs-page .case-card { display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.cs-page .card-top { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.cs-page .case-number, .cs-page .section-index { color: var(--muted); font-size: .8rem; }
.cs-page .case-card h3 { font-size: 1.35rem; margin-block: 1rem; }
.cs-page .case-card h3 a { text-decoration: none; color: var(--ink); }
.cs-page .case-card h3 a:hover { text-decoration: underline; }
.cs-page .case-card > p { color: var(--muted); font-size: .92rem; }
.cs-page .card-bottom { margin-top: auto; }
.cs-page .tags { display: flex; gap: .4rem; flex-wrap: wrap; }
.cs-page .tag { display: inline-block; padding: .35rem .5rem; font-size: .75rem; text-decoration: none; border: 1px solid var(--line); border-radius: .35rem; background: var(--surface-soft); text-align: left; overflow-wrap: anywhere; }
.cs-page .tag:hover { background: var(--surface); border-color: var(--accent); }
.cs-page .read-link { display: flex; justify-content: space-between; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); font-weight: 700; font-size: .85rem; }
.cs-page .status { align-self: start; display: inline-block; background: #f4e7ce; color: #775522; padding: .35rem .6rem; border-radius: .35rem; font-weight: 700; font-size: .8rem; }
.cs-page .closing, .cs-page .related { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.cs-page .closing h2 { font-size: 1.85rem; }
.cs-page .closing > p:last-child { color: var(--muted); }
.cs-page .empty { text-align: center; padding: 3rem 1rem; border: 1px dashed var(--line); border-radius: var(--radius); }
.cs-page .primary-link { display: inline-block; padding: .75rem 1rem; border: 0; background: var(--ink); color: white; border-radius: .45rem; font-weight: 700; }
.cs-page .back-link { display: inline-block; margin-bottom: 1.5rem; }
.cs-page .detail-hero { padding-bottom: 2.5rem; }
.cs-page .detail-hero h1 { font-size: clamp(2rem, 4vw, 3.25rem); }
.cs-page .detail-intro { max-width: 820px; color: var(--muted); font-size: 1.1rem; }
.cs-page .project-meta { display: grid; grid-template-columns: 1fr 1.4fr; gap: 2rem; border-top: 1px solid var(--line); padding-top: 1.5rem; margin-top: 2rem; }
.cs-page .project-meta strong, .cs-page .project-meta small { display: block; }
.cs-page .project-meta small { color: var(--muted); margin-top: .5rem; }
.cs-page .detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: 3rem; }
.cs-page .story-section { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 1rem; margin-bottom: 2rem; }
.cs-page .story h2 { font-size: 1.65rem; }
.cs-page .story p { color: var(--muted); }
.cs-page .project-facts { position: sticky; top: 1.5rem; }
.cs-page .fact-group { margin-top: 1.5rem; }
.cs-page .fact-group h3 { font-size: .9rem; margin-bottom: .6rem; }
.cs-page .related-link { display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; }
.cs-page .related-link strong { font-size: 1.1rem; }
.cs-page .related-link > span:last-child { margin-top: auto; }
.cs-page .footer-layout { flex-wrap: wrap; font-size: .85rem; }
@media (max-width: 1000px) { .cs-page .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cs-page .detail-layout { gap: 1.5rem; } }
@media (max-width: 760px) { .cs-page .section-heading { display: block; } .cs-page .section-heading > p { margin-top: 1rem; } .cs-page .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cs-page .detail-layout { grid-template-columns: 1fr; } .cs-page .project-facts { position: static; } .cs-page .related-grid { grid-template-columns: 1fr; } }
@media (max-width: 540px) { .cs-page .case-grid, .cs-page .project-meta { grid-template-columns: 1fr; } .cs-page .search-row { align-items: stretch; flex-direction: column; gap: .5rem; } .cs-page .reset { align-self: start; } .cs-page .results-bar > span { display: none; } .cs-page .filters { padding: 1rem; } .cs-page .filter-grid { grid-template-columns: 1fr; } }
@media print { .cs-page .site-header, .cs-page .site-footer, .cs-page .project-facts, .cs-page .related, .cs-page .back-link { display: none; } .cs-page .detail-layout { display: block; } .cs-page .story-section { break-inside: avoid; } }
