/* Archive intake skin. All form behavior remains owned by app.js. */
body.is-archive-intake {
  --archive-desk: var(--archive-home-desk, #e8e1cf);
  --archive-paper: var(--archive-home-paper, #fbfbf8);
  --archive-ink: var(--archive-home-ink, #242321);
  --archive-muted: var(--archive-home-muted, #77736c);
  --archive-blue: #0d4cd0;
  --archive-red: #b43b2e;
  --archive-line: var(--archive-home-line, rgba(36, 35, 33, .18));
  color: var(--archive-ink);
  background:
    repeating-radial-gradient(circle at 22% 14%, rgba(36, 35, 33, .045) 0 .5px, transparent .8px 5px),
    repeating-linear-gradient(90deg, transparent 0 24px, rgba(36, 35, 33, .018) 24px 25px),
    var(--archive-desk);
  font-family: var(--archive-serif);
  font-synthesis: none;
}

body.is-archive-intake[data-archive-skill="romance"] { --archive-blue: #a74e4a; }
body.is-archive-intake[data-archive-skill="business"] { --archive-blue: #0d4cd0; }
body.is-archive-intake[data-archive-skill="destiny"] { --archive-blue: var(--archive-destiny-accent, #486052); }

body.is-archive-intake .app-shell { min-height: 100svh; }

body.is-archive-intake .topbar {
  position: relative;
  height: auto;
  min-height: 76px;
  padding: calc(16px + env(safe-area-inset-top)) max(22px, calc((100vw - 1120px) / 2)) 12px;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}

body.is-archive-intake .brand { gap: 0; font-family: var(--archive-serif); }
body.is-archive-intake .brand-mark { display: none; }
body.is-archive-intake .brand strong { font-family: var(--archive-serif); font-size: 20px; font-weight: 700; letter-spacing: .14em; }
body.is-archive-intake .brand small {
  margin-top: 3px;
  color: var(--archive-muted);
  font: 10px var(--archive-mono);
  letter-spacing: .08em;
}

body.is-archive-intake .topbar-actions { gap: 14px; }
body.is-archive-intake .topbar-actions .text-button {
  color: var(--archive-ink);
  font-family: var(--archive-serif);
}
body.is-archive-intake #redemptionAdminButton,
body.is-archive-intake #profileManagerButton,
body.is-archive-intake #privacyButton,
body.is-archive-intake #themeButton { display: none; }

body.is-archive-intake .intake-view {
  position: relative;
  width: min(var(--archive-intake-max-width), calc(100% - 32px));
  margin: 12px auto 64px;
  padding: var(--archive-intake-padding-top) clamp(24px, 6vw, 76px) var(--archive-intake-padding-bottom);
  background:
    repeating-radial-gradient(circle at 30% 20%, rgba(36, 35, 33, .032) 0 .5px, transparent .8px 5px),
    var(--archive-paper);
  box-shadow: 0 14px 36px rgba(64, 56, 42, .1);
}

body.is-archive-intake .intake-view::before {
  position: absolute;
  top: 22px;
  right: 24px;
  color: var(--archive-muted);
  content: "INPUT ARCHIVE / 01";
  font: 10px var(--archive-mono);
  letter-spacing: .08em;
}

body.is-archive-intake .back-button {
  color: var(--archive-muted);
  font-family: var(--archive-serif);
}

body.is-archive-intake .page-heading {
  max-width: 620px;
  margin: var(--archive-intake-heading-top) 0 var(--archive-intake-heading-bottom);
}
body.is-archive-intake .page-heading .eyebrow {
  color: var(--archive-blue);
  font: 700 11px var(--archive-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.is-archive-intake .page-heading .eyebrow:empty { display: none; }
body.is-archive-intake .page-heading h1 { margin-top: 0; }
body.is-archive-intake .page-heading h1 {
  margin: 0 0 15px;
  color: var(--archive-ink);
  font-family: var(--archive-serif);
  font-size: var(--archive-intake-title-size);
  font-weight: 700;
  line-height: var(--archive-intake-title-leading);
}
body.is-archive-intake[data-archive-skill="romance"] .page-heading,
body.is-archive-intake[data-archive-skill="business"] .page-heading { margin-top: var(--archive-intake-heading-top); }
body.is-archive-intake[data-archive-skill="romance"] .page-heading h1,
body.is-archive-intake[data-archive-skill="business"] .page-heading h1 { font-size: var(--archive-intake-title-size); }
body.is-archive-intake .page-heading > p:last-child {
  max-width: 34em;
  color: var(--archive-muted);
  font-size: var(--archive-intake-description-size);
  line-height: var(--archive-copy-leading);
}
body.is-archive-intake .page-heading > p:last-child:empty { display: none; }

body.is-archive-intake .profile-entry-button {
  width: 100%;
  margin: 0 0 14px;
  padding: 15px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--archive-ink);
  box-shadow: none;
}
body.is-archive-intake .profile-entry-button:hover { border-color: var(--archive-blue); background: transparent; transform: none; }
body.is-archive-intake .profile-entry-button strong { font-family: var(--archive-serif); font-size: 16px; }
body.is-archive-intake .profile-entry-button small { color: var(--archive-muted); font-size: 11px; }
body.is-archive-intake .profile-entry-button b {
  padding: 0 0 3px;
  border-bottom: 1px solid var(--archive-ink);
  border-radius: 0;
  background: transparent;
  color: var(--archive-ink);
  font-size: 13px;
}

body.is-archive-intake .profile-panel {
  margin-bottom: 34px;
  padding: 20px;
  border: 1px solid var(--archive-line);
  border-radius: 0;
  background: rgba(255,255,255,.48);
}

body.is-archive-intake .intake-form { gap: 0; }
body.is-archive-intake .person-grid { gap: 0; border-top: 0; }
body.is-archive-intake .person-block {
  position: relative;
  padding: 54px 34px 30px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.is-archive-intake .person-block + .person-block {
  padding-right: 0;
  padding-left: 34px;
  border-left: 1px solid var(--archive-line);
}
body.is-archive-intake .person-block legend {
  position: absolute;
  top: 16px;
  left: 0;
  gap: 11px;
  color: var(--archive-ink);
  font-family: var(--archive-serif);
  font-size: 25px;
}
body.is-archive-intake .person-block + .person-block legend { left: 34px; }
body.is-archive-intake .person-block legend span {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: var(--archive-blue);
  font: 10px var(--archive-mono);
}
body.is-archive-intake .person-block > .field-block:first-of-type { margin-top: 22px; }

body.is-archive-intake .field-label,
body.is-archive-intake .eyebrow {
  color: var(--archive-muted);
  font-family: var(--archive-serif);
}
body.is-archive-intake .field-label em { color: #97928a; font-style: normal; font-weight: 400; }
body.is-archive-intake input,
body.is-archive-intake select,
body.is-archive-intake textarea {
  min-height: var(--archive-intake-control-height);
  border-color: var(--archive-line);
  border-radius: 0;
  color: var(--archive-ink);
  background: transparent;
  font-family: var(--archive-serif);
}
body.is-archive-intake input:focus,
body.is-archive-intake select:focus,
body.is-archive-intake textarea:focus { border-color: var(--archive-blue); }
body.is-archive-intake input::placeholder { color: #aaa69f; }

body.is-archive-intake .inline-picker-button,
body.is-archive-intake .secondary-button {
  min-height: var(--archive-intake-picker-height);
  border-color: var(--archive-line);
  border-radius: 0;
  color: var(--archive-ink);
  background: transparent;
  font-family: var(--archive-serif);
}
body.is-archive-intake .inline-place-grid {
  gap: var(--archive-intake-column-gap);
  border-color: var(--archive-line);
  border-radius: 0;
  background: rgba(255,255,255,.42);
}
body.is-archive-intake .inline-place-grid > * { min-width: 0; }
body.is-archive-intake .inline-place-grid select {
  width: 100%;
  min-width: 0;
  padding-right: 24px;
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.is-archive-intake .place-suggestions { border-radius: 0; }

body.is-archive-intake .context-fields {
  max-width: none;
  margin-top: var(--archive-intake-section-gap);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.is-archive-intake .context-fields::before {
  color: var(--archive-blue);
  content: "03 / RELATION CONTEXT";
  font: 10px var(--archive-mono);
  letter-spacing: .08em;
}
body.is-archive-intake .context-fields select#stateInput {
  min-height: var(--archive-intake-emphasis-height);
  padding: 10px 12px;
  border: 1px solid var(--archive-line);
  border-radius: 0;
  background: rgba(255,255,255,.5);
}

body.is-archive-intake .consent-row { color: var(--archive-muted); }
body.is-archive-intake .consent-row input { border-color: var(--archive-line); }
body.is-archive-intake .save-profile-row { margin: 26px 0 0; }
body.is-archive-intake .form-error { margin: 18px 0 0; }
body.is-archive-intake .generation-panel {
  margin-top: 24px;
  border-color: var(--archive-line);
  border-radius: 0;
  background: rgba(255,255,255,.5);
}
body.is-archive-intake .generation-panel strong {
  font-family: var(--archive-serif);
  font-variant-numeric: lining-nums proportional-nums;
  font-weight: 700;
  letter-spacing: .02em;
}
body.is-archive-intake .generation-orbit { border-color: rgba(22,74,216,.25); }
body.is-archive-intake .generation-orbit span,
body.is-archive-intake .generation-progress span { background: var(--archive-blue); }

body.is-archive-intake .form-footer { margin-top: 30px; padding-top: 0; border: 0; }
body.is-archive-intake .form-footer p { color: var(--archive-muted); }
body.is-archive-intake .primary-button {
  min-height: var(--archive-intake-emphasis-height);
  padding: 13px 20px;
  border-radius: 0;
  background: var(--archive-ink);
  color: var(--archive-paper);
  font-family: var(--archive-serif);
}
body.is-archive-intake .primary-button:hover { background: var(--archive-blue); }
body.is-archive-intake .site-footer { color: var(--archive-muted); }

@media (max-width: 780px) {
  body.is-archive-intake .topbar { padding-right: 20px; padding-left: 20px; }
  body.is-archive-intake .topbar-actions #profileManagerButton,
  body.is-archive-intake .topbar-actions #privacyButton { display: none; }
  body.is-archive-intake .intake-view { width: min(100% - 24px, 620px); margin-top: 6px; }
  body.is-archive-intake .person-grid { grid-template-columns: 1fr; }
  body.is-archive-intake .person-block,
  body.is-archive-intake .person-block + .person-block {
    padding: 54px 0 28px;
    border-left: 0;
  }
  body.is-archive-intake .person-block + .person-block legend { left: 0; }
}

@media (max-width: 560px) {
  body.is-archive-intake .topbar { min-height: 66px; height: auto; }
  body.is-archive-intake .brand strong { font-size: 18px; }
  body.is-archive-intake .intake-view {
    width: calc(100% - 20px);
    margin-bottom: 34px;
    padding: 30px 20px calc(48px + env(safe-area-inset-bottom));
  }
  body.is-archive-intake .intake-view::before { top: 18px; right: 20px; font-size: 8px; }
  body.is-archive-intake .page-heading { margin: var(--archive-intake-mobile-heading-top) 0 var(--archive-intake-mobile-heading-bottom); }
  body.is-archive-intake .page-heading { margin-top: 40px; }
  body.is-archive-intake .page-heading h1 { font-size: var(--archive-intake-mobile-title-size); }
  body.is-archive-intake .profile-entry-button { align-items: flex-start; }
  body.is-archive-intake .profile-entry-button small { max-width: 22em; }
  body.is-archive-intake .person-block,
  body.is-archive-intake .person-block + .person-block { padding-bottom: 28px; }
  body.is-archive-intake .two-column { grid-template-columns: 1fr 1fr; gap: var(--archive-intake-column-gap); }
  body.is-archive-intake .inline-place-grid { grid-template-columns: 1fr; }
  body.is-archive-intake .save-profile-row { display: grid; gap: 10px; }
  body.is-archive-intake .form-footer { gap: 18px; }
}

@media (max-width: 390px) {
  body.is-archive-intake .two-column { grid-template-columns: 1fr; }
}

@media (min-width: 1100px) {
  body.is-archive-intake .intake-view {
    width: min(var(--archive-intake-wide-max-width), calc(100% - 64px));
    padding-right: 82px;
    padding-left: 82px;
  }
  body.is-archive-intake .page-heading {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr);
    column-gap: 72px;
    max-width: none;
    align-items: end;
  }
  body.is-archive-intake .page-heading .eyebrow { grid-column: 1 / -1; }
  body.is-archive-intake .page-heading h1 { margin-bottom: 0; }
  body.is-archive-intake .page-heading > p:last-child { margin: 0 0 4px; }
  body.is-archive-intake .person-block { padding-right: 46px; }
  body.is-archive-intake .person-block + .person-block { padding-left: 46px; }
  body.is-archive-intake .person-block + .person-block legend { left: 46px; }
}
