/* Original portrait, presented with the existing olive/gold palette. */
.portrait-scene{min-height:540px;max-width:530px;aspect-ratio:.96;margin-top:-8px;margin-bottom:25px}
.portrait-scene:before{content:'';position:absolute;inset:4% 3% 1%;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,#d4b58918,transparent 68%);pointer-events:none;z-index:-1}
.portrait-frame{margin:0;position:relative;width:74%;height:95%;border-radius:47% 47% 12px 12px / 28% 28% 12px 12px;overflow:hidden;isolation:isolate;border:1px solid #d6b98085;background:#273128;box-shadow:0 24px 65px #0006,0 0 35px #b8a16b0c;z-index:2;animation:portrait-float 8s ease-in-out infinite}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:57% 40%;filter:saturate(.65) sepia(.13) brightness(.91) contrast(.97);transform:scale(1.025)}
.portrait-frame:before{content:'';position:absolute;inset:7px;z-index:3;border:1px solid #e0c99655;border-radius:inherit;pointer-events:none}
.portrait-frame:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#17271d19,transparent 24%,transparent 61%,#13231d70 86%,#13231def 100%),linear-gradient(90deg,#13231d35,transparent 26%,transparent 74%,#13231d2b);box-shadow:inset 0 0 40px #1a2c1e30}
.portrait-inscription{position:absolute;bottom:22px;left:0;right:0;z-index:4;text-align:center;color:#efddba;font:21px/1.6 Amiri,serif;text-shadow:0 2px 8px #0005}
.portrait-inscription:before{content:'✦';display:block;color:#d7b985;font-size:13px;margin-bottom:4px}
.portrait-scene>.moon-crop{position:absolute;left:0;top:5%;width:26%;height:auto;aspect-ratio:1;z-index:1;opacity:.93;box-shadow:0 0 38px #d4b58922;border:1px solid #d4b58940;animation-duration:10s}
.portrait-scene .orbit.inner{inset:7% -1%;border-color:#d4b58940}
.portrait-scene .orbit.outer{inset:-3% -5%;opacity:.28}
.portrait-scene .morph-aura{inset:-10% -11%;height:120%;width:122%;opacity:.7}
.portrait-scene .s1{left:4%;top:36%;z-index:3}.portrait-scene .s2{right:5%;bottom:15%;z-index:3}
.portrait-scene .moon-whisper{bottom:-24px;font-size:15px}
.portrait-scene .moon-serial{top:-11px;font-size:7px;letter-spacing:.2em}
.invitation-card .card-portrait{display:block;height:54px;width:54px;object-fit:cover;object-position:60% 27%;border-radius:50%;border:1px solid #ac9461;box-shadow:0 0 0 3px #f5efdf,0 0 0 4px #c8b58155;filter:saturate(.72) sepia(.1);margin:2px 0 6px}
.invitation-card:has(.card-portrait){gap:4px}
.motion-paused .portrait-frame{animation-play-state:paused}
@keyframes portrait-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(min-width:1600px){.portrait-scene{min-height:590px}}
@media(max-width:950px) and (min-width:651px){.portrait-scene{min-height:420px;margin-bottom:35px}.portrait-inscription{font-size:18px;bottom:18px}.portrait-scene .moon-serial{font-size:5px}.portrait-scene .moon-whisper{font-size:12px}}
@media(max-width:650px){.portrait-scene{min-height:0;max-width:360px;width:100%;aspect-ratio:.88;margin:10px auto 30px}.portrait-frame{width:76%;height:95%}.portrait-scene>.moon-crop{left:0;top:4%;width:25%}.portrait-scene .orbit.outer{inset:-1% -1%}.portrait-scene .morph-aura{inset:-5% -7%;width:114%;height:110%}.portrait-scene .moon-whisper{font-size:12px;bottom:-19px}.portrait-scene .moon-serial{top:-3px;font-size:5px}.portrait-inscription{font-size:19px;bottom:20px}.portrait-scene .s1{left:3%;top:36%}.portrait-scene .s2{right:3%;bottom:13%}.invitation-card .card-portrait{width:37px;height:37px;margin:1px 0 4px}.invitation-card:has(.card-portrait){gap:2px}.invitation-card:has(.card-portrait)>strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){.portrait-frame{animation:none}}
.hero h1[tabindex="-1"]:focus{outline:none}
body:has(.portrait-scene){overflow-x:clip}@media(max-width:650px){.hero:has(.portrait-scene){overflow-clip-margin:0px}}
