/* Profile design based on the two-column editorial layout of VirtualHumans.org.
   Original site structure/style is visual inspiration; copy and member data belong to this demo.
   All contact CTAs are internal. */
.vh-profile-page{
 --vh-coral:#6D5EF8;--vh-border:#e6e6e6;--vh-copy:#1d1d1d;
 background:#fafafa;max-width:none;padding:24px 18px 80px;color:var(--vh-copy);
 font-family:"Montserrat",Arial,sans-serif;min-height:75vh
}
.vh-profile-breadcrumb{max-width:1180px;margin:0 auto 15px;display:flex;gap:9px;font:500 10px "Montserrat",sans-serif;color:#939393}
.vh-profile-breadcrumb strong{color:#464646}
.vh-profile-breadcrumb a:hover{color:var(--vh-coral)}
.vh-profile-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:20px;max-width:1180px;margin:auto;align-items:start}
.vh-profile-box{border:1px solid var(--vh-border);border-radius:4px;background:#fff;min-width:0;overflow:hidden}
.vh-profile-sidebar{display:flex;flex-direction:column;gap:19px}
.vh-image-box{padding:10px}
.vh-portrait{width:100%;aspect-ratio:0.80;max-height:500px;overflow:hidden;background:linear-gradient(140deg,#C6B9FC,#8780B6);display:flex;align-items:center;justify-content:center}
.vh-portrait img{height:100%;width:100%;object-fit:cover;object-position:center}
.vh-avatar-fallback{color:#fff;font-size:86px;font-weight:800}
.vh-name-box{text-align:center;padding:29px 12px 26px}
.vh-name-box h1{margin:0 0 3px;font:700 25px/1.3 "Roboto Mono",Consolas,monospace;letter-spacing:-.05em;overflow-wrap:anywhere}
.vh-name-box p{font:400 15px/1.4 "Roboto Mono",Consolas,monospace;color:#5f5050;margin:0;overflow-wrap:anywhere}
.vh-contact-box{padding:20px}
.vh-small-heading{display:block;font:700 11px "Roboto Mono",monospace;letter-spacing:.055em;margin:0 0 11px}
.vh-contact-box>p{font-size:12px;line-height:1.75;color:#716a6a;margin:0 0 17px}
.vh-contact-cta{border-radius:4px;background:#6D5EF8;color:#fff;display:flex;text-align:center;align-items:center;justify-content:center;gap:10px;min-height:55px;padding:14px 16px;font:800 14px/1.3 "Montserrat",sans-serif;transition:background .18s,transform .18s}
.vh-contact-cta:hover{color:#fff;background:#5948DC;transform:translateY(-1px)}
.vh-contact-box small{display:block;color:#a19999;font-size:10px;line-height:1.6;margin:15px 0 1px;text-align:center}
.vh-brief-box{text-align:center;padding:27px 25px 30px}
.vh-burst{display:block;color:#6D5EF8;font-size:70px;line-height:1.2}
.vh-brief-box h2{font:700 20px/1.3 "Roboto Mono",monospace;margin:13px 0}
.vh-brief-box p{font:400 16px/1.75 "Montserrat",Arial,sans-serif;color:#383333;margin:0}
.vh-links-box{padding:24px 20px}
.vh-links-box h2,.vh-side-apply h2{font:700 18px/1.4 "Roboto Mono",monospace;margin:0 0 18px}
.vh-fact-mini{display:flex;justify-content:space-between;align-items:flex-start;border-top:1px solid #eee;padding:15px 0;gap:12px}
.vh-fact-mini span{font:600 11px "Montserrat",sans-serif;color:#777}
.vh-fact-mini b{max-width:58%;font:600 12px/1.5 "Montserrat",sans-serif;color:#242424;text-align:right;overflow-wrap:anywhere}
.vh-side-apply{padding:25px 22px}
.vh-side-apply p{font-size:12px;color:#777;line-height:1.75}
.vh-secondary-cta{display:block;background:#6D5EF8;color:white;padding:16px;border-radius:4px;text-align:center;font:700 12px "Montserrat",sans-serif}
.vh-secondary-cta:hover{color:white;background:#5948DC}
.vh-profile-main{display:flex;flex-direction:column;gap:19px;min-width:0}
.vh-about,.vh-videos,.vh-featured,.vh-final-request{padding:31px 25px}
.vh-section-marker{font:800 10px "Montserrat",sans-serif;color:#6D5EF8;letter-spacing:.13em;margin-bottom:17px}
.vh-profile-main h2{font:700 28px/1.35 "Roboto Mono",Consolas,monospace;margin:0 0 24px;letter-spacing:-.06em}
.vh-article-fact{margin:0 0 28px}
.vh-article-fact h3{font:700 20px/1.4 "Roboto Mono",Consolas,monospace;letter-spacing:-.035em;margin:0 0 7px}
.vh-article-fact p{font:400 17px/1.9 "Roboto Mono",Consolas,monospace;color:#242024;margin:0;overflow-wrap:anywhere;white-space:pre-line}
.vh-about-status{border-left:3px solid #6D5EF8;background:#F7F6FF;padding:16px 17px;margin:10px 0 0}
.vh-about-status strong{font:700 14px "Roboto Mono",monospace}
.vh-about-status p{font:400 13px/1.75 "Montserrat",sans-serif;color:#756f6f;margin:7px 0 0}
.vh-section-intro{font:400 13px/1.75 "Montserrat",sans-serif;color:#797575;margin:-7px 0 22px}
.vh-video-player{width:100%;min-height:400px;display:flex;justify-content:center;align-items:flex-start;background:#fdfcfc;border:1px solid #eee;padding:12px;border-radius:3px;overflow:hidden}
.vh-video-player iframe{width:100%;height:740px;max-width:690px;border:0;display:block;background:white}
.vh-video-loading{color:#777;font-size:13px;margin:85px 0}
.vh-video-fallback{background:#F7F6FF;padding:25px;text-align:center;border:1px dashed #ecbbb1;border-radius:4px}
.vh-video-fallback>span{font-size:36px;color:#6D5EF8}
.vh-video-fallback h3{font-size:18px;margin:12px 0}
.vh-video-fallback p{color:#777;font-size:12px;line-height:1.8}
.vh-video-fallback a{margin:18px auto 0;max-width:280px}
.vh-video-notice{font:400 11px/1.7 "Montserrat",sans-serif;color:#aaa;margin:14px 0 0}
.vh-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.vh-related-card{display:block;border:1px solid #e6e6e6;border-radius:3px;overflow:hidden;background:#fafafa;color:inherit}
.vh-related-card:hover{border-color:#6D5EF8}
.vh-related-img{aspect-ratio:1.2;overflow:hidden;background:linear-gradient(150deg,#D6CBFF,#9A8FC7)}
.vh-related-img img{display:block;width:100%;height:100%;object-fit:cover}
.vh-related-initial{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;font-size:40px;font-weight:900}
.vh-related-caption{padding:13px}
.vh-related-caption strong{display:block;font-size:12px;line-height:1.4}
.vh-related-caption span{display:block;font-size:10px;color:#6D5EF8;margin-top:5px;font-weight:700}
.vh-related-all{display:inline-block;margin-top:19px;color:#6D5EF8;font-size:11px;font-weight:900}
.vh-final-request{text-align:left;background:#F7F6FF}
.vh-final-request h2{margin-bottom:10px}
.vh-final-request p{color:#777;font-size:13px;line-height:1.8;margin:0 0 18px}
.vh-final-request .vh-contact-cta{max-width:350px}
.vh-profile-loading,.vh-profile-error{text-align:center;min-height:50vh;padding:120px 20px}
.vh-profile-loading span{font-size:65px;color:#6D5EF8}
.vh-profile-loading p,.vh-profile-error p{font-size:13px;color:#777;line-height:1.7}
.vh-profile-error h1{font-size:34px}
.vh-profile-error .btn-primary{margin-top:12px}
@media(max-width:1040px){
.vh-profile-grid{grid-template-columns:33% minmax(0,1fr);gap:14px}
.vh-profile-main{gap:14px}
.vh-profile-sidebar{gap:14px}
.vh-about,.vh-videos,.vh-featured,.vh-final-request{padding:25px 20px}
.vh-profile-main h2{font-size:24px}
.vh-article-fact h3{font-size:18px}
.vh-article-fact p{font-size:15px}
}
@media(max-width:700px){
.vh-profile-page{padding:12px 13px 50px}
.vh-profile-grid{grid-template-columns:1fr}
.vh-profile-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.vh-image-box{grid-row:span 2}
.vh-portrait{max-height:360px}
.vh-name-box{padding:18px 9px}
.vh-name-box h1{font-size:20px}
.vh-name-box p{font-size:11px}
.vh-contact-box{padding:13px}
.vh-contact-box p{font-size:10px}
.vh-contact-cta{font-size:11px;min-height:45px;padding:10px}
.vh-contact-box small{font-size:9px}
.vh-brief-box,.vh-links-box,.vh-side-apply{grid-column:1/-1}
.vh-brief-box{padding:17px 22px}
.vh-burst{font-size:45px}
.vh-brief-box h2{font-size:18px;margin:5px}
.vh-brief-box p{font-size:12px}
.vh-profile-main h2{font-size:22px}
.vh-article-fact{margin-bottom:20px}
.vh-article-fact h3{font-size:17px}
.vh-article-fact p{font-size:14px}
.vh-video-player{padding:2px;min-height:310px}
.vh-video-player iframe{height:680px}
.vh-related-grid{gap:8px}
.vh-related-caption{padding:8px}
.vh-related-caption strong{font-size:10px}
.vh-related-caption span{font-size:9px}
}
@media(max-width:420px){
.vh-portrait{max-height:300px}
.vh-name-box h1{font-size:17px}
.vh-name-box p{font-size:10px}
.vh-contact-box>p{font-size:9px;margin-bottom:10px}
.vh-contact-box small{font-size:8px}
.vh-contact-cta{font-size:10px}
}

@media(max-width:700px){
.vh-profile-sidebar{display:flex;flex-direction:column;gap:13px}
.vh-image-box{padding:9px}
.vh-portrait{aspect-ratio:0.9;height:auto;max-height:420px}
.vh-name-box{padding:21px 13px}
.vh-name-box h1{font-size:24px}
.vh-name-box p{font-size:13px}
.vh-contact-box{padding:20px}
.vh-contact-box>p{font-size:12px}
.vh-contact-box small{font-size:10px}
.vh-contact-cta{font-size:13px;min-height:54px}
}
@media(max-width:420px){
.vh-portrait{max-height:400px}
.vh-name-box h1{font-size:22px}
.vh-contact-cta{font-size:12px}
}

/* Verified highest-viewed clips: locally cached public thumbnails, TikTok-hosted playback */
.vh-top-videos{padding:30px 25px}
.vh-top-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.vh-top-heading h2{margin:0 0 6px}
.vh-top-subtitle{font-size:12px;line-height:1.6;color:#817a7e;margin:0}
.vh-top-chip{font-size:9px;font-weight:900;letter-spacing:.075em;color:#6554E9;border:1px solid #CBB8FF;background:#F6F3FF;border-radius:3px;padding:10px 12px;white-space:nowrap}
.vh-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:165px;gap:11px}
.vh-video-tile{display:block;position:relative;overflow:hidden;border:0;border-radius:5px;padding:0;cursor:pointer;background:linear-gradient(120deg,#df9c97,#a47f89);color:white;text-align:left;min-width:0}
.vh-video-tile:first-child{grid-column:span 2;grid-row:span 2}
.vh-video-tile img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .25s ease}
.vh-video-tile:hover img{transform:scale(1.045)}
.vh-video-tile:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.77),transparent);pointer-events:none}
.vh-video-tile:hover{outline:2px solid #6D5EF8;outline-offset:-2px}
.vh-video-views{position:absolute;top:12px;right:12px;z-index:2;background:#fff;color:#212027;border-radius:3px;padding:7px 9px;font-size:10px;line-height:1.2;font-weight:900}
.vh-video-tile:first-child .vh-video-views{background:#6D5EF8;color:white;font-size:12px;padding:10px 12px}
.vh-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border:2px solid #fff;border-radius:100%;background:#1117;display:flex;align-items:center;justify-content:center;z-index:2;font-size:15px;padding-left:2px}
.vh-video-tile:first-child .vh-video-play{width:57px;height:57px;font-size:20px}
.vh-video-caption{position:absolute;z-index:2;bottom:12px;left:13px;right:10px;font-size:10px;line-height:1.4;font-weight:900;text-shadow:0 2px 6px #0009}
.vh-video-tile:first-child .vh-video-caption{font-size:13px;bottom:18px;left:18px}
.vh-top-source{font-size:10px;color:#8c8589;line-height:1.7;margin:15px 0 0}
.vh-top-grid[data-count="1"]{grid-template-columns:1fr;grid-auto-rows:280px}
.vh-top-grid[data-count="1"] .vh-video-tile:first-child{grid-column:auto;grid-row:auto}
.vh-top-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:260px}
.vh-top-grid[data-count="2"] .vh-video-tile:first-child{grid-column:auto;grid-row:auto}
.vh-video-dialog{background:#18161a;color:#fff;border:1px solid #50434a;border-radius:7px;padding:14px;box-shadow:0 30px 80px #0006;width:min(430px,96vw);max-width:96vw;max-height:95vh;overflow:auto}
.vh-video-dialog::backdrop{background:rgba(0,0,0,.82)}
.vh-video-dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 12px}
.vh-video-dialog-header strong{font-size:12px;line-height:1.4}
.vh-video-dialog-header button{border:1px solid #787179;background:#fff;color:#16151b;width:34px;height:34px;border-radius:5px;cursor:pointer;font-size:26px;line-height:25px;flex-shrink:0}
.vh-video-dialog iframe{display:block;border:0;width:100%;height:min(68vh,650px);min-height:375px;background:#fff;border-radius:3px}
.vh-video-dialog p{font-size:10px;color:#d6cbd1;line-height:1.65;margin:12px 2px 0}
@media(max-width:1040px){.vh-top-videos{padding:25px 19px}.vh-top-grid{grid-auto-rows:145px}}
@media(max-width:700px){.vh-top-videos{padding:22px 14px}.vh-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px;gap:9px}.vh-video-tile:first-child{grid-column:span 2;grid-row:span 2}.vh-video-tile:first-child .vh-video-views{font-size:12px}.vh-video-views{top:8px;right:8px}.vh-video-caption{font-size:9px}.vh-top-chip{font-size:8px;padding:8px}.vh-video-dialog{padding:10px}.vh-video-dialog iframe{height:min(73vh,680px)}}

.vh-top-heading h2{font:700 28px/1.35 "Roboto Mono",Consolas,monospace;letter-spacing:-.06em}
@media(max-width:700px){.vh-top-heading h2{font-size:22px}}

/* Barbie-inspired stacked action rail, adapted to Lumonora and first-party lead routing.
   Display the platforms actually recorded for each creator. */
.vh-actions-box{padding:18px 19px 20px}
.vh-action-heading{margin:0 0 15px;text-align:center}
.vh-action-heading .vh-small-heading{margin:4px 0 8px;color:#211C37}
.vh-action-heading p{font-size:11px;color:#77718B;line-height:1.7;margin:0}
.vh-action-stack{display:flex;flex-direction:column;gap:10px}
.vh-action-button{
  width:100%;min-height:54px;
  display:grid;grid-template-columns:30px minmax(0,1fr) 24px;
  align-items:center;gap:10px;padding:13px 17px;
  font:800 14px/1.25 "Montserrat",Arial,sans-serif;
  text-decoration:none;text-align:left;color:#fff!important;
  cursor:pointer;border:0;border-radius:5px;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.vh-action-button:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 7px 18px #12102B25}
.vh-action-button:focus-visible{outline:3px solid #bcb2ff;outline-offset:2px}
.vh-action-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff75;border-radius:5px;font-size:16px;color:white}
.vh-action-label{min-width:0;overflow-wrap:anywhere}
.vh-action-arrow{text-align:right;font-size:17px}
.vh-action-contact{background:#6D5EF8}
.vh-action-tiktok{background:#171721}
.vh-action-instagram{background:linear-gradient(110deg,#ee743d 0%,#d63383 60%,#7954d4 100%)}
.vh-action-mediakit{background:#3B73D9}
.vh-action-rates{background:#198B72}
.vh-action-share{background:#373451}
.vh-platform-panel{background:#F7F6FF;border:1px solid #DFD9FF;border-radius:6px;padding:16px 13px 14px;margin-top:14px}
.vh-platform-panel[hidden]{display:none}
.vh-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vh-panel-header strong{font:800 12px/1.4 "Montserrat",sans-serif;color:#25203D}
.vh-panel-header button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;border:1px solid #D9D2F9;background:white;color:#5548A6;font-size:20px;cursor:pointer;flex:0 0 auto}
.vh-platform-panel p{font-size:11px;line-height:1.7;color:#666277;margin:13px 0}
.vh-panel-request{display:block;background:#6D5EF8;color:white!important;border-radius:3px;padding:13px 9px;text-align:center;font-size:10px;font-weight:800;line-height:1.4}
.vh-action-notice{font-size:11px;color:#4E409D;line-height:1.6;margin:10px 0 0}
.vh-action-notice:empty{display:none}
.vh-side-apply{padding:20px}
.vh-side-apply h2{font-size:15px;margin-bottom:9px}
.vh-side-apply p{margin:0 0 13px}
.vh-side-apply .vh-secondary-cta{font-size:12px;padding:15px 8px}
@media(max-width:700px){
  .vh-actions-box{padding:18px}
  .vh-action-button{min-height:55px;font-size:14px}
}


/* Minimal creator performance sidebar, replacing stacked platform/contact buttons. */
.vh-stats-box{padding:23px 20px 21px}
.vh-stats-header h2{font:700 22px/1.25 "Roboto Mono",monospace;letter-spacing:-.05em;margin:10px 0 8px;color:#18142A}
.vh-stats-header h2 span{color:#6D5EF8}
.vh-stats-header p{font-size:11px;line-height:1.7;color:#8C8497;margin:0 0 19px}
.vh-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.vh-stat{border:1px solid #E8E3F5;border-radius:6px;background:#F8F7FE;padding:15px 12px;min-width:0}
.vh-stat-label{display:block;font-size:10px;line-height:1.4;color:#69647B;font-weight:750}
.vh-stat-number{display:block;font-size:clamp(24px,3vw,33px);line-height:1.15;letter-spacing:-.05em;color:#24203D;margin:10px 0 4px;font-weight:900}
.vh-stat-detail{display:block;font-size:9px;line-height:1.45;color:#958EA0}
.vh-stats-source{font-size:10px;line-height:1.7;color:#938D9C;margin:16px 0 0}
.vh-stats-loading{font-size:11px;color:#8C8497}
.vh-video-dialog video{width:100%;height:min(72vh,640px);display:block;background:#000;border-radius:4px}
.vh-video-dialog video[hidden],.vh-video-dialog iframe[hidden]{display:none}
@media(max-width:700px){.vh-stats-box{padding:20px}.vh-stat-number{font-size:29px}}

/* First-party hosted campaign preview (not assigned TikTok view metrics). */
.vh-video-owned{border:2px solid #7B6BFF}
.vh-video-owned .vh-video-views{background:#6D5EF8;color:#fff;font-size:8px}
.vh-video-owned .vh-video-caption{font-size:10px}

/* Combined creator statistics: total observed views above follower/like totals. */
.vh-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vh-stats-grid .vh-stat-primary{grid-column:1/-1;background:linear-gradient(120deg,#F1EEFF,#FAF9FF);border-color:#D9D3FF;padding:19px 17px}
.vh-stats-grid .vh-stat-primary .vh-stat-number{font-size:clamp(36px,4vw,45px);color:#5948DC;margin-top:13px}
.vh-stats-grid .vh-stat-primary .vh-stat-detail{font-size:10px}
.vh-stats-grid .vh-stat:not(.vh-stat-primary) .vh-stat-number{font-size:clamp(23px,2.7vw,31px)}
.vh-stat-label{font-size:9px;letter-spacing:.035em}
@media(max-width:700px){.vh-stats-grid .vh-stat-primary .vh-stat-number{font-size:43px}}
