/* Shared motion and community links, in Feelgood House's black and gold. */
:root { --nav-height: 65px; }
html { scroll-padding-top: calc(var(--nav-height) + 24px); }
nav { transition: background .3s ease, box-shadow .3s ease; }
nav.scrolled { background: rgba(5, 5, 5, .94); box-shadow: 0 8px 32px #0005; }
nav .bar { max-width: 1100px; gap: 20px; }
nav .actions { display: flex; align-items: center; gap: 8px; }
nav .join-link { padding: 12px 10px; color: #c5c5c5; font: 600 13px/1.5 'Inter', sans-serif; letter-spacing: .06em; text-transform: uppercase; border-radius: 4px; }
nav .brand { flex-shrink: 0; }
.hero { min-height: 100svh; padding-top: calc(var(--nav-height) + 55px); }
.hero::before { transform: translate3d(0, var(--glow-y, 0px), 0); }
.hero .logo { transform: translate3d(0, var(--logo-y, 0px), 0); }
.community-links { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; width: 100%; max-width: 622px; margin-top: 18px; text-align: left; }
.community-button { --glow: 245, 166, 35; display: flex; align-items: center; gap: 15px; min-height: 90px; padding: 18px 21px; border: 1px solid rgba(var(--glow), .38); border-radius: 8px; background: linear-gradient(120deg, rgba(var(--glow), .11), rgba(var(--glow), .025)); color: #fff; }
.community-button.discord { --glow: 150, 142, 255; }
.community-icon { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 9px; background: rgba(var(--glow), .12); color: rgb(var(--glow)); }
.community-icon svg { width: 23px; height: 23px; }
.community-copy { display: flex; flex-direction: column; gap: 3px; }
.community-copy strong { font: 600 15px/1.4 'Poppins', sans-serif; }
.community-copy > span { font-size: 12px; line-height: 1.5; color: #b8b8be; }
.outbound { margin-left: auto; flex-shrink: 0; color: rgb(var(--glow)); transition: transform .3s ease; }
.community-button:hover .outbound { transform: translate(2px, -2px); }

/* Pointer position drives the highlight; a damped spring drives translation. */
body .feelgood-interactive { --glow: 245, 166, 35; --lift: 0px; --press: 1; position: relative; touch-action: manipulation; -webkit-tap-highlight-color: transparent; transform: translate3d(var(--mag-x, 0px), calc(var(--mag-y, 0px) + var(--lift)), 0) scale(var(--press)); transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .2s ease; }
body .feelgood-interactive.discord { --glow: 150, 142, 255; }
body .feelgood-interactive.magnetic { transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease; }
body .feelgood-interactive:is(:hover, :focus-visible, :active) { transform: translate3d(var(--mag-x, 0px), calc(var(--mag-y, 0px) + var(--lift)), 0) scale(var(--press)); }
body .feelgood-interactive:focus-visible { outline: 2px solid rgb(var(--glow)); outline-offset: 5px; box-shadow: 0 0 0 5px rgba(var(--glow), .12), 0 8px 32px rgba(var(--glow), .24); }
body :is(.btn.solid, .cta, .fg-event-button, form button):is(:hover, :focus-visible):not(:disabled) { background: #ffc45d; color: #000; border-color: #ffc45d; box-shadow: 0 0 24px #f5a62355, 0 10px 35px #f5a62320; }
body :is(.btn.ghost, .handle, .community-button):is(:hover, :focus-visible) { border-color: rgb(var(--glow)); color: #fff; background-color: rgba(var(--glow), .15); box-shadow: 0 0 22px rgba(var(--glow), .18), inset 0 0 24px rgba(var(--glow), .06); }
body :is(.join-link, .brand, .back):is(:hover, :focus-visible) { color: var(--gold); background-color: #f5a6230d; box-shadow: 0 0 20px #f5a62320; }
body .feelgood-interactive:active:not(:disabled) { --press: .97; --lift: 0px; box-shadow: 0 0 32px rgba(var(--glow), .4); }
body .feelgood-interactive:disabled { transform: none; box-shadow: none; }
@media (hover: hover) and (pointer: fine) {
  body .feelgood-interactive:hover:not(:disabled) { --lift: -3px; }
  .community-button:hover { background-image: radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 50%), rgba(var(--glow), .2), transparent 80%); }
}

.band.motion-band { isolation: isolate; overflow: hidden; background-image: none !important; }
.band.motion-band::before { content: ''; position: absolute; z-index: -1; inset: -48px 0; background-image: var(--band-image); background-size: cover; background-position: center; transform: translate3d(0, var(--band-y, 0px), 0); }
.reveal-pending { opacity: 0; }
.reveal-pending:focus-within { opacity: 1; }
footer a { transition: color .25s ease, text-shadow .25s ease; }
footer a:hover { color: #ffcf75; text-shadow: 0 0 18px #f5a62380; }

@media (max-width: 640px) {
  :root { --nav-height: 108px; }
  nav .bar { height: auto; min-height: 108px; padding: 14px 18px 10px; flex-direction: column; justify-content: center; gap: 6px; }
  nav .actions { justify-content: center; flex-wrap: wrap; gap: 2px; }
  nav .join-link { padding: 10px 9px; font-size: 12px; }
  nav .cta { padding: 10px 12px; font-size: 12px; }
  .hero { padding-top: calc(var(--nav-height) + 48px); padding-bottom: 64px; }
  .hero .promise { margin-top: 28px; }
  .hero .sub { font-size: 16px; }
  .hero .btns { width: 100%; max-width: 420px; gap: 12px; margin-top: 28px; }
  .hero .btn { width: 100%; padding: 16px 18px; }
  .community-links { max-width: 420px; grid-template-columns: 1fr; gap: 12px; margin-top: 12px; }
  .community-button { min-height: 82px; }
  .fg-events-main { padding-top: calc(var(--nav-height) + 42px); }
  .fg-guest-section { scroll-margin-top: 0; }
}

@media (max-width: 360px) {
  nav .bar { padding-inline: 12px; }
  nav .actions { gap: 0; }
  nav .join-link { font-size: 11px; padding-inline: 7px; }
  nav .cta { font-size: 11px; padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  body .feelgood-interactive, body .feelgood-interactive:is(:hover, :focus-visible, :active), .hero .logo, .hero::before, .band.motion-band::before, .outbound { transform: none !important; }
  .reveal-pending { opacity: 1; }
}
