/* White home. The supplied portrait is preserved byte-for-byte. */
.portfolio-home{--hp-paper:#fff;--hp-white:#fff;--hp-line:#dadbd6;background:#fff}
.portfolio-home .hp-contacts{background:#fff;border-top:1px solid var(--hp-line)}
.hp-hero.hp-hero--outline{display:block;padding-block:44px 48px}
.hp-hero--outline h1.hp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hp-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30vw) minmax(0,1fr);gap:clamp(12px,1.4vw,24px);align-items:center;margin-top:24px}
.hp-identity-side{min-width:0}
.hp-identity-side--first{text-align:right}
.hp-identity-side--last{text-align:left}
.hp-name-word{display:inline-block;font-family:'Fine Matter Display',Georgia,serif;font-size:clamp(56px,7.2vw,114px);font-weight:450;line-height:1;letter-spacing:-.035em;white-space:nowrap}
.hp-hero--outline .hp-portrait{float:none;width:100%;max-width:460px;padding:0;margin:0!important;justify-self:center}
.hp-hero--outline .hp-portrait::before{content:none}
.hp-hero--outline .hp-portrait img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.hp-hero--outline .hp-role,.hp-hero--outline .hp-intro{font-size:clamp(18px,1.7vw,25px);line-height:1.4;letter-spacing:-.02em;margin-top:16px!important}
.hp-hero--outline .hp-hero-description{max-width:none;margin:26px auto 0!important;color:var(--hp-ink);font-family:'Fine Matter Display',Georgia,serif;font-size:clamp(22.5px,1.85vw,27px);font-weight:450;line-height:1.6;letter-spacing:0;text-align:center;text-align-last:center;white-space:nowrap}
@media(max-width:700px){
 .hp-hero.hp-hero--outline{padding-block:30px 36px}
 .hp-identity{grid-template-columns:1fr;gap:20px;margin-top:22px}
 .hp-name-word{font-size:clamp(44px,10.5vw,72px)}
 .hp-identity-side--first{text-align:left}
 .hp-identity-side--last{text-align:right}
 .hp-hero--outline .hp-portrait{width:min(78vw,330px)}
 .hp-hero--outline .hp-role,.hp-hero--outline .hp-intro{font-size:17px;line-height:1.4}
 .hp-hero--outline .hp-hero-description{font-size:22.5px;margin-top:24px!important}
}

@media(max-width:1000px){.hp-hero--outline .hp-hero-description{white-space:normal;text-align:center;text-align-last:center}}

/* Narrow screens: names keep their existing placement; supporting copy has its own row. */
.hp-hero-mobile-meta{display:none}
@media(max-width:700px){
 .hp-hero--outline .hp-identity-side .hp-role,.hp-hero--outline .hp-identity-side .hp-intro{display:none}
 .hp-hero--outline .hp-hero-mobile-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-top:20px;text-align:center;font-size:17px;line-height:1.4;letter-spacing:-.02em}
 .hp-hero-mobile-meta>span{display:block}
}
