@charset "UTF-8";
:root {
  --paper: #f5eeeb;
  --ink: #38202e;
  --muted: #7a626d;
  --rose: #ba678b;
  --blush: #efb9cd;
  --line: #dbcbd0;
  --card: #2d1a28;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: radial-gradient(ellipse at 93% 4%, #eedbe580 0%, transparent 43%),
    radial-gradient(ellipse at 3% 60%, #f4dfd580 0%, transparent 48%), var(--paper);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--rose); outline-offset: 5px; }
svg { display: block; width: 22px; height: 22px; }
.shell { max-width: 1320px; margin-inline: auto; padding-inline: 60px; }
.site-header { height: 114px; display: flex; justify-content: space-between; align-items: center; }
.wordmark { display: flex; align-items: center; font-weight: 900; font-size: 23px; letter-spacing: -1px; }
.brand-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--rose); margin: 0 4px; }
.club-label { font-size: 10px; letter-spacing: 1.7px; font-weight: 600; margin-left: 17px; padding-left: 17px; border-left: 1px solid #c6aeb9; }
.social-link { display: flex; gap: 10px; align-items: center; font-size: 13px; font-weight: 600; }
.social-link svg { width: 16px; height: 16px; }
.external-arrow { color: var(--muted); font-size: 19px; margin-left: 6px; }
.hero { display: grid; grid-template-columns: 1fr; padding: 12px 0 44px; justify-items: center; }
.eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 1.8px; display: flex; align-items: center; gap: 9px; color: #975572; }
.tiny-star { font-family: Georgia, serif; font-size: 29px; line-height: 1; }
h1 { font-size: clamp(68px, 7.4vw, 100px); font-weight: 800; letter-spacing: -6px; line-height: 1; margin: 27px 0 33px; }
.highlight { position: relative; white-space: nowrap; z-index: 0; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-style: italic; color: #8e4868; }
.highlight > svg { position: absolute; width: 106%; height: 22px; left: -2%; bottom: -12px; z-index: -1; stroke: #dda7bc; stroke-width: 6; fill: none; stroke-linecap: round; }
.hero-description { font-size: 17px; line-height: 1.65; color: var(--muted); max-width: 430px; margin: 0 0 29px; }
.hero-description strong { color: var(--ink); font-weight: 500; }
.one-rule { display: flex; gap: 14px; align-items: center; }
.rule-icon { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid #d2b7c5; border-radius: 50%; }
.rule-icon svg { width: 17px; height: 17px; }
.small-label { font-size: 9px; letter-spacing: 1.5px; font-weight: 700; color: var(--muted); }
.one-rule p { font-size: 13px; margin: 6px 0 0; }
.club-ticket { width: 328px; background: linear-gradient(120deg, #f0c7bd 0%, #e7b2c8 48%, #f1d2d5 100%); transform: rotate(-5deg); padding: 20px 23px 16px; margin: 43px 0 0 20px; box-shadow: 7px 8px 0 #e7d9dc; color: #622f48; position: relative; border-radius: 3px; border: 1px solid #ddb1c0; }
.club-ticket::before, .club-ticket::after { content: ''; height: 18px; width: 18px; background: var(--paper); border-radius: 50%; position: absolute; bottom: 36px; }
.club-ticket::before { left: -10px; }
.club-ticket::after { right: -10px; }
.ticket-top { display: flex; justify-content: space-between; align-items: center; font-size: 9px; font-weight: 700; letter-spacing: 1.4px; }
.ticket-top > span:last-child { font-size: 25px; line-height: .8; font-family: Georgia, serif; }
.ticket-middle { display: flex; justify-content: space-between; align-items: center; margin: 17px 0 20px; }
.ticket-middle > span { font-family: Georgia, serif; font-style: italic; font-size: 32px; line-height: 1.12; letter-spacing: -.8px; font-weight: 400; }
.ticket-middle svg { width: 83px; height: 83px; transform: rotate(8deg); }
.ticket-bottom { display: flex; justify-content: space-between; border-top: 1px dashed #b17c93; padding-top: 12px; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.access-wrap { max-width: 610px; width: 100%; justify-self: center; }
.corner-note { display: flex; align-items: center; justify-content: flex-end; font-size: 9px; letter-spacing: 1.4px; font-weight: 700; gap: 14px; margin: 0 10px 15px; color: #955970; }
.corner-note span { font-size: 27px; line-height: 1; color: var(--rose); }
.access-card { position: relative; overflow: hidden; border-radius: 22px; padding: 34px 38px 25px; background: linear-gradient(145deg, #392232, #291a27 78%); color: #fff3f2; box-shadow: 0 18px 45px #4a263714; border: 1px solid #674052; }
.access-card::before { content: ''; position: absolute; width: 180px; height: 180px; top: -96px; right: -70px; background: #9e527b40; border-radius: 50%; filter: blur(40px); pointer-events: none; }
.card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 23px; position: relative; }
.pill { border: 1px solid #775062; color: #f4c4d8; padding: 7px 11px; border-radius: 99px; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; display: flex; align-items: center; gap: 7px; }
.pill svg { width: 15px; height: 15px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blush); box-shadow: 0 0 12px #f3bbd246; }
.access-card h1 { font-size: 39px; line-height: 1.15; letter-spacing: -1.4px; margin: 0 0 16px; font-weight: 700; }
.access-card h1 em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 1.14em; letter-spacing: -1px; color: #f5c6db; }
.card-intro { margin: 0; color: #dfc9d4; font-size: 15px; line-height: 1.6; }
.card-intro strong { color: #fff3f2; }
.step { display: flex; gap: 13px; }
.step-one { margin: 31px 0 18px; }
.step-number { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #896176; font-size: 10px; flex-shrink: 0; color: #e1c6d3; margin-top: 1px; transition: background .2s, color .2s; }
.step h2 { font-size: 15px; line-height: 1.4; font-weight: 700; margin: 0 0 5px; }
.step p { font-size: 12px; line-height: 1.5; margin: 0; color: #cbb3bf; }
.button { width: 100%; border-radius: 10px; min-height: 53px; display: flex; gap: 12px; align-items: center; justify-content: center; padding: 13px 16px; font-size: 13px; font-weight: 700; line-height: 1.35; transition: background .16s, transform .16s, box-shadow .16s; border: 0; cursor: pointer; }
.button > svg { width: 17px; height: 17px; flex-shrink: 0; }
.button > .button-arrow { margin-left: auto; width: 18px; height: 18px; }
.button > span { flex: 1; text-align: left; }
.follow-button { background: #faf0ee; color: #3c2331; }
.follow-button:hover { background: #fff8f5; transform: translateY(-2px); box-shadow: 0 5px 20px #1e101633; }
.follow-button:active { transform: translateY(0); }
.follow-note { color: #cbb3bf; font-size: 10px; text-align: center; margin: 10px 0 0; line-height: 1.5; }
.step-two { border-top: 1px solid #674757; margin: 22px 0 19px; padding-top: 23px; }
.discord-button { min-height: 76px; padding: 19px 22px; font-size: 19px; border: 1px solid #ffdceb; background: linear-gradient(105deg, #ffdce8, #f09ac4); color: #3a1e2d; box-shadow: 0 6px 24px #ec9ac42b; }
.discord-button > svg { width: 24px; height: 24px; }
.discord-button > .button-arrow { width: 23px; height: 23px; }
.discord-button:disabled { background: #745568; color: #fff0f6; border-color: #a68097; box-shadow: none; cursor: not-allowed; }
.discord-button:not(:disabled):hover { background: #f8cfe0; transform: translateY(-2px); box-shadow: 0 5px 20px #d688ab20; }
.is-unlocked #discord-step { background: var(--blush); border-color: var(--blush); color: #3a1e2d; font-size: 13px; }
.access-status { font-size: 11px; color: #d1b8c4; text-align: center; line-height: 1.6; min-height: 18px; margin: 13px 0 0; }
.is-unlocked .access-status { color: #f4c4d8; }
.access-note { font-size: 10px; color: #c1a8b6; text-align: center; line-height: 1.6; border-top: 1px solid #624150; padding-top: 14px; margin: 17px 0 0; }
.no-script { font-size: 12px; line-height: 1.5; color: var(--blush); }
.below-card { display: flex; align-items: center; justify-content: center; gap: 9px; font-size: 11px; color: var(--muted); margin-top: 20px; }
.little-heart { font-family: Georgia, serif; font-size: 20px; color: var(--rose); line-height: 1; }
.info-strip { display: grid; grid-template-columns: .85fr 1fr 1fr; gap: 32px; padding: 28px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); align-items: center; }
.strip-heading { display: flex; gap: 12px; align-items: center; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; }
.strip-heading > span { font-size: 28px; color: #975572; }
.info-item h2 { font-size: 12px; margin: 0 0 7px; font-weight: 600; }
.info-item p { font-size: 11px; color: var(--muted); margin: 0; line-height: 1.6; }
.site-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 29px; padding-bottom: 30px; font-size: 10px; color: var(--muted); }
.site-footer > span:first-child { font-size: 9px; font-weight: 700; letter-spacing: 1px; color: #644453; }
.footer-star { color: var(--rose); font-family: Georgia, serif; font-size: 16px; margin: 0 6px; }
.site-footer a:hover, .social-link:hover { color: #a04f73; }
@media (min-width: 1400px) {
  .access-wrap { max-width: 610px; }
}
@media (max-width: 1100px) {
  .shell { padding-inline: 35px; }
  .hero { grid-template-columns: 1fr; }
  .access-card { padding: 27px 26px 21px; }
  h1 { font-size: 80px; letter-spacing: -5.5px; }
  .hero-description { font-size: 15px; }
  .club-ticket { width: 290px; }
  .ticket-middle > span { font-size: 29px; }
  .ticket-middle svg { width: 70px; height: 70px; }
  .info-strip { gap: 20px; }
}
@media (max-width: 860px) {
  .shell { padding-inline: 25px; }
  .site-header { height: 88px; }
  .hero { gap: 28px; padding-top: 30px; padding-bottom: 42px; }
  h1 { font-size: 64px; letter-spacing: -4.5px; }
  .hero-description { font-size: 14px; }
  .club-ticket { width: 253px; margin-left: 5px; }
  .ticket-middle > span { font-size: 26px; }
  .ticket-middle svg { width: 65px; height: 65px; }
  .ticket-top { font-size: 8px; }
  .ticket-bottom { font-size: 7px; }
  .access-card { padding: 25px 22px 20px; }
  .access-card h1 { font-size: 36px; }
  .corner-note { font-size: 8px; letter-spacing: 1px; }
  .info-strip { grid-template-columns: .65fr 1fr 1fr; }
  .strip-heading { font-size: 9px; }
  .club-label { display: none; }
}
@media (max-width: 700px) {
  .shell { padding-inline: 22px; }
  .site-header { height: 79px; }
  .wordmark { font-size: 19px; }
  .brand-dot { width: 7px; height: 7px; margin-inline: 3px; }
  .social-link { font-size: 11px; gap: 7px; }
  .social-link svg { width: 13px; height: 13px; }
  .external-arrow { margin-left: 1px; }
  .hero { grid-template-columns: 1fr; gap: 31px; padding-top: 27px; padding-bottom: 33px; }
  .eyebrow { font-size: 9px; letter-spacing: 1.5px; }
  .tiny-star { font-size: 24px; }
  h1 { font-size: clamp(58px, 15vw, 82px); letter-spacing: -4px; line-height: 1; margin: 24px 0 27px; }
  .highlight > svg { bottom: -11px; height: 19px; }
  .hero-description { font-size: 14px; max-width: 440px; margin-bottom: 22px; }
  .one-rule { gap: 12px; }
  .rule-icon { width: 37px; height: 37px; }
  .small-label { font-size: 8px; }
  .one-rule p { font-size: 11px; margin-top: 5px; }
  .club-ticket { display: none; }
  .access-wrap { max-width: 610px; }
  .corner-note { margin-bottom: 13px; font-size: 8px; }
  .corner-note span { font-size: 23px; }
  .access-card { border-radius: 19px; padding: 25px 25px 21px; }
  .card-top { margin-bottom: 22px; }
  .access-card h1 { font-size: clamp(27px, 7.3vw, 37px); letter-spacing: -1px; }
  .card-intro { font-size: 14px; }
  .step-one { margin-top: 28px; }
  .step h2 { font-size: 14px; }
  .step p { font-size: 11px; }
  .below-card { margin-top: 17px; }
  .info-strip { grid-template-columns: 1fr; gap: 20px; padding-block: 24px; }
  .strip-heading > span { font-size: 22px; }
  .strip-heading { font-size: 9px; }
  .info-item h2 { font-size: 12px; margin-bottom: 4px; }
  .info-item p { font-size: 11px; }
  .site-footer { padding-top: 25px; padding-bottom: 25px; flex-wrap: wrap; gap: 15px; font-size: 9px; }
  .site-footer > span:nth-child(2) { display: none; }
  .site-footer a { margin-left: auto; }
}
@media (max-width: 360px) {
  .access-card { padding-inline: 20px; }
  .button { font-size: 12px; padding-inline: 13px; }
  .discord-button { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
