.home-page .hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 72% 40%, rgba(241,90,0,.14), transparent 34%), linear-gradient(120deg, #0a0908 0 54%, #15100d 100%);
}
.home-page .hero::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .32;
  background: linear-gradient(100deg, transparent 0 48%, rgba(255,109,25,.12) 48.2% 48.5%, transparent 48.8%), repeating-linear-gradient(0deg, transparent 0 54px, rgba(255,255,255,.025) 55px 56px);
  content: "";
}
.home-page .hero-copy { position: relative; z-index: 2; }
.home-page .hero-copy h1 { max-width: 10ch; text-transform: uppercase; filter: drop-shadow(0 12px 35px rgba(0,0,0,.35)); }
.home-page .hero-copy h1 .accent { margin-top: .08em; color: #ff5a00; }
.home-page .home-next-event > .container { width: 100%; }
.home-community-photo {
  position: relative;
  padding: .7rem;
  border: 1px solid rgba(245,234,208,.28);
  background: #171411;
  box-shadow: .75rem .75rem 0 rgba(241,90,0,.72), 0 2rem 5rem rgba(0,0,0,.48);
  isolation: isolate;
}
.home-community-photo::before {
  position: absolute;
  top: -1px;
  left: clamp(1rem,5vw,3.2rem);
  z-index: 3;
  width: clamp(4.5rem,16vw,9rem);
  height: 3px;
  background: #f15a00;
  box-shadow: clamp(1.25rem,3vw,2.2rem) 0 0 rgba(245,234,208,.82);
  content: "";
}
.home-community-photo::after {
  position: absolute;
  right: -.36rem;
  bottom: -.36rem;
  z-index: -1;
  width: 3.3rem;
  aspect-ratio: 1;
  border-right: 1px solid #f15a00;
  border-bottom: 1px solid #f15a00;
  content: "";
}
.home-community-photo__stage { border: 1px solid rgba(245,234,208,.15); box-shadow: inset 0 0 0 1px rgba(0,0,0,.45); }
.home-page .home-next-event__shell {
  position: relative;
  overflow: hidden;
  padding-inline: max(18px,calc((100% - var(--max))/2));
  isolation: isolate;
  background: linear-gradient(108deg, rgba(241,90,0,.12), rgba(241,90,0,.035) 48%, transparent 72%);
}
.home-page .home-next-event__shell::before {
  position: absolute;
  right: clamp(1.5rem,5vw,4.5rem);
  bottom: 50%;
  z-index: -1;
  width: clamp(9rem,21vw,17rem);
  aspect-ratio: 1;
  border: clamp(1.25rem,2.8vw,2.6rem) solid rgba(241,90,0,.075);
  border-radius: 50%;
  content: "";
  transform: translateY(50%);
}
.home-page .home-next-event__shell::after {
  position: absolute;
  top: 0;
  right: clamp(4rem,12vw,11rem);
  bottom: 0;
  z-index: -1;
  width: 1px;
  opacity: .4;
  background: repeating-linear-gradient(to bottom,#f15a00 0 9px,transparent 9px 19px);
  content: "";
  transform: skewX(-18deg);
}
.home-page .home-next-event__shell > * { position: relative; z-index: 1; }
.home-page .home-next-event.is-waiting-for-event .home-next-event__shell {
  grid-template-columns: minmax(0,1fr);
  min-height: 260px;
  padding-right: max(clamp(12rem,35vw,31rem),calc((100% - var(--max))/2));
}
.home-page .home-next-event.is-waiting-for-event .home-next-event__shell > div:first-child { max-width: 760px; }
.home-page .home-countdown strong { color: #ff6710; text-shadow: 0 0 28px rgba(255,90,0,.28); }

@media(max-width:760px) {
  .home-community-photo { padding:.45rem; box-shadow:.42rem .42rem 0 rgba(241,90,0,.72),0 1.4rem 3rem rgba(0,0,0,.42); }
  .home-page .home-next-event.is-waiting-for-event .home-next-event__shell { min-height:0; padding-right:18px; }
  .home-page .home-next-event__shell::before { right:-3rem; opacity:.7; }
  .home-page .home-next-event__shell::after { right:2.5rem; }
}

.home-card-feature {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4rem,8vw,8rem) !important;
  color: #f5ead0;
  background: radial-gradient(circle at 50% 105%, rgba(155,108,255,.22), transparent 42%), #120f17 !important;
}
.home-card-feature::before { position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(115deg, transparent 0 92px, rgba(255,255,255,.025) 93px 94px); content: ""; }
.home-card-feature :is(h2,h3,.lede) { color: #f5ead0; }
.home-card-feature .eyebrow { color: #ff6810; }
.home-card-feature__heading { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.4rem; }
.home-card-feature__heading > div:first-child { max-width: 52rem; }
.home-card-feature__heading h2 { margin: .08em 0; font-size: clamp(3rem,7vw,7.2rem); line-height: .82; text-transform: uppercase; }
.home-card-feature__heading .lede { max-width: 46rem; }
.home-card-showcase { position: relative; min-width: 0; padding: 0 !important; color: #f5ead0; }

.home-card-deck { position: relative; isolation: isolate; padding: clamp(1.5rem,4vw,3rem) 0 0; }
.home-card-motion-choice { position: relative; z-index: 5; display: flex; width: fit-content; max-width: 100%; align-items: center; justify-content: center; gap: .55rem; margin: -.35rem auto .85rem; color: rgba(245,234,208,.58); font-size: .66rem; letter-spacing: .02em; }
.home-card-motion-choice::before { width: .42rem; height: .42rem; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 50%; box-shadow: inset 0 0 0 1px #120f17; background: #9b6cff; content: ""; }
.home-card-motion-choice button { padding: .18rem 0; border: 0; border-bottom: 1px dotted rgba(180,150,255,.72); color: #cdb9fa; background: transparent; cursor: pointer; font: 800 .62rem/1.2 var(--font-body); letter-spacing: .045em; text-transform: uppercase; }
.home-card-motion-choice button:hover,.home-card-motion-choice button:focus-visible { border-bottom-color: #ff6810; color: #fff8e7; outline: 0; }
.home-card-energy { position: absolute; inset: -8% -7%; z-index: -1; display: block; width: 114%; height: 116%; pointer-events: none; opacity: .96; }
.home-card-deck > :not(.home-card-energy) { position: relative; z-index: 1; }
.home-card-deck .community-player-card { width: 100%; margin: 0; }
.home-card-deck__browser { display: grid; grid-template-columns: 3.4rem minmax(0,62rem) 3.4rem; gap: clamp(.7rem,2vw,1.5rem); align-items: center; justify-content: center; min-height: clamp(22rem,54vw,44rem); perspective: 1800px; }
.home-card-deck__stage { position: relative; width: min(100%,62rem); }
.home-card-deck__pile { position: relative; width: 100%; aspect-ratio: 16/10; transform-style: preserve-3d; }
.home-card-deck.has-dealt .home-card-deck__pile { transform-style: flat; }
.home-card-deck__count { position: absolute; right: -2.4rem; bottom: -2.1rem; z-index: 30; padding: .45rem .7rem; border: 1px solid rgba(245,234,208,.38); color: #f5ead0; background: #17131e; box-shadow: .35rem .35rem 0 #9b6cff; font: 900 .66rem/1 var(--font-body); letter-spacing: .16em; transform: rotate(-4deg); }
.home-deck-card {
  position: absolute;
  inset: 0;
  z-index: calc(20 - var(--deck-depth));
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: default;
  opacity: calc(1 - min(var(--deck-depth),5) * .09);
  transform: translate3d(var(--deck-shift-x),var(--deck-shift-y),calc(var(--deck-depth) * -26px)) rotate(var(--deck-rotation)) scale(calc(1 - min(var(--deck-depth),5) * .012));
  transform-origin: 50% 55%;
  transform-style: flat;
  isolation: isolate;
  transition: transform .48s cubic-bezier(.18,.8,.2,1), opacity .35s ease, filter .35s ease;
}
.home-card-deck:not(.is-dealt) .home-deck-card { opacity: 0; }
.home-deck-card::before,
.home-card-focus__card::before {
  position: absolute;
  inset: -1.1rem;
  z-index: -2;
  border-radius: 1.2rem;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(ellipse at 50% 100%, color-mix(in srgb,var(--deck-aura) 72%,transparent), transparent 65%), conic-gradient(from 25deg,color-mix(in srgb,var(--deck-aura) 72%,transparent),transparent 24%,color-mix(in srgb,var(--deck-aura) 45%,#fff 10%),transparent 72%);
  filter: blur(18px);
  content: "";
  transform: scale(.92);
  transition: opacity .35s ease, transform .5s ease, filter .5s ease;
}
.home-deck-card > span,
.home-card-hand__card > span { display: block; overflow: hidden; box-shadow: 0 1.8rem 4rem rgba(0,0,0,.62); }
.home-deck-card > span { transform-origin: 50% 50%; transition: transform .16s ease-out; }
.home-card-deck.has-dealt .home-deck-card.is-top > span { animation: deck-card-float 4.2s ease-in-out infinite; }
.home-deck-card > span { border: 1px solid color-mix(in srgb,var(--deck-aura) 62%,#f5ead0 16%); }
.home-deck-card .community-player-card,
.home-card-hand__card .community-player-card { pointer-events: none; }
.home-deck-card.is-top { cursor: pointer; }
.home-deck-card.is-top::before { opacity: .62; animation: deck-aura-breathe 2.8s ease-in-out infinite; }
.home-deck-card.is-top:hover,
.home-deck-card.is-top:focus-visible { transform: translate3d(0,-1.6rem,85px) rotate(0) scale(1.025); filter: brightness(1.06); }
.home-deck-card.is-top:hover::before,
.home-deck-card.is-top:focus-visible::before { opacity: 1; filter: blur(24px); transform: scale(1.04); }
.home-deck-card:focus-visible { outline: 3px solid #fff8e7; outline-offset: 10px; }

.home-card-deck__arrow {
  position: relative;
  z-index: 30;
  display: grid;
  width: 3.4rem;
  height: 3.4rem;
  place-items: center;
  border: 1px solid rgba(245,234,208,.5);
  color: #fff8e7;
  background: #17131e;
  box-shadow: 0 .8rem 2rem rgba(0,0,0,.35);
  cursor: pointer;
  font: 800 1.6rem/1 Arial,sans-serif;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.home-card-deck__arrow:hover,
.home-card-deck__arrow:focus-visible { border-color: #b496ff; background: #332044; transform: scale(1.08); }
.home-card-deck__arrow:disabled { opacity: .35; cursor: default; transform: none; }
.home-card-deck__bar { display: flex; align-items: center; justify-content: center; gap: clamp(1rem,3vw,2rem); margin-top: 1.2rem; }
.home-card-deck__bar p { display: flex; min-width: 12rem; align-items: baseline; justify-content: flex-end; gap: .8rem; margin: 0; color: #f5ead0; }
.home-card-deck__bar strong { max-width: min(48vw,30rem); overflow: hidden; font-family: var(--font-display); font-size: 1.45rem; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.home-card-deck__bar span { color: #bcb6aa; font-size: .75rem; letter-spacing: .1em; }
.home-card-deck__show-all { border-color: #b496ff !important; color: #fff8e7 !important; }

.home-card-focus { position: relative; color: #f5ead0; }
.home-card-focus::before { position: absolute; inset: 12% 4%; z-index: -1; border-radius: 50%; opacity: .42; background: var(--deck-aura); filter: blur(100px); content: ""; animation: focus-aura-pulse 3s ease-in-out infinite; }
.home-card-focus__return { display: inline-flex; margin: 0 0 1.5rem; padding: .6rem 0; border: 0; color: #d7c9b0; background: transparent; cursor: pointer; font: 800 .78rem/1.2 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.home-card-focus__return:hover,
.home-card-focus__return:focus-visible { color: #fff8e7; }
.home-card-focus__layout { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(15rem,.8fr); gap: clamp(1.5rem,4vw,4rem); align-items: center; }
.home-card-focus__stage { position: relative; min-width: 0; isolation: isolate; }
.home-card-focus__card { position: relative; z-index: 2; min-width: 0; filter: drop-shadow(0 2rem 3rem rgba(0,0,0,.62)); }
.home-card-focus__card::before { opacity: .82; filter: blur(30px); transform: scale(1.03); }
.home-card-focus__meta { position: relative; z-index: 2; }
.home-card-focus__meta h3 { width: min(100%,18ch); margin: .15em 0; overflow: visible; overflow-wrap: anywhere; font-size: clamp(2.4rem,5vw,5rem); hyphens: none; line-height: .86; text-overflow: clip; text-transform: uppercase; white-space: normal; }
.home-card-focus__meta h3.is-long-name { font-size: clamp(1.85rem,3.4vw,3.35rem); }
.home-card-focus__meta h3.is-very-long-name { font-size: clamp(1.3rem,2.45vw,2.45rem); line-height: .92; }
.home-card-focus__meta > p:not(.eyebrow) { color: #bcb6aa; }
.home-card-focus .community-player-card__games button { cursor: pointer; }

.home-card-hand { position: relative; margin-inline: calc(50% - 50vw); padding: clamp(2rem,6vw,5rem) 0 1rem; overflow: hidden; text-align: center; perspective: 1900px; }
.home-card-hand::before { position: absolute; inset: 20% 5%; z-index: -1; opacity: .28; background: radial-gradient(circle,#9b6cff,transparent 65%); filter: blur(75px); content: ""; }
.home-card-hand__burst { position: absolute; top: 50%; left: 50%; width: min(72vw,64rem); aspect-ratio: 1; border-radius: 50%; pointer-events: none; opacity: 0; background: repeating-conic-gradient(from 5deg,transparent 0 8deg,rgba(180,150,255,.5) 9deg,transparent 10deg 17deg); filter: blur(2px); transform: translate(-50%,-50%) scale(.1); }
.home-card-hand.is-dealing .home-card-hand__burst { animation: card-burst 1.05s cubic-bezier(.15,.75,.2,1) both; }
.home-card-hand__cards { display: flex; min-height: clamp(24rem,42vw,39rem); align-items: center; justify-content: center; padding-inline: clamp(1rem,4vw,3rem); transform-style: preserve-3d; }
.home-card-hand__card {
  position: relative;
  z-index: calc(var(--hand-index) + 1);
  flex: 0 0 clamp(18rem,25vw,23rem);
  min-width: 0;
  margin-inline: clamp(-5rem,-5.1vw,-2.4rem);
  padding: 0 0 2.5rem;
  border: 1px solid color-mix(in srgb,var(--deck-aura) 55%,#f5ead0 20%);
  color: #f5ead0;
  background: #090909;
  box-shadow: 0 1.4rem 3rem rgba(0,0,0,.6), 0 0 1.8rem color-mix(in srgb,var(--deck-aura) 28%,transparent);
  cursor: pointer;
  opacity: 0;
  transform: translateY(var(--hand-lift)) rotate(var(--hand-rotation)) scale(.8);
  transition: transform .3s cubic-bezier(.18,.8,.2,1), filter .3s ease, z-index 0s;
}
.home-card-hand.is-dealing .home-card-hand__card { opacity: 1; }
.home-card-hand__card > strong { position: absolute; right: 0; bottom: 0; left: 0; padding: .65rem .75rem; overflow: hidden; color: #fff8e7; font-size: .8rem; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.home-card-hand__card > strong.is-long-name { font-size: .7rem; letter-spacing: .035em; }
.home-card-hand__card > strong.is-very-long-name { font-size: .61rem; letter-spacing: 0; }
.home-card-hand__card:hover,
.home-card-hand__card:focus-visible { z-index: 50; filter: brightness(1.08); transform: translateY(-1.6rem) rotate(0) scale(1.05) !important; }
.home-card-hand > .button { margin-top: 1.5rem; }
.is-showcase-paused .community-player-card *,
.is-showcase-paused .community-player-card *::before,
.is-showcase-paused .community-player-card *::after { animation-play-state: paused !important; }

@keyframes deck-aura-breathe { 50% { opacity: .94; transform: scale(1.025); } }
@keyframes deck-card-float { 0%,100% { transform: translate3d(0,0,0) rotateX(0); } 50% { transform: translate3d(0,-.55rem,16px) rotateX(1.4deg); } }
@keyframes card-burst { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.08) rotate(0); } 32% { opacity: .82; } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.15) rotate(35deg); } }
@keyframes focus-aura-pulse { 50% { opacity: .62; transform: scale(1.08); } }

.home-card-magic { position: absolute; inset: -9%; z-index: -1; overflow: hidden; pointer-events: none; filter: drop-shadow(0 0 9px var(--deck-aura,#9b6cff)); }
.home-card-magic::before,.home-card-magic::after { position: absolute; inset: 9%; border: 2px solid color-mix(in srgb,var(--deck-aura,#9b6cff) 74%,transparent); border-radius: 46%; opacity: .34; content: ""; filter: blur(8px); animation: magic-ring 6s linear infinite; }
.home-card-magic::after { inset: 17%; border-style: dashed; opacity: .56; animation-direction: reverse; animation-duration: 4.2s; }
.home-card-magic i { --angle: calc(var(--particle) * 20deg); position: absolute; top: 50%; left: 50%; width: clamp(3px,.45vw,7px); aspect-ratio: 1; border-radius: 50%; background: color-mix(in srgb,var(--deck-aura,#9b6cff) 72%,#fff 28%); box-shadow: 0 0 14px 4px var(--deck-aura,#9b6cff); animation: magic-particle 2.9s ease-in-out var(--particle-delay) infinite; }
.home-card-magic.is-focus { inset: -13%; z-index: 0; opacity: .96; }
@keyframes magic-ring { to { transform: rotate(360deg) scale(1.03); } }
@keyframes magic-particle { 0%,100% { opacity: .12; transform: rotate(var(--angle)) translateX(13rem) scale(.35); } 45% { opacity: 1; } 60% { transform: rotate(calc(var(--angle) + 18deg)) translateX(clamp(10rem,32vw,29rem)) scale(1.2); } }

@media (max-width:1100px) {
  .home-card-feature__heading { display: block; }
  .home-card-feature__heading .button-row { margin-top: 1.3rem; }
  .home-card-deck__browser { grid-template-columns: 2.8rem minmax(0,1fr) 2.8rem; min-height: clamp(15rem,67vw,35rem); }
  .home-card-deck__arrow { width: 2.8rem; height: 2.8rem; }
  .home-card-focus__layout { grid-template-columns: 1fr; }
  .home-card-focus__meta .button-row { display: grid; }
  .home-card-focus__meta .button { width: 100%; }
  .home-card-hand__cards { justify-content: flex-start; overflow-x: auto; padding: 3rem max(1.2rem,calc((100vw - 24rem)/2)); scroll-padding-inline: 1.2rem; scroll-snap-type: x mandatory; }
  .home-card-hand__card { flex-basis: min(86vw,27rem); margin-inline: .55rem; opacity: 1; transform: none; scroll-snap-align: center; }
  .home-card-hand__card:hover { transform: none !important; }
}
@media (max-width:560px) {
  .home-card-feature { padding-block: 3.5rem !important; }
  .home-card-feature__heading h2 { font-size: clamp(2.8rem,16vw,4.5rem); }
  .home-card-deck { padding-top: .5rem; }
  .home-card-deck__browser { grid-template-columns: 2.5rem minmax(0,1fr) 2.5rem; gap: .35rem; min-height: clamp(13rem,68vw,22rem); }
  .home-card-deck__arrow { width: 2.5rem; height: 2.5rem; font-size: 1.25rem; }
  .home-card-deck__bar { flex-direction: column; }
  .home-card-deck__bar p { min-width: 0; justify-content: center; }
  .home-card-deck__bar .button { width: 100%; }
  .home-deck-card.is-top:hover { transform: none; }
  .home-card-focus__return { margin-bottom: 1rem; }
  .home-card-focus__meta h3 { font-size: clamp(2.5rem,14vw,4rem); }
  .home-card-deck__count { right: -.2rem; bottom: -1.55rem; }
  .home-card-motion-choice { flex-wrap: wrap; padding-inline: .5rem; text-align: center; }
}
@media (prefers-reduced-motion:reduce) {
  html:not(.motion-override) .home-deck-card,
  html:not(.motion-override) .home-card-hand__card,
  html:not(.motion-override) .home-deck-card > span { transition: none; animation: none; }
  html:not(.motion-override) .home-card-energy { display: none; }
  html:not(.motion-override) .home-deck-card.is-top::before { animation: none; }
  html:not(.motion-override) .home-card-magic,
  html:not(.motion-override) .home-card-magic::before,
  html:not(.motion-override) .home-card-magic::after,
  html:not(.motion-override) .home-card-magic i,
  html:not(.motion-override) .home-card-focus::before,
  html:not(.motion-override) .home-card-hand__burst { animation: none !important; }
  html:not(.motion-override) .home-deck-card.is-top:hover,
  html:not(.motion-override) .home-deck-card.is-top:focus-visible { transform: translate3d(0,-.4rem,0); }
  html:not(.motion-override) .home-card-hand__card { opacity: 1; }
}
