/* Portfolio: shared project rows, a structured masthead and an article-length sidebar. */
html[data-theme="arvr_theme"] .portfolio-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--space-xl);
    margin-bottom: var(--space-xl);
}
html[data-theme="arvr_theme"] .portfolio-section-heading h2 {
    margin: 0;
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-black);
    line-height: var(--line-height-tight);
}
html[data-theme="arvr_theme"] .portfolio-section-heading .eyebrow { margin: 0 0 var(--space-sm); }
html[data-theme="arvr_theme"] .portfolio-section-heading > p {
    margin: 0;
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-body);
}
html[data-theme="arvr_theme"] .portfolio-section-heading > a {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    min-height: var(--button-height);
    flex-shrink: 0;
    color: var(--color-ink);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
}
html[data-theme="arvr_theme"] .portfolio-projects { display: grid; gap: var(--space-xl); }
html[data-theme="arvr_theme"] .portfolio-project { min-width: 0; margin: 0; }
html[data-theme="arvr_theme"] .portfolio-project__link {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
    padding-block: var(--space-lg);
    border-block: 1px solid var(--color-border);
    background: transparent;
}
html[data-theme="arvr_theme"] .portfolio-project__media {
    position: relative;
    min-width: 0;
    align-self: start;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--color-surface-strong);
}
html[data-theme="arvr_theme"] .portfolio-project__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
html[data-theme="arvr_theme"] .portfolio-project__placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    height: 100%;
    color: var(--color-muted);
    font-family: var(--arvr-mono);
    font-size: var(--font-size-xs);
}
html[data-theme="arvr_theme"] .portfolio-project__placeholder .bi { font-size: var(--font-size-3xl); }
html[data-theme="arvr_theme"] .portfolio-project__video {
    position: absolute;
    inset: auto auto var(--space-sm) var(--space-sm);
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: var(--color-ink);
    color: var(--color-on-dark);
    font-size: var(--font-size-xs);
}
html[data-theme="arvr_theme"] .portfolio-project__copy { display: flex; min-width: 0; flex-direction: column; align-self: stretch; }
html[data-theme="arvr_theme"] .portfolio-project__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
    color: var(--color-muted);
    font-family: var(--arvr-mono);
    font-size: var(--font-size-xs);
    line-height: var(--line-height-body);
}
html[data-theme="arvr_theme"] .portfolio-project__number { color: var(--color-ink); padding-right: var(--space-sm); border-right: 1px solid var(--color-border); }
html[data-theme="arvr_theme"] .portfolio-project__meta time { margin-left: auto; }
html[data-theme="arvr_theme"] .portfolio-project h3 {
    margin: 0 0 var(--space-md);
    color: var(--color-ink);
    font-size: var(--portfolio-card-title);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
    overflow-wrap: anywhere;
}
html[data-theme="arvr_theme"] .portfolio-project__copy > p { margin: 0 0 var(--space-lg); color: var(--color-muted); line-height: var(--line-height-body); }
html[data-theme="arvr_theme"] .portfolio-project__footer { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-md); margin-top: auto; }
html[data-theme="arvr_theme"] .portfolio-project__client { display: grid; gap: var(--space-xs); font-size: var(--font-size-sm); }
html[data-theme="arvr_theme"] .portfolio-project__client small { font-family: var(--arvr-mono); font-size: var(--font-size-xs); color: var(--color-muted); }
html[data-theme="arvr_theme"] .portfolio-project__action { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: var(--button-height); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }
html[data-theme="arvr_theme"] .portfolio-project__action .bi { font-size: var(--font-size-xl); }

html[data-theme="arvr_theme"] .portfolio-detail__header { padding: 0; border: 0; background: transparent; }
html[data-theme="arvr_theme"] .portfolio-detail__surface { padding-block: var(--space-lg); border-block: 1px solid var(--color-border); background: var(--color-surface); }
html[data-theme="arvr_theme"] .portfolio-detail__header .container { max-width: var(--arvr-frame); }
html[data-theme="arvr_theme"] .portfolio-detail__intro { display: grid; gap: var(--space-xl); }
html[data-theme="arvr_theme"] .portfolio-detail__copy { min-width: 0; }
html[data-theme="arvr_theme"] .portfolio-detail__copy > .eyebrow { margin: 0 0 var(--space-md); }
html[data-theme="arvr_theme"] .portfolio-detail__header h1 { max-width: 24ch; margin: 0 0 var(--space-lg); font-size: var(--portfolio-hero-title); font-weight: var(--font-weight-black); line-height: var(--line-height-tight); letter-spacing: var(--letter-spacing-tight); text-wrap: balance; overflow-wrap: anywhere; }
html[data-theme="arvr_theme"] .portfolio-detail__lead { max-width: 58ch; margin: 0; font-size: var(--font-size-lg); line-height: var(--line-height-body); color: var(--color-muted); }
html[data-theme="arvr_theme"] .portfolio-facts { display: grid; align-content: start; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--color-border); }
html[data-theme="arvr_theme"] .portfolio-facts > div { min-width: 0; display: grid; gap: var(--space-sm); padding-block: var(--space-md); border-bottom: 1px solid var(--color-border); }
html[data-theme="arvr_theme"] .portfolio-facts dt { font-size: var(--font-size-xs); font-weight: var(--font-weight-regular); letter-spacing: var(--letter-spacing-wide); }
html[data-theme="arvr_theme"] .portfolio-facts dd { font-size: var(--font-size-md); line-height: var(--line-height-body); overflow-wrap: anywhere; }
html[data-theme="arvr_theme"] .portfolio-detail__technologies { display: grid; gap: var(--space-sm); margin-top: var(--space-xl); }
html[data-theme="arvr_theme"] .portfolio-detail__technologies > .eyebrow { margin: 0; }
html[data-theme="arvr_theme"] .portfolio-detail__tags { display: flex; flex-wrap: wrap; gap: var(--space-sm); list-style: none; padding: 0; margin: 0; }
html[data-theme="arvr_theme"] .portfolio-detail__tags li { padding: var(--space-xs) var(--space-sm); border: 1px solid var(--color-border); font-size: var(--font-size-xs); overflow-wrap: anywhere; }
html[data-theme="arvr_theme"] .portfolio-detail__content { padding-block: var(--space-xl); }
html[data-theme="arvr_theme"] .portfolio-detail__layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-xl); margin: 0; }
html[data-theme="arvr_theme"] .portfolio-detail__main { display: grid; min-width: 0; gap: var(--space-xl); }
html[data-theme="arvr_theme"] .portfolio-gallery { min-width: 0; gap: var(--space-lg); }
html[data-theme="arvr_theme"] .portfolio-gallery figcaption { padding: var(--space-sm) var(--space-md); border-bottom: 1px solid var(--color-border); font-size: var(--font-size-xs); }
html[data-theme="arvr_theme"] .portfolio-description { max-width: none; padding: var(--space-lg); border: 1px solid var(--color-border); background: var(--color-surface); }
html[data-theme="arvr_theme"] .portfolio-description > .eyebrow { margin: 0 0 var(--space-sm); }
html[data-theme="arvr_theme"] .portfolio-description h2 { margin: 0 0 var(--space-lg); font-size: var(--font-size-2xl); }
html[data-theme="arvr_theme"] .portfolio-source { position: static; display: grid; align-self: start; gap: 0; min-width: 0; width: 100%; padding: var(--space-lg); background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: none; }
html[data-theme="arvr_theme"] .portfolio-source__heading { display: flex; align-items: center; gap: var(--space-sm); padding-bottom: var(--space-md); margin-bottom: var(--space-sm); border-bottom: 1px solid var(--color-border); }
html[data-theme="arvr_theme"] .portfolio-source h2 { margin: 0; font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); }
html[data-theme="arvr_theme"] .portfolio-source > a { display: flex; align-items: start; gap: var(--space-sm); padding: var(--space-md) 0; font-size: var(--font-size-sm); }
html[data-theme="arvr_theme"] .portfolio-source > a > span { flex: 1; gap: var(--space-xs); }
html[data-theme="arvr_theme"] .portfolio-source small { font-family: var(--arvr-mono); font-size: var(--font-size-xs); }
html[data-theme="arvr_theme"] .portfolio-more { margin-top: var(--space-3xl); }
html[data-theme="arvr_theme"] .portfolio-detail [data-news-crosslinks] { margin-top: var(--space-3xl); }
@media (min-width: 768px) {
    html[data-theme="arvr_theme"] .portfolio-project__link { grid-template-columns: var(--portfolio-media-width) minmax(0, 1fr); align-items: center; gap: var(--space-xl); }
    html[data-theme="arvr_theme"] .portfolio-project__copy { padding-block: var(--space-sm); }
}
@media (min-width: 992px) {
    html[data-theme="arvr_theme"] .portfolio-detail__intro { grid-template-columns: minmax(0, 1fr) var(--portfolio-sidebar-width); gap: var(--space-2xl); }
    html[data-theme="arvr_theme"] .portfolio-detail__intro--without-facts { grid-template-columns: minmax(0, 1fr); }
    html[data-theme="arvr_theme"] .portfolio-facts { padding-left: var(--space-xl); border-top: 0; border-left: 1px solid var(--color-border); }
    html[data-theme="arvr_theme"] .portfolio-facts > div:first-child { padding-top: 0; }
    html[data-theme="arvr_theme"] .portfolio-facts > div:last-child { border-bottom: 0; padding-bottom: 0; }
    html[data-theme="arvr_theme"] .portfolio-detail__layout { grid-template-columns: minmax(0, 1fr) var(--portfolio-sidebar-width); }
    html[data-theme="arvr_theme"] .portfolio-source { position: sticky; top: calc(var(--arvr-header-height, var(--arvr-anchor-offset)) + var(--space-md)); }
    html[data-theme="arvr_theme"] .portfolio-description { padding: var(--space-xl); }
}
@media (max-width: 767.98px) {
    html[data-theme="arvr_theme"] .portfolio-section-heading { align-items: start; flex-direction: column; gap: var(--space-md); }
    html[data-theme="arvr_theme"] .portfolio-section-heading > p br { display: none; }
    html[data-theme="arvr_theme"] .portfolio-detail__surface { padding-block: var(--space-md); }
    html[data-theme="arvr_theme"] .portfolio-detail__lead { font-size: var(--font-size-md); }
}
