/* Welcome: a standalone presentation, sharing the established brand. */
.hp-welcome-page { background: #0b0b0d; }
.hp-welcome-shell { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
.hp-welcome-header { display: flex; align-items: center; justify-content: space-between; min-height: 120px; gap: 24px; border-bottom: 1px solid #ffffff14; }
.hp-welcome-logo { display: block; width: 186px; flex-shrink: 0; }
.hp-welcome-logo img { width: 100%; height: auto; display: block; }
.hp-welcome-header nav { display: flex; gap: 30px; font-size: 13px; font-weight: 650; }
.hp-welcome-header nav a:hover { color: #ffd200; }
.hp-welcome-hero { display: grid; grid-template-columns: 1.18fr 1fr; align-items: center; gap: 50px; min-height: 670px; padding-block: 70px 80px; }
.hp-launch-status { display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px; border: 1px solid #ffd20040; background: #ffd2000b; border-radius: 40px; color: #eedd98; font-size: 12px; font-weight: 600; }
.hp-launch-status i { width: 6px; height: 6px; border-radius: 50%; background: #ffd200; }
.hp-welcome-eyebrow { margin: 30px 0 18px; color: #b6b5be; font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.hp-welcome-copy h1 { margin: 0 0 25px; font-size: clamp(38px, 4.5vw, 66px); line-height: 1.05; letter-spacing: -.055em; font-weight: 800; }
.hp-welcome-copy h1 span { color: #ffd200; }
.hp-welcome-lead { font-size: 19px; line-height: 1.6; max-width: 450px; margin: 0 0 18px; color: #ededf2; }
.hp-welcome-description { max-width: 485px; color: #a9a9b3; font-size: 14px; line-height: 1.85; margin-bottom: 28px; }
.hp-welcome-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 25px; }
.hp-welcome-primary { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 18px 23px; border-radius: 12px; background: #ffd200; color: #0b0b0d; font-size: 14px; font-weight: 800; transition: transform .2s ease; }
.hp-welcome-primary:hover { background: var(--hp-holo-gradient); transform: translateY(-2px); }
.hp-welcome-secondary { font-size: 13px; padding-block: 14px; color: #d0cfd6; }
.hp-welcome-secondary span { margin-left: 8px; }
.hp-welcome-small { margin: 18px 0 0; color: #9696a1; font-size: 11px; line-height: 1.7; }
.hp-welcome-art { position: relative; min-height: 490px; display: grid; place-items: center; isolation: isolate; }
.hp-welcome-orbit { position: absolute; width: 95%; aspect-ratio: 1; border: 1px solid #ffffff12; border-radius: 50%; background: radial-gradient(ellipse, #9cf8ff0f, #f7b8ff05 50%, transparent 67%); z-index: -1; }
.hp-welcome-orbit::after { content: ''; position: absolute; inset: 28px; border: 1px dashed #ffffff14; border-radius: 50%; }
.hp-welcome-collectible { width: min(290px, 70%); aspect-ratio: 2.5 / 3.5; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; transform: rotate(7deg); border: 1px solid transparent; border-radius: 23px; background: linear-gradient(155deg,#202128,#101014 65%) padding-box,var(--hp-holo-gradient) border-box; box-shadow: 0 30px 70px #0009, -10px -10px 50px #9cf8ff0a; }
.hp-welcome-collectible img { width: 63%; height: auto; max-height: 270px; object-fit: contain; align-self: center; }
.hp-art-label,.hp-art-bottom { display: flex; justify-content: space-between; gap: 10px; font-size: 9px; letter-spacing: .1em; color: #c7c7ce; }
.hp-art-label span { color: #ffd200; font-size: 15px; }
.hp-art-bottom { letter-spacing: .01em; line-height: 1.7; font-size: 10px; border-top: 1px solid #ffffff1a; padding-top: 16px; }
.hp-art-sticker { position: absolute; left: 0; bottom: 76px; font-size: 10px; letter-spacing: .09em; background: var(--hp-holo-gradient); color: #0b0b0d; padding: 14px 19px; border-radius: 8px; transform: rotate(-6deg); font-weight: 800; }
.hp-art-caption { position: absolute; bottom: -10px; color: #83838e; font-size: 10px; text-align: center; }
.hp-welcome-project { padding: 40px 0 75px; border-top: 1px solid #ffffff14; scroll-margin-top: 24px; }
.hp-welcome-section-head { display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; align-items: start; margin-bottom: 35px; }
.hp-welcome-section-head .hp-welcome-eyebrow { margin-block: 12px; }
.hp-welcome-section-head h2,.hp-welcome-faq h2 { font-size: clamp(26px, 3vw, 38px); letter-spacing: -.045em; line-height: 1.2; margin: 0; font-weight: 700; }
.hp-welcome-features { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.hp-welcome-features article { padding: 27px; border: 1px solid #ffffff15; border-radius: 16px; background: #111115; }
.hp-feature-number { color: #b0afb9; font-size: 10px; letter-spacing: .1em; }
.hp-welcome-features h3 { margin: 24px 0 12px; font-size: 18px; line-height: 1.35; letter-spacing: -.02em; }
.hp-welcome-features p { margin-bottom: 0; color: #aaaab5; font-size: 13px; line-height: 1.85; }
.hp-welcome-features a { display: inline-block; margin-top: 15px; color: #ffde57; font-size: 12px; overflow-wrap: anywhere; }
.hp-welcome-faq { display: grid; grid-template-columns: 1fr 1.4fr; gap: 55px; border-top: 1px solid #ffffff14; padding: 60px 0 80px; }
.hp-welcome-faq .hp-welcome-eyebrow { margin-top: 0; }
.hp-welcome-questions details { border-bottom: 1px solid #ffffff1a; }
.hp-welcome-questions summary { padding: 21px 25px 21px 0; font-size: 15px; cursor: pointer; position: relative; list-style: none; }
.hp-welcome-questions summary::-webkit-details-marker { display: none; }
.hp-welcome-questions summary::after { content: '+'; color: #ffd200; position: absolute; right: 0; }
.hp-welcome-questions details[open] summary::after { content: '−'; }
.hp-welcome-questions p { color: #b1b1bc; font-size: 13px; line-height: 1.9; padding-bottom: 15px; }
.hp-welcome-questions a { color: #ffde57; text-decoration: underline; }
.hp-welcome-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 25px; border-top: 1px solid #ffffff14; padding: 28px 0 35px; color: #92929f; font-size: 11px; line-height: 1.8; }
.hp-welcome-footer p { margin: 0; }
.hp-welcome-footer p:last-child { width: 100%; font-size: 10px; }
.hp-welcome-shell a:focus-visible,.hp-welcome-shell summary:focus-visible { outline: 2px solid #ffd200; outline-offset: 5px; border-radius: 3px; }
@media (max-width: 900px) {
    .hp-welcome-shell { width: calc(100% - 44px); }
    .hp-welcome-hero { gap: 20px; grid-template-columns: 1.2fr 1fr; padding-block: 50px 65px; min-height: 580px; }
    .hp-welcome-copy h1 { font-size: 44px; }
    .hp-welcome-art { min-height: 370px; }
    .hp-welcome-collectible { padding: 18px; }
    .hp-art-sticker { left: -12px; bottom: 25px; }
    .hp-art-caption { bottom: -20px; }
    .hp-welcome-features { gap: 12px; }
    .hp-welcome-features article { padding: 22px; }
}
@media (max-width: 680px) {
    .hp-welcome-shell { width: calc(100% - 40px); }
    .hp-welcome-header { min-height: 92px; gap: 16px; }
    .hp-welcome-logo { width: 140px; }
    .hp-welcome-header nav { gap: 15px; font-size: 11px; }
    .hp-welcome-header nav a:first-child { display: none; }
    .hp-welcome-hero { grid-template-columns: 1fr; padding-block: 40px 45px; gap: 34px; }
    .hp-welcome-copy h1 { font-size: clamp(34px, 9.2vw, 54px); }
    .hp-welcome-eyebrow { margin-top: 25px; }
    .hp-welcome-lead { font-size: 17px; }
    .hp-welcome-description { font-size: 13px; }
    .hp-welcome-buttons { gap: 10px 20px; }
    .hp-welcome-primary { padding: 16px 20px; }
    .hp-welcome-secondary { font-size: 12px; }
    .hp-welcome-art { min-height: 370px; margin-block: 0 20px; }
    .hp-welcome-collectible { width: 235px; }
    .hp-welcome-collectible img { max-height: 225px; }
    .hp-art-sticker { left: 0; bottom: 40px; }
    .hp-welcome-section-head,.hp-welcome-faq { grid-template-columns: 1fr; gap: 22px; }
    .hp-welcome-features { grid-template-columns: 1fr; gap: 15px; }
    .hp-welcome-features article { padding: 24px; }
    .hp-welcome-project { padding-block: 30px 45px; }
    .hp-welcome-faq { padding-block: 35px 45px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .hp-welcome-primary { transition: none; }
}
