/* Wheel section reused */
.team-wheel { background: var(--ink); color: var(--paper); padding: 30px 32px 140px; position: relative; overflow: hidden; }
.team-wheel::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 50% 40% at 50% 100%, rgba(250, 245, 57, 0.05), transparent 60%); pointer-events: none; }
.team-wheel-head { text-align: center; max-width: 720px; margin: 0 auto 40px; position: relative; z-index: 2; }
.team-wheel-head h3 { font-weight: 900; font-size: clamp(36px, 5vw, 68px); line-height: 1; letter-spacing: -0.028em; text-wrap: balance; }
.team-wheel-head h3 em { font-family: var(--serif); font-style: italic; font-weight: 300; letter-spacing: -0.005em; }
.team-wheel-head p { margin-top: 22px; font-size: 15px; color: var(--mute-on-dark); max-width: 480px; margin-left: auto; margin-right: auto; line-height: 1.7; }

.team-wheel-stage { position: relative; height: 680px; perspective: 1400px; margin-bottom: 44px; }
.wheel-ring { position: absolute; left: 50%; top: 50%; width: 720px; height: 720px; transform: translate(-50%, -50%); animation: spin 60s linear infinite; pointer-events: none; opacity: 0.7; z-index: 0; }
.wheel { position: relative; height: 100%; transform-style: preserve-3d; }
.wheel-card { position: absolute; left: 50%; top: 0; width: 360px; height: 100%; display: grid; grid-template-rows: 440px auto; gap: 26px; transition: transform 1s var(--ease-in-out-quart), opacity .8s, filter .8s; transform: translate(-50%, 0); }
.wheel-card.active { z-index: 3; }
.wheel-card.inactive { transform: translate(calc(-50% + 340px), 20px) scale(0.78) rotateY(-28deg); opacity: 0.55; filter: saturate(0.15) brightness(0.65); z-index: 1; cursor: pointer; }
.wheel-card.inactive:hover { opacity: 0.75; filter: saturate(0.3) brightness(0.75); }
.wheel-card.inactive .wheel-info { pointer-events: none; }
.wheel-card-cta { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; background: rgba(14, 19, 37, 0.55); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); z-index: 12; cursor: pointer; transition: background .3s; border: 0; padding: 0; color: inherit; font: inherit; }
.wheel-card.inactive .wheel-card-cta { display: flex; }
.wheel-card-cta:hover { background: rgba(14, 19, 37, 0.7); }
.wheel-card-cta-pill { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; background: var(--lime); color: var(--ink); border-radius: 100px; font-weight: 800; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; transition: transform .3s var(--ease-out-expo), background .3s; pointer-events: none; }
.wheel-card-cta:hover .wheel-card-cta-pill { transform: scale(1.08); background: var(--paper); }
.wheel-card-cta-pill .arrow { display: inline-block; transform: rotate(-45deg); font-weight: 900; transition: transform .3s; }
.wheel-card-cta:hover .wheel-card-cta-pill .arrow { transform: rotate(-45deg) translate(2px, -2px); }
.wheel-photo { border-radius: 4px; overflow: hidden; background: var(--ink-2); position: relative; }
.wheel-photo img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.06); }
.wheel-photo-tag { position: absolute; top: 16px; left: 16px; padding: 6px 14px; background: var(--lime); color: var(--ink); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700; border-radius: 100px; }
.wheel-info { padding: 0 6px; }
.wheel-num { display: block; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 15px; color: var(--mute-on-dark); margin-bottom: 10px; }
.wheel-info h4 { font-weight: 800; font-size: 30px; letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 6px; }
.wheel-info h4 em { font-family: var(--serif); font-style: italic; font-weight: 300; }
.wheel-role { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; color: var(--mute-on-dark); margin-bottom: 20px; }
.wheel-quote { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 18px; line-height: 1.45; color: var(--paper); margin-bottom: 22px; }
.wheel-facts { list-style: none; border-top: 1px solid rgba(243, 244, 246, 0.12); }
.wheel-facts li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(243, 244, 246, 0.08); font-size: 13px; }
.wheel-facts li span { color: var(--mute-on-dark); }
.wheel-facts li b { font-weight: 600; color: var(--paper); text-align: right; }
.wheel-facts li b em { font-family: var(--serif); font-style: italic; font-weight: 300; color: var(--lime); }

/* Roster grid */
.roster { background: var(--paper); color: var(--ink); padding: 140px 32px; }
.roster-head { max-width: 1200px; margin: 0 auto 60px; }
.roster-head h3 { font-weight: 900; font-size: clamp(38px, 5.4vw, 72px); line-height: 1; letter-spacing: -0.028em; text-wrap: balance; max-width: 620px; }
.roster-head h3 em { font-family: var(--serif); font-style: italic; font-weight: 300; }
.roster-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.roster-card { display: grid; grid-template-columns: 200px 1fr; gap: 30px; padding: 24px; border: 1px solid var(--hair-on-light); border-radius: 3px; transition: background .3s, transform .3s var(--ease-out-expo); }
.roster-card:hover { background: var(--ink); color: var(--paper); transform: translateY(-4px); }
.roster-card:hover .roster-role { color: var(--mute-on-dark); }
.roster-card:hover .roster-name em { color: var(--lime); }
.roster-photo { aspect-ratio: 4/5; border-radius: 3px; overflow: hidden; background: var(--ink); }
.roster-photo img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05); }
.roster-name { font-weight: 800; font-size: 22px; letter-spacing: -0.015em; }
.roster-name em { font-family: var(--serif); font-style: italic; font-weight: 300; transition: color .3s; }
.roster-role { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; color: var(--mute-on-light); margin: 8px 0 16px; transition: color .3s; }
.roster-bio { font-size: 14px; line-height: 1.65; }

/* Careers */
.careers { background: var(--ink); color: var(--paper); padding: 140px 32px; text-align: center; }
.careers h3 { font-weight: 900; font-size: clamp(38px, 5.4vw, 72px); line-height: 1; letter-spacing: -0.028em; max-width: 800px; margin: 0 auto 24px; text-wrap: balance; }
.careers h3 em { font-family: var(--serif); font-style: italic; font-weight: 300; }
.careers p { max-width: 520px; margin: 0 auto 40px; color: var(--mute-on-dark); line-height: 1.7; }

@media (max-width: 1000px) {
  .team-wheel-stage { height: 640px; perspective: 900px; }
  .wheel-card { width: 320px; grid-template-rows: 380px auto; }
  .wheel-card.inactive { transform: translate(calc(-50% + 260px), 20px) scale(0.72) rotateY(-30deg); }
  .wheel-ring { width: 620px; height: 620px; }
  .roster-grid { grid-template-columns: 1fr; }
  .roster-card { grid-template-columns: 140px 1fr; gap: 20px; padding: 18px; }
}
@media (max-width: 720px) {
  .team-wheel { padding: 20px 0 90px; }
  .team-wheel-head { padding: 0 20px; margin-bottom: 30px; }
  .team-wheel-stage {
    height: auto; perspective: none;
    overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 10px 0 30px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .team-wheel-stage::-webkit-scrollbar { display: none; }
  .wheel-ring { display: none; }
  .wheel { display: flex; gap: 20px; padding: 0 20px; height: auto; width: max-content; transform-style: flat; }
  .wheel-card {
    position: relative; left: auto; top: auto;
    width: 84vw; max-width: 380px;
    grid-template-rows: auto auto; gap: 22px;
    transform: none !important; opacity: 1 !important; filter: none !important;
    scroll-snap-align: center; cursor: default;
  }
  .wheel-card .wheel-photo { aspect-ratio: 4/5; }
  .wheel-card.inactive .wheel-card-cta { display: none; }
  .wheel-info h4 { font-size: 26px; }
  .roster, .careers { padding: 90px 20px; }
  .roster-card { grid-template-columns: 1fr; }
  .swipe-hint {
    display: flex; justify-content: center; align-items: center;
    gap: 10px; margin-top: 20px; font-size: 11px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--mute-on-dark); font-weight: 700;
  }
  .swipe-hint::before, .swipe-hint::after {
    content: ''; height: 1px; width: 30px; background: var(--hair-on-dark);
  }
}
.swipe-hint { display: none; }