/* ============================================================
   BORING GYM CLUB — Genesis site
   Joyful brutalist-pop · cream + electric blue + coral
   ============================================================ */

:root{
  /* base palette */
  --cream:#fef3e1;
  --cream-2:#fce6c4;
  --cream-3:#f7d99a;
  --blue:#2c3df1;
  --blue-deep:#1521b5;
  --blue-bright:#4a5bff;
  --ink:#0e1158;
  --ink-soft:#3a3f78;
  --ink-mute:#7a7fae;

  /* accent + pop colors (accent is tweakable) */
  --accent:#ff5b3a;       /* coral */
  --accent-2:#ff8463;
  --yellow:#ffd23f;
  --green:#34d399;
  --pink:#ff8db4;
  --lavender:#a78cf4;

  /* rarity */
  --rar-common:#9da3c5;
  --rar-uncommon:#34d399;
  --rar-rare:#4a5bff;
  --rar-legendary:#ffb02e;
  --rar-grail:#ff5b3a;

  /* hard offset shadows */
  --shadow-pill:0 4px 0 0 rgba(14,17,88,.9);
  --shadow-pill-cream:0 4px 0 0 rgba(254,243,225,.85);
  --shadow-card:0 14px 0 -4px rgba(14,17,88,.18);
  --shadow-block:0 8px 0 -2px rgba(14,17,88,.55);

  /* type */
  --display:"Archivo Black","Arial Black",sans-serif;
  --body:"Inter Tight","Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;

  --maxw:1320px;
  --pad:clamp(20px,5vw,36px);

  --logo-mask:url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%3F%3E%3Csvg%20id%3D%22Calque_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%201770.32%20350.64%22%20fill%3D%22%23000%22%3E%3Cg%3E%3Cpath%20d%3D%22M769.06%2C132.2c12.14%2C4.24%2C22.46-3.21%2C32.32-11.64.75-6.07-4.86-9.82-10.7-12.28l18.92-13.79c25.61%2C11.96%2C41.98%2C36.7%2C43.75%2C65.12%2C1.16%2C18.55.31%2C36.56.45%2C55.57.03%2C4.49%2C3.2%2C6.12%2C7.23%2C7.99%2C1.61%2C1.42-.86%2C5.42-3.38%2C6.66l-18.28%2C9.03-32.77%2C21.82c-22.61%2C15.06-55.39%2C4.02-72.93-14.2-26.67-27.7-33.67-68.72-29.13-106.71%2C4.66-39.07%2C23.42-73.37%2C53.78-97.94%2C11.99-9.7%2C24.06-17.87%2C36.9-26.56l18.09%2C15.62c10.19%2C8.8%2C22.42%2C11.57%2C35.68%2C8.38-1.61%2C6.09-5.04%2C9.33-9.27%2C12.28-11.85%2C8.26-22.05%2C17.57-30.9%2C28.7-7.15-12.36-17.35-21.93-29.86-27.96l-12.73-6.14c-7.12%2C7.45-11.67%2C14.74-15.48%2C24.01-15.44%2C37.5-16.52%2C85.33-.29%2C122.46%2C6.99%2C15.99%2C19.07%2C30.09%2C35.73%2C35.76%2C10.29%2C3.5%2C21.17%2C2.39%2C32.14%2C2.2l-.55-72.58c-.07-9.81-13.27-13.89-20.79-14.32-17.08-.97-29.54%2C6.63-37.39%2C22.2-2.34-13.24%2C4.93-23.42%2C9.46-33.69Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1142.62%2C126.01l-20.44%2C19.3-.1%2C76.89c0%2C7.49%2C1.56%2C13.36%2C9.65%2C16.88l-25.93%2C28.97-24.93-28.04%2C8.37-11.31.04-83.9c0-8.95-4.74-16.74-12.69-20.7-7.92%2C7.11-14.38%2C14.13-20.37%2C22.37v81.56s9.43%2C10.87%2C9.43%2C10.87l-24.58%2C29.06-25.56-28.78%2C9.18-10.2.08-89.95c0-9.33-5.14-15.59-14.13-19.61l32.3-32.13c6.11%2C7.58%2C12.25%2C15.78%2C14.28%2C25.01l-.38%2C19.48%2C41-41.85c9.15%2C8.71%2C16.83%2C16.79%2C24.39%2C26.54l.94%2C14.89%2C41.06-39.81%2C31.31%2C36.6c-2.98%2C5.1-5.84%2C8.51-10.25%2C12.9l-.09%2C78.33c0%2C5.24%2C2.39%2C12.06%2C5.75%2C15.89%2C1.41%2C1.61%2C5.86.59%2C9.66-.35.6%2C1.88-1.04%2C5.68-3.15%2C7.95l-25.91%2C25.1c-6.88-9.69-16.04-18.11-16.12-31.47l-.54-93.06c-.04-6.66-6.25-11.96-12.26-17.42Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M917.08%2C267.97l-16.28-11.34c-7.33-6.15-13.88-14.39-13.88-23.96l.05-102.07c0-4.43-6.18-9.33-10.45-12.56l28.29-30.62c27.06%2C28.56%2C15.52%2C33.76%2C15.52%2C37.71l.11%2C93.76c0%2C6.64%2C11.32%2C13.73%2C16.03%2C10.06%2C7.87-6.12%2C13.28-13.74%2C19.44-21.5l.04-81.03-4.62-9.15%2C28.39-30.14c8.59%2C7.06%2C14.22%2C14.17%2C20.11%2C23.6-7.4%2C7.62-9.58%2C15.52-9.59%2C25.57l-.22%2C141.65c-7.34%2C22.16-34.15%2C43.74-53.13%2C60.6-14.91-1.15-27.83-6.3-40.87-13.55-4.13-2.29-8.13-1.19-11.65%2C1.69-.13-1.22.91-5.3%2C2.07-6.52l24.46-25.76c12.24%2C9.72%2C24.53%2C16.56%2C39.98%2C15.97%2C4.57-7.43%2C5.23-16.35%2C5.18-25.07l-.31-60.81-38.66%2C43.49Z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cg%3E%3Cpath%20d%3D%22M1741.7%2C239.03c-12.41%2C8.72-23%2C16.47-32.89%2C28.94-15.97-16.61-34.4-25.65-57.3-30.43l13.17-12.95-.03-167.13c0-5.56-5.06-12.15-6.54-17.46%2C9.89-1.22%2C18.81-2.24%2C25.97-7.57l29.54-21.99c4.8%2C8.04-16.74%2C24.19-16.8%2C42.67l-.22%2C72.59%2C38.93-35.44%2C25.36%2C24.97.21%2C110.17-19.39%2C13.61ZM1727.52%2C236.14l-.05-98.5c0-5.69-8.73-12.47-13.83-13.37l-17.41%2C13-.1%2C79.03%2C31.4%2C19.84Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1323.27%2C221.14c18.91%2C15.03%2C52.43%2C13.4%2C68.49-6.14%2C2.35%2C4.26%2C1.49%2C8.63-1.63%2C12.22-11.89%2C13.66-25.74%2C26.22-41.64%2C35.17-7.93%2C4.46-17.33%2C6.53-26.34%2C5.14-71.53-10.97-89.09-123.32-46.1-194.73%2C15.14-25.16%2C40.57-43.63%2C65.62-58.28%2C12.87%2C12.57%2C29.04%2C32.35%2C45.97%2C29.02.81%2C1.56-1.23%2C6.35-3.73%2C8.15-11.64%2C8.39-21.52%2C17.34-30.95%2C27.52-11.04-14.33-23.01-26.21-37.79-35.92-8.88%2C8.77-12.71%2C18.58-16.41%2C29.53-12.34%2C36.5-13.27%2C75.12-.66%2C111.54%2C5.13%2C14.84%2C12.88%2C27%2C25.18%2C36.78Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1628.78%2C221.48c0%2C4.86%2C4.49%2C11.28%2C7.66%2C10.59l5.72-1.25c1.07-.23%2C1.72%2C2.64%2C2.09%2C4.02l-22.79%2C24.44-7.68%2C8.67-10.68-14.27c-6.63-8.86-8.5-17.15-7.42-29.81l-39.75%2C44.12c-11.65-7.68-22.71-20-27.47-33.28l.11-92.81c0-7.08-1.31-17.5-7.18-21.11l-5.13-1.7c-.92-.3.72-3.12%2C1.44-3.78l28.23-28.76%2C21.36%2C28.01c-2.76%2C4.88-7.09%2C10.59-7.09%2C15.85v83.1c0%2C6.5%2C4.28%2C13.11%2C10.43%2C15.55%2C3.08%2C1.22%2C8.49-1.58%2C10.62-4.08l16.01-18.78.09-68.66c.01-8.47-3.59-15.92-8.88-21.7l26.4-27.88%2C23.66%2C25.18-9.69%2C13.57-.07%2C94.8Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1488.84%2C267.19c-5.92%2C3.19-11-7.92-21.82-7.87l-61.25%2C1.29c-1.83.12-4.72.82-5.36-.29-3.23-5.58%2C8-7.27%2C8-18.62l-.03-184.23c0-6.76-3.13-13.18-5.98-18.38%2C13.21-4.09%2C24.72-10.97%2C35.17-19.62%2C5.91-4.88%2C11.44-9.29%2C18.59-12.29-3.85%2C10.67-8.03%2C17.45-9.82%2C26.75-1.5%2C7.82-5.02%2C16.8-5.03%2C25.04l-.25%2C167.43%2C54.89-.24c4.05-8.17%2C5.94-14.75%2C7.92-23.47%2C9.16-1.61%2C6.05%2C24.63.7%2C34.23l-15.74%2C30.27Z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cg%3E%3Cpath%20d%3D%22M27.87%2C234.06l11.34-5.33c2.52-8%2C5.84-16.76%2C5.85-25.45l.06-114.71c11.05-12.32%2C22.86-22.26%2C36.66-33.35-18.67-7.55-45.71%2C5.47-55.21%2C23.08-8.69%2C16.11-3.93%2C36.16%2C10.96%2C42.47-7.35%2C10.24-13.74%2C19.92-19.82%2C31.7-5.29-8.78-10.8-18.37-12.1-28.37-3.23-24.8%2C6.92-49.16%2C25.05-65.44%2C17.85-16.03%2C39.55-22.98%2C63.17-21.94%2C11.72.52%2C20.54%2C5.12%2C28.61%2C13.28%2C15.95%2C16.11%2C17.62%2C39.34%2C2.68%2C57.32l-16.38%2C17.33c30.66%2C11.9%2C44%2C47.2%2C40.78%2C78.83-1.24%2C12.22-8.23%2C24.07-16.82%2C32.88-14.22%2C14.59-27.4%2C28.45-40.82%2C44.15l-13.98-8.34c-21.49-12.81-51.61-17.91-71.1.49.38-15.07%2C7.78-29.92%2C21.08-38.61ZM90.43%2C130.48c20.3-19.4%2C18.4-60.28-4.72-73.46-6.59%2C6.84-8.53%2C16.02-8.57%2C25.26l-.24%2C61.13%2C13.53-12.93ZM65.95%2C229.6c16.1%2C1.43%2C29.67%2C9.57%2C43.72%2C16.8%2C6.92-13.83%2C8.02-29.72%2C6.21-44.92-2.57-21.56-8.23-46.33-24.96-60.72l-14.06%2C11.07c.51%2C17.61.76%2C33.98.13%2C50.83l-29.01%2C25.36%2C17.98%2C1.6Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M556.31%2C324.8c-6.4-2.09-10.58-1.02-15.78%2C3.38l-.84-4.31c7.28-10.87%2C15.56-20.42%2C25.15-28.97%2C15.73%2C11.61%2C34.83%2C21.37%2C54.36%2C17.56%2C9.09-2.59%2C7.58-19.07%2C3.06-25.28l-19.52-26.78-21.3%2C7.55-6.66-9.9c-2.02-3.01-4.98-5.31-8.46-6.31-7.04-2.01-9.42%2C3.06-15.58%2C1%2C7.38-8.18%2C7.58-7.41%2C17.13-15.42-5.53-5.24-16.41-10-16.45-18.64l-.35-76.45c11.62-8.27%2C22.96-15.46%2C32.31-25.52l14.6-15.72%2C30.44%2C27.12c9.63-4.81%2C9.46-22.54%2C12.08-18.23l2.51%2C4.14%2C8.13%2C34.61c-3.02%2C8.79-12.02%2C11.23-21.67%2C8.4l3.12%2C6.36-.23%2C64.15-3%2C15.54%2C14.45%2C19.1c11.24%2C14.85%2C8.85%2C34.07-3.98%2C47.14-14.42%2C14.68-32.55%2C32.08-50.58%2C26.2l-32.95-10.74ZM607.15%2C197.04l-.24-44.82-22.32-22.15c-1.04-1.04-4.62-1.93-4.96-.84l-1.21%2C3.79.29%2C78.05c.74%2C2.29%2C2.09%2C5.27%2C3.5%2C6.22s5.33-.56%2C6.7-1.94l18.24-18.31ZM593.44%2C256.06c4.7-3.65%2C12.89-9.53%2C12.94-15.58l.28-33.09-33.84%2C30.66%2C20.62%2C18Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M497.17%2C229.28l-.18-81.94c-.02-7.62-5.27-14.17-11.33-17.87l-19.17%2C20.22-.21%2C76.63c-.02%2C5.59%2C3.58%2C10.55%2C8.27%2C14.38l-23.35%2C27.4-21.5-27.12c1.7-2.29%2C6.58-8.06%2C6.58-11.85l.05-90.32c0-6.79-4.28-12.22-10.9-13.93l30.29-31.95c4.16%2C6.67%2C9.64%2C14.96%2C12.15%2C22.77l-.99%2C20.1%2C38.62-39.76c11.77%2C10.89%2C19.53%2C21.78%2C27.7%2C35.36l-6.41%2C11-.4%2C78.11c-.03%2C6.34%2C1.88%2C16.68%2C6.42%2C18.69.91.4%2C4.39-.97%2C5.13-1.2.99-.31%2C1.9.84%2C3.3%2C2.77l-27.51%2C27.2c-10.18-11.85-16.55-22.44-16.59-38.69Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M212.2%2C267.13c-15.11-14.64-31.89-26.79-52.56-32.43%2C1.47-2.25%2C5.06-6.81%2C5.08-9.49l.4-93.11c10.28-5.04%2C18.62-10.13%2C26.31-17.59l22.01-21.32c13.14%2C12.87%2C27.94%2C21.89%2C44.9%2C29.29l-1.11%2C6.37-.12%2C103.9c-9.92%2C3.82-17.33%2C9.13-25.18%2C15.39l-19.74%2C18.97ZM227.2%2C233.85l.08-91.52-29.7-17.07c-1.58-.91-4.37%2C1.63-4.63%2C3.61l.29%2C86.17%2C33.95%2C18.81Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M321.9%2C233c5.47%2C2.52%2C12.6-6.31%2C13.05-3.36l.7%2C4.51-30.39%2C33.82-14.47-16.73-14.62-13.16%2C8.18-12.3.04-81.38c0-6.14-3.94-15.88-8.84-15.29l-4.71.57c-.8.1-.88-2.59-1-4.04l31.16-33.74c7.03%2C9.39%2C11.19%2C18.55%2C16.87%2C30.73l22.26-30.37%2C20.62%2C30.14-21.16%2C26.61-15.65-21.12-8.93%2C11.68.28%2C85.33c0%2C2.65%2C4.35%2C7.05%2C6.61%2C8.09Z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M414.83%2C240.76l-24.99%2C27.12-20.63-28.58c1.78-2.39%2C5.35-7.32%2C5.35-10.21v-91.47c-1.15-6.39-4.58-11.1-10.89-15.09%2C10.13-8.94%2C19.05-18.94%2C26.34-30.03%2C7.17%2C9.97%2C15.03%2C18.38%2C23.72%2C26l-9.22%2C14.72.1%2C96.99%2C3.39%2C5.29c.87%2C1.36%2C4.69-.14%2C7.7-1.15.82.48.49%2C4.92-.87%2C6.4Z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--body);
  font-size:16px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--accent);color:var(--cream)}

/* grain off in the bright system */
.grain{display:none}

/* scroll progress */
.progress{position:fixed;top:0;left:0;height:4px;width:0;z-index:9500;background:var(--accent)}

/* ============================================================
   TYPE HELPERS
   ============================================================ */
.display{font-family:var(--display);text-transform:uppercase;letter-spacing:-.03em;line-height:.94}
.kicker{
  font-family:var(--mono);font-size:12px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
}
.kicker-dim{color:var(--ink-mute)}
.gold-text{color:var(--accent)}        /* legacy hook → accent */
.brand-mark{font-family:var(--display)}

/* coral "pop" box for emphasis words */
.pop{display:inline-block;background:var(--accent);color:var(--cream);
  padding:0 .28em;border-radius:16px;transform:rotate(-2deg)}

/* ============================================================
   PILL BUTTONS
   ============================================================ */
.btn-gold,.btn-ghost,.nav__cta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--display);font-size:14px;letter-spacing:.04em;text-transform:uppercase;
  padding:14px 24px;border-radius:999px;border:2.5px solid var(--ink);cursor:pointer;
  box-shadow:var(--shadow-pill);transition:transform .1s,box-shadow .1s,background .15s,color .15s;
  white-space:nowrap;
}
.btn-gold{background:var(--accent);color:var(--cream)}
.btn-gold:hover{background:var(--ink);color:var(--accent);transform:translate(-1px,-1px);box-shadow:0 6px 0 0 rgba(14,17,88,.9)}
.btn-gold:active{transform:translate(0,3px);box-shadow:0 1px 0 0 rgba(14,17,88,.9)}
.btn-ghost{background:var(--cream);color:var(--ink)}
.btn-ghost:hover{background:var(--yellow);transform:translate(-1px,-1px);box-shadow:0 6px 0 0 rgba(14,17,88,.9)}
.nav__cta{background:var(--accent);color:var(--cream);padding:12px 20px;font-size:13px}
.nav__cta:hover{background:var(--ink);color:var(--accent)}

/* on-blue pill variants */
.is-blue .btn-gold,.is-blue .btn-ghost{box-shadow:var(--shadow-pill-cream)}
.is-blue .btn-ghost{border-color:var(--cream)}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:8000;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:14px var(--pad);
  background:var(--cream);border-bottom:3px solid var(--ink);
}
.nav__logo{display:flex;align-items:center}
.logo-mark{display:block;width:150px;height:34px;background:var(--ink);
  -webkit-mask:var(--logo-mask) no-repeat center/contain;
  mask:var(--logo-mask) no-repeat center/contain}
.nav__links{display:flex;gap:28px;align-items:center}
.nav__links a{font-family:var(--display);font-size:14px;letter-spacing:.03em;text-transform:uppercase;transition:color .15s}
.nav__links a:hover{color:var(--accent)}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.nav__burger span{width:24px;height:2.5px;background:var(--ink)}

/* ============================================================
   HERO — split layout
   ============================================================ */
.hero{
  position:relative;min-height:90vh;min-height:90svh;
  display:flex;align-items:center;
  padding:clamp(40px,7vh,80px) var(--pad) clamp(56px,8vh,90px);
  overflow:hidden;background:var(--cream);
}
.hero__grid{
  position:relative;z-index:2;max-width:var(--maxw);width:100%;margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center;
}
.hero__copy{position:relative;z-index:3}
.hero__eyebrow{
  display:inline-block;background:var(--ink);color:var(--cream);
  font-family:var(--display);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:9px 18px;border-radius:999px;margin-bottom:24px;white-space:nowrap;
}
.hero h1{
  font-family:var(--display);text-transform:uppercase;color:var(--ink);
  font-size:clamp(40px,5.4vw,84px);line-height:.96;letter-spacing:-.035em;
}
.hero h1 .pop{margin-top:.06em}
.hero__lead{
  max-width:42ch;margin-top:24px;font-size:clamp(15px,1.15vw,18px);font-weight:500;color:var(--ink-soft);line-height:1.5;
}
.hero__lead b{color:var(--accent);font-weight:700}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero__stats{
  display:flex;gap:36px;flex-wrap:wrap;margin-top:38px;padding-top:24px;border-top:2px solid var(--cream-2);
}
.hero__stats div{display:flex;flex-direction:column;gap:3px}
.hero__stats b{font-family:var(--display);font-size:clamp(20px,1.7vw,26px);color:var(--ink);line-height:1;letter-spacing:-.02em}
.hero__stats span{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* ---- page entry: nav drop + staggered hero reveal ---- */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes navDrop{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}
.nav{animation:navDrop .55s cubic-bezier(.16,1,.3,1) both}
.hero__eyebrow,.hero h1,.hero__lead,.hero__cta,.hero__stats{animation:fadeUp .85s cubic-bezier(.16,1,.3,1) both}
.hero__eyebrow{animation-delay:.08s}
.hero h1{animation-delay:.18s}
.hero__lead{animation-delay:.30s}
.hero__cta{animation-delay:.42s}
.hero__stats{animation-delay:.54s}
.hero__stage{animation:fadeIn 1s ease .25s both}

/* bottle stage */
.hero__stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(70vh,640px)}
.hero__blob{position:absolute;width:84%;aspect-ratio:1;z-index:0;background:var(--blue);
  border-radius:60% 40% 50% 70%/60% 50% 50% 40%;animation:blobMorph 10s ease-in-out infinite}
@keyframes blobMorph{0%,100%{border-radius:60% 40% 50% 70%/60% 50% 50% 40%;transform:scale(1) rotate(0)}50%{border-radius:42% 58% 68% 50%/52% 62% 42% 50%;transform:scale(1.04) rotate(7deg)}}
.hero__stage img{position:relative;z-index:2;max-height:min(68vh,620px);width:auto;
  filter:drop-shadow(0 32px 36px rgba(14,17,88,.4));animation:floatY 5s ease-in-out infinite}
.hero__stage img.hero-swap{transition:opacity .5s ease;}
.hero__stage img.hero-out{opacity:0}

.sticker{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--display);font-size:13px;letter-spacing:.04em;text-transform:uppercase;line-height:1.05;
  padding:14px 18px;border:2.5px solid var(--ink);box-shadow:var(--shadow-pill);
  background:var(--accent);color:var(--cream);transform:rotate(var(--r,-6deg));
  animation:wobble 3.6s ease-in-out infinite;
}
.sticker.round{border-radius:999px;width:104px;height:104px;flex-direction:column;gap:3px;padding:10px}
.sticker.yellow{background:var(--yellow);color:var(--ink)}
.sticker.green{background:var(--green);color:var(--ink)}
.sticker.lavender{background:var(--lavender);color:var(--ink)}
.sticker.blue{background:var(--blue);color:var(--cream)}
@keyframes wobble{0%,100%{transform:rotate(var(--r,-6deg)) translateY(0)}50%{transform:rotate(calc(var(--r,-6deg) + 4deg)) translateY(-6px)}}
.hero__st1{position:absolute;z-index:3;top:4%;left:2%;animation:floatY 6s ease-in-out infinite}
.hero__st2{position:absolute;z-index:3;top:28%;right:-2%;animation:floatY 5.4s ease-in-out infinite;animation-delay:-1.5s}
.hero__st3{position:absolute;z-index:3;bottom:6%;left:6%;animation:floatY 5.8s ease-in-out infinite;animation-delay:-2.4s}

.scrollcue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:4;
  font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--ink);text-transform:uppercase;
  display:flex;align-items:center;gap:12px}
.scrollcue .bar{display:inline-block;width:30px;height:2.5px;background:var(--ink)}

/* ============================================================
   MARQUEE STRIP (blue band)
   ============================================================ */
.marquee{overflow:hidden;background:var(--blue);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);white-space:nowrap;position:relative}
.marquee__track{display:inline-flex;align-items:center;animation:slide 30s linear infinite;will-change:transform}
.marquee__track span{
  font-family:var(--display);text-transform:uppercase;font-size:clamp(18px,2.6vw,30px);
  color:var(--cream);padding:14px 0;line-height:1;letter-spacing:.02em;
}
.marquee__track .dot{color:var(--yellow);padding:0 clamp(16px,2.4vw,34px);transform:translateY(-.04em)}
@keyframes slide{to{transform:translateX(-50%)}}
.marquee:hover .marquee__track{animation-play-state:paused}

/* ============================================================
   SECTION SHELL
   ============================================================ */
.section{position:relative;padding:clamp(72px,11vh,120px) var(--pad)}
.wrap{max-width:var(--maxw);margin:0 auto;position:relative}
.is-blue{background:var(--blue);color:var(--cream)}
.is-blue .sec-ord,.is-blue .kicker{color:var(--yellow)}
.sec-ord{font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--accent);font-weight:600;text-transform:uppercase;margin-bottom:14px}

/* reveal-on-scroll */
[data-rise]{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
[data-rise].in{opacity:1;transform:none}
[data-rise].d1{transition-delay:.08s}
[data-rise].d2{transition-delay:.16s}
[data-rise].d3{transition-delay:.24s}
[data-rise].d4{transition-delay:.32s}

/* wavy dividers */
.wavy{display:block;width:100%;height:60px;position:relative;z-index:3;margin-top:-1px;margin-bottom:-1px;line-height:0}
.wavy svg{display:block;width:100%;height:100%}
.wavy.to-blue path{fill:var(--blue)}
.wavy.to-cream path{fill:var(--cream)}

/* ============================================================
   02 — THE OBJECT
   ============================================================ */
.object{background:var(--cream)}
.object__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;margin-bottom:clamp(40px,6vh,70px)}
.object__head h2{font-family:var(--display);text-transform:uppercase;color:var(--ink);
  font-size:clamp(40px,6.4vw,100px);line-height:.94;letter-spacing:-.035em}
.object__head p{max-width:34ch;color:var(--ink-soft);font-size:17px;line-height:1.5}
.object__stage{
  display:grid;grid-template-columns:1fr minmax(280px,420px) 1fr;align-items:center;gap:30px;
  min-height:min(60vh,600px);
}
.object__spec{align-self:center}
.object__spec.right{text-align:right}
.spec-row{padding:16px 0;border-top:2px solid var(--cream-2)}
.spec-row .k{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.spec-row .v{font-family:var(--display);font-size:clamp(20px,2vw,30px);color:var(--ink);text-transform:uppercase;line-height:1}
.object__spec.right .v.gold{color:var(--accent)}
.object__bottle{position:relative;display:flex;align-items:center;justify-content:center;height:100%}
.object__glow{position:absolute;width:78%;aspect-ratio:1;z-index:0;background:var(--blue);
  border-radius:60% 40% 50% 70%/60% 50% 50% 40%;animation:blobMorph 9s ease-in-out infinite;transition:background .5s}
@keyframes blobMorph{0%,100%{border-radius:60% 40% 50% 70%/60% 50% 50% 40%;transform:scale(1) rotate(0)}50%{border-radius:40% 60% 70% 50%/50% 60% 40% 50%;transform:scale(1.04) rotate(8deg)}}
.object__bottle img{position:relative;z-index:1;max-height:min(54vh,520px);width:auto;
  filter:drop-shadow(0 26px 30px rgba(14,17,88,.34));transition:opacity .4s,transform .4s;animation:floatY 5s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.object__bottle img.swap{opacity:0;transform:translateY(14px) scale(.97)}
.object__pedestal{display:none}

.swatches{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:clamp(34px,5vh,56px)}
.swatch{width:46px;height:46px;border-radius:50%;border:2.5px solid var(--ink);cursor:pointer;position:relative;
  background-size:cover;background-position:center;transition:transform .18s,border-color .18s;overflow:hidden;box-shadow:var(--shadow-pill)}
.swatch:hover{transform:translate(-1px,-2px)}
.swatch.active{border-color:var(--accent);transform:scale(1.12)}

/* ============================================================
   03 — STATEMENT (blue)
   ============================================================ */
.statement{position:relative;min-height:84vh;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;padding:clamp(80px,12vh,140px) var(--pad);background:var(--blue);color:var(--cream)}
.statement__bg{position:absolute;inset:0;z-index:0;opacity:.16;mix-blend-mode:luminosity}
.statement__bg img{width:100%;height:100%;object-fit:cover}
.statement::before{content:"★";position:absolute;left:7%;top:16%;font-family:var(--display);font-size:56px;color:var(--yellow);transform:rotate(-12deg);animation:floatY 8s ease-in-out infinite}
.statement::after{content:"●";position:absolute;right:9%;bottom:18%;font-size:40px;color:var(--accent);animation:floatY 7s ease-in-out infinite;animation-delay:-2s}
.statement__inner{position:relative;z-index:2;max-width:1200px}
.statement h2{font-family:var(--display);text-transform:uppercase;color:var(--cream);
  font-size:clamp(46px,9vw,150px);line-height:.9;letter-spacing:-.04em}
.statement .kicker{color:var(--yellow);background:var(--ink);display:inline-block;padding:8px 18px;border-radius:999px;margin-bottom:26px}
.statement .gold-text{background:var(--accent);color:var(--cream);padding:0 .12em;border-radius:20px;display:inline-block;transform:rotate(-1.5deg)}

/* ============================================================
   04 — WHY BGC (pillars as colorful cards)
   ============================================================ */
#why{background:var(--cream);color:var(--ink)}
#why .sec-ord{color:var(--accent)}
.pillars__head{max-width:1000px;margin-bottom:clamp(44px,6vh,72px)}
.pillars__head h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(38px,6vw,92px);
  line-height:.94;letter-spacing:-.035em;color:var(--ink);margin-top:8px}
.pillars__head h2 .gold-text{color:var(--accent)}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pillar{padding:28px 26px 34px;border:3px solid var(--ink);border-radius:24px;position:relative;
  box-shadow:var(--shadow-block);transition:transform .2s}
.pillar:nth-child(1){background:var(--yellow);transform:rotate(-2deg)}
.pillar:nth-child(2){background:var(--pink);transform:rotate(1.5deg)}
.pillar:nth-child(3){background:var(--lavender);transform:rotate(-1.5deg)}
.pillar:nth-child(4){background:var(--green);transform:rotate(1.5deg)}
.pillar:hover{transform:rotate(0) translateY(-6px)}
.pillar .pn{position:absolute;top:18px;right:22px;font-family:var(--display);font-size:26px;color:var(--ink);opacity:.55;letter-spacing:-.03em}
.pillar h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(22px,1.9vw,28px);
  color:var(--ink);margin:34px 0 12px;line-height:1}
.pillar p{font-size:14.5px;color:var(--ink);line-height:1.45;opacity:.92}

/* ============================================================
   05 — KEEP FOREVER (blue)
   ============================================================ */
.forever{background:var(--blue);color:var(--cream)}
.forever .sec-ord{color:var(--yellow)}
.forever__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center}
.forever__img{position:relative;background:var(--cream);border:3px solid var(--ink);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-card)}
.forever__img img{width:100%;height:auto}
.forever__img .tag{position:absolute;top:14px;left:14px;font-family:var(--display);font-size:11px;
  letter-spacing:.05em;color:var(--cream);background:var(--ink);padding:5px 11px;border-radius:8px;text-transform:uppercase}
.forever h2{font-family:var(--display);text-transform:uppercase;color:var(--cream);
  font-size:clamp(38px,5vw,80px);line-height:.94;letter-spacing:-.035em;margin:8px 0 26px}
.forever h2 .gold-text{background:var(--accent);color:var(--cream);padding:0 .1em;border-radius:14px;display:inline-block;transform:rotate(-1.5deg)}
.forever .lead{font-size:17px;color:rgba(254,243,225,.9);line-height:1.5;max-width:46ch;margin-bottom:32px}
.feat{display:flex;gap:18px;padding:20px 0;border-top:2px solid rgba(254,243,225,.25)}
.feat .fi{font-family:var(--display);font-size:34px;color:var(--yellow);line-height:1;min-width:50px}
.feat h3{font-family:var(--display);text-transform:uppercase;font-size:20px;color:var(--cream);letter-spacing:-.01em;margin-bottom:4px}
.feat p{font-size:14px;color:rgba(254,243,225,.8)}

/* ============================================================
   06 — THE REVEAL (cream)
   ============================================================ */
.reveal{position:relative;background:var(--cream);color:var(--ink);overflow:hidden;text-align:center}
.reveal__inner{max-width:960px;margin:0 auto;position:relative;z-index:2}
.reveal .kicker{display:inline-block;background:var(--ink);color:var(--cream);padding:8px 16px;border-radius:999px;font-family:var(--display);letter-spacing:.06em;margin-bottom:18px}
.reveal h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(46px,9vw,140px);
  line-height:.92;letter-spacing:-.04em;color:var(--ink);margin:8px 0 18px}
.reveal .lead{max-width:50ch;margin:0 auto 36px;color:var(--ink-soft);font-size:17px;line-height:1.5}
.reveal__box{position:relative;width:min(380px,80vw);margin:0 auto;aspect-ratio:1/1.16;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  border:3px solid var(--ink);border-radius:26px;overflow:hidden;box-shadow:var(--shadow-card);background:var(--cream-2)}
.reveal__box .layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .55s,transform .55s}
.reveal__box img{max-height:88%;width:auto;filter:drop-shadow(0 18px 24px rgba(14,17,88,.3))}
.reveal__box .glow{position:absolute;inset:0;background:
  radial-gradient(circle at 30% 30%,var(--yellow) 0,transparent 52%),
  radial-gradient(circle at 70% 72%,var(--pink) 0,transparent 52%),var(--cream-2);z-index:0}
.reveal__box .mystery{z-index:2;background:transparent}
.reveal__box .mystery img{border-radius:0!important;max-height:96%}
.reveal__box .prize{z-index:3;opacity:0;transform:scale(.9);background:var(--cream)}
.reveal__box.opened .mystery{opacity:0;transform:scale(1.05)}
.reveal__box.opened .prize{opacity:1;transform:scale(1)}
.reveal__flash{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.9),transparent 60%);opacity:0}
.reveal__box.flash .reveal__flash{animation:flash .7s ease}
@keyframes flash{0%{opacity:0;transform:scale(.4)}25%{opacity:.9}100%{opacity:0;transform:scale(1.4)}}
.reveal__result{height:30px;margin-top:22px;font-family:var(--display);font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent)}
.reveal__hint{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;margin-top:6px}
.reveal #revealBtn{margin-top:10px}

/* ============================================================
   07 — MARKETPLACE (blue, framed)
   ============================================================ */
.market{background:var(--blue);color:var(--cream);overflow:hidden}
.market .sec-ord{color:var(--yellow)}
.market__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;margin-bottom:32px}
.market__head h2{font-family:var(--display);text-transform:uppercase;color:var(--cream);
  font-size:clamp(38px,6vw,96px);line-height:.94;letter-spacing:-.035em}
.market__head .meta{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;color:rgba(254,243,225,.85);text-transform:uppercase;text-align:right;line-height:1.9}
.market__ticker{border:3px solid var(--ink);border-radius:14px;overflow:hidden;margin-bottom:32px;background:var(--cream)}
.market__ticker .t{display:inline-flex;white-space:nowrap;animation:slide 34s linear infinite}
.market__ticker .ti{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--ink);padding:11px 0;text-transform:uppercase}
.market__ticker .ti b{color:var(--accent);font-weight:700}
.market__ticker .sep{color:var(--ink-mute);padding:0 22px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:var(--cream);border:3px solid var(--ink);border-radius:18px;overflow:hidden;
  padding:0 0 14px;position:relative;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .2s,box-shadow .2s;cursor:pointer;box-shadow:0 6px 0 -2px rgba(14,17,88,.6);opacity:0}
.cards--in .card{opacity:1}
.cards--in .card:nth-child(2){transition-delay:.06s,0s,0s}
.cards--in .card:nth-child(3){transition-delay:.12s,0s,0s}
.cards--in .card:nth-child(4){transition-delay:.18s,0s,0s}
.cards--in .card:nth-child(5){transition-delay:.24s,0s,0s}
.cards--in .card:nth-child(6){transition-delay:.30s,0s,0s}
.cards--in .card:nth-child(7){transition-delay:.36s,0s,0s}
.cards--in .card:nth-child(8){transition-delay:.42s,0s,0s}
.card:nth-child(odd){transform:rotate(-1.2deg)}
.card:nth-child(even){transform:rotate(1.2deg)}
.card:hover{transform:rotate(0) translateY(-5px);box-shadow:0 11px 0 -2px rgba(14,17,88,.6)}
.card__auth{position:absolute;top:12px;right:12px;z-index:3;font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;
  color:var(--ink);background:var(--green);border:2px solid var(--ink);border-radius:999px;padding:3px 8px;text-transform:uppercase}
.card__img{height:200px;display:flex;align-items:center;justify-content:center;position:relative;
  background:var(--cream-2);border-bottom:3px solid var(--ink)}
.card__img .g{display:none}
.card__img img{max-height:84%;width:auto;position:relative;z-index:1;filter:drop-shadow(0 10px 14px rgba(14,17,88,.25))}
.card__ed{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--ink-mute);text-transform:uppercase;padding:12px 14px 0}
.card__name{font-family:var(--display);text-transform:uppercase;font-size:18px;color:var(--ink);line-height:1;margin:4px 14px 12px;letter-spacing:-.01em}
.card__foot{display:flex;justify-content:space-between;align-items:flex-end;padding:0 14px}
.card__foot .lbl{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--ink-mute);text-transform:uppercase}
.card__price{font-family:var(--display);font-size:22px;color:var(--ink);line-height:.9}
.card__chg{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.05em}
.card__chg.up{color:var(--green)}.card__chg.down{color:var(--accent)}
.card__rar{position:absolute;top:12px;left:12px;z-index:3;background:var(--rar-legendary);color:var(--ink);
  font-family:var(--display);font-size:9px;letter-spacing:.06em;padding:4px 9px;text-transform:uppercase;border:2px solid var(--ink);border-radius:999px}
.market__note{margin-top:30px;display:flex;gap:22px;flex-wrap:wrap}
.market__note div{flex:1;min-width:180px;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow-block)}
.market__note div:nth-child(2){background:var(--cream)}
.market__note div:nth-child(3){background:var(--green)}
.market__note h3{font-family:var(--display);text-transform:uppercase;color:var(--ink);font-size:18px;letter-spacing:-.01em}
.market__note p{font-size:13.5px;color:var(--ink);margin-top:6px;opacity:.92}

/* ============================================================
   08 — COMMUNITY (cream, colorful cards)
   ============================================================ */
.club{position:relative;overflow:hidden;background:var(--cream);color:var(--ink)}
.club .sec-ord{color:var(--accent)}
.club__bg{position:absolute;inset:0;z-index:0;opacity:.08}
.club__bg img{width:100%;height:100%;object-fit:cover}
.club__inner{position:relative;z-index:2}
.club h2{font-family:var(--display);text-transform:uppercase;color:var(--ink);
  font-size:clamp(44px,7.5vw,130px);line-height:.92;letter-spacing:-.04em;margin:8px 0 18px}
.club .lead{max-width:52ch;color:var(--ink-soft);font-size:17px;line-height:1.5;margin-bottom:clamp(40px,6vh,64px)}
.club__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.club__cell{padding:32px 28px;border:3px solid var(--ink);border-radius:24px;box-shadow:var(--shadow-block);transition:transform .2s}
.club__cell:nth-child(1){background:var(--lavender);transform:rotate(-1.5deg)}
.club__cell:nth-child(2){background:var(--yellow);transform:rotate(1.5deg)}
.club__cell:nth-child(3){background:var(--pink);transform:rotate(-1deg)}
.club__cell:hover{transform:rotate(0) translateY(-6px)}
.club__cell .ci{font-family:var(--display);font-size:34px;color:var(--ink);line-height:1}
.club__cell h3{font-family:var(--display);text-transform:uppercase;font-size:24px;color:var(--ink);margin:20px 0 10px;line-height:1}
.club__cell p{font-size:14.5px;color:var(--ink);line-height:1.45;opacity:.92}

/* ============================================================
   09 — JOIN (blue final cta)
   ============================================================ */
.join{position:relative;background:var(--blue);color:var(--cream);text-align:center;overflow:hidden}
.join::before{content:"★";position:absolute;left:8%;top:14%;font-family:var(--display);font-size:48px;color:var(--yellow);transform:rotate(-14deg);animation:floatY 8s ease-in-out infinite}
.join::after{content:"◆";position:absolute;right:9%;bottom:16%;font-size:38px;color:var(--accent);animation:floatY 7s ease-in-out infinite;animation-delay:-2s}
.join__inner{max-width:880px;margin:0 auto;position:relative;z-index:2}
.join .kicker{display:inline-block;background:var(--yellow);color:var(--ink);padding:8px 18px;border-radius:999px;font-family:var(--display);letter-spacing:.06em;margin-bottom:22px}
.join h2{font-family:var(--display);text-transform:uppercase;color:var(--cream);
  font-size:clamp(44px,8vw,130px);line-height:.9;letter-spacing:-.04em;margin:8px 0}
.join .lead{color:rgba(254,243,225,.9);font-size:18px;line-height:1.5;max-width:46ch;margin:0 auto 18px}
.counter{margin:30px auto 34px;max-width:540px}
.counter__bar{height:14px;background:rgba(254,243,225,.2);border:2.5px solid var(--cream);border-radius:999px;overflow:hidden;margin-bottom:10px}
.counter__bar i{display:block;height:100%;width:0;background:var(--accent);transition:width 1.4s cubic-bezier(.16,1,.3,1)}
.counter__labels{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;color:rgba(254,243,225,.85);text-transform:uppercase}
.counter__labels b{color:var(--yellow)}
.form{display:flex;gap:12px;max-width:560px;margin:0 auto;flex-wrap:wrap}
.form input{flex:1;min-width:240px;height:56px;background:var(--cream);border:2.5px solid var(--cream);border-radius:999px;color:var(--ink);
  font-family:var(--body);font-weight:500;font-size:15px;padding:0 22px;outline:none;box-shadow:var(--shadow-pill-cream);transition:box-shadow .15s,transform .1s}
.form input::placeholder{color:var(--ink-mute)}
.form input:focus{box-shadow:0 6px 0 0 var(--cream);transform:translateY(-1px)}
.form input.err{border-color:var(--accent);box-shadow:0 4px 0 0 var(--accent)}
.form .btn-gold{height:56px}
.form__msg{height:22px;margin-top:14px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.form__msg.ok{color:var(--yellow)}.form__msg.bad{color:var(--cream);background:var(--accent);display:inline-block;padding:2px 10px;border-radius:8px}
.join__fine{margin-top:18px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;color:rgba(254,243,225,.7);text-transform:uppercase}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--cream);color:var(--ink);border-top:3px solid var(--ink);padding:56px var(--pad) 36px}
.footer__top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px;margin-bottom:46px}
.footer__brand .footer__logo{width:200px;height:56px;background:var(--ink)}
.footer__brand p{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--ink-mute);text-transform:uppercase;margin-top:12px}
.footer__cols{display:flex;gap:56px;flex-wrap:wrap}
.footer__col h3{font-family:var(--display);font-size:13px;letter-spacing:.04em;color:var(--ink);text-transform:uppercase;margin-bottom:14px}
.footer__col a{display:block;font-size:14px;color:var(--ink-soft);margin-bottom:9px;transition:color .15s}
.footer__col a:hover{color:var(--accent)}
.footer__social{display:flex;gap:16px;margin-top:2px}
.footer__social a{display:inline-flex;margin:0;color:var(--ink-soft);transition:color .15s,transform .15s}
.footer__social a:hover{color:var(--accent);transform:translateY(-2px)}
.footer__social svg{width:24px;height:24px;display:block}
.footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;border-top:2px solid var(--cream-2);padding-top:24px;
  font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;color:var(--ink-mute);text-transform:uppercase}

/* ============================================================
   MOBILE MENU
   ============================================================ */
.mobile-menu{position:fixed;inset:0;z-index:8500;background:var(--cream);
  display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--display);text-transform:uppercase;font-size:34px;color:var(--ink)}
.mobile-menu a:hover{color:var(--accent)}
.mobile-menu .close{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--ink);font-size:36px;cursor:pointer}
.mobile-menu__social{display:flex;gap:28px;margin-top:26px}
.mobile-menu__social a{display:inline-flex;color:var(--ink-soft);transition:color .15s,transform .15s}
.mobile-menu__social a:hover{color:var(--accent);transform:translateY(-2px)}
.mobile-menu__social svg{width:30px;height:30px;display:block}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1080px){
  .nav__links{gap:18px}              /* keep logo + links + CTA on one row down to the burger breakpoint */
  .pillars{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .forever__grid{grid-template-columns:1fr;gap:40px}
  .club__grid{grid-template-columns:1fr}
  .hero__grid{grid-template-columns:1fr;gap:10px;text-align:left}
  .hero__stage{min-height:auto;margin-top:10px}
  .hero__stage img{max-height:46vh}
}
@media(max-width:760px){
  .nav__links{display:none}
  .nav__cta{display:none}            /* redundant on mobile — burger menu carries "Join Genesis" */
  .nav__burger{display:flex}
  .pillars{grid-template-columns:1fr}
  .object__stage{grid-template-columns:1fr;gap:20px}
  .object__spec,.object__spec.right{display:flex;gap:24px;text-align:left;justify-content:center}
  .spec-row{border-top:none;padding:6px 0}
  .cards{grid-template-columns:1fr}
  .hero__stats{gap:24px}
  .footer__top{flex-direction:column}
  .hero__st1{width:84px;height:84px}
}
@media(max-width:480px){
  /* stack hero CTAs full-width; let the long label wrap instead of forcing overflow */
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn-gold,.hero__cta .btn-ghost{justify-content:center;text-align:center;white-space:normal}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;animation-iteration-count:1!important}
  .hero__bg img{animation:none}
  [data-rise]{opacity:1;transform:none}
  .card{opacity:1}
}
