/* SoulType result-card and avatar-modal only; no global layout changes. */
.st-result-card.sf-report-portrait{position:relative;height:auto;aspect-ratio:4/5;border-radius:16px;overflow:hidden;isolation:isolate;background:#342d2a;box-shadow:0 16px 50px #482c311c}
.st-result-card .st-result-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;z-index:0}
.st-result-gradient{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#1411104d 0%,transparent 31%,#0e0c0c10 40%,#0e0c0c99 61%,#0e0c0ce8 100%);pointer-events:none}
.st-result-logo{position:absolute;top:22px;left:22px;z-index:2}.st-result-logo img{display:block;height:auto;width:116px;max-height:48px;object-fit:contain;filter:drop-shadow(0 1px 6px rgba(0,0,0,.25))}
.st-result-body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 19px 17px;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:9px;text-shadow:0 1px 5px #0006}
.st-result-kicker{font-size:12px;line-height:1.4;color:#fff;font-weight:500}
.st-result-card .st-result-name{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;color:#fff;font-size:clamp(23px,2.5vw,35px);line-height:1.2;letter-spacing:.045em;margin:0;font-weight:650}
.st-result-quote{font-size:11px;line-height:1.6;color:#f8f0eb;margin:0;max-width:100%}
.st-result-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;max-width:100%}
.st-result-tags span{color:#fff;border:1px solid #ffffffa6;background:#ffffff13;border-radius:99px;padding:5px 9px;font-size:10px;line-height:1.25;white-space:nowrap}
.st-result-note{box-sizing:border-box;align-self:stretch;border-radius:11px;border:1px solid #ffffff77;background:#ffffff13;padding:10px 12px;font-size:11px;line-height:1.65;color:#f8eee9;text-align:left}
.st-id-overlay[hidden]{display:none!important}.st-id-overlay{position:fixed;inset:0;z-index:500;background:#181414a6;display:grid;place-items:center;padding:16px;backdrop-filter:blur(5px)}
.st-id-dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:#f6f1ed;color:#3d3331;border-radius:18px;max-width:440px;width:100%;padding:18px 22px 22px;text-align:center;box-shadow:0 30px 80px #150d0a55}
.st-id-modalhead{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#85776e;letter-spacing:1px}.st-id-close{width:34px;height:34px;border:0;background:transparent;font-size:25px;cursor:pointer;color:#6e625c}.st-id-dialog h2{margin:4px 0;font-size:26px;color:#3d3331}.st-id-modalsub{font-size:12px;color:#6b5e56;margin:4px 0 12px}
.st-id-avatar{position:relative;max-width:270px;margin:0 auto;border-radius:50%;overflow:hidden;aspect-ratio:1;background:#ded2c8;border:4px solid var(--st-id-accent)}
.st-id-avatar > img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 36%;display:block}
.st-id-avatar[data-style="film"] > img:first-child{filter:sepia(.21) contrast(.93)}
.st-id-avatar[data-style="signature"] > img:first-child{filter:contrast(.94) saturate(.74)}
.st-id-avatar:after{content:"";position:absolute;inset:49% 0 0;background:linear-gradient(transparent,#110f0ed1);pointer-events:none}.st-id-avatarbrand,.st-id-avatarname{position:absolute;left:0;right:0;z-index:1;color:#fff;text-shadow:0 1px 6px #0008}
.st-id-avatar > img.st-id-avatarbrand{position:absolute;left:50%;right:auto;bottom:32%;z-index:3;display:block;width:108px;height:auto;max-height:48px;margin:0;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 1px 3px rgba(0,0,0,.30))}.st-id-avatarname{bottom:16%;font-size:16px;font-weight:bold}
.st-id-dialog .st-id-styles{display:flex;gap:7px;margin:16px 0 5px;justify-content:center}
.st-id-dialog .st-id-styles button{background:#fff;color:#554841!important;border:1px solid #cdbdb4;border-radius:20px;padding:9px 12px;font-size:11px;line-height:1.2;cursor:pointer;opacity:1;transition:background .18s,color .18s,border-color .18s}
.st-id-dialog .st-id-styles button:hover{background:#f5e8e1;color:#4c3731!important;border-color:#ab8479}
.st-id-dialog .st-id-styles button.active{border-color:#a57669;background:#e9d5cd;color:#4c302c!important;font-weight:600}
.st-id-dialog .st-id-styles button:focus-visible,.st-id-close:focus-visible,.st-id-action:focus-visible{outline:2px solid #b78378;outline-offset:2px}
.st-id-dialog .st-id-hint{font-size:11px;color:#73625a;margin:9px 0 14px}
.st-id-dialog .st-id-action{min-height:44px;padding:10px 19px;background:#343031;color:#fff!important;border:1px solid #343031;border-radius:25px;font:inherit;font-size:13px;cursor:pointer}.st-id-dialog .st-id-action:hover{background:#514343;color:#fff!important}.st-id-dialog .st-id-full{width:100%}
@media(max-width:700px){.st-result-card.sf-report-portrait{height:auto;aspect-ratio:4/5}.st-result-card .st-result-name{font-size:clamp(24px,6vw,34px)}.st-result-logo{top:18px;left:18px}.st-result-logo img{width:102px;height:auto;max-height:42px}.st-result-body{padding:0 16px 16px;gap:8px}.st-id-dialog{padding:15px 16px 20px}}
@media(max-width:400px){.st-result-card .st-result-name{font-size:26px}.st-result-quote{font-size:10px}.st-result-body{gap:7px;padding:0 13px 13px}.st-result-tags{gap:4px}.st-result-tags span{font-size:9px;padding:4px 7px}.st-result-note{font-size:10px;padding:9px 10px}.st-result-logo img{width:94px;height:auto;max-height:39px}}
@media(max-height:640px){.st-id-avatar{max-width:180px}.st-id-dialog{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){.st-id-dialog .st-id-styles button{transition:none!important}}

/* v1.18: approved imagery, independent from homepage photos; only result-card layer */
.st-result-card.st-result-curated .st-result-gradient{background:linear-gradient(180deg,rgba(0,0,0,.27) 0%,transparent 22%,rgba(15,12,11,.01) 35%,rgba(14,12,12,.07) 54%,rgba(12,10,10,.13) 100%)}
.st-result-card.st-result-curated .st-result-photo{object-position:center center}
.st-result-card .st-result-quote{font-size:clamp(10px,.92vw,12px);line-height:1.5}
.st-result-card .st-result-note{font-size:clamp(10px,.92vw,12px);line-height:1.55}

.st-result-card.st-result-curated .st-result-photo{object-fit:cover;object-position:center}

/* Final approved 16-card typography footprint matches the 2×2 reference cards. */
.st-result-card.st-result-curated.sf-report-portrait{aspect-ratio:4/5;height:auto;background:#211b19}
.st-result-card.st-result-curated .st-result-logo{top:18px;left:18px}
.st-result-card.st-result-curated .st-result-body{gap:7px;padding:0 15px 14px}
.st-result-card.st-result-curated .st-result-name{font-size:clamp(23px,2.4vw,34px)}
.st-result-card.st-result-curated .st-result-note{font-size:10px;padding:9px 11px;line-height:1.45}
.st-result-card.st-result-curated .st-result-tags span{padding:4px 8px}
@media(max-width:700px){.st-result-card.st-result-curated.sf-report-portrait{aspect-ratio:4/5}.st-result-card.st-result-curated .st-result-name{font-size:clamp(22px,5.5vw,30px)}.st-result-card.st-result-curated .st-result-note{font-size:9.5px}}
@media(max-width:390px){.st-result-card.st-result-curated.sf-report-portrait{aspect-ratio:4/5}.st-result-card.st-result-curated .st-result-body{gap:5px;padding:0 10px 10px}.st-result-card.st-result-curated .st-result-tags span{padding:3px 6px}}

/* v1.18: original approved photo still carries the original SoulType mark exactly once */
.st-result-card.st-result-curated .st-result-logo{display:block}
.st-result-card.st-result-curated .st-result-gradient{background:linear-gradient(180deg,transparent 0%,transparent 42%,rgba(26,21,19,.05) 50%,transparent 70%)}

/* v1.20: plain independent result portraits; retain original card geometry.
   Show the SoulType logo once (clean photos contain no printed text),
   and use a continuous vignette rather than a horizontal blackout band. */
.st-result-card.st-result-curated .st-result-logo{display:block}
.st-result-card.st-result-curated .st-result-gradient{
 background:linear-gradient(180deg,rgba(17,13,12,.25) 0%,rgba(17,13,12,0) 25%,rgba(17,13,12,.05) 37%,rgba(17,13,12,.22) 50%,rgba(17,13,12,.62) 75%,rgba(17,13,12,.90) 100%);
}
