/* Sprint 1: Homepage V56 design tokens, scoped to Portfolio and Composite. */
@font-face{font-family:'Major Mono Display';src:url('/assets/fonts/MajorMonoDisplay-Regular.woff2') format('woff2');font-display:swap}
:root{--tfm-background:#fff;--tfm-surface:#f6f5f3;--tfm-text:#1c1b1a;--tfm-muted:#625e58;--tfm-border:#dedbd6;--tfm-accent:#78612c;--tfm-font:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--tfm-display:var(--tfm-font)}
html:is(:lang(en),:lang(fr),:lang(es),:lang(pt),:lang(de),:lang(it),:lang(pl)) {--tfm-display:'Major Mono Display',var(--tfm-font)}
body.portfolio-page,body[data-tfm-module=card]{background:var(--tfm-background);color:var(--tfm-text);font-family:var(--tfm-font)}
.portfolio-page :is(h1,h2,h3),body[data-tfm-module=card] :is(.tc-studio h1,.tc-studio h2,.tc-studio h3){font-family:var(--tfm-display);font-weight:400;letter-spacing:-.035em;line-height:1.22;overflow-wrap:anywhere}
.portfolio-page :is(button,a,input,select),body[data-tfm-module=card] :is(button,input,select){font-family:var(--tfm-font)}
.portfolio-page :is(button,a,input,select):focus-visible,body[data-tfm-module=card] :is(button,input,select):focus-visible{outline:2px solid var(--tfm-accent);outline-offset:3px}
.portfolio-page .portfolio-location,.portfolio-page .portfolio-bio{color:var(--tfm-muted)}
.portfolio-page .v5-share{border-radius:2px!important;border:1px solid var(--tfm-border)!important;background:#fff!important;color:var(--tfm-text)!important;font-weight:600!important}
@media(max-width:760px){
 .portfolio-page .tfm-unit-headrow{min-height:54px!important}
 .portfolio-page .tfm-unit-header{border-bottom:1px solid var(--tfm-border)}
 .portfolio-page .tfm-unit-breadcrumb{margin-block:6px!important;font-size:11px!important}
 .portfolio-page .portfolio-intro-copy{padding:8px 2px 10px!important}
 .portfolio-page #publicName{font-size:clamp(1.6rem,7vw,2.35rem)!important;line-height:1.12!important;margin:0 0 4px!important}
 .portfolio-page .portfolio-bio{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-block:4px!important}
 .portfolio-page .v5-actions{margin-block:6px!important}
 .portfolio-page .portfolio-hero{gap:0!important}
 .portfolio-page .v5-photo-stage{margin-top:4px!important}
}

/* Sprint 2: cohesive gallery and composite presentation; preserve native scroll. */
.portfolio-page .v5-photo-stage{touch-action:pan-y pinch-zoom}
.portfolio-page .v5-thumb{border-color:var(--tfm-border);border-radius:3px}
.portfolio-page .v5-thumb.is-active,.portfolio-page .v5-thumb[aria-pressed=true]{outline:2px solid var(--tfm-accent);outline-offset:2px}
.portfolio-page .v5-photo-controls button{border:1px solid var(--tfm-border);color:var(--tfm-text);background:var(--tfm-background)}
.portfolio-page .portfolio-gallery-item{border-color:var(--tfm-border);border-radius:3px}
.portfolio-page .portfolio-gallery-item figcaption{color:var(--tfm-muted);background:var(--tfm-background)}
body[data-tfm-module=card] .talent-card-sheet{background:var(--tfm-background);color:var(--tfm-text)}
body[data-tfm-module=card] .talent-card-sheet :is(h1,h2,h3){font-family:var(--tfm-display)}
@media(max-width:460px){.portfolio-page .portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portfolio-page .portfolio-gallery-item img{height:auto;aspect-ratio:3/4;object-fit:cover}}
@media(prefers-reduced-motion:reduce){.portfolio-page .v5-photo-stage *{scroll-behavior:auto!important;transition:none!important}}

/* Sprint 3: multilingual typography and international layout. */
.portfolio-page,body[data-tfm-module=card]{font-synthesis:none;text-rendering:optimizeLegibility}
.portfolio-page :is(h1,h2,h3),body[data-tfm-module=card] .talent-card-sheet :is(h1,h2,h3){hyphens:auto}
html:lang(ar){--tfm-display:Tahoma,'Noto Sans Arabic',Arial,sans-serif;--tfm-font:Tahoma,'Noto Sans Arabic',Arial,sans-serif}
html:lang(zh){--tfm-display:'Noto Sans CJK SC','Microsoft YaHei',sans-serif}
html:lang(ja){--tfm-display:'Noto Sans CJK JP','Yu Gothic',sans-serif}
html:lang(ko){--tfm-display:'Noto Sans CJK KR','Malgun Gothic',sans-serif}
html:lang(th){--tfm-display:'Noto Sans Thai',Tahoma,sans-serif}
html:lang(ru),html:lang(uk){--tfm-display:system-ui,'Noto Sans',sans-serif}
html:lang(ar) .portfolio-page :is(.portfolio-intro-copy,.portfolio-bio,.portfolio-location),html:lang(ar) body[data-tfm-module=card] .talent-card-sheet{direction:rtl;text-align:start}
.portfolio-page .portfolio-bio{overflow-wrap:break-word;unicode-bidi:plaintext}
.portfolio-page :is(.portfolio-location,.portfolio-bio){line-height:1.55}
@media(max-width:760px){.portfolio-page :is(h1,h2,h3){letter-spacing:normal}html:lang(ar) .portfolio-page .portfolio-intro-copy{text-align:start}}
