
.portfolio-published .cases { grid-template-columns: repeat(2,minmax(0,1fr)); }
.portfolio-published .cases > .case { grid-column: auto; min-height: 380px; }
.portfolio-published .case span { font-size: .875rem; line-height: 1.5; letter-spacing: .04em; }
.portfolio-published .case h3 a { text-decoration: none; }
.portfolio-published .case h3 a:hover { text-decoration: underline; text-underline-offset: .2em; }
.portfolio-published .portfolio-read { display: inline-block; margin-top: 16px; color: #e9ffb3; font-weight: 700; text-underline-offset: .2em; }
.portfolio-published .portfolio-all { position: relative; z-index: 2; margin-top: 30px; }
.portfolio-article .article-header { padding-bottom: 40px; }
.portfolio-article .article-header h1, .portfolio-overview .article-header h1 { font-size: clamp(2.2rem,5.3vw,4.2rem); line-height: 1.12; }
.portfolio-article .article-byline { font-size: .875rem; color: #52605b; }
.portfolio-context { font-size: .9375rem; color: #52605b; margin: 20px 0; }
.portfolio-brief { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 25px 0 0; padding-top: 24px; border-top: 1px solid var(--line); }
.portfolio-brief dt, .portfolio-card dt { color: #244d42; font-size: .875rem; font-weight: 750; }
.portfolio-brief dd, .portfolio-card dd { margin: 7px 0 18px; color: #44504b; }
.portfolio-article .article-body { min-width: 0; }
.portfolio-article .article-body > p:first-child { font-size: 1rem; line-height: inherit; color: #44504b; }
.portfolio-article .article-body h2 { font-size: clamp(1.6rem,3vw,2.25rem); line-height: 1.22; letter-spacing: -.02em; }
.portfolio-article .article-body h3 { font-size: 1.2rem; line-height: 1.35; }
.portfolio-article .article-sidebar li, .portfolio-article .article-sidebar .sidebar-service p { font-size: .875rem; }
.portfolio-article .article-sidebar h2 { font-size: 1.4rem; line-height: 1.25; }
.portfolio-table { margin: 25px 0; }
.portfolio-table table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .9375rem; }
.portfolio-table caption { margin-bottom: 12px; text-align: left; font-weight: 700; color: #244d42; }
.portfolio-table td, .portfolio-table th { border: 1px solid var(--line); padding: 12px 10px; vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.portfolio-table thead { background: #edf2ee; }
.portfolio-table th:first-child { width: 23%; }
.portfolio-sources { margin-top: 44px; padding-top: 8px; border-top: 1px solid var(--line); }
.portfolio-sources p { font-size: .9375rem; }
.portfolio-order { margin: 55px 0 65px; padding: 35px 0 0; border-top: 1px solid var(--line); }
.portfolio-order h2 { max-width: 800px; font: 400 clamp(1.7rem,3vw,2.5rem)/1.2 Georgia,serif; }
.portfolio-order p { max-width: 700px; color: #44504b; }
.portfolio-order > div { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 22px; }
.portfolio-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.portfolio-card { padding: 32px; background: #fff; border: 1px solid var(--line); border-radius: 24px; }
.portfolio-card h2 { margin-top: 16px; font: 400 2rem/1.18 Georgia,serif; letter-spacing: -.02em; }
.portfolio-card h2 a { text-decoration: none; }
.portfolio-card h2 a:hover { text-decoration: underline; text-underline-offset: .15em; }
.portfolio-card .eyebrow { font-size: .875rem; letter-spacing: .04em; }
.portfolio-card dl { margin-top: 25px; }
.portfolio-intro { max-width: 820px; font-size: 1.0625rem; color: #44504b; }
@media(max-width:800px) { .portfolio-grid, .portfolio-published .cases { grid-template-columns: 1fr; } .portfolio-published .cases > .case { grid-column: auto; min-height: 330px; } }
@media(max-width:600px) { .portfolio-brief { grid-template-columns: 1fr; gap: 0; } .portfolio-card { padding: 24px; } .portfolio-table table { font-size: .875rem; } .portfolio-table td, .portfolio-table th { padding: 9px 6px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } .portfolio-published .case-image { transition: none; } }
