
.personal-portrait{height:590px;position:relative;margin:0;isolation:isolate;overflow:hidden;background:#100b14;border:1px solid #2e2137;border-radius:2px;color:#fff}.portrait-glow{position:absolute;inset:16% -20% -30% 4%;z-index:-1;background:radial-gradient(ellipse,#b300ff62 0,#7200a51c 45%,transparent 70%)}.portrait-greeting{position:absolute;top:48px;left:32px;right:20px;z-index:1}.portrait-greeting>span{font-size:16px;letter-spacing:.01em;display:block;color:#d9cbe1;margin:0 0 3px 6px}.portrait-greeting strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(78px,7.2vw,130px);font-style:italic;font-weight:400;line-height:.96;letter-spacing:-.085em;white-space:nowrap}.portrait-greeting strong>span{color:#b300ff}.portrait-reserved{position:absolute;inset:0;z-index:2;pointer-events:none}.portrait-head{position:absolute;top:115px;left:43%;width:112px;height:145px;border-radius:45% 45% 42% 42%;background:linear-gradient(120deg,#51425b,#29202f);box-shadow:inset 1px 0 #ffffff16}.portrait-shoulders{position:absolute;bottom:-78px;left:21%;width:79%;height:430px;border-radius:47% 45% 0 0;background:linear-gradient(105deg,#3e2c4c,#211728 65%);box-shadow:inset 1px 1px #ffffff0e}.portrait-reserved:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#100b14);z-index:3}.portrait-placeholder{position:absolute;left:32px;right:32px;bottom:66px;z-index:4;border-left:2px solid #b300ff;padding:2px 0 3px 16px}.portrait-placeholder>span{font-size:9px;letter-spacing:.2em;color:#d7a1ee}.portrait-placeholder p{font-size:19px;line-height:1.4;margin:8px 0;color:white}.portrait-placeholder small{font-size:10px;color:#c0adc9}.personal-portrait figcaption{position:absolute;left:32px;right:32px;bottom:20px;display:flex;justify-content:space-between;gap:16px;z-index:5;font-size:9px;letter-spacing:.08em;color:#c5b5cf;border-top:1px solid #ffffff20;padding-top:15px}.personal-portrait figcaption span:first-child{color:white;font-weight:700;letter-spacing:.15em}.personal-portrait:after{content:'';position:absolute;right:22px;top:24px;width:24px;height:24px;border-right:1px solid #b300ff;border-top:1px solid #b300ff;z-index:5}
@media(max-width:900px){.personal-portrait{height:520px}.portrait-greeting strong{font-size:100px}.portrait-greeting{left:25px}.portrait-head{top:140px}.portrait-shoulders{height:335px}.portrait-placeholder{left:25px;right:25px}.personal-portrait figcaption{left:25px;right:25px}}
@media(max-width:650px){.personal-portrait{height:500px}.portrait-greeting{top:35px;left:24px}.portrait-greeting strong{font-size:clamp(84px,24vw,120px)}.portrait-greeting>span{font-size:15px}.portrait-head{top:125px;left:44%;width:100px;height:130px}.portrait-shoulders{left:18%;width:87%;height:320px}.portrait-placeholder{bottom:66px;left:24px}.personal-portrait figcaption{left:24px;right:24px;font-size:8px}.portrait-placeholder p{font-size:17px}}
.personal-portrait{background:#08060b;border:0}.portrait-greeting{z-index:3;text-shadow:0 2px 20px #08060b40}.personal-portrait{container-type:inline-size}.portrait-greeting strong{font-size:clamp(60px,25cqw,125px)}
.portrait-photo{position:absolute;inset:0;z-index:2}.portrait-photo .asodium-media-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%}.personal-portrait.has-portrait .portrait-greeting{text-shadow:0 2px 22px #0009}.personal-portrait.has-portrait:before{content:"";position:absolute;inset:0;background:linear-gradient(#0006,transparent 50%,#0007);z-index:3;pointer-events:none}

/* Real portrait: lettering stays above the face. */
.portrait-photo{inset:110px 0 0}.portrait-photo .asodium-media-image{object-position:50% 8%}.personal-portrait.has-portrait .portrait-greeting{top:34px}.personal-portrait.has-portrait:before{background:linear-gradient(transparent 60%,#08060b99)}
@media(max-width:650px){.portrait-photo{inset:90px 0 0}.personal-portrait.has-portrait .portrait-greeting{top:27px}}

.portrait-photo{mask-image:linear-gradient(to bottom,transparent,#000 28px,#000 calc(100% - 24px),transparent)}

/* V2: show the full available silhouette, without zooming into the portrait. */
.personal-portrait.has-portrait{height:650px}.personal-portrait.has-portrait .portrait-photo{inset:85px 0 48px}.portrait-photo .asodium-media-image{object-fit:contain;object-position:50% 100%}.personal-portrait.has-portrait:before{background:linear-gradient(transparent 85%,#08060b55)}
@media(max-width:900px){.personal-portrait.has-portrait{height:600px}.personal-portrait.has-portrait .portrait-photo{inset:80px 0 48px}}
@media(max-width:650px){.personal-portrait.has-portrait{height:590px}.personal-portrait.has-portrait .portrait-photo{inset:75px 0 48px}}

.personal-portrait.has-portrait .portrait-glow{opacity:.18}.personal-portrait.has-portrait .portrait-photo{mix-blend-mode:lighten}

/* V2 final crop: just below the crossed arms; no added frame. */
.personal-portrait.has-portrait{background:transparent;border:0;box-shadow:none;border-radius:0}.personal-portrait.has-portrait .portrait-glow,.personal-portrait.has-portrait:after{display:none}.personal-portrait.has-portrait figcaption{border-top:0}.portrait-photo .asodium-media-image{position:absolute;top:0;left:50%;transform:translateX(-50%);height:124%;width:auto;max-width:none;object-fit:initial;object-position:initial}
