/* ============================================================
   Try Hive demo · Hive design system (locked v1)
   Tokens verbatim from the canonical style guide.
   ============================================================ */
:root{
  --page:#F9F7F4; --bg:#FFFFFF; --panel:#FAF8F5; --panel-2:#F1EDE8;
  --ink:#101010; --ink-2:#54545C; --ink-3:#8A8A94;
  --line:#ECE8E2; --line-2:#E2DDD5;
  --accent:#CE0F69; --accent-2:#E84B92; --accent-tint:#FCE9F2;
  --data:#3C3C45; --verified:#1D9BF0;
  --green:#15924A; --green-tint:#E7F4EC; --amber:#E08A00; --amber-tint:#FBF1DE; --red:#DC2626; --red-tint:#FCE9E9;
  --ribbon-h:34px; --bar-h:62px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:'Satoshi',-apple-system,system-ui,sans-serif;background:var(--page);color:var(--ink);font-size:14px;line-height:1.5;letter-spacing:-.012em}
body.noscroll{overflow:hidden}
.mono{font-feature-settings:"tnum";letter-spacing:-.005em}
img{display:block;max-width:100%}
img.lz{opacity:0;transition:opacity .5s ease}
img.lz.loaded{opacity:1}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}

/* ---------- demo ribbon ---------- */
.ribbon{position:sticky;top:0;z-index:70;height:var(--ribbon-h);background:var(--ink);color:rgba(255,255,255,.82);display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:500;letter-spacing:-.005em;padding:0 14px;text-align:center}
.ribbon .rdot{width:7px;height:7px;border-radius:50%;background:var(--accent-2);flex:none;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.ribbon b{color:#fff;font-weight:650}
.ribbon a{color:#fff;font-weight:650;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4)}
.ribbon a:hover{text-decoration-color:#fff}

/* ---------- top bar ---------- */
.bar{position:sticky;top:var(--ribbon-h);z-index:60;height:var(--bar-h);border-bottom:1px solid var(--line);background:rgba(249,247,244,.85);backdrop-filter:blur(10px)}
.bar-in{max-width:1160px;margin:0 auto;padding:0 28px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:14px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16.5px;letter-spacing:-.03em}
.logo img{width:26px;height:29px}
.demo-chip{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-tint);border:1px solid #F3C2DA;border-radius:6px;padding:3px 7px;margin-left:2px}
.bar-nav{display:flex;gap:22px;font-size:13.5px;font-weight:600;color:var(--ink-3);margin-left:26px;margin-right:auto}
.bar-nav a{padding:6px 2px;position:relative;transition:color .14s}
.bar-nav a:hover{color:var(--ink-2)}
.bar-nav a.active{color:var(--ink)}
.bar-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:2px;background:var(--accent);border-radius:2px}
.bar-r{display:flex;align-items:center;gap:14px}
.guest{font-size:12px;color:var(--ink-3);font-weight:600;white-space:nowrap}

/* ---------- buttons ---------- */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:background .14s,transform .14s,box-shadow .14s;white-space:nowrap}
.btn-primary svg{width:15px;height:15px;flex:none}
.btn-primary:hover{background:#B50C5C;box-shadow:0 10px 22px -12px rgba(206,15,105,.55)}
.btn-primary:active{transform:translateY(1px)}
.btn-sm{height:38px;padding:0 15px;font-size:12.5px;border-radius:9px}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;padding:0 18px;border:1px solid var(--line-2);border-radius:10px;background:var(--bg);color:var(--ink);font-size:13px;font-weight:650;cursor:pointer;transition:background .14s,border-color .14s}
.btn-secondary:hover{background:var(--panel)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 16px;border:none;border-radius:10px;background:none;color:var(--ink-2);font-size:13px;font-weight:650;cursor:pointer}
.btn-ghost:hover{background:var(--panel-2);color:var(--ink)}

/* ---------- view transitions ---------- */
#app{min-height:calc(100vh - 240px)}
.view{animation:viewin .26s ease both}
@keyframes viewin{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* ---------- loading ---------- */
.load{min-height:48vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--ink-3);font-weight:600;font-size:13px}
.spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line-2);border-top-color:var(--accent);animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- home / entry ---------- */
.hero{padding:74px 0 30px;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ink-2);background:var(--bg);border:1px solid var(--line-2);border-radius:999px;padding:7px 14px}
.hero-badge .hb-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.hero h1{font-size:62px;font-weight:900;letter-spacing:-.04em;line-height:1.02;margin-top:26px}
.hero h1 .hl{color:var(--accent)}
.hero-sub{max-width:56ch;margin:18px auto 0;font-size:16.5px;font-weight:500;color:var(--ink-2);line-height:1.6}
.hero-cta{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:30px;flex-wrap:wrap}
.hero-note{font-size:12.5px;color:var(--ink-3);font-weight:550}
.trust{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:34px}
.trust span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--bg);border:1px solid var(--line-2);border-radius:8px;padding:8px 13px}
.trust svg{width:14px;height:14px;color:var(--accent);flex:none}

.preview{padding:34px 0 84px}
.preview-card{background:var(--bg);border:1px solid var(--line-2);border-radius:14px;padding:22px;box-shadow:0 2px 12px rgba(16,16,16,.04)}
.pv-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.pv-head .t{font-size:15px;font-weight:650;letter-spacing:-.02em}
.pv-head .m{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:2px}
.pv-head a{font-size:12.5px;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:5px}
.pv-head a svg{width:13px;height:13px}
.pv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mini{border:1px solid var(--line);border-radius:11px;overflow:hidden;cursor:pointer;background:var(--bg);transition:transform .15s,box-shadow .15s}
.mini:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(20,16,16,.28)}
.mini .mph{aspect-ratio:4/3.2;overflow:hidden;background:var(--panel-2);position:relative}
.mini .mph img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.mini .mb{padding:10px 12px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.mini .mn{font-size:12.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini .mm{font-size:10.5px;color:var(--ink-3);font-weight:600;margin-top:1px}
.mini .mpr{font-size:11px;font-weight:750;background:var(--panel);border:1px solid var(--line-2);border-radius:7px;padding:4px 8px;flex:none;white-space:nowrap;color:var(--ink-2)}

/* ---------- discover ---------- */
.disc{padding:26px 0 70px}
.lead-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:14px}
.lead-row .h{font-size:25px;font-weight:900;letter-spacing:-.035em}
.lead-row .s{font-size:13px;color:var(--ink-2);margin-top:4px}
.lead-row .s b{color:var(--ink);font-weight:700}

.filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.search{flex:1;min-width:250px;display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line-2);border-radius:10px;padding:0 14px;height:44px;transition:border-color .14s,box-shadow .14s}
.search:focus-within{border-color:var(--ink-3);box-shadow:0 0 0 3px rgba(16,16,16,.05)}
.search svg{width:17px;height:17px;color:var(--ink-3);flex:none}
.search input{border:none;outline:none;font-family:inherit;font-size:14px;background:none;flex:1;color:var(--ink);letter-spacing:-.012em}
.search input::placeholder{color:var(--ink-3)}

.fwrap{position:relative}
.fdrop{height:44px;padding:0 13px;border:1px solid var(--line-2);background:var(--bg);border-radius:10px;font-size:13px;font-weight:650;color:var(--ink-2);display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;transition:background .14s,border-color .14s,color .14s}
.fdrop svg{width:13px;height:13px;color:var(--ink-3);transition:transform .16s}
.fdrop:hover{background:var(--panel)}
.fdrop.act{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}
.fdrop.act svg{color:var(--accent)}
.fwrap.open .fdrop svg{transform:rotate(180deg)}
.fmenu{position:absolute;top:calc(100% + 7px);left:0;min-width:196px;max-height:min(348px,62vh);overflow-y:auto;background:var(--bg);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 22px 48px -20px rgba(20,16,16,.30);padding:6px;z-index:55;display:none}
.fwrap.open .fmenu{display:block;animation:menuin .15s ease both}
@keyframes menuin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.fopt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;border:none;background:none;border-radius:8px;padding:9px 11px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}
.fopt:hover{background:var(--panel)}
.fopt.on{color:var(--ink);background:var(--panel-2)}
.fopt.on::after{content:"";width:14px;height:14px;flex:none;background:var(--accent);border-radius:50%;background:var(--accent) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>') center/9px no-repeat}
.clear{height:44px;padding:0 10px;border:none;background:none;color:var(--accent);font-size:13px;font-weight:700;cursor:pointer;border-radius:8px}
.clear:hover{background:var(--accent-tint)}

.resbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}
.resbar .c{font-size:13px;color:var(--ink-3);font-weight:600}
.resbar .c b{color:var(--ink)}
.sortwrap .fdrop{height:34px;border:none;background:none;padding:0 4px;font-size:13px;color:var(--ink-2)}
.sortwrap .fdrop b{color:var(--ink);font-weight:700}
.sortwrap .fdrop:hover{background:var(--panel-2)}
.sortwrap .fmenu{left:auto;right:0}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--bg);border:1px solid var(--line-2);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;animation:cardin .3s ease both}
@keyframes cardin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 44px -26px rgba(20,16,16,.28)}
.card .ph{position:relative;aspect-ratio:4/4.6;overflow:hidden;background:var(--panel-2)}
.card .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.nicheb{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.93);backdrop-filter:blur(6px);border:1px solid rgba(16,16,16,.05);border-radius:8px;padding:5px 10px;font-size:11px;font-weight:750;letter-spacing:-.005em}
.card .b{padding:13px 15px 14px;display:flex;flex-direction:column;flex:1}
.card .nm{font-size:14.5px;font-weight:700;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .tl{font-size:12px;color:var(--ink-3);margin-top:3px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lockrow{display:flex;align-items:center;gap:6px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line);color:var(--ink-3);font-size:10.5px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden}
.lockrow svg{width:12px;height:12px;flex:none}
.lockrow span{overflow:hidden;text-overflow:ellipsis}
.lockrow .lr-s{display:none}
.card .ft{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;gap:8px}
.card .pr{font-size:15px;font-weight:800;letter-spacing:-.01em}
.card .pr span{font-size:11px;color:var(--ink-3);font-weight:600}
.card .pr b{font-weight:800}
.card .plat{font-size:11px;color:var(--ink-2);font-weight:600;display:flex;align-items:center;gap:5px;margin-top:3px}
.card .plat svg{width:12px;height:12px}
.view-pill{border:none;background:var(--accent-tint);color:var(--accent);font-size:12.5px;font-weight:700;padding:8px 13px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background .14s,color .14s}
.view-pill svg{width:13px;height:13px}
.card:hover .view-pill{background:var(--accent);color:#fff}

.empty{border:1px dashed var(--line-2);border-radius:14px;background:var(--bg);padding:54px 24px;text-align:center}
.empty .t{font-size:16px;font-weight:800;letter-spacing:-.02em}
.empty p{color:var(--ink-3);font-size:13px;margin:7px 0 18px}

/* ---------- profile ---------- */
.prof{padding:20px 0 70px}
.crumb{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:12.5px;font-weight:550;margin-bottom:18px;flex-wrap:wrap}
.crumb a{color:var(--ink-2);font-weight:650;display:inline-flex;align-items:center;gap:6px;transition:color .14s}
.crumb a:hover{color:var(--accent)}
.crumb a svg{width:13px;height:13px}
.crumb .sep{color:var(--line-2)}
.crumb .here{color:var(--ink-2)}

.phero{display:grid;grid-template-columns:1.62fr 1fr;gap:26px;align-items:start}
.cover-single{border-radius:14px;overflow:hidden;position:relative;background:var(--panel-2);border:1px solid var(--line-2);height:min(422px,calc(100vw - 56px))}
.cover-single .cvbg{position:absolute;inset:-48px;width:calc(100% + 96px);height:calc(100% + 96px);object-fit:cover;filter:blur(42px) saturate(1.12);opacity:.55}
.cover-single .cv{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);height:100%;width:auto;aspect-ratio:1/1;object-fit:cover}
.cover-single .nicheb{z-index:1}

.pmain{margin-top:24px;max-width:640px}
.niche-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.tag{font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--panel);border:1px solid var(--line-2);padding:5px 10px;border-radius:6px}
.pname{font-size:38px;font-weight:900;letter-spacing:-.04em;line-height:1.05}
.handle-row{display:flex;align-items:center;gap:11px;margin-top:10px;color:var(--ink-2);font-size:13.5px;font-weight:550;flex-wrap:wrap}
.handle-row b{color:var(--ink);font-weight:700}
.dotsep{width:3px;height:3px;border-radius:50%;background:var(--ink-3);flex:none}
.bio{margin-top:15px;color:var(--ink-2);font-size:14px;line-height:1.62;max-width:52ch}
.stats{display:flex;margin-top:22px;border:1px solid var(--line-2);border-radius:14px;background:var(--bg);overflow:hidden}
.stat{flex:1;padding:15px 18px;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:700}
.stat .v{font-size:21px;font-weight:800;letter-spacing:-.025em;margin-top:3px}
.stat .v .unit{font-size:12px;color:var(--ink-3);font-weight:650}

.buy{position:sticky;top:calc(var(--ribbon-h) + var(--bar-h) + 14px);background:var(--bg);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 2px 12px rgba(16,16,16,.05);overflow:hidden}
.buy .bh{padding:19px 21px 15px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.buy .from{font-size:10.5px;color:var(--ink-3);font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.buy .price{font-size:30px;font-weight:800;letter-spacing:-.03em;margin-top:2px}
.buy .price span{font-size:13px;color:var(--ink-3);font-weight:600}
.buy .bsc{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;background:var(--panel);border:1px solid var(--line-2);border-radius:8px;padding:6px 10px}
.buy .bsc svg{width:14px;height:14px;flex:none}
#pkgList{max-height:346px;overflow-y:auto;overscroll-behavior:contain}
.pkg{display:flex;align-items:center;gap:12px;padding:13px 21px;border-top:1px solid var(--line);cursor:pointer;transition:background .13s;position:relative}
.pkg:hover{background:var(--panel)}
.pkg.sel{background:var(--accent-tint)}
.pkg.sel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
.pkg .ic{width:34px;height:34px;border-radius:9px;background:var(--panel);border:1px solid var(--line-2);display:grid;place-items:center;flex:none;font-size:14px}
.pkg.sel .ic{background:#fff;border-color:#F3C2DA;color:var(--accent)}
.pkg .pn{flex:1;min-width:0}
.pkg .pn b{font-weight:700;font-size:13.5px;display:block;letter-spacing:-.01em}
.pkg .pn b .q{color:var(--ink-3);font-weight:750;font-size:11.5px}
.pkg .pn s{display:block;text-decoration:none;color:var(--ink-3);font-size:11.5px;margin-top:1px;font-weight:550}
.pkg .pp{font-weight:800;font-size:14px;white-space:nowrap}
.buy .bf{padding:16px 21px 20px;border-top:1px solid var(--line)}
.buy .cta{width:100%}
.buy .msg{width:100%;margin-top:8px}
.assure{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--ink-3);font-size:11.5px;margin-top:12px;font-weight:550}
.assure svg{width:13px;height:13px;flex:none}

.section{padding:48px 0 0}
.eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.h2{font-size:27px;font-weight:900;letter-spacing:-.035em;margin-top:6px}
.sub{color:var(--ink-2);margin-top:7px;max-width:62ch;font-size:13.5px}
/* locked audience report; ghost charts are decorative shapes only, no figures */
.audlock{position:relative;margin-top:22px;border:1px solid var(--line-2);border-radius:16px;background:var(--bg);overflow:hidden;display:grid;place-items:center;padding:52px 26px;min-height:392px}
.al-ghost{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:22px;filter:blur(7px) saturate(.55);opacity:.6;pointer-events:none}
.g-card{background:var(--panel);border:1px solid var(--line-2);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:16px;min-width:0}
.g-ring{width:112px;height:112px;border-radius:50%;margin:6px auto 2px;background:conic-gradient(#CFCAC2 0 62%,#E9E5DF 62% 100%);position:relative}
.g-ring::after{content:"";position:absolute;inset:24px;background:var(--panel);border-radius:50%}
.g-lines{display:flex;flex-direction:column;gap:9px}
.g-lines i{height:9px;border-radius:999px;background:#DEDAD3}
.g-bars{display:flex;align-items:flex-end;gap:12px;height:118px;padding:0 4px}
.g-bars i{flex:1;background:#CFCAC2;border-radius:7px 7px 3px 3px}
.g-rows{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.g-rows i{height:9px;border-radius:999px;background:#CFCAC2}
.al-inner{position:relative;z-index:1;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 30px 70px -34px rgba(16,16,16,.38);padding:34px 38px 30px;max-width:520px;text-align:center;display:flex;flex-direction:column;align-items:center}
.al-lock{width:46px;height:46px;border-radius:14px;background:var(--accent-tint);color:var(--accent);display:grid;place-items:center;margin-bottom:15px}
.al-lock svg{width:20px;height:20px}
.al-t{font-size:20px;font-weight:850;letter-spacing:-.03em}
.al-inner p{font-size:13px;color:var(--ink-2);line-height:1.6;font-weight:500;margin:9px 0 0;max-width:46ch}
.al-inner .btn-primary{margin-top:19px}
.al-note{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:11px}

.pf{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.pf .item{border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:var(--panel-2);border:1px solid var(--line);position:relative}
.pf img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.pf .item:hover img{transform:scale(1.03)}
.pf .more .count{position:absolute;inset:0;background:rgba(16,16,16,.42);color:#fff;display:grid;place-items:center;font-weight:650;font-size:14.5px}
.pf .lockpanel{grid-column:span 2;aspect-ratio:auto;background:var(--panel);border:1px solid var(--line-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;gap:5px}
.pf .lockpanel svg{width:20px;height:20px;color:var(--ink-3);margin-bottom:6px}
.pf .lockpanel .lt{font-size:14.5px;font-weight:750;letter-spacing:-.02em}
.pf .lockpanel p{font-size:12.5px;color:var(--ink-3);max-width:34ch;font-weight:550;margin-bottom:12px}

/* ---------- modal ---------- */
.mroot{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.mroot[hidden]{display:none}
.mback{position:absolute;inset:0;background:rgba(16,16,16,.46);backdrop-filter:blur(3px);animation:fadein .18s ease both}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.mdlg{position:relative;width:100%;max-width:432px;background:var(--bg);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 34px 80px -24px rgba(16,16,16,.4);padding:22px;animation:dlgin .2s ease both;max-height:calc(100vh - 40px);overflow:auto}
@keyframes dlgin{from{opacity:0;transform:translateY(8px) scale(.975)}to{opacity:1;transform:none}}
.mx{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:8px;border:none;background:var(--panel);color:var(--ink-3);cursor:pointer;display:grid;place-items:center;transition:background .13s,color .13s}
.mx:hover{background:var(--panel-2);color:var(--ink)}
.mx svg{width:14px;height:14px}
.meyebrow{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.mcreator{display:flex;align-items:center;gap:11px;margin-top:13px}
.mcreator img{width:42px;height:42px;border-radius:11px;object-fit:cover;object-position:center 20%}
.mcreator .n{font-size:14.5px;font-weight:750;display:flex;align-items:center;gap:5px;letter-spacing:-.015em}
.mcreator .h{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:1px}
.mpkg{margin-top:13px;background:var(--panel);border:1px solid var(--line-2);border-radius:11px;padding:13px 15px}
.mpkg .r1{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mpkg .r1 b{font-size:13.5px;font-weight:750;letter-spacing:-.01em}
.mpkg .r1 .p{font-size:16px;font-weight:850;letter-spacing:-.02em}
.mpkg .d{font-size:11.5px;color:var(--ink-3);font-weight:550;margin-top:2px}
.mpkg .esc{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-2);font-weight:600;margin-top:9px;padding-top:9px;border-top:1px solid var(--line-2)}
.mpkg .esc svg{width:12px;height:12px;color:var(--green);flex:none}
.mdiv{height:1px;background:var(--line);margin:17px 0 15px}
.mnudge .t{font-size:17px;font-weight:850;letter-spacing:-.025em}
.mnudge p{font-size:12.5px;color:var(--ink-2);line-height:1.6;margin-top:6px;font-weight:500}
.macts{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.macts .btn-primary{width:100%}
.macts .btn-ghost{width:100%}
.mfoot{text-align:center;font-size:10.5px;color:var(--ink-3);font-weight:600;margin-top:11px}

/* ---------- footer ---------- */
.foot{color:var(--ink-3);font-size:11.5px;margin-top:44px;padding:20px 0 8px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:550}
.pagefoot{padding:26px 0 40px}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .pv-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .phero{grid-template-columns:1fr}
  .buy{position:static}
  .cover-single{height:min(360px,calc(100vw - 56px))}
  .hero h1{font-size:46px}
}
@media(max-width:760px){
  .wrap,.bar-in{padding:0 16px}
  .bar-nav{display:none}
  .guest{display:none}
  .grid{grid-template-columns:repeat(2,1fr);gap:13px}
  .lead-row{flex-direction:column;align-items:flex-start;gap:6px}
  .hero{padding:52px 0 16px}
  .hero h1{font-size:38px}
  .hero-sub{font-size:15px}
  .stats{flex-wrap:wrap}
  .stat{flex:1 1 50%;border-bottom:1px solid var(--line)}
  .stat:nth-child(3),.stat:nth-child(4){border-bottom:none}
  .stat:nth-child(2),.stat:nth-child(4){border-right:none}
  .cover-single{height:min(360px,calc(100vw - 32px))}
  .pname{font-size:30px}
  .pf{grid-template-columns:repeat(2,1fr)}
  .pf .lockpanel{grid-column:span 1}
  .ribbon{font-size:10.5px;gap:7px}
  .audlock{padding:40px 16px;min-height:340px}
  .al-ghost{grid-template-columns:repeat(2,1fr);gap:14px;padding:16px}
  .al-ghost .g-card:last-child{display:none}
  .al-inner{padding:26px 20px 24px}
  .al-t{font-size:18px}
}
@media(max-width:640px){
  .rb-more,.rb-pre{display:none}
}
@media(max-width:480px){
  .grid{grid-template-columns:1fr 1fr;gap:11px}
  .hero h1{font-size:33px}
  .pv-grid{grid-template-columns:1fr 1fr;gap:10px}
  .btn-sm{padding:0 11px}
  .card .b{padding:11px 12px 12px}
  .card .pr span{font-size:10px}
  .card .pr b{font-size:14px}
  .lockrow{font-size:9.5px;letter-spacing:.02em}
  .lockrow .lr-l{display:none}
  .lockrow .lr-s{display:block;overflow:hidden;text-overflow:ellipsis}
  .view-pill{padding:7px 10px}
}

/* ---------- Audience block ---------- */
:root{--data:#6C79F0;--data-2:#A6B0FF}
.aud-summary{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin:16px 0 20px;font-size:14px;font-weight:600;color:var(--ink)}
.aud-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.aud-card{background:var(--bg);border:1px solid var(--line-2);border-radius:16px;padding:20px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.aud-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px -24px rgba(20,16,16,.28);border-color:var(--line)}
.aud-card:hover .fill{filter:saturate(1.08) brightness(1.04)}
.aud-card:hover .donut{transform:scale(1.03);transition:transform .2s ease}
.aud-card.wide{grid-column:1/-1}
.aud-card .ct{font-size:13px;font-weight:800;letter-spacing:-.01em;margin-bottom:2px}
.aud-card .cm{font-size:12px;color:var(--ink-3);font-weight:550;margin-bottom:15px}
.bar-row{display:flex;align-items:center;gap:12px;margin:11px 0}
.bar-row .lbl{width:150px;font-size:13px;color:var(--ink-2);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.bar-row .lbl .flag{font-size:13px}
.bar-row .track{flex:1;height:9px;background:var(--panel-2);border-radius:99px;overflow:hidden}
.bar-row .fill{height:100%;background:linear-gradient(90deg,var(--data),var(--data-2));border-radius:99px}
.bar-row .val{width:52px;text-align:right;font-weight:800;font-size:13px}
.gender{display:flex;align-items:center;gap:22px}
.donut{width:118px;height:118px;border-radius:50%;position:relative;flex:none}
.donut .in{position:absolute;inset:16px;background:var(--bg);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut .in b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.donut .in span{font-size:11px;color:var(--ink-3);font-weight:650}
.leg{display:flex;flex-direction:column;gap:12px}
.leg .row{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.leg .sw{width:12px;height:12px;border-radius:4px}
.leg .row b{margin-left:auto;font-weight:800}
.aud-verif{margin-top:16px;font-size:12px;color:var(--ink-3);font-weight:600;display:flex;align-items:center;gap:6px}
.aud-verif svg{width:12px;height:12px;color:var(--green)}
.audq-locked{grid-column:1/-1;position:relative;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:var(--bg);margin-top:16px;min-height:330px}
.aq-ghost{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px 24px;filter:blur(7px);opacity:.7;pointer-events:none}
.aq-ghost .gq-card{background:var(--bg);border:1px solid var(--line-2);border-radius:14px;padding:18px}
.aq-ghost .g-donut{width:96px;height:96px;border-radius:50%;background:conic-gradient(var(--data) 0 68%, #E6C6D8 68% 100%);margin:4px auto 14px}
.aq-ghost .gq-line{height:11px;border-radius:99px;background:var(--panel-2);margin:13px 0}
.aq-ghost .gq-line.s{width:58%}
.aq-ghost .gq-faces{display:flex;gap:9px;margin-top:16px}
.aq-ghost .gq-faces i{width:36px;height:36px;border-radius:50%;background:var(--panel-2);flex:none}
.aq-inner{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:30px 24px 26px;background:linear-gradient(180deg,rgba(250,249,247,0) 0%,rgba(250,249,247,.3) 38%,rgba(250,249,247,.9) 74%,rgba(250,249,247,.97) 100%)}
.aq-lock{width:44px;height:44px;border-radius:50%;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--accent)}
.aq-lock svg{width:20px;height:20px}
.aq-t{font-size:19px;font-weight:800;letter-spacing:-.02em}
.aq-p{font-size:13.5px;color:var(--ink-2);font-weight:550;max-width:460px;margin:8px 0 14px;line-height:1.5}
.aq-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:16px}
.aq-tags span{background:var(--panel-2);color:var(--ink-2);font-size:11px;font-weight:700;padding:4px 10px;border-radius:7px}
.aq-cta{margin-top:2px}
@media(max-width:720px){
  .aud-grid{grid-template-columns:1fr}
  .aud-card.wide{grid-column:auto}
  .bar-row .lbl{width:120px}
  .gender{flex-direction:column;align-items:flex-start;gap:14px}
  .aq-ghost{grid-template-columns:1fr}
}

/* ---------- Gallery + lightbox ---------- */
.pf-single{border-radius:16px;overflow:hidden;background:var(--panel-2)}
.pf-single img{width:100%;max-height:520px;object-fit:cover;display:block}
.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;border-radius:16px;overflow:hidden;height:460px}
.gallery .g-lead{grid-row:1/3;grid-column:1;position:relative;cursor:zoom-in;background:var(--panel-2)}
.gallery .g-thumbs{display:contents}
.gallery .g-thumb{position:relative;cursor:zoom-in;background:var(--panel-2);overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.gallery .g-lead:hover img,.gallery .g-thumb:hover img{transform:scale(1.03)}
.gallery .g-more::after{content:"";position:absolute;inset:0;background:rgba(20,16,16,.32)}
.g-showall{position:absolute;bottom:14px;right:14px;background:#fff;color:var(--ink);border:1px solid var(--line-2);border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 6px 20px -8px rgba(20,16,16,.4);z-index:2}
.g-showall:hover{background:var(--panel)}
@media(max-width:720px){
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 110px 110px;height:auto}
  .gallery .g-lead{grid-row:1;grid-column:1/-1}
}
.lbroot{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}
.lbroot[hidden]{display:none!important}

/* ---------- social link chip (opens the creator's real social in a new tab) ---------- */
.social-chip{display:inline-flex;align-items:center;gap:7px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;padding:5px 11px;font-size:13px;font-weight:650;color:var(--ink);vertical-align:middle;transition:background .14s,border-color .14s,color .14s}
.social-chip:hover{background:var(--bg);border-color:var(--accent);color:var(--accent)}
.social-chip svg{width:15px;height:15px;flex:none}
.social-chip b{font-weight:750}
.social-chip .sf{color:var(--ink-3);font-weight:600}
.social-chip:hover .sf{color:var(--accent)}
.lb-back{position:absolute;inset:0;background:rgba(10,10,12,.94)}
.lb-stage{position:relative;z-index:1;max-width:min(1200px,92vw);max-height:82vh;display:flex;align-items:center;justify-content:center}
.lb-stage img{max-width:min(1200px,92vw);max-height:82vh;object-fit:contain;border-radius:8px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
.lb-close{position:absolute;top:22px;right:24px;z-index:2;background:rgba(255,255,255,.1);color:#fff;border:none;width:44px;height:44px;border-radius:50%;font-size:22px;cursor:pointer;transition:background .14s}
.lb-close:hover{background:rgba(255,255,255,.22)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(255,255,255,.1);color:#fff;border:none;width:52px;height:52px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;transition:background .14s}
.lb-nav:hover{background:rgba(255,255,255,.22)}
.lb-prev{left:24px}
.lb-next{right:24px}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.86);font-size:13px;font-weight:650;background:rgba(0,0,0,.4);padding:6px 12px;border-radius:99px}
@media(max-width:720px){
  .lb-nav{width:44px;height:44px;font-size:24px}
  .lb-prev{left:10px}.lb-next{right:10px}
  .lb-close{top:14px;right:14px;width:38px;height:38px}
}

/* ---- consistent site header (matches hiveinfluence.io main nav) ---- */
.site{padding:16px 24px 6px}
.sitebar{max-width:1360px;margin:0 auto;display:flex;align-items:center;background:#fff;border-radius:28px;padding:14px 16px 14px 26px;box-shadow:0 6px 34px -18px rgba(16,16,16,.20)}
.site .brand{display:flex;align-items:center;gap:9px;flex:none;text-decoration:none}
.site .brand .mark{height:30px;width:auto;display:block}
.site .brand .wordmark{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.menu{display:flex;align-items:center;gap:26px;margin-left:30px}
.menu a{color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;position:relative;letter-spacing:-.01em}
.menu a:hover{color:var(--accent)}
.menu a.active{color:var(--accent)}
.menu a.active::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-10px;width:4px;height:4px;border-radius:50%;background:var(--accent)}
.acts{margin-left:auto;display:flex;align-items:center;gap:14px}
.acts .login{color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}
.btn-cr{border:1.5px solid var(--ink);color:var(--ink);font-weight:700;font-size:14px;padding:10px 20px;border-radius:999px;text-decoration:none;background:#fff;white-space:nowrap;transition:.12s}
.btn-cr:hover{background:var(--panel-2)}
.btn-br{background:#FFD76F;color:#101010;font-weight:700;font-size:14px;padding:12px 22px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:.12s}
.btn-br:hover{background:#f9cb54}
@media(max-width:900px){.menu,.acts .login{display:none}.sitebar{padding:12px 16px}.site .brand .wordmark{font-size:18px}.btn-cr,.btn-br{padding:9px 15px;font-size:13px}}
@media(max-width:520px){.btn-cr{display:none}}

/* header only on browse surfaces, not on individual profiles */
body.route-profile .site{display:none}
