[data-trams-final] .trams-portfolio {
  box-sizing: border-box;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 64px calc(var(--sv-rule-x) + var(--sv-inset));
  border-top: 1px solid var(--sv-frame, #d8d5c8);
  color: var(--sv-ink, #23251f);
}
[data-trams-final] .trams-portfolio-shell { width: 100%; max-width: none; margin-inline: auto; }
[data-trams-final] .trams-portfolio-heading { margin: 0 0 32px; }
[data-trams-final] .trams-portfolio-heading h2 { margin: 0 0 16px; font-size: var(--trams-type-title, 28px); line-height: 1.35; font-weight: 650; letter-spacing: -.035em; }
[data-trams-final] .trams-portfolio-heading p { max-width: 56em; margin: 0; font-size: var(--trams-type-body, 18px); line-height: 1.7; color: var(--sv-muted, #69685f); }
[data-trams-final] .trams-project-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 32px; }
[data-trams-final] .trams-project-choices button { display: flex; align-items: center; gap: 14px; min-height: 62px; margin: 0; padding: 14px 20px; border: 1px solid var(--sv-frame, #d8d5c8); background: transparent; color: inherit; text-align: left; font: inherit; font-size: var(--trams-type-body, 18px); font-weight: 550; line-height: 1.4; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
[data-trams-final] .trams-project-choices button:hover { border-color: var(--sv-amber, #e5b250); }
[data-trams-final] .trams-project-choices button[aria-pressed="true"] { background: var(--sv-amber, #e5b250); color: #23251f; border-color: var(--sv-amber, #e5b250); }
[data-trams-final] .trams-project-number { font-size: var(--trams-type-label, 14px); font-weight: 500; font-variant-numeric: tabular-nums; opacity: .7; }
[data-trams-final] .trams-portfolio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
[data-trams-final] .trams-portfolio-client { margin: 0; font-size: var(--trams-type-body, 18px); font-weight: 650; line-height: 1.5; }
[data-trams-final] .trams-portfolio-pagination { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
[data-trams-final] .trams-portfolio-pagination button { width: 44px; height: 44px; border: 1px solid var(--sv-frame, #d8d5c8); border-radius: 50%; background: transparent; color: inherit; font: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
[data-trams-final] .trams-portfolio-pagination button:hover { background: var(--sv-amber, #e5b250); color: #23251f; }
[data-trams-final] .trams-portfolio-count { font-size: var(--trams-type-label, 14px); font-variant-numeric: tabular-nums; white-space: nowrap; }
[data-trams-final] .trams-portfolio-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: start; }
[data-trams-final] .trams-portfolio-copy { min-width: 0; }
[data-trams-final] .trams-project-title { margin: 0 0 26px; font-size: var(--trams-type-title, 28px); font-weight: 650; line-height: 1.45; letter-spacing: -.035em; word-break: keep-all; overflow-wrap: anywhere; }
[data-trams-final] .trams-portfolio-reports { border-top: 1px solid var(--sv-frame, #d8d5c8); }
[data-trams-final] .trams-portfolio-report { padding: 0; border-bottom: 1px solid var(--sv-frame, #d8d5c8); transition: background .2s ease; }
[data-trams-final] .trams-portfolio-report.is-selected { background: color-mix(in srgb, var(--sv-amber, #e5b250) 13%, transparent); box-shadow: inset 3px 0 0 var(--sv-amber, #e5b250); }
[data-trams-final] .trams-portfolio-report button { display: block; box-sizing: border-box; width: 100%; padding: 22px 20px; border: 0; background: transparent; text-align: left; color: inherit; font: inherit; cursor: pointer; }
[data-trams-final] .trams-report-heading { display: grid; grid-template-columns: 26px minmax(0, 1fr) 20px; gap: 12px; align-items: start; }
[data-trams-final] .trams-portfolio-report:hover { background: color-mix(in srgb, var(--sv-amber, #e5b250) 8%, transparent); }
[data-trams-final] .trams-portfolio-report.is-selected:hover { background: color-mix(in srgb, var(--sv-amber, #e5b250) 17%, transparent); }
[data-trams-final] .trams-report-number { margin-top: 2px; font-size: var(--trams-type-label, 14px); font-variant-numeric: tabular-nums; color: var(--sv-muted, #69685f); }
[data-trams-final] .trams-report-name { font-size: var(--trams-type-body, 18px); font-weight: 650; line-height: 1.5; letter-spacing: -.025em; overflow-wrap: anywhere; }
[data-trams-final] .trams-report-arrow { margin-top: 5px; font-size: 18px; opacity: .5; }
[data-trams-final] .trams-portfolio-report.is-selected .trams-report-arrow { opacity: 1; }
[data-trams-final] .trams-report-description { display: block; margin: 12px 0 0 38px; font-size: var(--trams-type-body, 18px); line-height: 1.75; color: var(--sv-muted, #69685f); overflow-wrap: anywhere; }
[data-trams-final] .trams-portfolio-report .trams-report-preview { display: none; }
[data-trams-final] .trams-portfolio-visual { position: sticky; top: 112px; min-width: 0; margin: 0; background: #101a20; border: 1px solid #455353; }
[data-trams-final] .trams-portfolio-visual img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
[data-trams-final] .trams-portfolio-visual figcaption { padding: 18px 22px; border-top: 1px solid #455353; color: #e9e4d5; font-size: var(--trams-type-label, 14px); line-height: 1.55; }
[data-trams-final] .trams-portfolio-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-trams-final] .trams-portfolio-cta { margin-top: 36px; }
[data-trams-final] .trams-portfolio-cta a { font-size: var(--trams-type-body, 18px); }
[data-trams-final] .trams-portfolio button:focus-visible { outline: 3px solid var(--sv-amber-2, #bb770b); outline-offset: 4px; }
@media (max-width: 960px) {
  [data-trams-final] .trams-portfolio-detail { grid-template-columns: 1fr; gap: 24px; }
  [data-trams-final] .trams-portfolio-visual { display: none; }
  [data-trams-final] .trams-portfolio-report.is-selected .trams-report-preview { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; margin-top: 20px; }
}
@media (max-width: 640px) {
  [data-trams-final] .trams-portfolio { padding: 40px calc(var(--sv-rule-x) + var(--sv-inset)); }
  [data-trams-final] .trams-portfolio-heading h2 { font-size: var(--trams-type-title, 24px); }
  [data-trams-final] .trams-portfolio-heading p { font-size: var(--trams-type-body, 16px); }
  [data-trams-final] .trams-project-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 24px; }
  [data-trams-final] .trams-project-choices button { min-height: 62px; gap: 8px; padding: 12px; font-size: var(--trams-type-body, 16px); }
  [data-trams-final] .trams-portfolio-toolbar { gap: 10px; margin-bottom: 18px; }
  [data-trams-final] .trams-portfolio-client { font-size: var(--trams-type-body, 16px); }
  [data-trams-final] .trams-portfolio-pagination { gap: 10px; }
  [data-trams-final] .trams-project-title { margin-bottom: 22px; font-size: var(--trams-type-title, 24px); }
  [data-trams-final] .trams-portfolio-report button { padding: 20px 14px; }
  [data-trams-final] .trams-report-heading { grid-template-columns: 24px minmax(0, 1fr) 18px; gap: 8px; }
  [data-trams-final] .trams-report-name { font-size: var(--trams-type-body, 16px); }
  [data-trams-final] .trams-report-description { margin-left: 0; font-size: var(--trams-type-body, 16px); }
  [data-trams-final] .trams-portfolio-cta a { font-size: var(--trams-type-body, 16px); }
}
@media (prefers-reduced-motion: reduce) {
  [data-trams-final] :is(.trams-project-choices button, .trams-portfolio-report) { transition: none; }
}
