body.is-product-home {
  --home-desk: var(--archive-home-desk, #e8e1cf);
  --home-paper: var(--archive-home-paper, #fbfbf8);
  --home-ink: var(--archive-home-ink, #242321);
  --home-muted: var(--archive-home-muted, #77736c);
  --home-blue: #164ad8;
  --home-line: var(--archive-home-line, rgba(36, 35, 33, 0.18));
  color: var(--home-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(--home-desk);
  font-family: var(--archive-serif);
  font-synthesis: none;
}

body.is-product-home .topbar {
  position: relative;
  max-width: 1080px;
  height: 76px;
  margin: auto;
  padding: calc(16px + env(safe-area-inset-top)) 22px 12px;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}
body.is-product-home .brand-mark { display: none; }
body.is-product-home .brand strong { font-family: var(--archive-serif); font-size: 20px; letter-spacing: .14em; }
body.is-product-home .brand small { margin-top: 2px; color: var(--home-muted); font: 10px "Courier New", monospace; letter-spacing: .08em; }
body.is-product-home .topbar-actions > :not(#authButton):not(#logoutButton):not(#redemptionAdminButton) { display: none !important; }
body.is-product-home #authButton { min-width: 48px; min-height: 44px; color: var(--home-ink); font-size: 15px; }
body.is-product-home #logoutButton { min-width: 42px; min-height: 44px; color: var(--home-ink); font-size: 15px; }

body.is-product-home .home-view { width: min(1080px, 100%); min-height: calc(100svh - 76px); padding: 8px 16px 36px; }
body.is-product-home .archive-intro { position: relative; padding: 18px 8px 24px; }
body.is-product-home .archive-intro h1 { max-width: 8em; margin: 0; font-family: inherit; font-size: clamp(36px, 11vw, 48px); font-weight: 700; line-height: 1.18; }
body.is-product-home .archive-intro > span { display: block; margin-top: 12px; color: var(--home-muted); font: 10px/1.4 "Courier New", monospace; letter-spacing: .08em; }
body.is-product-home .reading-index { display: grid; gap: 18px; }
body.is-product-home .mode-sheet { position: relative; overflow: hidden; background: repeating-radial-gradient(circle at 30% 20%, rgba(36,35,33,.035) 0 .5px, transparent .8px 5px), var(--home-paper); box-shadow: 0 10px 24px rgba(64,56,42,.09); }
body.is-product-home .mode-sheet.personal { margin-right: 20px; }
body.is-product-home .mode-sheet.synastry { margin-left: 20px; }
body.is-product-home .mode-trigger { position: relative; display: block; width: 100%; min-height: 288px; padding: 16px 22px 22px; overflow: hidden; border: 0; color: inherit; background: transparent; text-align: left; }
body.is-product-home .mode-number { position: absolute; z-index: 3; top: 22px; right: 22px; color: var(--home-muted); font: 11px "Courier New", monospace; }
body.is-product-home .mode-copy { position: relative; z-index: 2; display: grid; max-width: 15em; }
body.is-product-home .mode-copy small { color: var(--home-muted); font: 10px "Courier New", monospace; letter-spacing: .08em; }
body.is-product-home .mode-copy strong { margin-top: 5px; font-family: var(--archive-serif); font-size: 29px; line-height: 1.2; }
body.is-product-home .mode-copy em { display: grid; gap: 1px; margin-top: 9px; color: var(--home-muted); font-style: normal; line-height: 1.5; }
body.is-product-home .mode-copy em b { font: 11px "Courier New", monospace; letter-spacing: .04em; }
body.is-product-home .mode-copy em span { font-size: 13px; }
body.is-product-home .mode-art { position: absolute; z-index: 1; left: 4%; right: 4%; bottom: 8px; height: 245px; isolation: isolate; }
body.is-product-home .mode-art::before {
  position: absolute;
  z-index: -1;
  content: "";
  inset: 4% -8% 0;
  background: radial-gradient(ellipse 66% 66% at 58% 52%, rgba(122,122,122,.045), transparent 74%);
}
body.is-product-home .mode-art::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background-repeat: no-repeat;
  background-position: 58% 46%;
  background-size: contain;
  filter: contrast(1.04) saturate(.94);
  opacity: .94;
  mix-blend-mode: multiply;
  -webkit-mask-image: radial-gradient(ellipse 84% 78% at 56% 50%, #000 56%, rgba(0,0,0,.88) 72%, transparent 100%);
  mask-image: radial-gradient(ellipse 84% 78% at 56% 50%, #000 56%, rgba(0,0,0,.88) 72%, transparent 100%);
}
body.is-product-home .personal .mode-art::after { background-image: url("assets/home-personal-reading-tight-v1.png"); }
body.is-product-home .synastry .mode-art::after { background-image: url("assets/home-synastry-reading-tight-v1.png"); background-position: 56% 45%; }
body.is-product-home .mode-open { position: absolute; z-index: 3; right: 22px; bottom: 18px; padding-bottom: 4px; border-bottom: 1px solid var(--home-ink); font-size: 13px; }
body.is-product-home .mode-sheet.is-open .mode-open { color: var(--home-blue); border-color: var(--home-blue); }
body.is-product-home .module-drawer { border-top: 1px solid var(--home-line); padding: 0 22px 16px; }
body.is-product-home .module-drawer[hidden] { display: none; }
body.is-product-home .archive-module-link { position: relative; display: grid; grid-template-columns: 1fr 24px; width: 100%; min-height: auto; gap: 12px; padding: 18px 0; border: 0; border-bottom: 1px solid var(--home-line); color: inherit; background: transparent; text-align: left; }
body.is-product-home .archive-module-link:last-child { border-bottom: 0; }
body.is-product-home .archive-module-link strong { display: block; font-family: var(--archive-serif); font-size: 20px; }
body.is-product-home .archive-module-link small { display: block; margin-top: 5px; color: var(--home-muted); font-size: 12px; line-height: 1.6; }
body.is-product-home .archive-module-link b { align-self: center; justify-self: end; color: var(--home-blue); font-family: "Courier New", monospace; }
body.is-product-home .site-footer { display: flex; padding: 24px 18px calc(24px + env(safe-area-inset-bottom)); border-top: 1px solid var(--home-line); color: var(--home-muted); }

@media (min-width: 760px) {
  body.is-product-home .topbar { padding-inline: 32px; }
  body.is-product-home .home-view { padding: 28px 32px 64px; }
  body.is-product-home .archive-intro { padding-block: 34px 36px; }
  body.is-product-home .archive-intro h1 { font-size: 56px; }
  body.is-product-home .reading-index { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 28px; }
  body.is-product-home .mode-sheet.personal, body.is-product-home .mode-sheet.synastry { width: 100%; min-width: 0; margin: 0; }
  body.is-product-home .mode-trigger { min-height: 430px; padding-top: 18px; }
  body.is-product-home .mode-art { bottom: 8px; height: 382px; }
}

@media (min-width: 1200px) {
  body.is-product-home .home-view { padding-top: 42px; }
  body.is-product-home .archive-intro { padding-top: 42px; padding-bottom: 42px; }
  body.is-product-home .mode-trigger { min-height: 448px; }
}
body.is-product-home #redemptionAdminButton { min-width: 52px; min-height: 44px; color: var(--home-ink); font-size: 15px; }
