/* Portfólio documental: mantém o grid editorial e separa entrega, data e status. */
.cases-page-head .page-head__grid { align-items: start; }
.cases-page-head :is(h1, p) { margin-top: 0; padding-top: 0; }
.cases-portfolio { padding-block: clamp(40px, 5vw, 64px); background: var(--color-white); }
.cases-portfolio .pf-toolbar { gap: var(--ui-space-4); align-items: start; }
.cases-portfolio .pf-filters { gap: var(--ui-space-1); flex-wrap: wrap; overflow: visible; }
.cases-portfolio .pf-chip { min-height: 44px; padding: 10px 16px; font-size: 15px; line-height: 1.4; }
.cases-portfolio .pf-search { flex: 1 1 380px; max-width: 480px; }
.cases-portfolio .pf-search input { width: 100%; min-height: 48px; padding-block: 12px; font-size: 15px; line-height: 1.4; }
.cases-portfolio .pf-search__limpar { width: 44px; height: 44px; }
.cases-portfolio .pf-grid { gap: var(--ui-space-4); align-items: stretch; }
.cases-portfolio .pf-card { height: auto; align-self: stretch; transition: border-color 180ms ease, box-shadow 180ms ease; }
.cases-portfolio .pf-card:hover { transform: none; }
.cases-portfolio .pf-card__visual { flex: 0 0 auto; aspect-ratio: 16 / 10; height: auto; background: var(--color-surface); }
.cases-portfolio .pf-card--feature .pf-card__visual { aspect-ratio: 16 / 7; }
.cases-portfolio .case-cover--institutional { object-fit: contain; padding: 56px; }
.cases-portfolio .pf-card__body { gap: var(--ui-space-3); padding: var(--ui-space-4); }
.cases-portfolio .pf-card__classification { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--ui-space-2); }
.cases-portfolio .pf-card__category { color: var(--color-primary); font-size: 13px; line-height: 1.4; font-weight: 400; text-transform: uppercase; letter-spacing: .04em; }
.cases-portfolio .pf-card__status { display: inline-flex; border: 1px solid var(--border-soft); border-radius: var(--radius-sm); padding: 4px 8px; color: var(--text-body-soft); font-size: 13px; line-height: 1.4; font-weight: 400; }
.cases-portfolio .pf-card__client { font-size: 14px; color: var(--text-body-soft); text-transform: none; letter-spacing: 0; line-height: 1.5; }
.cases-portfolio .pf-card__title { margin: 0; font-size: 21px; line-height: 1.35; }
.cases-portfolio .pf-card--feature .pf-card__title { font-size: clamp(24px, 2.2vw, 30px); }
.cases-portfolio .pf-card__title a { color: inherit; text-decoration: none; }
.cases-portfolio .pf-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cases-portfolio .pf-card__desc { display: block; margin: 0; font-size: 16px; line-height: 1.65; overflow: visible; -webkit-line-clamp: unset; }
.cases-portfolio .pf-card__period { margin: 0; color: var(--text-body-soft); font-size: 14px; line-height: 1.5; }
.cases-portfolio .pf-card__metrics { margin: 0; padding-top: var(--ui-space-3); gap: var(--ui-space-4); }
.cases-portfolio .pf-metric { gap: var(--ui-space-1); }
.cases-portfolio .pf-metric strong { font-size: 24px; line-height: 1.2; }
.cases-portfolio .pf-metric span { color: var(--text-body-soft); font-size: 14px; line-height: 1.4; }
.cases-portfolio .pf-metric .pf-metric__kind { font-size: 12px; }
.cases-portfolio .pf-card__evidence { display: flex; flex-wrap: wrap; gap: 0 var(--ui-space-3); padding: 0; margin: 0; list-style: none; }
.cases-portfolio .pf-card__evidence a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.5; color: var(--color-primary); text-underline-offset: 3px; }
.cases-portfolio .pf-card__foot { margin-top: auto; padding-top: var(--ui-space-1); justify-content: flex-start; }
.cases-portfolio .pf-card__cta { min-height: 44px; font-size: 15px; line-height: 1.4; text-decoration: none; white-space: normal; flex-shrink: 1; }
.cases-portfolio .pf-card__cta span { transition: transform 180ms ease; }
.cases-portfolio .pf-card:hover .pf-card__cta { gap: 6px; }
.cases-portfolio .pf-card__cta:hover span { transform: translateX(2px); }
.cases-portfolio :is(a, button):focus-visible, .cases-documentation a:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 4px; border-radius: var(--radius-sm); }
.cases-portfolio .pf-empty { color: var(--text-body-soft); font-size: 16px; }
.cases-portfolio .pf-empty button { min-height: 44px; padding: 8px; }
.cases-documentation { padding-block: clamp(56px, 6vw, 80px); }
.cases-documentation .final-cta__box { align-items: center; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: var(--ui-space-6); padding: clamp(24px, 4vw, 48px); }
.cases-documentation .eyebrow { margin-bottom: var(--ui-space-3); }
.cases-documentation h2 { margin: 0; font-size: clamp(28px, 3vw, 38px); line-height: 1.25; }
.cases-documentation .lead { margin-top: var(--ui-space-3); font-size: 18px; line-height: 1.6; }
.cases-documentation .final-cta__actions { display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-rows: 1fr; gap: var(--ui-space-3); }
.cases-documentation .btn { width: 100%; min-height: 54px; font-weight: 500; justify-content: center; }
@media (max-width: 1024px) { .cases-documentation .final-cta__box { grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-5); } .cases-documentation .final-cta__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .cases-portfolio .pf-search { flex-basis: auto; max-width: none; width: 100%; }
  .cases-portfolio .pf-card--feature .pf-card__visual { aspect-ratio: 16 / 10; }
  .cases-portfolio .pf-card__body { padding: var(--ui-space-4); }
  .cases-documentation .final-cta__actions { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .cases-portfolio .pf-card__cta:hover span { transform: none; } .cases-portfolio .pf-card__cta span { transition: none; } }
