/* Version 2: project context and actions live together, outside the artwork. */
.portfolio-v2 [hidden]{display:none!important}
.portfolio-v2[data-view="project"] .identity{margin-bottom:0}
.portfolio-v2[data-view="project"] .active-summary h2{font-size:clamp(28px,2.5vw,44px);line-height:1.08;margin-bottom:24px}
.portfolio-v2[data-view="project"] .active-summary p{font-size:clamp(14px,1.05vw,18px);line-height:1.5;margin-bottom:20px}
.portfolio-v2.is-paginated .pagination-controls{position:static;transform:none;width:auto;max-width:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;padding:0}
.portfolio-v2.is-paginated .pagination-controls a,.portfolio-v2.is-paginated .pagination-controls button{height:42px;min-height:42px;padding:0 17px;box-shadow:none;font:inherit;font-size:12px;letter-spacing:-.015em;border:1px solid var(--ink)}
.portfolio-v2.is-paginated .pagination-controls a{background:var(--ink);color:var(--paper)}
.portfolio-v2.is-paginated .pagination-controls a:hover{background:var(--muted);border-color:var(--muted)}
.portfolio-v2.is-paginated .pagination-controls button{background:var(--paper);color:var(--ink);border-color:var(--line)}
.portfolio-v2.is-paginated .pagination-controls button:hover{background:color-mix(in srgb,var(--ink) 6%,var(--paper))}
.portfolio-v2 .pagination-controls .arrow-icon{filter:none}
.portfolio-v2 .arrow-down{transform:rotate(135deg)}
.case-study-v2{--rail:clamp(64px,6.85vw,100px);padding-left:var(--rail)}
.case-rail{position:fixed;inset:0 auto 0 0;width:var(--rail);border-right:1px solid var(--line);z-index:10;background:var(--paper);display:flex;align-items:center;flex-direction:column}
.case-rail .home-logo{display:block;width:43%;max-width:51px;margin-top:44px;height:48px;overflow:hidden;transform:scale(.82);transform-origin:center top}
.case-rail .home-logo img,.case-mobile-logo img{width:333.333%;max-width:none;height:auto}
.case-return{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--ink);transition:background 160ms ease}
.case-return svg{width:22px;height:22px}
.case-return:hover{background:color-mix(in srgb,var(--ink) 7%,var(--paper))}
.case-study-v2 .header{justify-content:flex-end;min-height:105px}
.case-mobile-logo{display:none}
.case-study-v2 .case-intro{padding-top:45px}
@media(prefers-color-scheme:dark){.portfolio-v2 .pagination-controls .arrow-icon{filter:brightness(0) invert(1)}}
@media(max-width:900px){
 .portfolio-v2[data-view="project"] .profile{display:none}
 .portfolio-v2.is-paginated .mobile-summary p+p{display:block}
 .portfolio-v2.is-paginated .pagination-controls{margin-top:20px;margin-bottom:5px;gap:8px}
 .portfolio-v2.is-paginated .showcase{height:100svh;min-height:740px}
 .portfolio-v2.is-paginated .overview-slide .logo-grid{height:100%}
 .case-study-v2{padding-left:0}
 .case-rail{display:none}
 .case-study-v2 .header{justify-content:space-between;min-height:90px}
 .case-mobile-logo{display:block;width:28px;height:32px;margin:0;overflow:hidden;transform:none;flex-shrink:0}
 .case-study-v2 .case-intro{padding-top:30px}
}
@media(prefers-reduced-motion:reduce){.case-return{transition:none}}

/* Keep natural reading rhythm while avoiding short, stranded final lines. */
.portfolio-v2 :is(p,dd),.case-study-v2 :is(p,dd){text-wrap:pretty}
.portfolio-v2 :is(h1,h2,h3),.case-study-v2 :is(h1,h2,h3,.case-line){text-wrap:balance}

/* One crossfade for page navigation; carousel motion is reserved for project changes. */
.portfolio-v2.is-initializing .showcase-slide{transition:none!important}
html:has(.portfolio-v2.is-paginated){scroll-behavior:auto}
@media(prefers-reduced-motion:no-preference){
 ::view-transition-group(root){animation-duration:240ms}
 ::view-transition-old(root){animation:none;mix-blend-mode:normal}
 ::view-transition-new(root){animation:240ms cubic-bezier(.25,.1,.25,1) both portfolio-page-fade;mix-blend-mode:normal}
 .portfolio-v2>.rail,.case-study-v2>.case-rail{view-transition-name:portfolio-rail}
 ::view-transition-group(portfolio-rail){animation:none}
 ::view-transition-old(portfolio-rail){animation:none;mix-blend-mode:normal}
 ::view-transition-new(portfolio-rail){animation:200ms ease both portfolio-page-fade;mix-blend-mode:normal}
}
@keyframes portfolio-page-fade{from{opacity:0}to{opacity:1}}

/* Let the navigation gap space every link equally. */
.case-study-v2 .header nav .contact-link{margin-left:0}
