/* Portrait addition only. All other site styles are inherited unchanged. */
.portrait-hero-copy{min-width:0}
.portrait-hero-photo{width:100%;max-width:430px;margin:42px auto 0;text-align:left}
.portrait-photo-frame{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:.9;border-radius:90px 12px 12px 12px;background:#252b25;box-shadow:0 14px 40px rgba(0,0,0,.2);transition:box-shadow .55s cubic-bezier(.22,1,.36,1)}
.portrait-photo-image{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.portrait-photo-badge{display:inline-flex;align-items:center;gap:7px;margin-top:11px;padding:6px 9px;border-radius:4px;background:#f2cb40;color:#1d2421;font-size:10px;font-weight:700;line-height:1.4}
.portrait-photo-badge i{font-size:12px}
.portrait-photo-label{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:14px;padding:21px 23px;background:linear-gradient(0deg,rgba(21,32,25,.98),rgba(21,32,25,.92));color:#fff}
.portrait-photo-accent{height:39px;width:3px;flex:none;background:#f2cb40}
.portrait-photo-label strong{display:block;font-size:18px;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.portrait-photo-label div>span{display:block;max-width:240px;margin-top:5px;font-size:11px;line-height:1.6;color:#d3d8d2}
.portrait-hero-photo.reveal{transform:translateY(18px);transition:opacity .75s ease-out,transform .75s cubic-bezier(.22,1,.36,1)}
.portrait-hero-photo.reveal.active{transform:translateY(0)}
@media(min-width:768px) and (max-width:1099px){.portrait-hero-copy{width:75%}}
@media(min-width:1100px){
  .portrait-hero-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:44px}
  .portrait-hero-photo{max-width:430px;margin:0 0 0 auto}
}
@media(hover:hover) and (pointer:fine){
  .portrait-photo-frame:hover{box-shadow:0 20px 48px rgba(0,0,0,.32)}
  .portrait-photo-frame:hover .portrait-photo-image{transform:scale(1.035)}
}
@media(max-width:639px){
  .portrait-hero-photo{max-width:400px;margin-top:36px}
  .portrait-photo-frame{aspect-ratio:1.15;border-radius:55px 10px 10px 10px}
  .portrait-photo-image{object-position:center 5%}
  .portrait-photo-badge{font-size:9px;padding:5px 8px;gap:6px;margin-top:9px}
  .portrait-photo-badge i{font-size:10px}
  .portrait-photo-label{padding:15px 17px;gap:11px}
  .portrait-photo-label strong{font-size:17px}
  .portrait-photo-label div>span{font-size:10px;max-width:230px}
  .portrait-photo-accent{height:33px}
}
@media(prefers-reduced-motion:reduce){
  .portrait-photo-frame,.portrait-photo-image,.portrait-hero-photo.reveal{transition:none!important}
  .portrait-hero-photo.reveal{opacity:1;transform:none}
  .portrait-photo-frame:hover .portrait-photo-image{transform:none}
}
