/* One centered Welcome, spanning the reference frame behind the character. */
.portrait-title { left:6%; width:88%; font-family:var(--font-year); font-weight:400; font-size:17vw; line-height:1; letter-spacing:-.045em; text-align:center; }
.portrait-title .type-char { display:inline!important; width:auto!important; letter-spacing:inherit!important; }
.portrait-hero--video .hero-video-portrait { width:calc((max(100svh,56.2667vw,640px) - clamp(170px,14vw,260px)) * 16 / 9); height:auto; }
/* SVG arrows share a substantial line weight without changing type weight. */
.ui-arrow { display:inline-block; width:1em; height:1em; min-width:1em; vertical-align:-.12em; fill:none!important; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; transform:rotate(var(--arrow-turn,0deg)); flex-shrink:0; }
.hero-motion-trigger .ui-arrow { width:14px; height:14px; stroke-width:2.8; color:var(--color-accent); }
.collection-tools .collection-expand svg { stroke-width:2.5; }
.site-menu .ui-arrow { width:20px; height:20px; }
.deck-navigation button { font-weight:700; }
.deck-navigation .ui-arrow { width:17px; height:17px; }
.nav-triangle { filter:drop-shadow(0 0 .2px currentColor); }
.contact-item a .ui-arrow,.button .ui-arrow { width:1em; height:1em; }
/* Keep the title, subtitle, introduction and project facts in one readable group. */
.project-dialog .detail-topbar { min-height:70px; padding-block:12px; }
.project-dialog .detail-body { padding-block:44px 56px; }
.project-dialog .detail-heading { margin-bottom:28px; }
.project-dialog .detail-heading .section-meta { margin-bottom:26px; }
.project-dialog .detail-heading>.eyebrow { font-size:11px; letter-spacing:.12em; line-height:1.5; }
.project-dialog .detail-heading h2 { margin-top:0; font-size:clamp(36px,4.2vw,64px); line-height:1.12; }
.project-dialog #detail-title:focus { outline:none; }
.project-dialog .detail-subtitle { margin-top:14px; font-size:18px; line-height:1.4; }
.project-dialog .detail-lead { margin-top:9px; max-width:44em; line-height:1.65; font-size:13px; }
.project-dialog .project-facts { gap:18px 42px; margin-top:24px; padding-block:16px; font-size:14px; }
.project-dialog .project-facts dt { font-size:10px; margin-bottom:5px; letter-spacing:.025em; }
.project-dialog .project-media-stack { gap:36px; }
.project-dialog .case-section { margin-top:40px; }
@media(max-width:767px) {
 .portrait-title { top:104px; left:6%; width:88%; font-size:17vw; }
 .portrait-hero--video .hero-video-portrait { top:180px; bottom:auto; width:190%; }
 .project-dialog .detail-topbar { min-height:62px; padding-block:9px; }
 .project-dialog .detail-body { padding-block:28px 36px; }
 .project-dialog .detail-heading { margin-bottom:28px; }
 .project-dialog .detail-heading h2 { margin-top:0; font-size:clamp(32px,8.7vw,44px); }
 .project-dialog .detail-subtitle { margin-top:12px; font-size:16px; }
 .project-dialog .detail-lead { margin-top:8px; font-size:12px; }
 .project-dialog .project-facts { gap:14px 26px; margin-top:20px; padding-block:14px; font-size:13px; }
 .project-dialog .project-media-stack { gap:24px; }
}
