:root {
  --bg: #07070C; --bg-2: #0E0F1A; --bg-3: #151625;
  --card: #1B1D30; --card-hi: #232544;
  --line: rgba(155,157,184,0.12); --line-strong: rgba(155,157,184,0.28); --line-gold: rgba(201,168,76,0.32);
  --fg: #FCFCFC; --fg-mute: #C0C0C8; --fg-soft: #9B9DB8; --fg-faint: #6B6E8A;
  --pink: #E8186D; --gold: #C9A84C;
  --display: "Bebas Neue", Impact, sans-serif;
  --serif: "DM Serif Display", Georgia, serif;
  --sans: "DM Sans", system-ui, -apple-system, sans-serif;
}
.gv-page * { box-sizing: border-box; }
.gv-page { background: var(--bg); color: var(--fg); font-family: var(--sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; position: relative; overflow-x: hidden; min-height: 100vh; }
.gv-page .mesh, .gv-page .grain { position: fixed; inset: 0; pointer-events: none; z-index: 0; }
.gv-page .mesh { background: radial-gradient(680px 480px at var(--mx,20%) var(--my,15%), rgba(232,24,109,0.20), transparent 60%), radial-gradient(540px 420px at 80% 18%, rgba(201,168,76,0.12), transparent 60%), radial-gradient(720px 520px at 50% 90%, rgba(232,24,109,0.09), transparent 60%); animation: gvDrift 28s ease-in-out infinite alternate; }
@keyframes gvDrift { 0%{transform:translate3d(0,0,0)} 50%{transform:translate3d(-2%,1%,0)} 100%{transform:translate3d(2%,-1%,0)} }
.gv-page .grain { opacity: 0.03; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }
.gv-page main, .gv-page .gv-head, .gv-page .gv-foot { position: relative; z-index: 2; }
.gv-page a { color: var(--gold); text-decoration: none; transition: color .15s; }
.gv-page a:hover { color: var(--pink); }
.gv-page .wrap { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
.gv-page .wrap-narrow { max-width: 980px; margin: 0 auto; padding: 0 24px; }
.gv-page .gv-head { padding: 22px 0; border-bottom: 1px solid var(--line); position: sticky; top: 0; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); background: rgba(7,7,12,0.74); z-index: 20; }
.gv-page .gv-head .wrap { display: flex; justify-content: space-between; align-items: center; }
.gv-page .brand { display: inline-flex; align-items: center; }
.gv-page .brand img { height: 56px; width: auto; display: block; transition: opacity .2s; }
.gv-page .brand:hover img { opacity: 0.75; }
@media (max-width: 600px) { .gv-page .brand img { height: 42px; } }
.gv-page .head-cta { font-family: var(--display); font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--fg-soft); padding: 10px 18px; border: 1px solid var(--line-strong); border-radius: 999px; transition: all .2s; }
.gv-page .head-cta:hover { color: var(--fg); border-color: var(--pink); background: rgba(232,24,109,0.08); }
.gv-page .hero { display: grid; grid-template-columns: 1.25fr 1fr; gap: 72px; align-items: center; padding: 112px 0 96px; position: relative; }
.gv-page .hero::after { content:""; position:absolute; left:24px; right:24px; bottom:32px; height:1px; background: linear-gradient(90deg, transparent, var(--line-gold), transparent); }
@media (max-width: 840px) {
  .gv-page .hero { grid-template-columns: 1fr; padding: 48px 0 40px; gap: 28px; text-align: center; }
  .gv-page .hero-portrait { order: -1; max-width: 160px; margin: 0 auto; }
}
@media (max-width: 480px) { .gv-page .hero-portrait { max-width: 130px; } .gv-page .hero { padding: 36px 0 28px; gap: 22px; } }
.gv-page .hero h1 { font-family: var(--display); font-weight: 400; font-size: clamp(76px,13vw,168px); line-height: 0.88; margin: 0 0 22px; letter-spacing: 0.005em; text-transform: uppercase; color: var(--fg); background: linear-gradient(180deg, var(--fg) 0%, var(--fg) 55%, rgba(252,252,252,0.75) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.gv-page .hero-title { font-family: var(--serif); font-style: italic; font-size: clamp(20px,2.4vw,30px); color: var(--gold); margin: 0; line-height: 1.3; max-width: 22ch; }
.gv-page .hero-portrait { position: relative; width: 100%; aspect-ratio: 1; max-width: 320px; margin-left: auto; }
.gv-page .hero-portrait::before { content:""; position:absolute; inset:-18px; background: conic-gradient(from 90deg at 50% 50%, var(--pink) 0deg, var(--gold) 90deg, var(--pink) 180deg, var(--gold) 270deg, var(--pink) 360deg); border-radius: 50%; opacity: 0.2; filter: blur(28px); animation: gvSpin 28s linear infinite; }
@keyframes gvSpin { to { transform: rotate(360deg); } }
.gv-page .hero-portrait .ring { position: absolute; inset: 0; border-radius: 50%; padding: 3px; background: linear-gradient(135deg, var(--pink), var(--gold)); }
.gv-page .hero-portrait .ring-inner { width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: var(--bg-3); }
.gv-page .hero-portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv-page section.block { padding: 56px 0; position: relative; }
.gv-page section.block + section.block { padding-top: 16px; }
.gv-page .text-card { position: relative; padding: 80px 88px; background: linear-gradient(180deg, rgba(21,22,37,0.55) 0%, rgba(14,15,26,0.35) 100%); border: 1px solid var(--line); border-radius: 24px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 40px 100px -40px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.04); }
.gv-page .text-card::before, .gv-page .text-card::after { content:""; position: absolute; width: 32px; height: 32px; border: 1px solid var(--gold); opacity: 0.7; }
.gv-page .text-card::before { top: -1px; left: -1px; border-right: none; border-bottom: none; border-top-left-radius: 24px; }
.gv-page .text-card::after { bottom: -1px; right: -1px; border-left: none; border-top: none; border-bottom-right-radius: 24px; }
@media (max-width: 720px) { .gv-page .text-card { padding: 48px 28px; border-radius: 18px; } .gv-page section.block { padding: 32px 0; } }
.gv-page h2 { font-family: var(--display); font-weight: 400; font-size: clamp(54px,7vw,96px); margin: 0 0 48px; letter-spacing: 0.02em; text-transform: uppercase; line-height: 0.9; color: var(--fg); text-align: left; position: relative; padding-top: 28px; background: linear-gradient(180deg, var(--fg) 0%, var(--fg) 60%, rgba(252,252,252,0.6) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.gv-page h2::before { content:""; position: absolute; top: 0; left: 0; width: 72px; height: 3px; background: linear-gradient(90deg, var(--pink), var(--gold)); border-radius: 2px; }
.gv-page p { font-family: var(--sans); font-size: 19px; line-height: 1.78; color: var(--fg-mute); margin: 0 0 28px; font-weight: 400; }
.gv-page p:last-child { margin-bottom: 0; }
.gv-page p strong { color: var(--fg); font-weight: 600; }
.gv-page p a { color: var(--gold); border-bottom: 1px solid rgba(201,168,76,0.32); transition: all .15s; }
.gv-page p a:hover { color: var(--pink); border-bottom-color: var(--pink); }
.gv-page .bio-block .text-card > p:first-child { font-family: var(--serif); font-style: italic; font-size: clamp(24px,2.4vw,30px); line-height: 1.45; color: var(--fg); font-weight: 400; margin-bottom: 40px; padding-bottom: 32px; border-bottom: 1px solid var(--line-gold); }
.gv-page .bio-block .text-card > p:first-child::first-letter { font-family: var(--serif); font-style: italic; font-size: 80px; line-height: 0.85; float: left; padding: 6px 14px 0 0; color: var(--gold); text-shadow: 0 4px 24px rgba(201,168,76,0.3); }
.gv-page .bio-block .text-card > p:first-child a { color: var(--gold); border-bottom-color: var(--gold); }
.gv-page .bio-block .text-card > p:nth-child(n+2) { font-size: 19px; color: var(--fg-mute); }
.gv-page .ornament { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 0 auto; padding: 16px 0; }
.gv-page .ornament::before, .gv-page .ornament::after { content:""; width: 80px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.gv-page .ornament .diamond { width: 10px; height: 10px; background: var(--gold); transform: rotate(45deg); box-shadow: 0 0 24px rgba(201,168,76,0.7), 0 0 0 4px rgba(201,168,76,0.1); }
.gv-page .companies-wrap { padding: 40px 24px; }
.gv-page .companies { max-width: 920px; margin: 0 auto; display: flex; gap: 64px; align-items: center; justify-content: center; flex-wrap: wrap; padding: 44px 56px; border: 1px solid var(--line-gold); border-radius: 20px; background: radial-gradient(600px 200px at 50% 50%, rgba(232,24,109,0.06), transparent 70%), rgba(14,15,26,0.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); position: relative; }
.gv-page .companies::before, .gv-page .companies::after { content:""; position: absolute; width: 8px; height: 8px; background: var(--gold); transform: rotate(45deg); }
.gv-page .companies::before { top: -4px; left: 30px; }
.gv-page .companies::after { bottom: -4px; right: 30px; }
.gv-page .companies-label { font-family: var(--display); font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); padding: 8px 24px 8px 0; border-right: 1px solid var(--line-gold); }
.gv-page .companies a { display: inline-flex; align-items: center; opacity: 0.92; transition: opacity .2s, transform .2s; }
.gv-page .companies a:hover { opacity: 1; transform: translateY(-2px); }
.gv-page .companies a img { height: 80px; width: auto; display: block; max-width: 280px; object-fit: contain; }
@media (max-width: 720px) { .gv-page .companies-wrap { padding: 32px 16px; } .gv-page .companies { gap: 32px; padding: 36px 28px; } .gv-page .companies-label { border-right: none; border-bottom: 1px solid var(--line-gold); padding: 0 0 12px 0; } .gv-page .companies a img { height: 56px; max-width: 220px; } }
.gv-page .profile-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap: 16px; }
.gv-page .profile-card { position: relative; padding: 28px 24px 24px; background: linear-gradient(180deg, var(--card) 0%, rgba(27,29,48,0.7) 100%); border: 1px solid var(--line); border-radius: 16px; color: var(--fg); transition: all .25s ease; display: flex; flex-direction: column; gap: 10px; overflow: hidden; }
.gv-page .profile-card::before { content:""; position: absolute; inset: 0; background: radial-gradient(400px 200px at 50% 0%, rgba(232,24,109,0.12), transparent 70%); opacity: 0; transition: opacity .25s; pointer-events: none; }
.gv-page .profile-card::after { content:"\2197"; position: absolute; top: 22px; right: 22px; color: var(--fg-faint); font-size: 20px; transition: all .25s; z-index: 2; }
.gv-page .profile-card:hover { border-color: var(--pink); transform: translateY(-4px); box-shadow: 0 24px 60px -20px rgba(232,24,109,0.35), 0 0 0 1px rgba(232,24,109,0.15); color: var(--fg); }
.gv-page .profile-card:hover::before { opacity: 1; }
.gv-page .profile-card:hover::after { color: var(--pink); transform: translate(3px,-3px); }
.gv-page .profile-card .platform { font-family: var(--display); font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); position: relative; z-index: 1; }
.gv-page .profile-card .handle { font-size: 16px; color: var(--fg); font-weight: 500; padding-right: 32px; position: relative; z-index: 1; }
.gv-page .gv-foot { padding: 56px 0 48px; border-top: 1px solid var(--line); text-align: center; color: var(--fg-faint); font-size: 13px; letter-spacing: 0.04em; }
.gv-page .gv-foot a { color: var(--fg-soft); }
.gv-page .gv-foot a:hover { color: var(--pink); }
@media (prefers-reduced-motion: reduce) { .gv-page .mesh, .gv-page .hero-portrait::before { animation: none !important; } }
