/* =========================================================
   MannyPac.com - Bio Hub Hero (Externalized)
   File: css/style-bio.css
   Notes:
   - This is the EXACT content that was previously inside your <style> block.
   - Keep it loaded AFTER css/style.css so it overrides theme defaults.
   ========================================================= */

:root{
  --mp-bg-main:#020307;
  --mp-accent-gold:#ffd73b;
  --mp-text-muted:#9ca3af;
  --mp-text-main:#f9fafb;

  /* LightRays-like controls */
  --mp-rays-color:#FFE500;
  --mp-rays-speed:1.25;
  --mp-rays-spread:0.85;
  --mp-rays-length:1.15;
  --mp-rays-mouse-influence:0.10;
  --mp-rays-noise:0.10;
  --mp-rays-distort:0.05;

  /* Tabs/glow */
  --mp-tab-glow: rgba(255,215,59,0.38);
  --mp-tab-glow-2: rgba(255,215,59,0.18);
  --mp-glass-bg: rgba(255,255,255,0.06);
  --mp-glass-brd: rgba(255,255,255,0.14);

  /* NEW: text glow color for ACTIVE label */
  --mp-text-glow-1: rgba(255,229,0,0.90);
  --mp-text-glow-2: rgba(255,215,59,0.55);
  --mp-text-glow-3: rgba(255,215,59,0.25);
}

/* Prevent white gaps anywhere */
html, body{ background:#000; }
body, .page-wraper{ background-color:#000; }

/* HERO */
.mp-hero-bio{
  position:relative;
  background: radial-gradient(circle at top left, #111827 0%, #020307 55%, #000 100%);
  color:var(--mp-text-main);
  padding: 36px 0 12px;  /* was 84px 0 84px */
  overflow:hidden;
  isolation:isolate;
}

.mp-hero-row{
  padding-top: 18px;     /* was 28px */
  padding-bottom: 18px;  /* was 28px */
}

.mp-hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 0%, rgba(0,0,0,0.70) 0, transparent 35%),
    radial-gradient(circle at 85% 100%, rgba(0,0,0,0.80) 0, transparent 45%);
  pointer-events:none;
  z-index:2;
}

/* WEBGL RAYS LAYER */
.mp-rays{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.mp-rays canvas{
  width:100%;
  height:100%;
  display:block;
}

/* LEFT: MANNY */
.mp-hero-visual{
  position:relative;
  z-index:3;
  max-width: 420px; /* was 520px (15% smaller) */
  width:100%;
  perspective:1200px;
}

/* Responsive: keep your "25% smaller on mobile/ipads" intent,
   but apply the extra -15% reduction you requested */
@media (max-width: 1024px){
  .mp-hero-visual{ max-width: 332px; } /* was 390px */
}

/* Responsive: mobile layout requirements */
@media (max-width: 991px){
  .mp-hero-row{ padding-top: 12px; padding-bottom: 8px; } /* was 18px/10px */
}

/* Small phones */
@media (max-width: 575px){
  .mp-hero-bio{ padding: 62px 0 54px; } /* was 72px 0 62px */
  .mp-hero-visual{ max-width: 272px; }  /* was 320px */
}

.mp-hero-visual-inner{
  position:relative;
  transform-style:preserve-3d;
  animation: mpIntroTilt 0.9s ease-out forwards, mpFloat 5.5s ease-in-out infinite 0.9s;
  z-index:3;
}
.mp-hero-visual img{
  width:100%;
  height:auto;
  display:block;
  filter: drop-shadow(0 28px 60px rgba(0,0,0,0.95)) saturate(1.2) contrast(1.08);
  transform-origin:center bottom;
  transition: filter .25s ease, transform .25s ease, opacity .2s ease;
}
.mp-hero-shadow{
  position:absolute;
  inset:auto 10% -4%;
  height:40px;
  background: radial-gradient(circle at 50% 50%, rgba(0,0,0,0.85), transparent 70%);
  filter: blur(2px);
  z-index:-1;
}

/* RIGHT PANEL */
.mp-hero-panel{
  position:relative;
  z-index:3;
  max-width:620px;
  margin-left:auto;
}

.mp-hero-kicker{
  letter-spacing:.26em;
  font-size:.75rem;
  text-transform:uppercase;
  color:var(--mp-accent-gold);
  margin-bottom:10px;
}
.mp-hero-title{
  font-size: clamp(2.6rem, 3.8vw, 3.8rem);
  font-weight:800;
  text-transform:uppercase;
  line-height:1.1;
  margin-bottom:8px;
  color: #FFFFFF;
}
.mp-hero-title span{ color:var(--mp-accent-gold); font-weight:900; }
.mp-hero-subtitle{
  margin-bottom:18px;
  font-size:.98rem;
  color:var(--mp-text-muted);
}

/* =========================================================
   TABS (DESKTOP: full-bleed RIGHT + glass wrapper)
   - No vertical spacing (gap:0)
   - Each item ~120px min height
   - Game selector hover/active (black expands)
   - Glow on active
   - NEW: wrapper supports background-image (your bg-site.png) on desktop + mobile
   ========================================================= */

.mp-hero-tabs-wrapper{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-bottom:22px;

  /* full-bleed to RIGHT edge of viewport (desktop) */
  width: calc(100% + (50vw - 50%));
  margin-right: calc(50% - 50vw);

  /* glass */
  background-color: var(--mp-glass-bg);
  border: 1px solid var(--mp-glass-brd);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 18px 46px rgba(0,0,0,0.55);

  /* NEW: make your background-image look correct */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* no padding (as requested) */
  padding: 0;

  /* flush right shape */
  border-radius: 18px 0 0 18px;
  overflow:hidden;
  position:relative;
  isolation:isolate;
}

/* Optional dark overlay so the bg-image doesn’t wash out the text */
.mp-hero-tabs-wrapper::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 20% 20%, rgba(0,0,0,0.30), rgba(0,0,0,0.62));
  z-index:0;
  pointer-events:none;
}
.mp-hero-tabs-wrapper > *{ position:relative; z-index:1; }

.mp-hero-tab{
  position:relative;
  cursor:pointer;
  isolation:isolate;
  overflow:hidden;
  transform-origin:left center;
  transition: transform .14s ease, filter .14s ease;
  border-radius:0;
  padding:0;
}

/* Dividers since gap=0 */
.mp-hero-tab + .mp-hero-tab .mp-hero-tab-content{
  border-top: 1px solid rgba(148,163,184,0.14);
}

.mp-hero-tab-content{
  position:relative;
  z-index:2;

  min-height:120px;                 /* requested height */
  background: rgba(15,23,42,0.52);  /* base surface */
  border: 0;

  padding: 18px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;

  transition: background .14s ease, box-shadow .14s ease, filter .14s ease;
}

/* Black selector plate that expands (game menu highlight) */
.mp-hero-tab-content::before{
  content:"";
  position:absolute;
  inset:-28px -40px;
  background:
    radial-gradient(circle at 22% 50%,
      rgba(0,0,0,0.98) 0%,
      rgba(0,0,0,0.78) 45%,
      rgba(0,0,0,0.00) 78%);
  transform: translateX(-38%) scaleX(0.18) scaleY(0.92);
  transform-origin: left center;
  opacity: 0;
  transition: transform .16s ease, opacity .16s ease;
  z-index:0;
  pointer-events:none;
}

/* Left gold selector bar */
.mp-hero-tab-content::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background: linear-gradient(180deg, rgba(255,215,59,1), rgba(245,158,11,1));
  opacity:0;
  transform: scaleY(0.35);
  transform-origin:center;
  transition: opacity .16s ease, transform .16s ease;
  z-index:1;
  pointer-events:none;
}

.mp-hero-tab-label,
.mp-hero-tab-tag{
  position:relative;
  z-index:2;
}
.mp-hero-tab-label{
  font-size:1.02rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#ffffff;
}
.mp-hero-tab-tag{
  font-size:.82rem;
  color:var(--mp-text-muted);
}

/* Hover/focus highlight */
.mp-hero-tab:hover,
.mp-hero-tab:focus-within{
  transform: translateX(10px) scale(1.03);
}
.mp-hero-tab:hover .mp-hero-tab-content,
.mp-hero-tab:focus-within .mp-hero-tab-content{
  background: rgba(0,0,0,0.80);
  box-shadow:
    0 0 0 1px rgba(255,215,59,0.20),
    0 0 22px var(--mp-tab-glow),
    0 0 62px var(--mp-tab-glow-2),
    0 18px 44px rgba(0,0,0,0.70);
  filter: saturate(1.05);
}
.mp-hero-tab:hover .mp-hero-tab-content::before,
.mp-hero-tab:focus-within .mp-hero-tab-content::before{
  opacity: 1;
  transform: translateX(0%) scaleX(1) scaleY(1.07);
}
.mp-hero-tab:hover .mp-hero-tab-content::after,
.mp-hero-tab:focus-within .mp-hero-tab-content::after{
  opacity: 1;
  transform: scaleY(1);
}

/* Active (selected) glow */
.mp-hero-tab.mp-hero-tab--active{
  transform: translateX(10px) scale(1.03);
}
.mp-hero-tab.mp-hero-tab--active .mp-hero-tab-content{
  background: rgba(0,0,0,0.86);
  box-shadow:
    0 0 0 1px rgba(255,215,59,0.32),
    0 0 26px rgba(255,215,59,0.42),
    0 0 74px rgba(255,215,59,0.22),
    0 22px 56px rgba(0,0,0,0.82);
}
.mp-hero-tab.mp-hero-tab--active .mp-hero-tab-content::before{
  opacity: 1;
  transform: translateX(0%) scaleX(1) scaleY(1.07);
}
.mp-hero-tab.mp-hero-tab--active .mp-hero-tab-content::after{
  opacity: 1;
  transform: scaleY(1);
}

/* =========================================================
   NEW: YELLOW TEXT GLOW on active label (BIO / RECORD / HIGHLIGHTS)
   ========================================================= */
.mp-hero-tab.mp-hero-tab--active .mp-hero-tab-label{
  color:#ffffff;
  text-shadow:
    0 0 10px var(--mp-text-glow-1),
    0 0 26px var(--mp-text-glow-2),
    0 0 52px var(--mp-text-glow-3);
}
.mp-hero-tab.mp-hero-tab--active .mp-hero-tab-tag{
  color: rgba(255,255,255,0.82);
}

.mp-hero-tab:active{
  transform: translateX(12px) scale(1.02);
}

/* Border ring (static) */
.star-border{
  --base-border: rgba(96,82,60,0.85);
  --ring-size: 2px;
}
.star-border::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background: linear-gradient(180deg, var(--base-border), rgba(40, 48, 66, 0.75));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: var(--ring-size);
  opacity: 1;
  z-index:3;
  pointer-events:none;
}

/* IMPORTANT: remove rotating spark / "line running in circles" */
.star-border::after{
  content:none !important;
  display:none !important;
  animation:none !important;
  opacity:0 !important;
}

/* Description + CTA */
.mp-hero-description{
  font-size:.95rem;
  color:#d1d5db;
  line-height:1.6;
  margin-bottom:26px;
}
.mp-hero-cta-row{ display:flex; flex-wrap:wrap; gap:12px; }

.mp-hero-btn{
  border-radius:999px;
  padding:10px 22px;
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid transparent;
  cursor:pointer;
  transition: background .2s ease, color .2s ease, transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.mp-hero-btn-primary{
  background: linear-gradient(135deg, #ffd73b, #f59e0b);
  color:#020307;
  box-shadow: 0 18px 40px rgba(0,0,0,0.85);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.mp-hero-btn-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.95);
}

/* Animations */
@keyframes mpIntroTilt{
  0%{ opacity:0; transform: translateY(40px) rotateX(10deg) rotateY(-8deg) scale(0.96); }
  60%{ opacity:1; transform: translateY(0px) rotateX(-3deg) rotateY(4deg) scale(1.02); }
  100%{ opacity:1; transform: translateY(0px) rotateX(0deg) rotateY(0deg) scale(1); }
}
@keyframes mpFloat{
  0%{ transform: translateY(0) translateZ(0); }
  50%{ transform: translateY(-12px) translateZ(12px); }
  100%{ transform: translateY(0) translateZ(0); }
}

/* Responsive: image shrink */
@media (max-width: 1024px){
  .mp-hero-visual{ max-width: 390px; } /* ~25% smaller */
}

/* Responsive: mobile layout requirements */
@media (max-width: 991px){
  .mp-hero-row{ padding-top: 18px; padding-bottom: 10px; }
  .mp-hero-panel{ margin-left:0; max-width: 100%; }

  /* Tabs on mobile: keep vertical stack (like desktop), not 2 columns */
  .mp-hero-tabs-wrapper{
    width:100%;
    margin-right:0;
    border-radius:18px;
  }

  /* Reduce “slide right” so it doesn’t feel cramped on small screens */
  .mp-hero-tab:hover,
  .mp-hero-tab:focus-within,
  .mp-hero-tab.mp-hero-tab--active{
    transform: translateX(6px) scale(1.02);
  }
  .mp-hero-tab:active{
    transform: translateX(8px) scale(1.01);
  }
}

@media (max-width: 575px){
  .mp-hero-bio{ padding: 72px 0 62px; }
  .mp-hero-subtitle{ font-size:.9rem; }
  .mp-hero-tab-label{ font-size:.95rem; }
  .mp-hero-tab-tag{ font-size:.78rem; }

  .mp-hero-visual{ max-width: 320px; } /* extra shrink for small phones */
  .mp-hero-tab-content{ min-height:110px; padding: 16px 18px; }
}
