/* Shared Home presentation; launch/onboarding/Preview styles remain isolated. */
.astrodu-home { --home-gold:#c8a84b; box-sizing:border-box; color:#f5efe0; background:radial-gradient(ellipse at 30% 20%,#29201655,transparent 48%),#121110; font-family:var(--app-font-ui,"Josefin Sans",Arial,sans-serif); width:100%; min-width:0; padding:20px max(18px, env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:16px; }
.astrodu-home *, .home-web-header * { box-sizing:border-box; }
.astrodu-home > section, .astrodu-home > a, .home-calendar > div { min-width:0; max-width:100%; }
.astrodu-home [hidden] { display:none !important; }
.astrodu-home h1,.astrodu-home h2,.astrodu-home h3,.home-web-header { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; margin:0; }
.astrodu-home h2 { font-size:clamp(1.375rem, 4.5vw, 1.6875rem); line-height:1.2; }
.astrodu-home p { font-size:15px; line-height:1.5; margin:6px 0; }
.astrodu-home a { text-decoration:none; color:inherit; }
.astrodu-home a:focus-visible,.astrodu-home button:focus-visible { outline:2px solid #c8a84b; outline-offset:4px; }

/* Greeting */
.home-welcome { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:2px 0 4px; }
.home-welcome-text { min-width:0; }
.home-welcome-date { display:block; margin:0 0 4px; color:#c8b68b; font-size:.64rem; line-height:1.2; font-weight:400; font-style:normal; letter-spacing:.025em; }
.home-welcome h1 { font-size:clamp(1.75rem, 6.5vw, 2rem); line-height:1.15; overflow-wrap:anywhere; }
.home-welcome-name { color:var(--home-gold); }
.astrodu-home .home-eyebrow { font-size:9px; color:#c8b68b; letter-spacing:1.9px; text-transform:uppercase; }
.home-welcome-meta { margin:5px 0 0; display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.home-welcome-meta [data-home="sign"] { font-size:.6875rem; letter-spacing:.02em; color:#b9ac89; }
.home-access-tag { font-size:.625rem; color:#b9ac89; font-weight:600; letter-spacing:.02em; }
.home-access-tag.is-full { background:#1c4630; color:#a9e8c4; border:1px solid #2f7350; border-radius:20px; padding:2px 9px; }
/* Planetary Hour card — the slot stays compact beside the welcome block;
   each state supplies its own chrome. */
.home-today { position:relative; flex:0 1 clamp(150px,48vw,176px); width:clamp(150px,48vw,176px); max-width:176px; min-width:0; }
.home-today.is-prompt { flex-basis:min(210px,100%); width:min(210px,100%); max-width:210px; }

/* Utility states (loading / needs-location / unavailable) — same frame
   language as the graphical card, but plain content. */
.home-today-insight { display:block; font-size:.625rem; line-height:1.4; color:#a89a76; border:1px solid #89704455; border-radius:14px; padding:14px 12px; background:#1b1912; }
.home-today-date { display:flex; align-items:center; gap:5px; font-size:.6875rem; font-weight:700; color:#e8d7a7; }

/* Planetary Hour card — a compact horizontal celestial instrument. The
   current ruler owns the visual centre; secondary metadata stays quiet. */
.home-hour-card { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:0; width:100%; min-height:122px; padding:8px 9px 7px; border-radius:12px; overflow:hidden; border:1px solid var(--hour-border, #b08a45a6); background:radial-gradient(ellipse at 50% 35%, var(--hour-glow, transparent) 0%, transparent 48%),linear-gradient(145deg,#111823 0%,#090d14 72%,#11100d 100%); box-shadow:0 7px 18px #0008, inset 0 1px 0 #ffffff0a, inset 0 0 22px #b48a3a14; }
.home-hour-card::before { content:''; position:absolute; z-index:0; left:-16%; top:44px; width:132%; height:70px; border-top:1px solid #c7a86622; border-radius:50% 50% 0 0 / 100% 100% 0 0; transform:rotate(-2deg); pointer-events:none; }
.home-hour-card::after { content:''; position:absolute; z-index:0; left:14%; right:14%; top:16%; height:48%; background:radial-gradient(ellipse, var(--hour-glow, transparent) 0%, transparent 68%); opacity:.55; pointer-events:none; }
.home-hour-main, .home-hour-footer { position:relative; z-index:1; }
.home-hour-main { display:flex; flex-direction:column; align-items:center; min-width:0; }
.home-hour-glyph-wrap { display:flex; align-items:center; justify-content:center; height:38px; }
.home-hour-glyph { font-size:40px; font-weight:600; line-height:1; color:#f0e5c8; -webkit-text-stroke:.35px var(--hour-accent, #e2c477); text-shadow:0 0 4px var(--hour-accent, #e2c477),0 0 12px var(--hour-glow, transparent),0 1px 2px #0008; }
.home-hour-planet { margin-top:6px; font-size:.68rem; line-height:1.1; font-weight:700; letter-spacing:.17em; text-transform:uppercase; color:#f0e5c8; }
.home-hour-range { margin-top:2px; font-family:'Cormorant Garamond',Georgia,serif; font-size:.96rem; line-height:1; font-weight:600; letter-spacing:.015em; color:#f3eddf; white-space:nowrap; font-variant-numeric:tabular-nums; }
.home-hour-remaining { display:inline-flex; align-items:baseline; justify-content:center; gap:2px; min-width:0; width:fit-content; height:auto; margin-top:4px; padding:1px 4px; border:1px solid #c1a15d80; border-radius:7px; background:#070b1199; color:#e5c979; white-space:nowrap; font-variant-numeric:tabular-nums; }
.home-hour-remaining strong { font-size:.47rem; line-height:1; font-weight:400; font-style:normal; letter-spacing:.025em; }
.home-hour-remaining small { font-size:.35rem; line-height:1; font-weight:400; font-style:normal; letter-spacing:.10em; color:#bba66f; }
.home-hour-next { position:absolute; z-index:2; top:7px; right:8px; display:flex; flex-direction:column; align-items:center; gap:8px; width:24px; color:#c3a66c; line-height:1; }
.home-hour-next > span { display:block; width:auto; height:auto; border:0; border-radius:0; font-size:22px; line-height:1; }
.home-hour-next small { font-size:.43rem; font-weight:400; letter-spacing:.06em; text-transform:none; color:#a98e5b; }
.home-hour-footer { display:flex; align-items:center; justify-content:space-between; width:100%; min-width:0; gap:4px; margin-top:10px; color:#a58a59; white-space:nowrap; }
.home-hour-context, .home-hour-live { font-size:.46rem; line-height:1; font-weight:700; letter-spacing:.06em; }
.home-hour-live { color:#b99d62; }
.home-hour-live-dot { margin-right:2px; font-style:normal; font-size:.48rem; color:#d5b45e; text-shadow:0 0 5px #c8a84b88; animation:home-hour-live-pulse 3.5s ease-in-out infinite; }
@keyframes home-hour-live-pulse { 0%,100% { opacity:.62; } 50% { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .home-hour-live-dot { animation:none; } }

/* Planetary Hour card — locked (free) teaser */
.home-hour-card.is-locked { cursor:pointer; }
.home-hour-preview { filter:blur(3px); opacity:.5; }
.home-hour-lock-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; background:linear-gradient(175deg, rgba(10,9,7,.32), rgba(10,9,7,.72)); }
.home-hour-lock-icon { font-size:17px; }
.home-hour-lock-text { max-width:128px; font-size:.625rem; font-weight:700; line-height:1.35; color:#f0e6c8; }

/* Planetary Hour card — needs-location prompt */
.home-today-locate { margin-top:6px; background:none; border:0; padding:0; font-size:.625rem; font-weight:700; color:var(--home-gold); cursor:pointer; }
.home-today-city-form { display:flex; flex-direction:column; gap:5px; width:100%; margin-top:8px; }
.home-today-city-form input { width:100%; font-size:.6875rem; padding:5px 7px; border-radius:6px; border:1px solid #89704455; background:#0f0e0b; color:#f5efe0; font-family:inherit; }
.home-today-city-form input::placeholder { color:#7c766f; }
.home-today-city-form button { align-self:flex-end; background:none; border:0; padding:0; font-size:.625rem; font-weight:700; color:var(--home-gold); cursor:pointer; }

.home-section-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.home-section-heading > span { font-size:.75rem; color:#b4a994; text-align:right; white-space:nowrap; }
.home-sky .home-section-heading > span { color:var(--home-gold); font-weight:700; }
.home-calendar .home-section-heading h2, .home-apps .home-section-heading h2, .home-ask-today .home-section-heading h2 { color:var(--home-gold); }
.astrodu-home .home-link { color:#d8bd78; text-transform:uppercase; font-size:.75rem; letter-spacing:.5px; font-weight:600; white-space:nowrap; }
.astrodu-home button.home-link { background:none; border:0; padding:0; font-family:inherit; cursor:pointer; }
.astrodu-home .home-light .home-link { color:#5c4720; font-weight:800; }
.home-sky h2 { font-size:clamp(1.25rem, 4.1vw, 1.5625rem); }
.home-sky .home-section-heading > span { font-size:.6875rem; }
.home-sky-helper { margin:-4px 0 10px; color:#b9b0a0; font-size:13px !important; font-weight:400; line-height:1.35 !important; }

/* Current Sky */
.home-sky { position:relative; }
.home-sky-strip { display:flex; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#54452c transparent; overflow-y:hidden; overscroll-behavior-x:contain; border:1px solid #6b57354d; border-radius:10px; background:linear-gradient(145deg,#25231f,#171716); padding:10px 4px; }
.home-planet { position:relative; flex:1 0 52px; display:flex; flex-direction:column; align-items:center; gap:3px; padding:0 4px; font-size:.6875rem; line-height:1.2; cursor:pointer; }
.home-sky-callout { position:absolute; top:0; left:0; transform:translateX(-50%); z-index:5; white-space:nowrap; background:#1b1912; border:1px solid #8d703a99; border-radius:8px; padding:6px 10px; font-size:.6875rem; font-weight:600; color:#e7d6ad; box-shadow:0 6px 18px #00000066; pointer-events:none; }
.home-sky-callout::after { content:''; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:5px solid transparent; border-top-color:#8d703a99; }
.home-planet:not(:first-child)::before { content:''; position:absolute; left:0; top:14%; bottom:14%; width:1px; background:linear-gradient(#8d703a00,#8d703a66,#8d703a00); }
.home-planet strong { font-weight:400; color:#e7d6ad; font-size:.6875rem; white-space:nowrap; }
.home-planet span:not(.home-glyph) { font-size:.625rem; }
.home-planet small { font-size:.625rem; color:#a7a39b; }
.home-glyph { font-size:22px; color:#c8a84b; }
.home-planet:nth-child(2) .home-glyph { color:#d4d6e0; }.home-planet:nth-child(3) .home-glyph { color:#c9a06a; }.home-planet:nth-child(4) .home-glyph { color:#d4a9a0; }.home-planet:nth-child(5) .home-glyph { color:#c47f62; }.home-planet:nth-child(6) .home-glyph { color:#cc8a4a; }.home-planet:nth-child(7) .home-glyph { color:#9ba8b8; }.home-planet:nth-child(8) .home-glyph { color:#7fb5c9; }.home-planet:nth-child(9) .home-glyph { color:#6f8fd4; }.home-planet:nth-child(10) .home-glyph { color:#8a7fb0; }

.home-dark { border:1px solid #8d703a66; border-radius:11px; background:linear-gradient(120deg,#22221e,#151614); }

/* Today's Horoscope: human-led editorial card matching the approved mockup. */
.home-horoscope {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:250px;
  padding:24px 22px 20px;
  border:1px solid #8d703a66;
  border-radius:11px;
  background-color:#08090a;
  background-image:
    linear-gradient(90deg,
      rgba(5,7,9,.99) 0%,
      rgba(5,7,9,.97) 29%,
      rgba(5,7,9,.78) 48%,
      rgba(5,7,9,.24) 70%,
      rgba(5,7,9,.05) 100%),
    url('/static/images/astrodu-todays-horoscope-woman-home.webp');
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center center;
  box-shadow:0 12px 30px #0004;
}
.home-horoscope-copy {
  position:relative;
  z-index:1;
  width:58%;
  min-width:0;
  min-height:204px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.home-horoscope-top {
  width:100%;
}

.astrodu-home .home-horoscope h2 {
  margin:0;
  color:#e7bc62;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:2rem;
  font-weight:500;
  line-height:1.05;
  letter-spacing:-.02em;
}

.home-horoscope-date {
  display:none;
}

.home-horoscope-rule {
  display:block;
  width:76px;
  height:2px;
  margin:14px 0;
  border-radius:2px;
  background:linear-gradient(90deg,#e1b44f 0 68%,rgba(225,180,79,.18) 68%);
}

.astrodu-home .home-horoscope p.home-horoscope-intro {
  max-width:280px;
  margin:0 0 17px;
  color:#eee7da;
  font-size:.8125rem;
  line-height:1.45;
}

.astrodu-home .home-horoscope .home-horoscope-cta {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-width:150px;
  min-height:44px;
  padding:10px 14px 10px 18px;
  border:0;
  border-radius:7px;
  background:linear-gradient(115deg,#efcf79,#c99738);
  color:#21180b;
  font-size:.8125rem;
  font-weight:700;
  box-shadow:0 5px 16px #0006;
}

.home-horoscope-cta b {
  font:400 22px/1 Arial,sans-serif;
}

.home-horoscope-themes {
  width:100%;
  max-width:330px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:auto;
  padding-top:22px;
}

.home-horoscope-theme {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  text-align:center;
}

.home-horoscope-theme i {
  min-height:23px;
  display:grid;
  place-items:center;
  font:400 23px/1 Arial,sans-serif;
}

.home-horoscope-theme small {
  color:#c8beb0;
  font-size:.625rem;
  line-height:1.2;
}

.home-horoscope-theme.is-love i { color:#ff5c9a; }
.home-horoscope-theme.is-money i { color:#48d597; }
.home-horoscope-theme.is-career i { color:#4da3ff; }
.home-horoscope-theme.is-wellness i { color:#e7b74f; }

@media (max-width:430px) {
  .home-horoscope {
    min-height:238px;
    padding:21px 17px 17px;
    background-image:
      linear-gradient(90deg,
        rgba(5,7,9,.99) 0%,
        rgba(5,7,9,.96) 30%,
        rgba(5,7,9,.70) 51%,
        rgba(5,7,9,.13) 75%,
        rgba(5,7,9,.02) 100%),
      url('/static/images/astrodu-todays-horoscope-woman-home.webp');
    background-position:58% center;
  }

  .home-horoscope-copy {
    width:64%;
    min-height:198px;
  }

  .astrodu-home .home-horoscope h2 {
    font-size:1.72rem;
  }

  .home-horoscope-rule {
    width:58px;
    margin:11px 0;
  }

  .astrodu-home .home-horoscope p.home-horoscope-intro {
    max-width:205px;
    margin-bottom:13px;
    font-size:.75rem;
  }

  .astrodu-home .home-horoscope .home-horoscope-cta {
    min-width:132px;
    min-height:42px;
    padding:9px 12px 9px 15px;
  }

  .home-horoscope-themes {
    width:calc(100vw - 72px);
    max-width:330px;
    gap:5px;
    padding-top:18px;
  }

  .home-horoscope-theme i {
    font-size:20px;
  }

  .home-horoscope-theme small {
    font-size:.5625rem;
  }
}

@media (max-width:359px) {
  .home-horoscope {
    min-height:228px;
    padding-left:14px;
    padding-right:14px;
  }

  .home-horoscope-copy {
    width:66%;
    min-height:190px;
  }

  .astrodu-home .home-horoscope h2 {
    font-size:1.5rem;
  }

  .home-horoscope-themes {
    width:calc(100vw - 64px);
  }
}

/* Buttons */
.astrodu-home .home-gold-button { display:inline-flex; align-items:center; justify-content:center; padding:9px 14px; border:1px solid #ead08b66; border-radius:6px; background:linear-gradient(120deg,#ecd48e,#bd9544); color:#20180c; font-size:.8125rem; font-weight:700; min-height:36px; line-height:1.3; text-align:center; }
.astrodu-home .home-ask-go-deep { min-width:0; min-height:44px; padding:10px 18px; border:1px solid #f1d995; border-radius:9999px; background:linear-gradient(120deg,#ecd48e,#bd9544); color:#20180c; box-shadow:0 2px 8px #0005; cursor:pointer; white-space:nowrap; }
.astrodu-home .home-ask-go-deep:hover { background:linear-gradient(120deg,#f3dda0,#cba252); }
.astrodu-home .home-ask-go-deep:focus-visible { outline:2px solid #fff1c5; outline-offset:3px; }
.astrodu-home .home-ask-go-deep:active { transform:translateY(1px); box-shadow:0 1px 4px #0005; }

/* Best Days calendar */
.home-light {
  color:#29271f;
  padding:16px 14px;
  border:1px solid #e0d4b8;
  border-radius:11px;
  background:linear-gradient(120deg,#faf5e9,#eee6d5);
  box-shadow:0 8px 24px #0002;
}
.home-light .home-section-heading > span { color:#6b614b; }

/* Clean calendar composition: AstroDu colours with the quieter spacing and
   hierarchy of the approved reference. */
.home-calendar {
  padding:22px 18px 20px;
}
.home-calendar .home-section-heading {
  margin-bottom:12px;
}
.home-calendar > p {
  max-width:620px;
  color:#b9b0a0;
  margin:0 0 20px;
  font-size:.8125rem;
  line-height:1.55;
}

.home-calendar [data-home="calendar"] {
  width:100%;
}

.home-legend {
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin:0 0 22px;
  color:#c6bba5;
  font-size:.6875rem;
  line-height:1.3;
}
.home-legend > span {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:22px;
  white-space:nowrap;
}
.home-legend i {
  width:18px;
  height:18px;
  flex:0 0 18px;
  border-radius:6px;
  display:grid;
  place-items:center;
  font-style:normal;
  font-size:10px;
}

.home-legend .is-power {
  background:#383022;
  color:#ff5c9a;
}
.home-legend .is-love {
  background:#33252b;
  border:1px solid #ff78ad;
  color:#ff78ad;
}
.home-legend .is-money {
  background:#232d26;
  border:1px solid #48d597;
  color:#48d597;
}
.home-legend .is-career {
  background:#1d3048;
  border:1px solid #4DA3FF;
  color:#4DA3FF;
}
.home-legend .is-caution {
  background:#332b16;
  color:#FFC107;
}
.home-legend .is-regular {
  background:transparent;
  border:1px solid #e7dfcf;
}

.home-calendar-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  column-gap:6px;
  row-gap:8px;
}

.home-weekday {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  margin-bottom:4px;
  padding:0;
  color:#aaa08e;
  font-size:.6875rem;
  font-weight:500;
  text-align:center;
}

/* The default date is deliberately open and borderless. */
.home-day {
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  min-width:0;
  width:100%;
  min-height:48px;
  padding:5px 1px 4px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#e7dfcf;
  font:400 1rem/1 Arial,sans-serif;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  -webkit-tap-highlight-color:transparent;
  transition:background 140ms ease,border-color 140ms ease,transform 140ms ease;
}

.home-day span {
  display:block;
  line-height:1;
}

.home-day i {
  display:flex;
  align-items:center;
  justify-content:center;
  height:9px;
  min-height:9px;
  font-style:normal;
  font-size:9px;
  line-height:1;
}

/* Regular days carry no decorative box. */
.home-day.is-regular {
  background:transparent;
  border-color:transparent;
  color:#d7cebd;
}

/* Supportive days remain visually light: marker does the work. */
.home-day.is-good {
  background:transparent;
  border-color:transparent;
  color:#e7dfcf;
}
.home-day.is-good i {
  color:#48d597;
  font-size:12px;
}

/* Caution is communicated primarily through the symbol, not a filled tile. */
.home-day.is-caution {
  background:transparent;
  border-color:transparent;
  color:#e7dfcf;
}
.home-day.is-caution i {
  color:#FFC107;
  font-size:11px;
}

/* Power Days are the deliberate visual emphasis. */
.home-day.is-power {
  background:color-mix(in srgb,var(--day-color,#2E7D52) 20%,#241d20);
  border-color:color-mix(in srgb,var(--day-color,#2E7D52) 72%,#ff78ad);
  color:#f8f0da;
  font-weight:700;
}
.home-day.is-power i {
  color:#ff5c9a;
  font-size:12px;
}

.home-day:hover {
  background:#ffffff08;
}

.home-day:active {
  transform:scale(.97);
}

/* One clear selected state, equivalent to the outlined date in the reference. */
.home-day.is-selected {
  border-color:#f5efe0;
  background:#ffffff0a;
  color:#fffaf0;
  box-shadow:inset 0 0 0 1px #f5efe055;
}
.home-day.is-power.is-selected {
  border-color:#f5efe0;
}

.home-day:focus-visible {
  outline:2px solid #c8a84b;
  outline-offset:2px;
}

/* Description belongs beneath the calendar rather than inside the grid. */
.astrodu-home .home-day-detail {
  min-height:0;
  margin:22px 0 0;
  padding:14px 15px;
  border:1px solid #8d703a28;
  border-radius:10px;
  background:#ffffff08;
  color:#c6b99e;
  font-size:.75rem;
  line-height:1.55;
}
.home-day-detail strong,
.home-day-detail span {
  display:block;
}
.home-day-detail strong {
  margin-bottom:4px;
  color:#f5efe0;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1rem;
  font-weight:600;
}
.home-day-detail span {
  color:#b9b0a0;
}

.home-trial {
  border-top:1px solid #8d703a40;
  margin-top:14px;
  padding-top:12px;
}
.home-trial strong {
  font-size:.6875rem;
  color:#d8bd78;
}
.home-trial p {
  font-size:.6875rem;
  color:#b9b0a0;
  margin:4px 0 0;
}

.home-calendar-locked {
  text-align:center;
  padding:12px 10px;
}
.home-calendar-locked > span {
  font-size:30px;
  color:#c8a84b;
}
.home-calendar-locked strong {
  display:block;
  font-size:.75rem;
  margin:10px 0;
}

.home-reading-link { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; }
.home-reading-icon { border:1px solid #a98b49; border-radius:5px; color:#d9b967; background:#262016; height:52px; display:grid; place-items:center; font-size:26px; }
.home-reading-link strong { display:block; font:500 15px 'Cormorant Garamond',Georgia,serif; overflow-wrap:anywhere; }.home-reading-link small { display:block; font-size:.6875rem; color:#766b54; margin-top:4px; }.home-reading-link .home-link { color:#79602b; font-size:.6875rem; }

/* Ask Today: a compact question product on Home, independent of Direct Ask. */
.home-ask-today { padding:22px 18px 20px; }
.home-ask-today [data-ask-today-body] { max-width:720px; }
.home-ask-intro, .home-ask-note, .home-ask-message { color:#b9b0a0; font-size:.75rem; line-height:1.55; }
.home-ask-intro { margin:0 0 13px; }
.home-ask-note { display:block; margin-top:10px; color:#8f8575; }
.home-ask-today form { display:flex; gap:10px; align-items:flex-end; }
.home-ask-today textarea { flex:1 1 auto; min-width:0; resize:vertical; padding:12px 13px; border:1px solid #8d703a55; border-radius:8px; background:#15120f; color:#f4edde; font:13px/1.45 Arial,sans-serif; }
.home-ask-today textarea::placeholder { color:#8f8575; }
.home-ask-today textarea:focus { outline:2px solid #c8a84b; outline-offset:1px; }
.home-ask-question { margin:0 0 17px; color:#d8bd78; font:500 1.05rem/1.35 'Cormorant Garamond',Georgia,serif; }
.home-ask-result { position:relative; padding:18px 15px 15px; border:1px solid #8d703a35; border-radius:9px; background:#ffffff06; }
.home-ask-close { position:absolute; top:7px; right:7px; width:34px; height:34px; padding:0; border:1px solid #8d703a55; border-radius:50%; background:#1b1711; color:#e7bc62; font:400 24px/30px Arial,sans-serif; cursor:pointer; }
.home-ask-close:hover, .home-ask-close:focus-visible { background:#302517; color:#fff1c5; outline:2px solid #c8a84b; outline-offset:1px; }
.home-ask-result h3 { margin:0 0 9px; color:#e7bc62; font:500 1.18rem/1.1 'Cormorant Garamond',Georgia,serif; }
.home-ask-result > h3 { padding-right:42px; }
.home-ask-text { white-space:pre-wrap; color:#e5ddce; font-size:.78rem; line-height:1.65; }
.home-ask-content { white-space:normal; }
.home-ask-content p { margin:0 0 10px; }
.home-ask-content p:last-child { margin-bottom:0; }
.home-ask-content h4 { margin:0 0 6px; color:#e7bc62; font:600 .75rem/1.3 Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; }
.home-ask-unlock, .home-ask-focused { margin-top:17px; padding-top:15px; border-top:1px solid #8d703a35; }
.home-ask-unlock p { margin:0 0 11px; color:#b9b0a0; font-size:.75rem; }
.home-ask-unlock .home-gold-button + p { margin-top:11px; }
.home-ask-recent { margin-top:18px; padding-top:14px; border-top:1px solid #8d703a35; }
.home-ask-recent h3 { margin:0 0 8px; color:#9b8c70; font:600 .68rem/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.home-ask-recent ul { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.home-ask-recent li { display:flex; align-items:baseline; gap:10px; min-width:0; }
.home-ask-recent-question { flex:1 1 auto; min-width:0; display:block; overflow:hidden; color:#d8bd78; font-size:.76rem; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }
.home-ask-recent-status { flex:none; color:#a99565; font-size:.66rem; white-space:nowrap; }
.home-ask-recent-go-deep { display:inline-flex; align-items:center; justify-content:center; width:fit-content; min-width:0; flex:0 0 auto; flex-shrink:0; min-height:28px; padding:3px 8px; border:1px solid #f1d995; border-radius:9999px; background:linear-gradient(120deg,#ecd48e,#bd9544); color:#20180c; font-size:.66rem; font-weight:700; line-height:1; text-align:center; box-shadow:0 2px 7px #0005; white-space:nowrap; }
.home-ask-recent-go-deep:hover { background:linear-gradient(120deg,#f3dda0,#cba252); }
.home-ask-recent-link:hover, .home-ask-recent-link:focus-visible { color:#fff1c5; text-decoration:underline; outline:none; }
.home-ask-recent-all { display:inline-block; margin-top:11px; color:#c8a84b; font-size:.7rem; text-decoration:none; }
.home-ask-recent-all:hover, .home-ask-recent-all:focus-visible { color:#fff1c5; text-decoration:underline; }
.home-ask-suggestions { margin-top:18px; padding-top:15px; border-top:1px solid #8d703a35; }
.home-ask-suggestions h3 { margin:0 0 9px; color:#9b8c70; font:600 .68rem/1.2 Arial,sans-serif; letter-spacing:.08em; }
.home-ask-suggestion { display:block; width:100%; margin:6px 0 0; padding:9px 11px; border:1px solid #8d703a55; border-radius:6px; background:#15120f; color:#d8bd78; font-size:.73rem; line-height:1.35; text-align:left; cursor:pointer; }
.home-ask-suggestion:hover, .home-ask-suggestion:focus-visible { border-color:#c8a84b; color:#fff1c5; outline:none; }
.home-ask-today button:disabled { opacity:.6; cursor:wait; }
.home-ask-time-machine { display:flex; align-items:center; gap:9px; margin-top:16px; padding-top:14px; border-top:1px solid #8d703a55; text-decoration:none; }
.home-ask-time-machine-icon { flex:none; width:18px; height:18px; color:#d8bd78; }
.home-ask-time-machine-icon svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.home-ask-time-machine-copy { flex:1 1 auto; min-width:0; color:#d0c6b5; font-size:.78rem; font-weight:500; line-height:1.45; }
.home-ask-time-machine-copy strong { color:#e7bc62; font-weight:700; }
.home-ask-time-machine-arrow { flex:none; color:#d8bd78; font-size:.78rem; }
.home-ask-time-machine:hover .home-ask-time-machine-copy, .home-ask-time-machine:focus-visible .home-ask-time-machine-copy { color:#d8cbb0; }
@media (max-width:430px) {
  .home-ask-today { padding:19px 16px 17px; }
  .home-ask-today form { display:block; }
  .home-ask-today textarea { width:100%; height:80px; min-height:80px; margin-bottom:10px; }
  .home-ask-today form .home-gold-button { width:auto; flex:0 0 auto; min-height:40px; padding:8px 12px; font-size:.75rem; }
  .home-ask-result { padding:18px 13px 13px; }
  .home-ask-close { top:6px; right:6px; }
}

/* Your Birth Chart - a single photographic scene (the real AstroDu book is
   already rendered into this image) used as the card's sole background.
   No separate foreground book layer - that would duplicate it. */
.home-chart { position:relative; overflow:hidden; padding:16px; min-height:150px; background-size:cover; background-position:center 67%; box-shadow:0 14px 35px #0004; }
.home-chart-copy { position:relative; z-index:1; min-width:0; max-width:min(58%,420px); }
.home-chart .home-eyebrow { display:block; margin-bottom:2px; }
.home-chart h2 { font-size:1.25rem; color:#e6c979; line-height:1.2; letter-spacing:-.2px; }
.home-chart h3 { font-size:.8125rem; letter-spacing:.05em; color:#eddfbc; margin-top:2px; }
.home-chart p { font-size:.8125rem; line-height:1.42; color:#d1c7b2; margin:8px 0; }
.home-chart-copy > small { display:block; font-size:.6875rem; color:#d7c696; margin:8px 0; }

/* Explore More - all four cards visible in one row, never horizontally scrollable */
.home-explore { padding:0; }
.home-explore-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.home-explore-card { position:relative; min-width:0; min-height:127.28125px; display:flex; flex-direction:column; gap:3px; padding:9px 8px 22px; border-radius:9px; border:1px solid #8d703a4d; background-color:#171310; background-image:linear-gradient(0deg,rgba(9,7,5,.9) 0%,rgba(9,7,5,.72) 48%,rgba(9,7,5,.12) 100%),var(--home-explore-image); background-size:cover; background-position:var(--home-explore-position); background-repeat:no-repeat; -webkit-tap-highlight-color:transparent; }
.home-explore-copy { position:absolute; top:50%; left:8px; right:8px; transform:translateY(-50%); display:flex; flex-direction:column; gap:3px; }
.home-explore-name { font-size:.75rem; font-weight:700; letter-spacing:.01em; color:#f3e6c2; line-height:1.2; overflow-wrap:anywhere; }
.home-explore-desc { font-size:.6875rem; line-height:1.25; color:#c7bda2; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.home-explore-arrow { position:absolute; right:8px; bottom:8px; color:#e6c979; font-size:11px; }
.home-explore-card, .home-calc-card { transition: transform 160ms ease, border-color 160ms ease, filter 160ms ease; }
.home-explore-card:hover, .home-calc-card:hover { transform: translateY(-2px); border-color: #c8a84b99; filter: brightness(1.06); }
@media (min-width:380px) {
  .home-explore-card { min-height:132.6875px; padding:10px 9px 24px; }
  .home-explore-copy { left:9px; right:9px; }
  .home-explore-name { font-size:.8125rem; }
}

/* Restored AstroDu ecosystem destinations - compact dashboard tool cards,
   not marketing banners. Real, pre-existing routes only. */
.home-apps { padding:2px 0; }
.home-apps > p { color:#b9b4a9; font-size:.75rem; margin:0 0 12px; }

.home-apps-grid { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 28px)/5); justify-content:start; gap:7px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#665332 transparent; padding-bottom:6px; }
.home-app-card { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px; min-height:86px; padding:12px 6px 10px; border-radius:10px; border:1px solid #8d703a4d; background:linear-gradient(150deg,#221f1a,#171310); -webkit-tap-highlight-color:transparent; }
.home-app-icon { font-size:19px; color:var(--list-accent,#e6c979); text-shadow:0 0 10px var(--list-accent,#8d703a); }
.home-app-name { font-size:.6875rem; font-weight:700; letter-spacing:.2px; line-height:1.3; color:#e6dcc0; overflow-wrap:anywhere; }
.home-app-arrow { position:absolute; top:8px; right:9px; font-size:9px; color:var(--list-accent,#c8a84b); }
.home-app-card.is-teal { --list-accent:#7dd0c0; }
.home-app-card.is-blue { --list-accent:#8fb8e6; }
.home-app-card.is-amber { --list-accent:#e6b45c; }
.home-app-card.is-rose { --list-accent:#e69cb0; }

/* Header */
.home-header-icons[hidden] { display:none; }
.home-header-icons { display:flex; align-items:center; gap:10px; margin-left:2px; }
.home-bell { width:34px; height:34px; }
.home-bell svg { width:16px; }
.home-avatar { width:34px; height:34px; border-radius:50%; border:1px solid #c8a84b70; background:linear-gradient(145deg,#2c2416,#1a1611); color:#e6c979; font:600 11px 'Cormorant Garamond',Georgia,serif; letter-spacing:.3px; display:grid; place-items:center; cursor:pointer; padding:0; }
.home-header-actions { display:none; align-items:center; gap:8px; }
.home-mobile-new-reading { display:none; align-items:center; justify-content:center; min-height:32px; margin-left:auto; padding:0 10px; border:1px solid #c8a84b; border-radius:6px; background:linear-gradient(120deg,#ecd48e,#bd9544); color:#20180c; font:700 12px/1 Arial,sans-serif; letter-spacing:0; text-transform:none; text-decoration:none; white-space:nowrap; box-shadow:0 2px 8px #0005; }
.home-header-link { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:0 13px; border:1px solid #8a6f2e; border-radius:6px; background:transparent; color:#c8a84b; font:600 13px/1 Arial,sans-serif; letter-spacing:0; text-transform:none; text-decoration:none; cursor:pointer; }
.home-header-new-reading { border-color:#c8a84b; background:linear-gradient(120deg,#ecd48e,#bd9544); color:#20180c; box-shadow:0 3px 10px #0005; }
.home-header-link:hover { border-color:#c8a84b; }

.home-reader { width:min(760px,calc(100% - 24px)); position:fixed; inset:0; margin:auto; height:fit-content; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; background:#f8f2e4; color:#29271f; border:1px solid #c8a84b; border-radius:12px; padding:20px 20px calc(32px + env(safe-area-inset-bottom)); }.home-reader::backdrop { background:#000b; }.home-reader-close { display:block; position:sticky; top:0; z-index:1; margin:0 0 20px auto; min-height:44px; background:#f8f2e4; border:1px solid #99834e; border-radius:5px; padding:8px 14px; cursor:pointer; }.home-reader-text {
  white-space: normal;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.0625rem;
  line-height: 1.72;
  color: inherit;
  overflow-wrap: anywhere;
}
.home-reader-text h2 {
  margin: 32px 0 13px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(128,103,36,.28);
  color: #806724;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.65rem, 5.8vw, 1.95rem);
  font-weight: 600;
  line-height: 1.15;
}
.home-reader-text h3 {
  margin: 25px 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(128,103,36,.20);
  color: #806724;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.3rem, 4.8vw, 1.5rem);
  font-weight: 600;
  line-height: 1.2;
}
.home-reader-text p { margin: 0 0 15px; }
.home-reader-text strong { font-weight: 700; }
.home-reader-text .reading-divider {
  height: 1px;
  margin: 24px 0;
  border: 0;
  background: rgba(128,103,36,.24);
}
.home-web { margin:0; background:#121110; }.home-web-header { max-width:1060px; margin:auto; padding:23px 24px; border-bottom:1px solid #c8a84b25; color:#c8a84b; letter-spacing:4px; font-size:20px; display:flex; align-items:center; justify-content:space-between; gap:16px; }.home-web-header a { color:inherit; text-decoration:none; }.home-web .astrodu-home { max-width:1060px; margin:auto; }
#app-shell:has(#app-main:not([hidden])) { background:#121110; max-width:1060px; }
#app-shell:has(#app-main:not([hidden])) .app-topbar { background:#121110; }
#app-shell:has(#app-main:not([hidden])) [data-home-hide] { display:none; }
.app-nav-item { font-size:.75rem; }

@media (max-width:699px) {
  .astrodu-home { padding-left:max(18px, env(safe-area-inset-left)); padding-right:max(18px, env(safe-area-inset-right)); }
  .home-mobile-new-reading { display:inline-flex; }
  .home-apps-grid { grid-auto-columns:max(100px,calc((100% - 28px)/5)); }
}
@media (max-width:359px) {
  .astrodu-home { gap:13px; }.home-light, .home-calendar { padding:14px 11px; }.home-reading-link { grid-template-columns:34px 1fr; }.home-reading-link .home-link { grid-column:2; }
  .home-chart { min-height:135px; }
}
@media (min-width:700px) {
  .astrodu-home { padding:26px 28px calc(92px + env(safe-area-inset-bottom)); gap:20px; }
  .home-chart { min-height:200px; background-position:center 62%; padding:26px 30px; }
  .home-chart-copy { max-width:min(56%,480px); }
  .home-chart h2 { font-size:1.75rem; }
  .home-chart h3 { font-size:1.0625rem; }
  .home-chart p { font-size:.9375rem; }
  .home-chart-copy > small { font-size:.75rem; }
  .home-gold-button { min-width:170px; }
  .home-horoscope { min-height:270px; padding:28px 30px 22px; }
  .home-horoscope-copy { width:min(52%,460px); min-height:218px; }
  .astrodu-home .home-horoscope h2 { font-size:2.25rem; }
  .home-horoscope-themes { max-width:360px; }
  .home-calendar { display:block; }
  .home-calendar > p { font-size:13px; }
  .home-calendar [data-home="calendar"] { width:100%; }
  .home-calendar-grid { column-gap:10px; row-gap:10px; }
  .home-day { min-height:56px; }
  .home-light, .home-calendar { padding:24px; }
  .home-planet { flex-basis:58px; }
  .home-planet strong { font-size:.75rem; }
  .home-planet span:not(.home-glyph) { font-size:.6875rem; }
  .home-header-actions { display:flex; }
  .home-explore-grid { gap:12px; }
  .home-explore-card { min-height:123px; padding:14px 14px 28px; }
  .home-explore-copy { left:14px; right:14px; }
  .home-explore-name { font-size:.9375rem; }
  .home-explore-desc { font-size:.75rem; -webkit-line-clamp:1; }
}
@media (max-width:430px) {
  .app-topbar { gap:8px; padding-left:max(14px, var(--app-safe-left)); padding-right:max(14px, var(--app-safe-right)); }
  .home-mobile-new-reading { padding:0 8px; font-size:11.5px; min-height:44px; }
  .home-header-icons { gap:8px; }
}

/* Keep the full-size account controls inside the narrowest app header. */
@media (max-width:359px) {
  #app-shell .app-topbar { gap:4px; padding-left:max(8px, var(--app-safe-left)); padding-right:max(8px, var(--app-safe-right)); }
  #app-shell .home-header-icons { gap:4px; margin-left:0; }
}


/* ASTRODU HOME — VISUAL PHASE 1B
   Rich signature moments + calmer supporting information. */

#app-home,
.home-shell,
.home-dashboard {
  --home-phase-gold: var(--app-gold-500);
  --home-phase-gold-bright: var(--app-gold-bright);
  --home-phase-ivory: var(--app-ivory);
  --home-phase-soft: #d7cdb8;
  --home-phase-canvas: var(--app-canvas);
  --home-phase-surface: var(--app-surface-dark);
  --home-phase-line: rgba(200,168,75,.24);
}

/* ------------------------------------------------------------
   TYPOGRAPHIC HIERARCHY
   Keep metadata secondary without making customer text microscopic.
   ------------------------------------------------------------ */

.home-section-heading h2 {
  letter-spacing: -.015em;
}

.home-section-heading > span,
.home-welcome-meta,
.home-chart p,
.home-chart small,
.home-apps p,
.home-referral p,
.home-explore-desc {
  line-height: 1.55;
}

/* Deliberately tiny decorative labels may remain small, but readable. */
.home-eyebrow {
  font-size: .6875rem !important;
  line-height: 1.3;
  letter-spacing: .16em;
}

.home-access-tag {
  font-size: .6875rem !important;
}

.home-chart small,
.home-explore-desc {
  font-size: .75rem;
}

/* ------------------------------------------------------------
   BIRTH CHART — HOME SIGNATURE MOMENT
   This is the foundation reading and should carry more authority.
   ------------------------------------------------------------ */

.home-chart {
  position: relative;
  min-height: clamp(280px, 58vw, 390px);
  overflow: hidden;
  border: 1px solid rgba(200,168,75,.34);
  border-radius: 20px;
  box-shadow: 0 22px 54px rgba(0,0,0,.28);
  isolation: isolate;
}

.home-chart::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 52%, rgba(0,0,0,.20)),
    radial-gradient(circle at 20% 35%, rgba(200,168,75,.08), transparent 38%);
}

.home-chart-copy {
  max-width: min(64%, 440px);
}

.home-chart h2 {
  margin-top: 4px;
  color: var(--home-phase-gold-bright);
  font-size: clamp(1.85rem, 6vw, 2.55rem);
  line-height: 1;
  letter-spacing: -.025em;
}

.home-chart h3 {
  margin-top: 8px;
  color: var(--home-phase-ivory);
  font-size: clamp(.82rem, 2.5vw, .95rem);
  letter-spacing: .16em;
}

.home-chart p {
  max-width: 340px;
  color: var(--home-phase-soft);
  font-size: .9375rem;
}

.home-chart small {
  display: block;
  max-width: 340px;
  color: #bdb39f;
}

.home-chart .home-gold-button {
  margin-top: 18px;
}

/* ------------------------------------------------------------
   EXPLORE MORE
   Still visual, but deliberately quieter than the Birth Chart hero.
   ------------------------------------------------------------ */

.home-explore {
  margin-top: clamp(28px, 5vw, 42px);
}

.home-explore-grid {
  gap: 12px;
}

.home-explore-card {
  min-height: 118px;
  border: 1px solid rgba(200,168,75,.18);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
  overflow: hidden;
  transition:
    transform .22s cubic-bezier(.2,.75,.25,1),
    border-color .22s cubic-bezier(.2,.75,.25,1),
    box-shadow .22s cubic-bezier(.2,.75,.25,1);
}

.home-explore-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.22));
}

.home-explore-copy,
.home-explore-arrow {
  position: relative;
  z-index: 1;
}

.home-explore-name {
  color: var(--home-phase-ivory);
}

.home-explore-desc {
  color: #cfc4ad;
}

.home-explore-arrow {
  color: var(--home-phase-gold-bright);
}

/* ------------------------------------------------------------
   REFERRAL
   It is a reward programme, not another AstroDu application.
   ------------------------------------------------------------ */

.home-referral {
  position: relative;
  margin-top: clamp(30px, 6vw, 48px);
  padding: clamp(20px, 4vw, 28px);
  overflow: hidden;
  border: 1px solid rgba(200,168,75,.28);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(200,168,75,.12), transparent 38%),
    linear-gradient(145deg, #181714, #11110f);
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.home-referral-heading {
  max-width: 560px;
  margin-bottom: 16px;
}

.home-referral-heading h2 {
  margin: 5px 0 7px;
  color: var(--home-phase-ivory);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.65rem, 5vw, 2.1rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.02em;
}

.home-referral-heading p {
  margin: 0;
  max-width: 480px;
  color: var(--home-phase-soft);
  font-size: .9375rem;
}

.home-referral .home-apps-grid {
  margin-top: 14px;
}

.home-referral .home-app-card {
  min-height: 64px;
  border-color: rgba(200,168,75,.24);
  background: rgba(255,255,255,.035);
  transition:
    transform .22s cubic-bezier(.2,.75,.25,1),
    background-color .22s cubic-bezier(.2,.75,.25,1),
    border-color .22s cubic-bezier(.2,.75,.25,1);
}

/* ------------------------------------------------------------
   INTERACTION CRAFT
   ------------------------------------------------------------ */

.home-gold-button,
.home-link,
.home-app-card,
.home-explore-card {
  -webkit-tap-highlight-color: transparent;
}

:is(.home-gold-button,.home-link,.home-app-card,.home-explore-card):focus-visible {
  outline: 2px solid var(--home-phase-gold);
  outline-offset: 3px;
}

.home-gold-button {
  transition:
    transform .18s cubic-bezier(.2,.75,.25,1),
    box-shadow .18s cubic-bezier(.2,.75,.25,1),
    filter .18s cubic-bezier(.2,.75,.25,1);
}

.home-gold-button:active,
.home-app-card:active,
.home-explore-card:active {
  transform: scale(.985);
}

@media (hover:hover) and (pointer:fine) {
  .home-gold-button:hover {
    filter: brightness(1.04);
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
  }

  .home-explore-card:hover {
    transform: translateY(-3px);
    border-color: rgba(200,168,75,.38);
    box-shadow: 0 16px 34px rgba(0,0,0,.26);
  }

  .home-referral .home-app-card:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.055);
    border-color: rgba(200,168,75,.42);
  }
}

/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (min-width:700px) {
  .home-chart {
    min-height: 360px;
  }

  .home-chart-copy {
    max-width: 46%;
  }

  .home-explore-grid {
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
  }

  .home-explore-card {
    min-height: 148px;
  }

  .home-referral {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(260px,.9fr);
    align-items: center;
    gap: 28px;
  }

  .home-referral-heading,
  .home-referral .home-apps-grid {
    margin: 0;
  }
}

/* ------------------------------------------------------------
   DESKTOP
   ------------------------------------------------------------ */

@media (min-width:1000px) {
  .home-chart {
    min-height: 390px;
  }

  .home-chart-copy {
    max-width: 430px;
  }

  .home-explore-card {
    min-height: 164px;
  }

  .home-referral {
    padding: 30px 34px;
  }
}

/* ------------------------------------------------------------
   NARROW PHONES
   ------------------------------------------------------------ */

@media (max-width:420px) {
  .home-chart {
    min-height: 300px;
  }

  .home-chart-copy {
    max-width: 68%;
  }

  .home-chart h2 {
    font-size: clamp(1.75rem, 8vw, 2.15rem);
  }

  .home-chart p {
    font-size: .875rem;
  }

  .home-referral {
    padding: 19px 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-gold-button,
  .home-app-card,
  .home-explore-card {
    transition: none !important;
  }

  .home-gold-button:active,
  .home-app-card:active,
  .home-explore-card:active {
    transform: none !important;
  }
}


/* ==========================================================
   ASTRODU HOME — VISUAL PHASE 1B-2
   Referral / Orbit separation
   ========================================================== */

.home-referral,
.home-orbit {
  position: relative;
  overflow: hidden;
}

.home-referral-heading,
.home-orbit-heading {
  position: relative;
  z-index: 1;
  margin-bottom: 14px;
}

.home-referral-heading h2,
.home-orbit-heading h2 {
  margin: 3px 0 5px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.65rem, 4.8vw, 2.15rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.02em;
  color: #f3ead6;
}

.home-referral-heading p,
.home-orbit-heading p {
  max-width: 38rem;
  margin: 0;
  color: rgba(243, 234, 214, .72);
  font-size: .9375rem;
  line-height: 1.55;
}

.home-referral {
  padding: 22px 18px;
  border: 1px solid rgba(213, 177, 92, .22);
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 10%, rgba(213,177,92,.11), transparent 34%),
    linear-gradient(145deg, rgba(27,24,18,.96), rgba(13,13,14,.98));
}

.home-orbit {
  padding: 22px 18px;
  border: 1px solid rgba(226, 213, 181, .13);
  border-radius: 22px;
  background:
    radial-gradient(circle at 10% 0%, rgba(121,130,178,.10), transparent 35%),
    linear-gradient(145deg, rgba(18,19,25,.98), rgba(10,10,12,.99));
}

.home-referral .home-apps-grid,
.home-orbit .home-apps-grid {
  position: relative;
  z-index: 1;
}

.home-referral .home-app-card,
.home-orbit .home-app-card {
  min-width: 0;
  width: 100%;
}

.home-referral .home-app-card:active,
.home-orbit .home-app-card:active {
  transform: translateY(1px) scale(.992);
}

@media (min-width: 700px) {
  .home-referral,
  .home-orbit {
    padding: 26px 24px;
  }

  .home-referral .home-apps-grid,
  .home-orbit .home-apps-grid {
    max-width: 540px;
  }
}

@media (min-width: 1000px) {
  .home-referral,
  .home-orbit {
    padding: 30px 28px;
  }

  .home-referral-heading p,
  .home-orbit-heading p {
    font-size: 1rem;
  }
}/* ASTRODU HOME — PHASE 1 ORBIT CORRECTION
   Orbit remains a standalone AstroDu product and is not rendered
   as a second Home promotional section. */
.home-orbit {
  display: none !important;
}

/* ASTRODU HOME — PHASE 1 READABILITY + COMPOSITION
   Comfortable customer-facing typography and a less compressed
   Explore More composition. Functional behavior is unchanged. */

:root {
  --home-readable-meta: var(--app-type-meta);
  --home-readable-small: var(--app-type-label);
  --home-readable-support: var(--app-type-supporting);
}

/* ------------------------------------------------------------
   WELCOME / TODAY
   Important information should not require squinting.
   ------------------------------------------------------------ */

.home-welcome-date {
  font-size: var(--home-readable-meta);
  line-height: 1.35;
}

.home-welcome-meta [data-home="sign"],
.home-access-tag {
  font-size: var(--home-readable-meta);
  line-height: 1.35;
}

.home-today-insight {
  font-size: var(--home-readable-small);
  line-height: 1.55;
}

.home-today-date {
  font-size: var(--home-readable-meta);
  line-height: 1.4;
}

.home-hour-planet {
  font-size: var(--home-readable-meta);
  line-height: 1.25;
}

/* Planetary-hour microcopy remains secondary, but readable. */
.home-hour-remaining strong,
.home-hour-remaining small,
.home-hour-next small,
.home-hour-context,
.home-hour-live {
  font-size: .6875rem;
  line-height: 1.25;
}

.home-hour-lock-text,
.home-today-locate,
.home-today-city-form input,
.home-today-city-form button {
  font-size: var(--home-readable-meta);
}

.home-section-heading > span,
.home-sky .home-section-heading > span {
  font-size: var(--home-readable-meta);
}

/* ------------------------------------------------------------
   SKY
   Keep astronomical metadata compact without making it tiny.
   ------------------------------------------------------------ */

.home-planet,
.home-sky-callout,
.home-planet strong,
.home-planet span:not(.home-glyph),
.home-planet small {
  font-size: var(--home-readable-meta);
}

/* ------------------------------------------------------------
   BIRTH CHART SIGNATURE
   Preserve the cinematic hero while improving reading rhythm.
   ------------------------------------------------------------ */

.home-chart-copy > small {
  font-size: var(--home-readable-meta);
  line-height: 1.45;
}

.home-chart h2 {
  line-height: 1.02;
  letter-spacing: -.025em;
}

.home-chart h3 {
  line-height: 1.25;
}

.home-chart p {
  line-height: 1.62;
}

/* ------------------------------------------------------------
   EXPLORE MORE
   Compact four-card composition on phones. Keep the complete
   calculator set visible at a glance while preserving each card's
   photographic identity and readable hierarchy.
   ------------------------------------------------------------ */

.home-explore-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  overflow: visible;
}

.home-explore-card {
  min-width: 0;
  min-height: 148px;
  padding: 11px 8px 27px;
  border-radius: 14px;
}

.home-explore-copy {
  left: 8px;
  right: 8px;
}

.home-explore-name {
  font-size: .8125rem;
  line-height: 1.18;
  overflow-wrap: normal;
  word-break: normal;
}

.home-explore-desc {
  font-size: .6875rem;
  line-height: 1.3;
  -webkit-line-clamp: 3;
}

.home-explore-arrow {
  right: 8px;
  bottom: 8px;
  font-size: .8125rem;
}

/* ------------------------------------------------------------
   ASK / SUPPORTING HOME CONTENT
   These are functional controls, not decorative metadata.
   ------------------------------------------------------------ */

.home-ask-intro,
.home-ask-note,
.home-ask-message,
.home-ask-unlock p {
  font-size: .875rem;
}

.home-ask-text {
  font-size: .9375rem;
}

.home-ask-recent-question,
.home-ask-time-machine-copy {
  font-size: .8125rem;
}

.home-ask-recent-status,
.home-ask-recent-go-deep,
.home-ask-recent-all,
.home-ask-suggestion {
  font-size: .75rem;
}

/* ------------------------------------------------------------
   NARROW PHONES
   Keep all four Explore cards visible while tightening spacing
   rather than changing the composition.
   ------------------------------------------------------------ */

@media (max-width: 359px) {
  .home-explore-grid {
    gap: 5px;
  }

  .home-explore-card {
    min-height: 142px;
    padding: 9px 6px 24px;
    border-radius: 12px;
  }

  .home-explore-copy {
    left: 6px;
    right: 6px;
  }

  .home-explore-name {
    font-size: .75rem;
    line-height: 1.16;
  }

  .home-explore-desc {
    font-size: .625rem;
    line-height: 1.25;
  }

  .home-explore-arrow {
    right: 6px;
    bottom: 7px;
    font-size: .75rem;
  }
}

/* ------------------------------------------------------------
   TABLET + DESKTOP
   Retain the four-card composition with progressively more room.
   ------------------------------------------------------------ */

@media (min-width: 700px) {
  .home-explore-grid {
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
  }

  .home-explore-card {
    min-height: 154px;
    padding: 15px 14px 30px;
  }

  .home-explore-copy {
    left: 14px;
    right: 14px;
  }

  .home-explore-name {
    font-size: .9375rem;
  }

  .home-explore-desc {
    font-size: .8125rem;
    -webkit-line-clamp: 2;
  }
}

@media (min-width: 1000px) {
  .home-explore-card {
    min-height: 168px;
  }

  .home-explore-name {
    font-size: 1rem;
  }

  .home-explore-desc {
    font-size: .875rem;
  }
}

/* ASTRODU HOME — PHASE 1 FUNCTIONAL READABILITY
   Improve genuinely functional microtext without enlarging
   decorative metadata or changing component structure. */

/* ------------------------------------------------------------
   PLANETARY HOUR
   Preserve the compact celestial-instrument treatment while
   keeping time/status information legible.
   ------------------------------------------------------------ */

.home-hour-remaining {
  gap: 3px;
  padding: 3px 6px;
}

.home-hour-remaining strong {
  font-size: .6875rem;
  line-height: 1.15;
  letter-spacing: .015em;
}

.home-hour-remaining small {
  font-size: .625rem;
  line-height: 1.15;
  letter-spacing: .055em;
}

.home-hour-next small {
  font-size: .625rem;
  line-height: 1.15;
  letter-spacing: .035em;
}

.home-hour-context,
.home-hour-live {
  font-size: .6875rem;
  line-height: 1.25;
}

.home-hour-live-dot {
  font-size: .625rem;
}

.home-hour-lock-text {
  font-size: .75rem;
  line-height: 1.4;
}


/* ------------------------------------------------------------
   LOCATION CONTROLS
   These are interactive controls, not decorative metadata.
   ------------------------------------------------------------ */

.home-today-locate {
  font-size: .75rem;
  line-height: 1.4;
  min-height: 28px;
}

.home-today-city-form input {
  font-size: 16px;
  line-height: 1.4;
  padding: 7px 9px;
}

.home-today-city-form button {
  font-size: .75rem;
  line-height: 1.4;
  min-height: 28px;
}

.home-today-insight {
  font-size: .75rem;
  line-height: 1.5;
}

.home-today-date {
  font-size: .75rem;
}


/* ------------------------------------------------------------
   CURRENT SKY
   Keep the strip dense enough to scan while making its actual
   values and labels readable.
   ------------------------------------------------------------ */

.home-sky .home-section-heading > span {
  font-size: .75rem;
}

.home-sky-callout {
  font-size: .75rem;
  line-height: 1.35;
}

.home-planet strong {
  font-size: .75rem;
  line-height: 1.25;
}

.home-planet span:not(.home-glyph),
.home-planet small {
  font-size: .6875rem;
  line-height: 1.25;
}


/* ------------------------------------------------------------
   SAVED READING ENTRY
   Supporting text is functional navigation information.
   ------------------------------------------------------------ */

.home-reading-link small {
  font-size: .8125rem;
  line-height: 1.4;
}

.home-reading-link .home-link {
  font-size: .75rem;
  line-height: 1.4;
}


/* ------------------------------------------------------------
   ASK IYANDA
   Improve statuses and actions while preserving compact layout.
   ------------------------------------------------------------ */

.home-ask-recent-status {
  font-size: .75rem;
  line-height: 1.35;
}

.home-ask-recent-go-deep {
  min-height: 32px;
  padding: 5px 10px;
  font-size: .75rem;
  line-height: 1.1;
}

.home-ask-recent-all {
  font-size: .75rem;
  line-height: 1.4;
}

.home-ask-suggestion {
  font-size: .8125rem;
  line-height: 1.45;
}

.home-ask-intro,
.home-ask-note,
.home-ask-message {
  font-size: .8125rem;
  line-height: 1.6;
}

.home-ask-text {
  font-size: .875rem;
  line-height: 1.65;
}

.home-ask-unlock p {
  font-size: .8125rem;
  line-height: 1.55;
}


/* ------------------------------------------------------------
   VERY NARROW PHONES
   Keep compact instruments from becoming crowded.
   ------------------------------------------------------------ */

@media (max-width: 359px) {
  .home-hour-remaining strong {
    font-size: .625rem;
  }

  .home-hour-remaining small,
  .home-hour-next small {
    font-size: .5625rem;
  }

  .home-planet strong {
    font-size: .6875rem;
  }

  .home-planet span:not(.home-glyph),
  .home-planet small {
    font-size: .625rem;
  }
}


/* ASTRODU HOME — PLANETARY HOUR TARGETED LAYOUT CORRECTION
   Preserve the card's full usable width.
   The Next rail is confined to the upper-right corner, while
   footer/status text is fitted independently at readable size.
   ------------------------------------------------------------ */

.home-hour-card {
  box-sizing: border-box;
  padding: 8px 9px 7px;
}

/* Next belongs only to the upper-right corner. */
.home-hour-next {
  top: 9px;
  right: 9px;
  width: 26px;
}

/* Only selectors that actually exist in the rendered card. */
.home-hour-main,
.home-hour-footer {
  min-width: 0;
}

/* Give the footer the card's normal usable width. */
.home-hour-footer {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  gap: 4px;
  padding-right: 0;
}

/* Keep both footer labels on one clean line without returning
   to the original microscopic .46rem treatment. */
.home-hour-context,
.home-hour-live {
  min-width: 0;
  font-size: .625rem;
  line-height: 1.2;
  letter-spacing: .025em;
  white-space: nowrap;
}

.home-hour-context {
  flex: 1 1 auto;
}

.home-hour-live {
  flex: 0 0 auto;
}

/* Very narrow phones need a little more compression, but the
   text remains substantially larger than the original design. */
@media (max-width: 359px) {
  .home-hour-card {
    padding: 8px 7px 7px;
  }

  .home-hour-next {
    right: 7px;
    width: 23px;
  }

  .home-hour-footer {
    gap: 3px;
  }

  .home-hour-context,
  .home-hour-live {
    font-size: .59375rem;
    letter-spacing: .01em;
  }
}


/* ASTRODU HOME — EXPLORE COMPACT CARD POLISH
   Tune internal hierarchy for the approved four-card composition.
   Keep imagery and card dimensions unchanged. */

.home-explore-copy {
  left: 8px;
  right: 8px;
  gap: 3px;
}

.home-explore-name {
  font-size: .75rem;
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: .005em;
  overflow-wrap: anywhere;
}

.home-explore-desc {
  font-size: .6875rem;
  line-height: 1.28;
  -webkit-line-clamp: 3;
}

.home-explore-arrow {
  top: auto;
  left: auto;
  right: 8px;
  bottom: 8px;
  transform: none;
  font-size: .75rem;
  line-height: 1;
}

@media (max-width: 359px) {
  .home-explore-copy {
    left: 6px;
    right: 6px;
  }

  .home-explore-name {
    font-size: .6875rem;
    line-height: 1.16;
  }

  .home-explore-desc {
    font-size: .625rem;
    line-height: 1.22;
  }

  .home-explore-arrow {
    right: 6px;
    bottom: 7px;
    font-size: .6875rem;
  }
}

@media (min-width: 700px) {
  .home-explore-copy {
    left: 14px;
    right: 14px;
  }

  .home-explore-name {
    font-size: .9375rem;
  }

  .home-explore-desc {
    font-size: .8125rem;
    line-height: 1.35;
    -webkit-line-clamp: 2;
  }

  .home-explore-arrow {
    right: 12px;
    bottom: 10px;
    font-size: .875rem;
  }
}

@media (min-width: 1000px) {
  .home-explore-name {
    font-size: 1rem;
  }

  .home-explore-desc {
    font-size: .875rem;
  }
}

/* ASTRODU HOME — EXPLORE SQUARE PHONE CARDS
   Preserve the approved four-across phone composition while making
   each Explore More card square rather than a tall portrait tile.
   Internal phone typography is tightened only enough to fit cleanly. */

@media (max-width: 699px) {
  .home-explore-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  .home-explore-card {
    box-sizing: border-box;
    aspect-ratio: 1 / 1;
    min-height: 0;
    height: auto;
    padding: 7px 6px 20px;
    border-radius: 13px;
  }

  .home-explore-copy {
    top: 50%;
    left: 6px;
    right: 6px;
    gap: 2px;
    transform: translateY(-50%);
  }

  .home-explore-name {
    font-size: .6875rem;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: 0;
    overflow-wrap: normal;
    word-break: normal;
  }

  .home-explore-desc {
    font-size: .625rem;
    line-height: 1.18;
    -webkit-line-clamp: 3;
  }

  .home-explore-arrow {
    top: auto;
    left: auto;
    right: 6px;
    bottom: 6px;
    transform: none;
    font-size: .6875rem;
    line-height: 1;
  }
}

@media (max-width: 359px) {
  .home-explore-grid {
    gap: 5px;
  }

  .home-explore-card {
    min-height: 0;
    padding: 6px 5px 18px;
    border-radius: 11px;
  }

  .home-explore-copy {
    left: 5px;
    right: 5px;
  }

  .home-explore-name {
    font-size: .625rem;
    line-height: 1.1;
  }

  .home-explore-desc {
    font-size: .5625rem;
    line-height: 1.15;
  }

  .home-explore-arrow {
    right: 5px;
    bottom: 5px;
    font-size: .625rem;
  }
}


/* ASTRODU HOME — EXPLORE SQUARE READABILITY CORRECTION
   Four-across square composition is preserved.
   Meaningful card copy must remain readable; copy truncates before type shrinks.
*/
@media (max-width: 699px) {
  .home-explore-card {
    aspect-ratio: 1 / 1;
    min-height: 0;
    height: auto;
    padding: 8px 7px 24px;
  }

  .home-explore-copy {
    top: 50%;
    left: 8px;
    right: 8px;
    gap: 3px;
    transform: translateY(-50%);
    min-width: 0;
  }

  .home-explore-name {
    font-size: .8125rem; /* 13px */
    line-height: 1.16;
    font-weight: 700;
    letter-spacing: 0;
    overflow-wrap: normal;
    word-break: normal;
  }

  .home-explore-desc {
    font-size: .75rem; /* 12px — readable floor for meaningful copy */
    line-height: 1.22;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  .home-explore-arrow {
    position: absolute;
    top: auto;
    left: auto;
    right: 7px;
    bottom: 7px;
    transform: none;
    margin: 0;
    font-size: .8125rem;
    line-height: 1;
  }

  /* Prevent an inherited/decorative arrow from leaking into card copy. */
  .home-explore-copy::before,
  .home-explore-name::before,
  .home-explore-desc::before {
    content: none !important;
    display: none !important;
  }
}

/* Do not punish narrower phones with unreadably small functional text. */
@media (max-width: 359px) {
  .home-explore-grid {
    gap: 5px;
  }

  .home-explore-card {
    min-height: 0;
    padding: 7px 6px 22px;
  }

  .home-explore-copy {
    left: 6px;
    right: 6px;
    gap: 2px;
  }

  .home-explore-name {
    font-size: .75rem; /* 12px minimum */
    line-height: 1.14;
  }

  .home-explore-desc {
    font-size: .75rem; /* keep meaningful copy at 12px */
    line-height: 1.18;
    -webkit-line-clamp: 2;
  }

  .home-explore-arrow {
    right: 6px;
    bottom: 6px;
    font-size: .75rem;
  }
}

/* ASTRODU HOME — EXPLORE COPY POSITION POLISH
   Keep the approved four-across square composition while giving
   the readable copy slightly more breathing room above the arrow.
*/
@media (max-width: 699px) {
  .home-explore-copy {
    top: 46%;
  }
}

/* ASTRODU HOME — SUPERSTAR COMPACT REFERRAL
   Compact premium referral treatment.
   Keep meaningful copy readable; remove unnecessary card height.
*/
.home-referral {
  margin-top: 22px;
  padding: 16px 16px 15px;
  border-radius: 18px;
}

.home-referral-heading {
  margin: 0;
  max-width: 40rem;
}

.home-referral-heading .home-eyebrow {
  display: block;
  margin-bottom: 3px;
}

.home-referral-heading h2 {
  margin: 0 0 5px;
  font-size: clamp(1.55rem, 5vw, 1.9rem);
  line-height: 1;
}

.home-referral-heading p {
  margin: 0;
  max-width: 36rem;
  font-size: .9375rem;
  line-height: 1.4;
}

.home-referral .home-apps-grid {
  display: block;
  margin: 11px 0 0;
  overflow: visible;
}

.home-referral .home-app-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 46px;
  padding: 0 38px 0 13px;
  gap: 9px;
  border-radius: 12px;
  text-align: left;
}

.home-referral .home-app-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.home-referral .home-app-name {
  min-width: 0;
  font-size: .875rem;
  line-height: 1.2;
  font-weight: 700;
  overflow-wrap: normal;
}

.home-referral .home-app-arrow {
  top: 50%;
  right: 13px;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  font-size: .8125rem;
  line-height: 1;
}

@media (max-width: 359px) {
  .home-referral {
    margin-top: 19px;
    padding: 14px 13px 13px;
  }

  .home-referral-heading h2 {
    font-size: 1.5rem;
  }

  .home-referral-heading p {
    font-size: .875rem;
    line-height: 1.38;
  }

  .home-referral .home-apps-grid {
    margin-top: 9px;
  }

  .home-referral .home-app-card {
    height: 44px;
    padding-left: 11px;
    padding-right: 34px;
  }

  .home-referral .home-app-name {
    font-size: .8125rem;
  }

  .home-referral .home-app-arrow {
    right: 11px;
  }
}

@media (min-width: 700px) {
  .home-referral {
    padding: 20px 22px;
    grid-template-columns: minmax(0,1.35fr) minmax(220px,.65fr);
    gap: 24px;
  }

  .home-referral .home-apps-grid {
    margin: 0;
  }

  .home-referral .home-app-card {
    height: 50px;
  }
}

/* ASTRODU HOME — FINAL SUPERSTAR COMPOSITION
   Final Phase 1 Home spacing adjustment.
   Preserve readable typography while removing excess vertical weight.
*/
.home-referral {
  margin-top: 0;
  padding-top: 14px;
  padding-bottom: 13px;
}

.home-referral-heading .home-eyebrow {
  margin-bottom: 2px;
}

.home-referral-heading h2 {
  margin-bottom: 4px;
}

.home-referral .home-apps-grid {
  margin-top: 9px;
}

.home-referral .home-app-card {
  height: 42px;
}

@media (max-width: 359px) {
  .home-referral {
    margin-top: 0;
    padding-top: 13px;
    padding-bottom: 12px;
  }

  .home-referral .home-apps-grid {
    margin-top: 8px;
  }

  .home-referral .home-app-card {
    height: 42px;
  }
}

@media (min-width: 700px) {
  .home-referral {
    margin-top: 0;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .home-referral .home-apps-grid {
    margin-top: 0;
  }

  .home-referral .home-app-card {
    height: 46px;
  }
}

/* ASTRODU HOME — SUPERSTAR EYEBROW REFINEMENT
   Scoped to the referral panel only.
*/
.home-referral-heading .home-eyebrow {
  font-size: .625rem !important;
  line-height: 1.25;
  letter-spacing: .135em;
}

@media (min-width: 700px) {
  .home-referral-heading .home-eyebrow {
    font-size: .6875rem !important;
    letter-spacing: .145em;
  }
}

/* ==========================================================
   ASTRODU PHASE H1 — HOME DIALOG MOTION
   ========================================================== */

@keyframes home-h1-reader-enter {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes home-h1-backdrop-enter {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.home-reader[open] {
  animation: home-h1-reader-enter 220ms cubic-bezier(.2,.75,.25,1) both;
}

.home-reader[open]::backdrop {
  animation: home-h1-backdrop-enter 180ms ease-out both;
}

@media (prefers-reduced-motion: reduce) {
  .home-reader[open],
  .home-reader[open]::backdrop {
    animation: none !important;
  }
}


/* ==========================================================
   ASTRODU PHASE H2 — HOME INTERACTION AUTHORITY
   Final premium press/hover behavior for Home.
   ========================================================== */

.home-gold-button,
.home-app-card,
.home-explore-card {
  transition:
    transform 180ms cubic-bezier(.2,.75,.25,1),
    border-color 180ms cubic-bezier(.2,.75,.25,1),
    box-shadow 220ms cubic-bezier(.2,.75,.25,1),
    filter 180ms cubic-bezier(.2,.75,.25,1);
}

.home-gold-button:active,
.home-app-card:active,
.home-explore-card:active,
.home-referral .home-app-card:active {
  transform: scale(.985);
}

@media (hover:hover) and (pointer:fine) {
  .home-gold-button:hover {
    transform: translateY(-1px);
  }

  .home-explore-card:hover {
    transform: translateY(-3px);
  }

  .home-referral .home-app-card:hover {
    transform: translateY(-2px);
  }
}

/* Old unconditional hover rules must not create sticky motion on touch. */
@media (hover:none), (pointer:coarse) {
  .home-explore-card:hover,
  .home-calc-card:hover {
    transform: none;
  }

  .home-gold-button:active,
  .home-app-card:active,
  .home-explore-card:active,
  .home-referral .home-app-card:active {
    transform: scale(.985);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-gold-button,
  .home-app-card,
  .home-explore-card {
    transition: none !important;
  }

  .home-gold-button:hover,
  .home-gold-button:active,
  .home-app-card:hover,
  .home-app-card:active,
  .home-explore-card:hover,
  .home-explore-card:active,
  .home-referral .home-app-card:hover,
  .home-referral .home-app-card:active {
    transform: none !important;
  }
}


/* ASTRODU HOME — ACCOUNT MENU */
.home-account-menu-wrap {
  position: relative;
  flex: 0 0 auto;
}

.home-avatar {
  overflow: hidden;
  flex: 0 0 34px;
}

.home-avatar.has-photo {
  background: #171512;
}

.home-avatar > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.home-avatar:focus-visible {
  outline: 2px solid #e6c979;
  outline-offset: 3px;
}

.home-account-menu[hidden] {
  display: none;
}

.home-account-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 10px);
  right: 0;
  width: 168px;
  padding: 6px;
  border: 1px solid rgba(200,168,75,.30);
  border-radius: 10px;
  background: #171613;
  box-shadow: 0 16px 38px rgba(0,0,0,.46);
}

.home-account-menu button {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #eee5d3;
  font: 600 .875rem/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: left;
  cursor: pointer;
}

.home-account-menu button:hover,
.home-account-menu button:focus-visible {
  background: rgba(200,168,75,.10);
  outline: none;
}

.home-account-menu button + button {
  border-top: 1px solid rgba(255,255,255,.06);
}

@media (prefers-reduced-motion: no-preference) {
  .home-avatar {
    transition: transform 160ms ease, border-color 160ms ease;
  }

  .home-avatar:active {
    transform: scale(.94);
  }

  .home-account-menu button {
    transition: background 150ms ease;
  }
}


/* ASTRODU HOME ACCOUNT MENU — FINAL COMPACT AUTHORITY */
.home-account-menu-wrap {
  position: relative;
}

.home-account-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 80;
  width: 190px;
  min-width: 190px;
  max-width: min(190px, calc(100vw - 32px));
  padding: 6px;
  border: 1px solid rgba(226, 196, 119, .26);
  border-radius: 16px;
  background: rgba(20, 18, 15, .98);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .38);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.home-account-menu[hidden] {
  display: none !important;
}

.home-account-menu button {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 10px 14px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #f2ede2;
  font: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.home-account-menu button + button {
  border-top: 1px solid rgba(255, 255, 255, .07);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.home-account-menu button:active {
  transform: scale(.985);
  background: rgba(226, 196, 119, .08);
}

.home-avatar.has-photo {
  overflow: hidden;
}

.home-avatar.has-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

@media (hover: hover) {
  .home-account-menu button:hover {
    background: rgba(226, 196, 119, .08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-account-menu button {
    transition: none;
  }

  .home-account-menu button:active {
    transform: none;
  }
}


/* ==========================================================
   ASTRODU PHASE R — HOME MICRO-INTERACTION CRAFT
   Compact controls keep their visual size while receiving
   deliberate touch feedback and usable hit areas.
   ========================================================== */

.home-mobile-new-reading {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.home-ask-close {
  width: 44px;
  height: 44px;
  top: 2px;
  right: 2px;
  font-size: 24px;
  line-height: 1;
}

.home-ask-recent-go-deep {
  min-height: 44px;
  padding-top: 6px;
  padding-bottom: 6px;
}

@media (prefers-reduced-motion: no-preference) {
  .home-mobile-new-reading {
    transition:
      transform 160ms cubic-bezier(.2,.75,.25,1),
      background 160ms ease,
      border-color 160ms ease,
      box-shadow 160ms ease;
  }

  .home-mobile-new-reading:active {
    transform: translateY(1px) scale(.985);
    box-shadow: 0 1px 5px rgba(0,0,0,.22);
  }

  .home-ask-close,
  .home-ask-recent-go-deep {
    transition:
      transform 150ms cubic-bezier(.2,.75,.25,1),
      background 150ms ease,
      border-color 150ms ease;
  }

  .home-ask-close:active,
  .home-ask-recent-go-deep:active {
    transform: scale(.96);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-mobile-new-reading,
  .home-ask-close,
  .home-ask-recent-go-deep {
    transition: none !important;
  }

  .home-mobile-new-reading:active,
  .home-ask-close:active,
  .home-ask-recent-go-deep:active {
    transform: none !important;
  }
}


/* Saved-reading modal: compact corner close control + saved AstroDu wheel. */
.home-reader {
  position: fixed;
  padding-top: 56px;
}

.home-reader-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
  background: #f8f2e4;
  color: #29271f;
  border: 1px solid #99834e;
  cursor: pointer;
}

.home-reader .birth-wheel-figure {
  width: min(100%, 620px);
  margin: 20px auto 32px;
}

.home-reader .birth-wheel {
  display: block;
  width: 100%;
  height: auto;
}

.home-reader .birth-wheel-caption {
  margin-top: 10px;
  text-align: center;
  font-size: .875rem;
  color: #746b5b;
}

/* Saved-reading close control: invisible 44px tap target, visible × only. */
.home-reader-close {
  background: transparent;
  border: 0;
  box-shadow: none;
  outline: 0;
  border-radius: 0;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  color: #29271f;
  font-size: 30px;
  line-height: 1;
  -webkit-appearance: none;
  appearance: none;
}

.home-reader-close:hover,
.home-reader-close:active {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.home-reader-close:focus-visible {
  outline: 2px solid #99834e;
  outline-offset: 2px;
  border-radius: 4px;
}

/* ==========================================================
   SAVED READING POPUP — FINAL VISUAL CLEANUP
   Scope: Home saved-reading dialog only.
   ========================================================== */

/* Plain X only — keep the invisible 44px mobile tap target. */
.home-reader button.home-reader-close,
.home-reader button.home-reader-close:hover,
.home-reader button.home-reader-close:active {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;

  display: grid;
  place-items: center;

  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;

  margin: 0;
  padding: 0;

  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  color: #29271f;
  font-size: 32px;
  font-weight: 300;
  line-height: 1;

  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Kill decorative rings coming from global button pseudo-elements. */
.home-reader button.home-reader-close::before,
.home-reader button.home-reader-close::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Keep keyboard accessibility without restoring the boxed button. */
.home-reader button.home-reader-close:focus-visible {
  outline: 2px solid #806724 !important;
  outline-offset: 2px !important;
}

/*
   The AstroDu wheel SVG contains its own light background rectangle.
   In the saved-reading popup only, make that rectangle transparent
   so the reader's cream surface becomes the chart background.
*/
.home-reader .birth-wheel > rect:first-child {
  fill: transparent !important;
}

/* The reader heading already identifies the document.
   Remove the redundant caption below the wheel. */
.home-reader .birth-wheel-caption {
  display: none !important;
}

/* Remove the old caption's reserved visual gap. */
.home-reader .birth-wheel-figure {
  margin-bottom: 24px;
}


/* ==========================================================
   SAVED READER NAVIGATION
   Top plain ×, conditional floating ↑, bottom Close Reading.
   ========================================================== */

/*
   Strong final reset for iOS/WebKit and AstroDu global button
   decoration. The element keeps a 44px hit area but paints only ×.
*/
.home-reader > button.home-reader-close {
  -webkit-appearance: none !important;
  appearance: none !important;

  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;

  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;

  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  place-items: center !important;

  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;

  box-shadow: none !important;
  text-shadow: none !important;

  color: #29271f !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  line-height: 1 !important;

  z-index: 30 !important;
}

.home-reader > button.home-reader-close::before,
.home-reader > button.home-reader-close::after {
  content: none !important;
  display: none !important;
}

/* Do not draw a permanent rectangle around the touch target. */
.home-reader > button.home-reader-close:focus,
.home-reader > button.home-reader-close:focus-visible,
.home-reader > button.home-reader-close:hover,
.home-reader > button.home-reader-close:active {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Floating return-to-top control. */
.home-reader-up {
  -webkit-appearance: none;
  appearance: none;

  position: sticky;
  float: right;
  bottom: 22px;
  right: 18px;
  z-index: 25;

  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  margin: 0 4px 12px 12px;
  padding: 0;

  display: grid;
  place-items: center;

  border: 1px solid rgba(128, 103, 36, .42);
  border-radius: 50%;
  background: rgba(248, 242, 228, .94);
  box-shadow: 0 6px 20px rgba(34, 28, 16, .14);

  color: #29271f;
  font-size: 25px;
  line-height: 1;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);

  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility .18s ease;
}

.home-reader-up.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* End-of-reading exit. */
.home-reader-bottom-close {
  -webkit-appearance: none;
  appearance: none;

  display: block;
  width: min(100%, 360px);
  min-height: 52px;

  margin: 34px auto 18px;
  padding: 13px 24px;

  border: 1px solid #806724;
  border-radius: 14px;
  background: transparent;

  color: #29271f;
  font: inherit;
  font-weight: 650;
  text-align: center;
  cursor: pointer;
}

.home-reader-bottom-close:active {
  transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
  .home-reader-up {
    transition: none;
  }
}

/* ASTRODU FIRE IDENTITY — HOME PROPAGATION
   Gold remains AstroDu's knowledge/value colour.
   Fire marks action, momentum and living energy. */

.astrodu-home {
  --home-fire-700: var(--app-fire-700);
  --home-fire-600: var(--app-fire-600);
  --home-fire-500: var(--app-fire-500);
  --home-fire-400: var(--app-fire-400);
  --home-fire-300: var(--app-fire-300);
  --home-fire-soft: var(--app-fire-soft);
  --home-fire-faint: var(--app-fire-faint);
}

/* ----------------------------------------------------------
   WELCOME — SMALL BRAND SIGNATURE
   ---------------------------------------------------------- */

.home-welcome-text::after {
  content: "";
  display: block;
  width: 38px;
  height: 2px;
  margin-top: 9px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      var(--home-fire-600),
      var(--home-fire-400),
      transparent
    );
  box-shadow: 0 0 10px var(--home-fire-soft);
}

/* ----------------------------------------------------------
   HOME SECTION IDENTITY
   Important section headings receive a restrained fire mark.
   ---------------------------------------------------------- */

.home-ask-today .home-section-heading h2,
.home-calendar .home-section-heading h2,
.home-explore .home-section-heading h2 {
  position: relative;
}

.home-ask-today .home-section-heading h2::after,
.home-calendar .home-section-heading h2::after,
.home-explore .home-section-heading h2::after {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  margin-top: 6px;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      var(--home-fire-500),
      rgba(233,133,69,0)
    );
}

/* ----------------------------------------------------------
   HOME PRIMARY ACTIONS
   Gold remains the valuable surface; Fire supplies energy.
   ---------------------------------------------------------- */

.astrodu-home .home-gold-button,
.astrodu-home .home-ask-go-deep,
.astrodu-home .home-ask-recent-go-deep,
.astrodu-home .home-mobile-new-reading,
.astrodu-home .home-header-new-reading {
  border-color: var(--home-fire-400);
  box-shadow:
    0 3px 10px rgba(0,0,0,.28),
    0 0 0 1px rgba(217,104,53,.09);
}

.astrodu-home .home-gold-button:focus-visible,
.astrodu-home .home-ask-go-deep:focus-visible,
.astrodu-home .home-ask-recent-go-deep:focus-visible,
.astrodu-home .home-mobile-new-reading:focus-visible,
.astrodu-home .home-header-new-reading:focus-visible {
  outline-color: var(--home-fire-400);
}

/* ----------------------------------------------------------
   ASK IYANDA — FIRE = ACTION / QUESTION ENERGY
   ---------------------------------------------------------- */

.home-ask-today textarea:focus {
  outline-color: var(--home-fire-400);
  border-color: var(--home-fire-500);
  box-shadow: 0 0 0 3px var(--home-fire-faint);
}

.home-ask-suggestion:hover,
.home-ask-suggestion:focus-visible {
  border-color: var(--home-fire-400);
}

.home-ask-recent-question:hover,
.home-ask-recent-question:focus-visible,
.home-ask-recent-all:hover,
.home-ask-recent-all:focus-visible {
  color: var(--home-fire-300);
}

/* ----------------------------------------------------------
   BIRTH CHART HOME CARD
   Give the card the same living-fire signature as the reveal.
   ---------------------------------------------------------- */

.home-chart {
  isolation: isolate;
}

.home-chart::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: -8%;
  bottom: -42%;
  width: 58%;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(233,133,69,.22) 0,
      rgba(217,104,53,.11) 34%,
      rgba(159,63,37,0) 70%
    );
  filter: blur(18px);
  pointer-events: none;
}

.home-chart-copy {
  position: relative;
  z-index: 2;
}

.home-chart h2 {
  text-shadow:
    0 0 16px rgba(217,104,53,.13);
}

/* ----------------------------------------------------------
   EXPLORE / CALCULATOR ENTRY CARDS
   ---------------------------------------------------------- */

@media (hover:hover) {
  .home-explore-card:hover,
  .home-calc-card:hover {
    border-color: rgba(217,104,53,.60);
    box-shadow:
      0 10px 24px rgba(0,0,0,.20),
      0 0 0 1px rgba(217,104,53,.07);
  }
}

.home-explore-card:focus-visible,
.home-calc-card:focus-visible,
.home-link:focus-visible {
  outline-color: var(--home-fire-400);
}

/* ----------------------------------------------------------
   ACCOUNT AVATAR — SUBTLE FIRE RING
   ---------------------------------------------------------- */

.home-avatar {
  border-color: rgba(217,104,53,.55);
  box-shadow:
    0 0 0 2px rgba(217,104,53,.05),
    0 4px 14px rgba(0,0,0,.20);
}

/* ----------------------------------------------------------
   CURRENT SKY
   Keep planetary colours intact. Fire only marks interaction.
   ---------------------------------------------------------- */

.home-sky-strip:focus-visible {
  outline-color: var(--home-fire-400);
}

/* ----------------------------------------------------------
   ACCESSIBILITY
   ---------------------------------------------------------- */

.astrodu-home a:focus-visible,
.astrodu-home button:focus-visible {
  outline-color: var(--home-fire-400);
}

@media (prefers-reduced-motion: reduce) {
  .home-chart::before {
    filter: blur(18px);
  }
}
/* ==========================================================
   ASTRODU ROADMAP V — WHOLE-APP SCREEN CONSISTENCY
   Home alignment with the authenticated-app visual contract.
   ========================================================== */

.astrodu-home {
  --home-screen-gutter: var(--app-screen-gutter);
  --home-screen-gutter-compact: var(--app-screen-gutter-compact);
  --home-screen-gutter-wide: var(--app-screen-gutter-wide);
  --home-section-rhythm: var(--app-section-gap-compact);
  --home-touch-target: var(--app-touch-target);

  padding-left:
    max(var(--home-screen-gutter), env(safe-area-inset-left));
  padding-right:
    max(var(--home-screen-gutter), env(safe-area-inset-right));

  gap: var(--home-section-rhythm);
}


/* ----------------------------------------------------------
   HOME SECTION RHYTHM
   ---------------------------------------------------------- */

.astrodu-home .home-section-heading {
  min-width: 0;
}

.astrodu-home .home-section-heading h2 {
  line-height: 1.15;
}


/* ----------------------------------------------------------
   HOME ACTION CONTRACT
   ---------------------------------------------------------- */

.astrodu-home button,
.astrodu-home .home-gold-button,
.astrodu-home .home-mobile-new-reading,
.astrodu-home .home-header-new-reading {
  min-height: var(--home-touch-target);
}

.astrodu-home button:focus-visible,
.astrodu-home a:focus-visible,
.astrodu-home textarea:focus-visible,
.astrodu-home input:focus-visible,
.astrodu-home select:focus-visible {
  outline: 2px solid var(--home-fire-400);
  outline-offset: 2px;
}


/* ----------------------------------------------------------
   HOME CONTENT SAFETY
   Prevent long generated/user content from widening cards.
   ---------------------------------------------------------- */

.astrodu-home section,
.astrodu-home article,
.astrodu-home div {
  min-width: 0;
}

.astrodu-home p,
.astrodu-home h1,
.astrodu-home h2,
.astrodu-home h3 {
  overflow-wrap: break-word;
}


/* ----------------------------------------------------------
   HOME READER
   Match app reader touch/accessibility contract while keeping
   the Home reader's established appearance.
   ---------------------------------------------------------- */

.home-reader button,
.home-reader-close,
.home-reader-up,
.home-reader-bottom-close {
  min-height: var(--home-touch-target);
  touch-action: manipulation;
}


/* ----------------------------------------------------------
   NARROW PHONE
   ---------------------------------------------------------- */

@media (max-width: 359px) {
  .astrodu-home {
    padding-left:
      max(var(--home-screen-gutter-compact), env(safe-area-inset-left));
    padding-right:
      max(var(--home-screen-gutter-compact), env(safe-area-inset-right));
  }
}


/* ----------------------------------------------------------
   TABLET / WIDE APP FRAME
   ---------------------------------------------------------- */

@media (min-width: 700px) {
  .astrodu-home {
    padding-left:
      max(var(--home-screen-gutter-wide), env(safe-area-inset-left));
    padding-right:
      max(var(--home-screen-gutter-wide), env(safe-area-inset-right));

    gap: var(--app-section-gap);
  }
}


/* ----------------------------------------------------------
   REDUCED MOTION
   ---------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .astrodu-home button,
  .astrodu-home a {
    scroll-behavior: auto;
  }
}

/* ==========================================================
   ASTRODU HOME — FIRE ACTION ARROWS — 2026-09-24
   Gold carries value/prestige. Fire marks forward movement.
   ========================================================== */

/* Explore calculator-card arrows */
.home-explore-arrow {
  color: var(--home-fire-400);
  text-shadow: 0 0 14px var(--home-fire-glow);
  transition:
    color 180ms ease,
    text-shadow 180ms ease,
    transform 180ms cubic-bezier(.2,.75,.25,1);
}

/* "View All" keeps its gold label; only its arrow becomes Fire. */
.home-section-heading .home-link {
  color: var(--home-phase-gold);
}

.home-section-heading .home-link::first-letter {
  color: inherit;
}

/* The arrow in View All is text rather than a separate element,
   so give Explore's action link a restrained Fire transition on
   interaction while preserving its normal gold label. */
@media (hover:hover) and (pointer:fine) {
  .home-explore-card:hover .home-explore-arrow {
    color: var(--home-fire-300);
    text-shadow:
      0 0 10px var(--home-fire-glow),
      0 0 22px var(--home-fire-soft);
    transform: translateX(2px);
  }
}

/* Superstar / Invite action arrow */
.home-referral .home-app-arrow {
  color: var(--home-fire-400);
  text-shadow: 0 0 14px var(--home-fire-glow);
  transition:
    color 180ms ease,
    text-shadow 180ms ease,
    transform 180ms cubic-bezier(.2,.75,.25,1);
}

@media (hover:hover) and (pointer:fine) {
  .home-referral .home-app-card:hover .home-app-arrow {
    color: var(--home-fire-300);
    text-shadow:
      0 0 10px var(--home-fire-glow),
      0 0 22px var(--home-fire-soft);
    transform: translateY(-50%) translateX(2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-explore-arrow,
  .home-referral .home-app-arrow {
    transition: none !important;
  }

  .home-explore-card:hover .home-explore-arrow {
    transform: none !important;
  }

  .home-referral .home-app-card:hover .home-app-arrow {
    transform: translateY(-50%) !important;
  }
}

/* ==========================================================
   KERYKEION RESTORATION — HOME SAVED READING
   Kerykeion owns the complete chart-wheel presentation.
   Remove any retired AstroDu wheel plate behind the SVG.
   ========================================================== */

.home-reader .birth-wheel-figure {
  position: relative !important;
  width: min(100%, 590px) !important;
  margin: 8px auto 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.home-reader .birth-wheel-figure::before,
.home-reader .birth-wheel-figure::after {
  content: none !important;
  display: none !important;
}

.home-reader .birth-wheel {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}


/* ==========================================================
   HOME SAVED READING — FINAL DOCUMENT TYPOGRAPHY
   Matches Documents. Kerykeion wheel is untouched.
   ========================================================== */

.home-reader .astrodu-reading-document {
  width: 100%;
  max-width: 660px;
  margin: 0 auto;
  color: #29261f;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.0625rem;
  line-height: 1.76;
  letter-spacing: 0;
  overflow-wrap: break-word;
}

.home-reader .astrodu-reading-document > :first-child {
  margin-top: 0;
}

.home-reader .astrodu-reading-document > :last-child {
  margin-bottom: 0;
}

.home-reader .astrodu-reading-paragraph {
  margin: 0 0 1.15em;
}

.home-reader .astrodu-reading-heading {
  font-family: "Cormorant Garamond", Georgia, serif;
  text-wrap: balance;
}

.home-reader .astrodu-reading-heading-major {
  margin: 2.15rem 0 .82rem;
  padding: 0 0 .58rem;
  border-bottom: 1px solid rgba(128,103,36,.24);
  color: #806724;
  font-size: clamp(1.55rem, 4.5vw, 1.95rem);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: 0;
}

.home-reader .astrodu-reading-heading-minor {
  margin: 1.7rem 0 .62rem;
  padding: 0;
  border: 0;
  color: #332b20;
  font-size: clamp(1.22rem, 3.8vw, 1.42rem);
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: 0;
}

.home-reader .astrodu-reading-lead {
  margin: .15rem 0 1.15rem;
  font-size: 1.0625rem;
  line-height: 1.72;
}

.home-reader .astrodu-reading-document strong {
  color: #211d17;
  font-weight: 700;
}

.home-reader .astrodu-reading-list {
  margin: .35rem 0 1.35rem;
}

.home-reader ul.astrodu-reading-list {
  list-style: none;
  padding-left: 0;
}

.home-reader ul.astrodu-reading-list li {
  position: relative;
  margin: 0 0 .72rem;
  padding-left: 1.35rem;
  line-height: 1.68;
}

.home-reader ul.astrodu-reading-list li::before {
  content: "";
  position: absolute;
  left: .12rem;
  top: .72em;
  width: .34rem;
  height: .34rem;
  border-radius: 50%;
  background: #b47b36;
}

.home-reader ol.astrodu-reading-list {
  padding-left: 1.55rem;
}

.home-reader ol.astrodu-reading-list li {
  margin: 0 0 .72rem;
  padding-left: .18rem;
  line-height: 1.68;
}

.home-reader ol.astrodu-reading-list li::marker {
  color: #8d6323;
  font-weight: 700;
}

.home-reader .astrodu-reading-document .reading-divider {
  height: 1px;
  margin: 1.9rem 0;
  border: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(128,103,36,.30),
    transparent
  );
}

@media (max-width: 600px) {
  .home-reader .astrodu-reading-document {
    font-size: 1.0625rem;
    line-height: 1.72;
  }

  .home-reader .astrodu-reading-heading-major {
    margin-top: 1.9rem;
    font-size: clamp(1.48rem, 6.2vw, 1.72rem);
  }

  .home-reader .astrodu-reading-heading-minor {
    margin-top: 1.5rem;
    font-size: clamp(1.18rem, 5vw, 1.34rem);
  }
}
