.hero-portrait-card{position:relative;justify-self:end;width:100%;max-width:550px;margin:12px 0;padding:14px;background:var(--paper);border:1px solid #b5a794;border-radius:18px;transform:rotate(1.5deg);box-shadow:12px 16px 0 #ded3c3;isolation:isolate}
.portrait-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:18px;padding:0 3px 4px;font-size:8px;font-weight:600;letter-spacing:1.3px}
.portrait-scene-frame{position:relative}
.portrait-scene{position:relative;aspect-ratio:5/6;background:var(--paper);border-radius:10px;overflow:visible;isolation:isolate}
.portrait-background,.portrait-foreground{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.portrait-background{z-index:0}
.portrait-foreground{z-index:3}
.portrait-backdrop{position:absolute;width:76%;aspect-ratio:1;left:-10%;bottom:10%;border-radius:50%;background:var(--brown);box-shadow:0 0 0 clamp(14px,4.5vw,24px) #e5d8c8;z-index:0}
.portrait-orbit{position:absolute;inset:4%;width:92%;height:92%;color:#9b7d6166;z-index:1}
.portrait-qf{position:absolute;top:calc(-13% - 30px);right:-8%;width:82%;height:auto;aspect-ratio:1;object-fit:contain;pointer-events:none;z-index:2}
.portrait-qf[hidden]{display:none}
.portrait-person{position:absolute;bottom:0;left:-22%;width:95%;height:auto;z-index:3;pointer-events:none;filter:drop-shadow(9px 5px 10px #32261926)}
.portrait-spark{position:absolute;left:4.5%;top:5%;font-size:48px;line-height:1;color:var(--orange);z-index:4}
.portrait-side-label{position:absolute;right:3%;top:42%;writing-mode:vertical-rl;font-size:7px;font-weight:600;letter-spacing:1.6px;color:var(--brown-muted);z-index:4}
.portrait-tag{position:absolute;right:4%;bottom:0;z-index:4;width:47%;padding:14px 15px;background:var(--paper);border:1px solid #bca38d;box-shadow:5px 7px 0 #b79b7c44;transform:rotate(-6deg)}
.portrait-tag>span{display:block;font-size:10px;line-height:1.5;font-weight:600;letter-spacing:1px;color:var(--brown-muted)}
.portrait-tag strong{display:block;margin-top:3px;font-family:var(--serif);font-style:italic;font-size:clamp(15px,1.4vw,20px);font-weight:400;line-height:1.1;letter-spacing:-.6px;color:var(--ink)}
.portrait-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 3px 2px;font-size:10px;line-height:1.5;letter-spacing:1px;color:var(--brown-muted)}
.portrait-footer>span{white-space:nowrap}
.portrait-footer-qf{flex-shrink:0;font-family:var(--serif);font-size:22px;line-height:1;font-style:italic;letter-spacing:-1px;color:var(--ink)}
@media(max-width:1100px){.hero-portrait-card{padding:12px;box-shadow:9px 12px 0 #ded3c3}.portrait-topline{font-size:7px;letter-spacing:1px}.portrait-tag{padding:12px}}
@media(max-width:800px){.hero-portrait-card{justify-self:center;width:94%;max-width:570px;margin:12px 0}.portrait-tag strong{font-size:20px}.portrait-topline{font-size:8px}.portrait-footer{font-size:10px}}
@media(max-width:480px){.hero-portrait-card{width:96%;padding:10px;border-radius:14px;box-shadow:7px 10px 0 #ded3c3}.portrait-topline{font-size:6px;letter-spacing:.8px;gap:8px;padding-bottom:4px}.portrait-scene{border-radius:7px}.portrait-tag{width:49%;right:3%;padding:10px 11px}.portrait-tag>span{font-size:8px;letter-spacing:.7px}.portrait-tag strong{font-size:16px}.portrait-side-label{font-size:5px;letter-spacing:1.2px}.portrait-spark{font-size:34px}.portrait-footer{font-size:8px;letter-spacing:.7px;padding-top:12px}}
