*{box-sizing:border-box}html{background:#201327;color:#fff}body{margin:0;min-height:100svh;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 80% 50%,#54204955,transparent 55%),#201327}.page{width:min(100%,1080px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:center;min-height:calc(100svh - 56px);padding:48px 32px 24px}.identity{min-width:0;text-align:center}.portrait-wrap{position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;border-radius:24px 24px 0 0}.portrait-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#20132766 65%,#201327 100%)}.portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 27%}.identity-content{position:relative;margin-top:-48px;z-index:1}h1{font-size:clamp(40px,5vw,60px);line-height:1.06;letter-spacing:-2px;margin:0 0 8px;font-weight:750}h1 span{color:#ee9ddf}.handle{color:#d1bdd7;margin:0 0 22px;font-size:16px}.socials{display:flex;justify-content:center;gap:28px}.social-item{display:flex;align-items:center;flex-direction:column;gap:8px}.social-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff38;border-radius:50%;box-shadow:0 0 16px #bc6fe325}.social-icon svg{width:25px;height:25px}.instagram{background:radial-gradient(circle at 25% 100%,#ffcc6b,#d63881 52%,#7549b6)}.tiktok{background:#151218}.tiktok svg{filter:drop-shadow(-1px 0 #4ce6e1) drop-shadow(1px 0 #f46599)}.social-label{font-size:11px;color:#decee4}.social-label small{display:block;font-size:10px;color:#b7a1be;margin-top:3px}.feature{min-width:0;padding:8px}.fanvue-card{position:relative;display:block;aspect-ratio:1/1;width:100%;border-radius:24px;isolation:isolate;color:white;text-decoration:none;border:2px solid #eb85e2;box-shadow:0 0 18px #ee62db80,0 0 54px #cd48d03d;transition:transform .25s,box-shadow .25s}.fanvue-card:after{content:"";position:absolute;inset:0;border-radius:22px;z-index:1;background:linear-gradient(180deg,#160d2122 0%,transparent 45%,#170c2099 76%,#170c20ed 100%);pointer-events:none}.fanvue-card>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 32%;border-radius:22px}.fanvue-card:hover{transform:translateY(-4px);box-shadow:0 0 25px #ee62dba0,0 0 64px #cd48d05d}.fanvue-card:focus-visible{outline:3px solid white;outline-offset:7px}.platform{position:absolute;z-index:2;top:18px;left:18px;display:flex;gap:16px;align-items:center;background:#21132bd9;border:1px solid #ffffff30;border-radius:24px;padding:9px 13px;font-size:12px;font-weight:700}.card-caption{position:absolute;z-index:2;bottom:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(22px,2.7vw,32px);font-weight:750;letter-spacing:-.6px}.arrow{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f09be6;color:#27122b;font-size:25px;flex-shrink:0}.card-note{text-align:center;font-size:12px;letter-spacing:.3px;color:#d1bdd7;margin:20px 0 0}.card-note span{color:#f3a7e5;margin-left:4px}footer{text-align:center;font-size:11px;letter-spacing:1.2px;color:#af97b6;padding:18px 16px 26px}@media(max-width:700px){.page{display:block;max-width:500px;padding:0 20px 4px;min-height:0}.portrait-wrap{width:calc(100% + 40px);margin-left:-20px;border-radius:0;aspect-ratio:1.1/1}.identity-content{margin-top:-48px}h1{font-size:44px}.handle{font-size:15px;margin-bottom:18px}.socials{gap:26px}.social-icon{width:44px;height:44px}.feature{padding:0;margin-top:28px}.fanvue-card{border-radius:22px}.fanvue-card>img,.fanvue-card:after{border-radius:20px}.card-caption{font-size:26px;bottom:20px;left:20px;right:20px}.platform{top:14px;left:14px}.card-note{margin-top:18px}footer{padding-top:28px;padding-bottom:max(24px,env(safe-area-inset-bottom))}}@media(max-width:350px){.page{padding-left:16px;padding-right:16px}.portrait-wrap{width:calc(100% + 32px);margin-left:-16px}.card-caption{font-size:23px}.arrow{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){.fanvue-card{transition:none}.fanvue-card:hover{transform:none}}

/* Breathing halo: animate opacity, keeping the photo and layout still. */
.fanvue-card::before{content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;z-index:-1;border:2px solid #ffb2f4;box-shadow:0 0 16px 3px #f479eac9,0 0 38px 8px #d948d180,0 0 65px 12px #ac47d942;opacity:.35;animation:card-halo 3.6s ease-in-out infinite}
.social-icon{position:relative;isolation:isolate;animation:social-float 3.8s ease-in-out infinite}
.social-icon::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;box-shadow:0 0 12px 3px var(--social-glow),0 0 23px 5px var(--social-glow);opacity:.25;animation:icon-halo 3.8s ease-in-out infinite}
.instagram{--social-glow:#f153a080}.tiktok{--social-glow:#55e8ee70;animation-delay:-1.9s}.tiktok::before{animation-delay:-1.9s}
@keyframes card-halo{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes icon-halo{0%,100%{opacity:.25}50%{opacity:.85}}
@keyframes social-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.045)}}
@media(prefers-reduced-motion:reduce){.fanvue-card::before,.social-icon,.social-icon::before{animation:none}.fanvue-card::before{opacity:.55}.social-icon::before{opacity:.45}}

.telegram{background:#248fc5;--social-glow:#52bfff80;animation-delay:-2.6s}.telegram::before{animation-delay:-2.6s}
