.landing-page {
  --night:#0b1622;
  --night-soft:#122432;
  --ivory:#f5f0e6;
  --muted:#bfcbcf;
  --turquoise:#50d8c7;
  --orange:#ff7827;
  --gold:#ecc879;
  background:var(--night);
  color:var(--ivory);
  isolation:isolate;
  overflow-x:clip;
}
.landing-page::before {
  position:absolute; z-index:-1; top:0; left:0; width:100%; height:880px;
  background:url("assets/hubble-westerlund2.webp") center 16%/cover;
  opacity:.12; mask-image:linear-gradient(black 20%,transparent 96%);
  pointer-events:none; content:"";
}
.landing-page .shell { width:min(1380px,calc(100% - 72px)); }
.landing-page :focus-visible { outline-color:var(--turquoise); }
.landing-page h1,
.landing-page .section h2,
.landing-page .section h3 { font-family:var(--display); }
.landing-page .site-header {
  position:relative; z-index:5; min-height:98px; border:0;
}
.landing-page .brand { gap:14px; color:var(--ivory); font-size:22px; }
.landing-page .brand img { width:48px; height:48px; object-fit:contain; }
.landing-page .nav-links a { color:var(--muted); }
.landing-page .nav-links a:hover { color:var(--turquoise); }
.landing-page .hero {
  position:relative; isolation:isolate; display:block; min-height:690px;
  padding:70px 0 85px;
}
.landing-page .hero-copy { position:relative; z-index:2; max-width:625px; }
.landing-page .hero .eyebrow { color:var(--gold); }
.landing-page h1 {
  max-width:680px; margin:0 0 28px; color:var(--ivory);
  font-size:clamp(62px,6.1vw,88px); font-weight:750; letter-spacing:-.055em; line-height:.98;
}
.landing-page .hero-lede {
  max-width:565px; margin:0 0 26px; color:#d0d9d8;
  font-size:22px; line-height:1.52;
}
.landing-page .hero-facts { max-width:590px; gap:5px 17px; color:var(--muted); font-size:15px; }
.landing-page .hero-facts span:first-child { color:var(--gold); }
.landing-page .hero-actions { gap:17px 23px; }
.landing-page .button-primary { background:var(--orange); color:#101c24; }
.landing-page .button-primary:hover { background:#ff9a55; }
.landing-page .hero .text-link { color:var(--turquoise); }
.landing-page .hero .text-link:hover { color:var(--gold); }
.landing-page .hero-art {
  position:absolute; z-index:0; top:0; right:-58px; width:min(78vw,1080px);
  height:670px; overflow:hidden; margin:0; pointer-events:none;
  mask-image:linear-gradient(90deg,transparent,black 33%),linear-gradient(270deg,transparent,black 9%),linear-gradient(0deg,transparent,black 12%,black 84%,transparent);
  mask-composite:intersect;
}
.landing-page .hero-team { width:100%; height:100%; object-fit:cover; object-position:center; }
.landing-page .paper-world { background:transparent; color:var(--ivory); }
.landing-page .paper-world .eyebrow,
.landing-page .section-heading .eyebrow { color:var(--turquoise); }
.landing-page .section { padding-block:84px; }
.landing-page .section-heading h2,
.landing-page .current-copy h2,
.landing-page .action-intro h2,
.landing-page .access-layout h2 {
  color:var(--ivory); font-size:clamp(48px,5.1vw,68px); font-weight:720;
  letter-spacing:-.045em; line-height:1.02;
}
.landing-page .current-section { padding-block:55px 90px; }
.landing-page .current-layout { display:block; }
.landing-page .current-top {
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(45px,7vw,100px); align-items:center;
}
.landing-page .current-copy { grid-column:2; grid-row:1; max-width:620px; }
.landing-page .current-copy .eyebrow { color:var(--turquoise); }
.landing-page .current-copy h2 { margin:0 0 20px; }
.landing-page .current-copy>p:not(.eyebrow) {
  max-width:570px; margin:0; color:var(--muted); font-size:19px; line-height:1.62;
}
.landing-page .product-shot {
  grid-column:1; grid-row:1; width:100%; margin:0; overflow:hidden; border:0; border-radius:11px;
  background:transparent;
}
.landing-page .product-shot img { width:100%; height:auto; border-radius:11px; }
.landing-page .current-bottom {
  display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);
  gap:clamp(38px,6vw,82px); align-items:start; margin-top:48px;
}
.landing-page .available-list { gap:26px 36px; }
.landing-page .available-list li::before { background:var(--orange); }
.landing-page .available-list strong { color:var(--ivory); font-size:22px; }
.landing-page .available-list span { color:var(--muted); font-size:17px; line-height:1.58; }
.landing-page .limit-panel {
  margin:0; padding:0; border:0; border-radius:0; background:transparent; color:var(--ivory);
}
.landing-page .limit-panel .eyebrow { color:var(--gold); }
.landing-page .limit-panel h3 { margin:0 0 17px; color:var(--ivory); font-size:29px; }
.landing-page .limit-panel li { color:var(--muted); font-size:16px; line-height:1.55; }
.landing-page .limit-panel li::before { background:var(--turquoise); }
.landing-page .tier-rule {
  display:flex; align-items:center; gap:22px; margin-top:45px; padding-top:24px;
  border-top:1px solid #bfcbcf25;
}
.landing-page .tier-emblems { display:flex; gap:12px; flex:none; }
.landing-page .tier-emblems img { width:76px; height:76px; object-fit:contain; }
.landing-page .tier-rule p { margin:0; color:var(--muted); font-size:17px; }
.landing-page .tier-rule strong { color:var(--ivory); font-weight:700; }
.landing-page .tier-rule>a { margin-left:auto; color:var(--turquoise); font-size:16px; white-space:nowrap; }
.landing-page .action-section { padding-block:85px 90px; background:transparent; color:var(--ivory); }
.landing-page .action-section .eyebrow { color:var(--turquoise); }
.landing-page .action-panel {
  display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:38px clamp(48px,7vw,92px); align-items:start;
}
.landing-page .action-intro { max-width:470px; grid-column:1; grid-row:1 / span 2; }
.landing-page .action-intro h2 { margin-bottom:23px; font-size:clamp(58px,6vw,76px); }
.landing-page .action-intro h2 em { color:var(--orange); font-style:normal; }
.landing-page .action-intro>p:last-child { color:var(--muted); font-size:19px; line-height:1.62; }
.landing-page .raid-proof { grid-column:2; margin:0; }
.landing-page .raid-proof img { width:100%; height:auto; border-radius:9px; }
.landing-page .gold-rule {
  grid-column:2; display:flex; align-items:center; gap:20px;
  max-width:730px; margin-top:2px;
}
.landing-page .gold-rule>img { width:104px; height:104px; flex:none; object-fit:contain; }
.landing-page .gold-rule h3 { margin:0 0 7px; color:var(--gold); font-size:27px; }
.landing-page .gold-rule p { margin:0 0 8px; color:var(--muted); font-size:17px; line-height:1.5; }
.landing-page .gold-rule a { color:var(--turquoise); font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.landing-page .workflow-list {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px;
  margin:56px 0 0; padding:0; list-style:none;
}
.landing-page .workflow-list li { grid-template-columns:32px 1fr; gap:14px; }
.landing-page .workflow-number { color:var(--orange); font-size:29px; }
.landing-page .workflow-list h3 { color:var(--ivory); font-size:23px; }
.landing-page .workflow-list p { color:var(--muted); font-size:17px; line-height:1.55; }
.landing-page .next-section { position:relative; isolation:isolate; padding-block:78px; }
.landing-page .next-section::before {
  position:absolute; z-index:-1; inset:-50px -7vw;
  background:url("assets/hubble-westerlund2.webp") 70% 48%/cover;
  opacity:.1; mask-image:radial-gradient(ellipse at 76% 50%,black,transparent 70%);
  pointer-events:none; content:"";
}
.landing-page .next-copy p,
.landing-page .data-summary p,
.landing-page .access-copy p,
.landing-page .faq-list details p { color:var(--muted); }
.landing-page .next-copy p { font-size:19px; line-height:1.65; }
.landing-page .next-copy p:last-child { color:var(--gold); font-size:17px; }
.landing-page .data-section { padding-block:46px 70px; }
.landing-page .data-heading h2 { color:var(--ivory); font-size:clamp(42px,4.4vw,58px); }
.landing-page .data-summary p { font-size:18px; line-height:1.65; }
.landing-page .data-summary strong { color:var(--ivory); }
.landing-page .data-summary .text-link,
.landing-page .access-copy .text-link { color:var(--turquoise); }
.landing-page .access-section {
  position:relative; isolation:isolate; padding-block:75px 85px; overflow:visible;
}
.landing-page .access-section::before {
  position:absolute; z-index:-1; inset:-20px -7vw;
  background:url("assets/hubble-westerlund2.webp") center 45%/cover;
  opacity:.18; mask-image:radial-gradient(ellipse at 68% 50%,black,transparent 71%);
  pointer-events:none; content:"";
}
.landing-page .access-layout { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:50px; }
.landing-page .access-layout .eyebrow { color:var(--gold); }
.landing-page .access-layout h2 { font-size:clamp(43px,4.6vw,59px); }
.landing-page .access-copy {
  position:relative; display:block; max-width:none; min-height:255px; padding:0 240px 0 0;
}
.landing-page .access-copy p { margin:0 0 20px; font-size:18px; line-height:1.62; }
.landing-page .access-copy .button { margin-right:14px; }
.landing-page .access-copy .text-link { display:inline-block; }
.landing-page .access-mark {
  position:absolute; top:50%; right:0; width:210px; height:auto;
  transform:translateY(-50%); object-fit:contain;
}
.landing-page .faq-section { padding-block:60px 90px; }
.landing-page .faq-layout .section-heading h2 { color:var(--ivory); font-size:clamp(43px,4.5vw,58px); }
.landing-page .faq-list { gap:0; }
.landing-page .faq-list details {
  padding:18px 2px; border-bottom:1px solid #bfcbcf2b; border-radius:0; background:transparent;
}
.landing-page .faq-list summary {
  color:var(--ivory); font-size:21px;
}
.landing-page .faq-list summary::after { color:var(--turquoise); }
.landing-page .faq-list details p { font-size:17px; line-height:1.65; }
.landing-page .faq-list details p a { color:var(--turquoise); text-decoration:underline; }
.landing-page .site-footer { position:relative; background:#08131d; }
.landing-page .footer-inner { min-height:112px; padding-block:22px; }
.landing-page .site-footer p { max-width:780px; color:#bfcbcf; font-size:14px; line-height:1.55; }
.landing-page .site-footer p a { color:var(--turquoise); text-decoration:underline; text-underline-offset:3px; }
.landing-page .site-footer > .footer-inner > span { color:var(--muted); }

@media (max-width:1100px) {
  .landing-page .shell { width:calc(100% - 64px); }
  .landing-page .hero-art { right:-90px; width:82vw; }
  .landing-page .hero-copy { max-width:550px; }
  .landing-page h1 { font-size:clamp(60px,7vw,78px); }
  .landing-page .current-top { gap:42px; }
  .landing-page .current-bottom { gap:36px; }
  .landing-page .action-panel { gap:34px; }
  .landing-page .gold-rule { gap:14px; }
  .landing-page .gold-rule>img { width:88px; height:88px; }
  .landing-page .access-layout { gap:30px; }
  .landing-page .access-copy { padding-right:190px; }
  .landing-page .access-mark { width:170px; }
}
@media (max-width:960px) {
  .landing-page .hero { min-height:0; padding-block:52px 54px; }
  .landing-page .hero-art { right:-45px; width:86vw; height:590px; }
  .landing-page .hero-copy { max-width:540px; }
  .landing-page .current-top { grid-template-columns:1fr 1.1fr; }
  .landing-page .current-bottom { grid-template-columns:1fr; }
  .landing-page .limit-panel { margin:0; }
  .landing-page .action-panel { grid-template-columns:1fr 1.25fr; gap:32px; }
  .landing-page .action-intro { grid-row:1 / span 2; }
  .landing-page .workflow-list { gap:24px; }
  .landing-page .workflow-list li { grid-template-columns:25px 1fr; gap:10px; }
  .landing-page .access-copy { padding-right:150px; }
  .landing-page .access-mark { width:135px; }
  .landing-page .footer-inner { align-items:flex-start; }
}
@media (max-width:680px) {
  .landing-page .shell { width:calc(100% - 38px); }
  .landing-page .site-header { min-height:72px; }
  .landing-page .brand { font-size:18px; }
  .landing-page .brand img { width:42px; height:42px; }
  .landing-page .hero { padding-block:37px 28px; }
  .landing-page .hero-copy { max-width:none; }
  .landing-page h1 { font-size:clamp(46px,11.7vw,68px); line-height:1; }
  .landing-page .hero-lede { font-size:19px; }
  .landing-page .hero-facts { font-size:14px; }
  .landing-page .hero-actions { gap:13px 18px; }
  .landing-page .hero-actions .button { width:100%; }
  .landing-page .hero-art {
    position:relative; top:auto; right:auto; width:calc(100% + 38px);
    height:auto; aspect-ratio:16/9; margin:20px -19px 0;
    mask-image:linear-gradient(0deg,transparent,black 12%,black 88%,transparent),linear-gradient(270deg,transparent,black 9%);
  mask-composite:intersect;
  }
  .landing-page .hero-team { object-fit:cover; }
  .landing-page .section { padding-block:59px; }
  .landing-page .section-heading h2,
  .landing-page .current-copy h2,
  .landing-page .action-intro h2 { font-size:clamp(43px,10.4vw,58px); }
  .landing-page .current-section { padding-block:42px 58px; }
  .landing-page .current-top { grid-template-columns:1fr; gap:24px; }
  .landing-page .current-copy,
  .landing-page .product-shot { grid-column:auto; grid-row:auto; }
  .landing-page .current-copy>p:not(.eyebrow) { font-size:18px; }
  .landing-page .current-bottom { margin-top:35px; }
  .landing-page .available-list { grid-template-columns:1fr 1fr; gap:22px 20px; }
  .landing-page .available-list strong { font-size:20px; }
  .landing-page .available-list span { font-size:16px; }
  .landing-page .limit-panel h3 { font-size:26px; }
  .landing-page .limit-panel li { font-size:16px; }
  .landing-page .tier-rule { align-items:flex-start; flex-wrap:wrap; gap:12px 16px; margin-top:32px; }
  .landing-page .tier-emblems img { width:62px; height:62px; }
  .landing-page .tier-rule p { flex:1 1 210px; font-size:16px; }
  .landing-page .tier-rule>a { margin-left:0; }
  .landing-page .action-panel { grid-template-columns:1fr; gap:25px; }
  .landing-page .action-intro { grid-column:1; grid-row:auto; }
  .landing-page .action-intro h2 { font-size:58px; }
  .landing-page .action-intro>p:last-child { font-size:18px; }
  .landing-page .raid-proof { grid-column:1; }
  .landing-page .gold-rule { grid-column:1; align-items:flex-start; gap:12px; }
  .landing-page .gold-rule>img { width:77px; height:77px; }
  .landing-page .gold-rule h3 { font-size:24px; }
  .landing-page .gold-rule p { font-size:16px; }
  .landing-page .workflow-list { grid-template-columns:1fr; gap:22px; margin-top:39px; }
  .landing-page .workflow-list h3 { font-size:22px; }
  .landing-page .workflow-list p { font-size:16px; }
  .landing-page .next-layout,
  .landing-page .data-layout,
  .landing-page .access-layout,
  .landing-page .faq-layout { grid-template-columns:1fr; gap:17px; }
  .landing-page .next-section,
  .landing-page .data-section,
  .landing-page .access-section,
  .landing-page .faq-section { padding-block:48px; }
  .landing-page .next-copy p,
  .landing-page .data-summary p,
  .landing-page .access-copy p { font-size:17px; }
  .landing-page .access-layout h2,
  .landing-page .data-heading h2,
  .landing-page .faq-layout .section-heading h2 { font-size:43px; }
  .landing-page .access-copy { min-height:0; padding:0; }
  .landing-page .access-mark { position:static; display:block; width:170px; margin:30px auto 0; transform:none; }
  .landing-page .faq-list summary { font-size:19px; }
  .landing-page .faq-list details p { font-size:16px; }
  .landing-page .footer-inner { display:grid; grid-template-columns:1fr auto; gap:15px; }
  .landing-page .site-footer p { grid-column:1 / -1; grid-row:2; max-width:none; }
}
@media (max-width:390px) {
  .landing-page .shell { width:calc(100% - 32px); }
  .landing-page .available-list { grid-template-columns:1fr; }
  .landing-page .tier-emblems img { width:54px; height:54px; }
  .landing-page .gold-rule>img { width:66px; height:66px; }
}
@media (prefers-reduced-motion:reduce) {
  .landing-page { scroll-behavior:auto; }
}

/* A quieter, product-led layout: game art once, real app UI where it matters. */
.landing-page::before {
  height:760px;
  background-position:center 12%;
  opacity:.1;
}
.landing-page .next-section::before,
.landing-page .access-section::before { content:none; }
.landing-page .section { padding-block:74px; }
.landing-page .section-heading h2,
.landing-page .current-copy h2,
.landing-page .action-intro h2,
.landing-page .access-layout h2 {
  font-size:clamp(38px,4.25vw,56px);
  letter-spacing:-.035em;
  line-height:1.04;
}
.landing-page .site-header { min-height:82px; }
.landing-page .hero {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(32px,5vw,72px);
  align-items:center;
  min-height:0;
  padding-block:54px 72px;
}
.landing-page .hero-copy { max-width:680px; }
.landing-page h1 {
  max-width:700px;
  margin-bottom:22px;
  font-size:clamp(56px,6vw,80px);
  letter-spacing:-.045em;
  line-height:1;
}
.landing-page .hero-lede { max-width:620px; font-size:20px; line-height:1.55; }
.landing-page .hero-facts { margin-bottom:22px; }
.landing-page .hero-art {
  position:relative;
  top:auto;
  right:auto;
  z-index:1;
  width:min(100%, 620px);
  max-width:620px;
  height:auto;
  overflow:hidden;
  margin:0;
  justify-self:center;
  padding:8px;
  border:1px solid #657782;
  border-radius:6px;
  background:#0a1823;
  box-shadow:0 22px 54px #02091070;
  mask-image:none;
  pointer-events:auto;
}
.landing-page .hero-team {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  border:0;
  border-radius:2px;
  object-fit:cover;
  object-position:center;
}
.landing-page .current-section { padding-block:70px 82px; border-top:1px solid #b4c0c51c; }
.landing-page .current-top {
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(36px,5.4vw,76px);
}
.landing-page .product-shot {
  border:1px solid #52636d;
  border-radius:6px;
  background:#09131d;
  box-shadow:0 18px 42px #02091055;
}
.landing-page .product-shot img { display:block; border-radius:5px; }
.landing-page .current-bottom { margin-top:40px; }
.landing-page .available-list { gap:23px 35px; }
.landing-page .available-list li::before { border-radius:0; transform:rotate(45deg); }
.landing-page .available-list strong { font-size:20px; }
.landing-page .limit-panel {
  padding:18px 0 0;
  border-top:1px solid #b4c0c530;
}
.landing-page .limit-panel h3 { font-size:25px; }
.landing-page .limit-panel li::before { border-radius:0; transform:rotate(45deg); }
.landing-page .tier-rule { margin-top:36px; }
.landing-page .action-section { border-top:1px solid #b4c0c51c; }
.landing-page .action-intro h2 { font-size:clamp(48px,5.5vw,66px); }
.landing-page .next-section,
.landing-page .data-section,
.landing-page .access-section,
.landing-page .faq-section {
  padding-block:53px;
  border-top:1px solid #b4c0c51c;
}
.landing-page .next-layout,
.landing-page .data-layout,
.landing-page .access-layout,
.landing-page .faq-layout { gap:clamp(30px,6vw,78px); }
.landing-page .next-copy,
.landing-page .data-summary,
.landing-page .access-copy { max-width:700px; }
.landing-page .next-copy p,
.landing-page .data-summary p,
.landing-page .access-copy p { font-size:17px; line-height:1.62; }
.landing-page .section-heading .eyebrow,
.landing-page .current-copy .eyebrow,
.landing-page .action-section .eyebrow { letter-spacing:.1em; }
.landing-page .access-layout h2 { max-width:480px; }
.landing-page .access-copy { padding-right:155px; }
.landing-page .access-mark { width:138px; opacity:.82; }
.landing-page .faq-list { gap:0; }
.landing-page .faq-list details { border-bottom:1px solid #aebdc42b; border-radius:0; background:transparent; }
.landing-page .faq-list details:first-child { border-top:1px solid #aebdc42b; }
.landing-page .faq-list summary { padding:15px 32px 15px 0; }
.landing-page .site-footer { border-top:1px solid #b4c0c522; }

@media (max-width:960px) {
  .landing-page .hero { grid-template-columns:1fr; gap:34px; padding-block:42px 58px; }
  .landing-page .hero-copy { max-width:720px; }
  .landing-page .hero-art { width:min(100%,760px); justify-self:center; }
  .landing-page .current-top { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
  .landing-page .access-copy { padding-right:125px; }
  .landing-page .access-mark { width:112px; }
}
@media (max-width:680px) {
  .landing-page .site-header { min-height:72px; }
  .landing-page .hero { gap:20px; padding-block:34px 45px; }
  .landing-page h1 { font-size:clamp(46px,11vw,66px); }
  .landing-page .hero-lede { font-size:18px; }
  .landing-page .hero-art { width:min(100%, 760px); aspect-ratio:auto; margin:0 auto; padding:5px; }
  .landing-page .hero-team { aspect-ratio:16/10; border-radius:2px; }
  .landing-page .current-section { padding-block:48px 56px; }
  .landing-page .current-top { grid-template-columns:1fr; gap:24px; }
  .landing-page .current-copy,
  .landing-page .product-shot { grid-column:auto; grid-row:auto; }
  .landing-page .current-bottom { margin-top:30px; }
  .landing-page .available-list { grid-template-columns:1fr 1fr; }
  .landing-page .next-section,
  .landing-page .data-section,
  .landing-page .access-section,
  .landing-page .faq-section { padding-block:39px; }
  .landing-page .access-copy { padding:0; }
  .landing-page .access-mark { position:static; width:90px; margin:6px 0 0 auto; transform:none; }
  .landing-page .faq-list summary { font-size:18px; }
}
@media (max-width:390px) {
  .landing-page .available-list { grid-template-columns:1fr; }
  .landing-page .hero-actions .button { width:100%; }
}
