.generation-page {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
  padding: 48px 0 64px;
}
.generation-copy { min-width: 0; }
.generation-copy h1 {
  font-size: clamp(44px, 6.3vw, 96px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.04em;
}
.generation-copy h1 span { color: var(--accent); }
.generation-status {
  margin-top: 28px;
  color: var(--accent);
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.3;
}
.generation-description {
  max-width: 37ch;
  margin-top: 20px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.6;
}
.generation-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 36px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
}
.generation-link span { color: var(--accent); width: 20px; height: 20px; }
.generation-link:hover { border-color: var(--accent); }
.generation-beta-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 100%;
  min-height: 52px;
  margin-top: 28px;
  padding: 15px 20px;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #141414;
  font: inherit;
  font-size: 16px;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.generation-beta-button:hover { background: #ff8156; border-color: #ff8156; }
.generation-beta-button:focus-visible,
.generation-beta-form input:focus-visible { outline: 2px solid var(--text, #eee); outline-offset: 4px; }
.generation-beta-note { max-width: 47ch; margin-top: 18px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.generation-beta-note a, .generation-beta-consent a { color: var(--text, #eee); text-decoration: underline; text-underline-offset: 3px; }
.generation-beta-note + .generation-link { margin-top: 16px; }
.generation-social-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.generation-social-links .generation-beta-button { margin-top: 0; }
.generation-beta-page h1 { font-size: clamp(36px, 4.2vw, 64px); }
.generation-back { display: inline-block; margin-bottom: 24px; color: var(--muted); font-size: 15px; }
.generation-beta-form { margin-top: 28px; max-width: 480px; }
.generation-beta-label { display: block; margin-bottom: 10px; font-size: 16px; }
.generation-beta-form input[type=email] { display: block; box-sizing: border-box; width: 100%; min-height: 52px; border: 1px solid var(--line); border-radius: 0; padding: 12px 14px; background: #1b1b1b; color: var(--text, #eee); font: inherit; font-size: 17px; }
.generation-beta-help { margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.generation-beta-consent { display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; font-size: 14px; line-height: 1.55; }
.generation-beta-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--accent); }
.generation-beta-errors, .generation-beta-error { margin: 12px 0; color: #ff9676; line-height: 1.5; }
.generation-beta-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.generation-visual { min-width: 0; background: #252D31; }
.generation-visual img {
  display: block;
  width: 100%;
  height: auto;
  filter: none;
  mix-blend-mode: normal;
  opacity: 1;
}
@media (max-width: 1000px) and (min-width: 701px) {
  .generation-page { gap: 24px; }
  .generation-copy h1 { font-size: 5.8vw; }
}
@media (max-width: 700px) {
  .generation-site .journal-dock { position: static; display: inline-flex; gap: 9px; width: auto; height: auto; margin-top: 16px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 0; box-shadow: none; animation: none; }
  .generation-site .journal-dock svg { width: 24px; height: 24px; animation: none; }
  .generation-site .journal-dock .journal-dock-label { position: static; display: block; width: auto; padding: 0; border: 0; background: none; opacity: 1; visibility: visible; transform: none; clip-path: none; animation: none; transition: none; }
  .generation-site .journal-dock-label strong { font-size: 14px; font-weight: 400; }
  .generation-site .journal-dock-label > span { display: none; }
  .generation-page { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 28px 0 36px; }
  .generation-copy h1 { font-size: clamp(38px, 11.5vw, 64px); }
  .generation-status { margin-top: 18px; font-size: 24px; }
  .generation-description { margin-top: 14px; font-size: 16px; }
  .generation-link { margin-top: 20px; }
  .generation-beta-button { width: 100%; box-sizing: border-box; }
  .generation-beta-page h1 { font-size: clamp(36px, 10vw, 52px); }
  .generation-beta-form { margin-top: 22px; }
}
