/* SayHi Constellation — language, light, literature, stars. */
:root {
  --const-ink: #173673;
  --const-ink-soft: #29498d;
  --const-paper: #edf3ff;
  --const-paper-bright: #fbfcff;
  --const-blue: #315eea;
  --const-violet: #7267c9;
  --const-cyan: #b9ddff;
  --const-silver: #6f7ca8;
  --const-rule: rgba(49, 94, 234, .17);
  --const-rule-dark: rgba(226, 236, 255, .26);
  --const-ease: cubic-bezier(.22, 1, .36, 1);
}

html { background: var(--const-ink); }
body.home-page {
  overflow-x: clip;
  background: var(--const-paper);
  color: var(--const-ink);
}

body.home-page ::selection { background: var(--const-blue); color: #fff; }
body.home-page :focus-visible { outline: 2px solid var(--const-cyan); outline-offset: 5px; }
body.home-page .container { width: min(100% - 64px, 1320px); max-width: none; }
body.home-page .eyebrow {
  color: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .015em;
  text-transform: none;
}

/* The legacy observer remains useful on inner pages; the homepage timeline owns reveal state. */
.home-page.constellation-ready .reveal,
.home-page.constellation-ready .reveal.in {
  opacity: 1;
  transform: none;
  transition: none;
}

/* Flat, editorial controls replace generic pill UI. */
body.home-page .btn,
body.home-page .discovery-search,
body.home-page .lang-switch,
body.home-page .current-swap {
  border-radius: 0;
  box-shadow: none;
}

body.home-page .btn {
  min-height: 48px;
  padding-inline: 20px;
  border: 1px solid currentColor;
  background: transparent;
  transition: color .35s ease, background-color .35s ease, border-color .35s ease, transform .35s var(--const-ease);
}

body.home-page .btn:hover { transform: translateY(-2px); }

/* Navigation changes material as the spatial field gives way to paper. */
.home-page.constellation-ready .nav,
.home-page.constellation-ready .nav.scrolled {
  height: 74px;
  border-bottom: 1px solid rgba(8, 11, 11, .12);
  background: rgba(238, 233, 222, .88);
  backdrop-filter: blur(18px);
  transition: background-color .5s ease, border-color .5s ease, color .5s ease;
}

.home-page.constellation-ready .nav:not(.scrolled) {
  color: var(--const-paper-bright);
  border-bottom-color: rgba(255,255,255,.12);
  background: rgba(5,7,7,.08);
  backdrop-filter: blur(7px);
}

.home-page.constellation-ready .nav-inner { max-width: none; padding-inline: 4.5vw; }
.home-page.constellation-ready .nav:not(.scrolled) .brand-logo { filter: grayscale(1) brightness(5); }
.home-page.constellation-ready .nav:not(.scrolled) .brand-text,
.home-page.constellation-ready .nav:not(.scrolled) .nav-links a,
.home-page.constellation-ready .nav:not(.scrolled) .nav-actions,
.home-page.constellation-ready .nav:not(.scrolled) .btn-ghost { color: var(--const-paper-bright); }
.home-page.constellation-ready .nav-links a { position: relative; font-size: 13px; font-weight: 550; }
.home-page.constellation-ready .nav-links a::before {
  position: absolute;
  right: -9px;
  top: 50%;
  width: 3px;
  height: 3px;
  background: currentColor;
  border-radius: 50%;
  content: "";
  opacity: 0;
  transform: scale(0);
  transition: opacity .25s ease, transform .35s var(--const-ease);
}
.home-page.constellation-ready .nav-links a:hover::before,
.home-page.constellation-ready .nav-links a.active::before { opacity: 1; transform: scale(1); }
.home-page.constellation-ready .nav-links a.active::after { display: none; }
.home-page.constellation-ready .nav .btn-primary { background: var(--const-blue); border-color: var(--const-blue); color: #fff; }

/* 01 — glyphs begin as coordinates in a dark reading field. */
.home-page.constellation-ready .hero {
  isolation: isolate;
  min-height: 100svh;
  padding: 132px 0 90px;
  overflow: hidden;
  background: var(--const-ink);
  color: var(--const-paper-bright);
}

.home-page.constellation-ready .hero::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(5,7,7,.98) 0%, rgba(5,7,7,.82) 43%, rgba(5,7,7,.18) 78%, rgba(5,7,7,.58) 100%),
    radial-gradient(circle at 70% 45%, rgba(45,98,255,.14), transparent 32%);
  content: "";
}

.home-page.constellation-ready .hero::after {
  position: absolute;
  inset: 74px 4.5vw auto;
  z-index: 3;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.42) 0 7%, transparent 7% 72%, rgba(255,255,255,.42) 72% 100%);
  content: "";
  pointer-events: none;
}

.home-page.constellation-ready .hero-visual {
  z-index: -3;
  inset: 0;
  width: 100%;
  opacity: .36;
  filter: grayscale(1) contrast(1.12) brightness(.62);
  mask-image: linear-gradient(90deg, transparent 22%, #000 64%, #000 100%);
}
.home-page.constellation-ready .hero-visual::after { display: none; }
.home-page.constellation-ready .hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; }

.home-page.constellation-ready .hero-inner {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(420px, 1.22fr);
  min-height: calc(100svh - 222px);
  align-items: center;
}
.home-page.constellation-ready .hero-copy { max-width: 630px; padding-top: 30px; }
.home-page.constellation-ready .hero-copy .eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.58);
}
.home-page.constellation-ready .hero-copy .eyebrow::before { width: 34px; height: 1px; background: currentColor; content: ""; }
.home-page.constellation-ready .hero h1 {
  max-width: 660px;
  margin: 32px 0 25px;
  color: var(--const-paper-bright);
  font-family: var(--font-serif);
  font-size: clamp(45px, 4.7vw, 68px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.048em;
}
.home-page.constellation-ready .hero h1 .grad { color: var(--const-paper); background: none; -webkit-text-fill-color: currentColor; }
.home-page.constellation-ready .hero .sub { max-width: 520px; color: rgba(255,255,255,.64); font-size: 16px; line-height: 1.65; }
.home-page.constellation-ready .hero-cta { gap: 24px; }
.home-page.constellation-ready .hero .btn-primary { border-color: var(--const-paper); background: var(--const-paper); color: var(--const-ink); }
.home-page.constellation-ready .hero .btn-primary:hover { background: var(--const-blue); border-color: var(--const-blue); color: #fff; }
.home-page.constellation-ready .hero .editorial-link { color: rgba(255,255,255,.78); }
.home-page.constellation-ready .hero-book-meta {
  right: 0;
  bottom: 0;
  z-index: 7;
  width: min(330px, 30vw);
  padding: 22px 0 0 28px;
  border-left: 1px solid rgba(255,255,255,.34);
  color: var(--const-paper-bright);
  background: none;
}
.home-page.constellation-ready .hero-book-title { font-size: 19px; font-weight: 500; }
.home-page.constellation-ready .hero-book-author,
.home-page.constellation-ready .hero-book-action { color: rgba(255,255,255,.58); }

.constellation-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}
.constellation-layer svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.constellation-layer .const-line { fill: none; stroke: rgba(123,231,220,.4); stroke-width: .7; vector-effect: non-scaling-stroke; }
.constellation-layer .const-dot { fill: var(--const-paper); opacity: .7; }
.glyph-node {
  position: absolute;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: rgba(238,233,222,.58);
  font-family: var(--font-serif);
  font-size: 13px;
  transform: translate(-50%, -50%);
}
.glyph-node.is-blue { color: var(--const-cyan); }
.glyph-node::after { position: absolute; inset: 50% auto auto 50%; width: 3px; height: 3px; border-radius: 50%; background: currentColor; content: ""; transform: translate(-50%, -50%); }
.glyph-node span { transform: translate(12px, -12px); }
.const-cover-plane {
  position: absolute;
  width: clamp(70px, 7vw, 112px);
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.45);
  background: #111;
  box-shadow: 0 30px 80px rgba(0,0,0,.36);
  transform-style: preserve-3d;
}
.const-cover-plane img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.9) contrast(1.12); }
.const-cover-plane::after { position: absolute; inset: 0; border: 1px solid rgba(123,231,220,.42); content: ""; }
.paper-horizon {
  position: absolute;
  z-index: 2;
  right: -12vw;
  bottom: -37vh;
  width: 78vw;
  height: 65vh;
  border-top: 1px solid rgba(238,233,222,.66);
  border-radius: 50% 0 0 0;
  background: var(--const-paper);
  transform: rotate(-6deg);
  transform-origin: 100% 100%;
}
.hero-coordinate {
  position: absolute;
  z-index: 5;
  right: 4.5vw;
  top: 112px;
  color: rgba(255,255,255,.48);
  font: 10px/1.6 var(--font-mono);
  letter-spacing: .08em;
  writing-mode: vertical-rl;
}

/* 02 — the coordinates open into a living story atlas. */
.home-page.constellation-ready .discovery-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 118px 0 90px;
  background: var(--const-ink);
  color: var(--const-paper);
}
.home-page.constellation-ready .discovery-shell::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 72% 38%, rgba(45,98,255,.1), transparent 30%),
    linear-gradient(180deg, #050707, #091010 65%, #050707);
  content: "";
}
.home-page.constellation-ready .discovery-shell > .container { position: relative; z-index: 2; }
.home-page.constellation-ready .discovery-tools {
  grid-template-columns: minmax(280px,.85fr) minmax(360px,.55fr);
  align-items: end;
  padding-bottom: 38px;
  border-bottom: 1px solid var(--const-rule-dark);
}
.home-page.constellation-ready .discovery-title h2,
.home-page.constellation-ready .hub-heading h3,
.home-page.constellation-ready .new-chapters h3 { color: var(--const-paper-bright); }
.home-page.constellation-ready .discovery-title h2 {
  max-width: 560px;
  margin-top: 10px;
  font-family: var(--font-serif);
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.04em;
}
.home-page.constellation-ready .discovery-search {
  height: 50px;
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.025);
}
.home-page.constellation-ready .discovery-search input { color: #fff; }
.home-page.constellation-ready .discovery-search input::placeholder { color: rgba(255,255,255,.45); }
.home-page.constellation-ready .discovery-search button { border-left: 1px solid rgba(255,255,255,.24); background: transparent; color: var(--const-cyan); }
.home-page.constellation-ready .genre-rail { border-bottom-color: var(--const-rule-dark); }
.home-page.constellation-ready .genre-rail,
.home-page.constellation-ready .new-chapters { scrollbar-width: none; }
.home-page.constellation-ready .genre-rail::-webkit-scrollbar,
.home-page.constellation-ready .new-chapters::-webkit-scrollbar { display: none; }
.home-page.constellation-ready .genre-rail a { color: rgba(255,255,255,.48); }
.home-page.constellation-ready .genre-rail a.active,
.home-page.constellation-ready .genre-rail a:hover { color: var(--const-paper-bright); background: transparent; }
.home-page.constellation-ready .genre-rail a.active::after { height: 1px; background: var(--const-cyan); }
.home-page.constellation-ready .genre-rail a span { color: rgba(255,255,255,.28); }
.home-page.constellation-ready .content-hub {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0,1.45fr) minmax(250px,.65fr) minmax(250px,.7fr);
  gap: 0;
  min-height: 590px;
  margin-top: 72px;
}
.home-page.constellation-ready .hub-spotlight,
.home-page.constellation-ready .hub-ranking,
.home-page.constellation-ready .reader-pulse,
.home-page.constellation-ready .new-chapters {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--const-paper);
}
.home-page.constellation-ready .hub-spotlight { padding: 0 54px 0 0; }
.home-page.constellation-ready .hub-ranking { padding: 0 34px; border-left: 1px solid var(--const-rule-dark); }
.home-page.constellation-ready .reader-pulse { padding: 0 0 0 34px; border-left: 1px solid var(--const-rule-dark); }
.home-page.constellation-ready .hub-heading { border-bottom-color: var(--const-rule-dark); }
.home-page.constellation-ready .hub-heading a,
.home-page.constellation-ready .pulse-link { color: var(--const-cyan); }
.home-page.constellation-ready .spotlight-books { align-items: end; min-height: 430px; gap: 24px; }
.home-page.constellation-ready .spotlight-book {
  align-self: end;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform-style: preserve-3d;
}
.home-page.constellation-ready .spotlight-book:not(.lead) { width: 22%; }
.home-page.constellation-ready .spotlight-book.lead { width: 47%; }
.home-page.constellation-ready .spotlight-book img { border: 1px solid rgba(255,255,255,.27); border-radius: 0; box-shadow: 0 30px 60px rgba(0,0,0,.38); }
.home-page.constellation-ready .spotlight-copy { position: static; display: grid; margin-top: 15px; padding: 0; color: var(--const-paper); background: none; }
.home-page.constellation-ready .spotlight-copy strong { color: var(--const-paper-bright); }
.home-page.constellation-ready .spotlight-copy small { color: var(--const-cyan); text-transform: none; }
.home-page.constellation-ready .spotlight-copy em,
.home-page.constellation-ready .spotlight-copy b { color: rgba(255,255,255,.52); }
.home-page.constellation-ready .ranking-list li { border-bottom-color: var(--const-rule-dark); }
.home-page.constellation-ready .ranking-list strong { color: var(--const-paper); }
.home-page.constellation-ready .ranking-list small { color: rgba(255,255,255,.42); }
.home-page.constellation-ready .ranking-list img { border-radius: 0; filter: grayscale(.75); }
.home-page.constellation-ready .rank-no { color: var(--const-cyan); }
.home-page.constellation-ready .reader-pulse .eyebrow { color: var(--const-cyan); }
.home-page.constellation-ready .pulse-dot { animation: none; background: var(--const-cyan); box-shadow: 0 0 0 4px rgba(123,231,220,.12); }
.home-page.constellation-ready .pulse-heading h3,
.home-page.constellation-ready .pulse-note p { color: var(--const-paper-bright); }
.home-page.constellation-ready .pulse-heading p,
.home-page.constellation-ready .pulse-note footer b { color: rgba(255,255,255,.5); }
.home-page.constellation-ready .pulse-note { animation: none; border-top-color: var(--const-rule-dark); }
.home-page.constellation-ready .pulse-note header span,
.home-page.constellation-ready .pulse-note footer a { color: var(--const-cyan); }
.home-page.constellation-ready .new-chapters { margin: 74px 0 0; padding: 28px 0 0; border-top: 1px solid var(--const-rule-dark); }
.home-page.constellation-ready .update-row { color: var(--const-paper); border-bottom-color: var(--const-rule-dark); }
.home-page.constellation-ready .update-row strong { color: var(--const-paper-bright); }
.home-page.constellation-ready .update-row .update-genre { color: var(--const-cyan); }
.home-page.constellation-ready .update-row > span:not(.update-genre),
.home-page.constellation-ready .update-row em,
.home-page.constellation-ready .update-row time { color: rgba(255,255,255,.4); }

.atlas-field { z-index: 0; opacity: .72; }
.atlas-field .atlas-line { fill: none; stroke: rgba(123,231,220,.19); stroke-width: .65; vector-effect: non-scaling-stroke; }
.atlas-field .atlas-dot { fill: var(--const-cyan); opacity: .46; }
.atlas-field .atlas-orbit { fill: none; stroke: rgba(238,233,222,.09); stroke-width: .5; }
.atlas-index {
  position: absolute;
  z-index: 1;
  right: 4.5vw;
  top: 160px;
  color: rgba(255,255,255,.24);
  font: 10px var(--font-mono);
  letter-spacing: .12em;
}

/* 03 — covers move as a shelf, never as a carousel card stack. */
.home-page.constellation-ready .curated-rail {
  overflow: hidden;
  padding: 74px 0 82px;
  border: 0;
  background: var(--const-paper);
  color: var(--const-ink);
}
.home-page.constellation-ready .curated-head { padding-bottom: 28px; border-bottom: 1px solid var(--const-rule); }
.home-page.constellation-ready .curated-head > span { font-size: 16px; font-style: normal; }
.home-page.constellation-ready .hero-strip { overflow: visible; padding-top: 40px; }
.home-page.constellation-ready .hero-strip-inner { animation: none !important; will-change: transform; }
.home-page.constellation-ready .hero-cover { border-radius: 0; background: transparent; box-shadow: none; }
.home-page.constellation-ready .hero-cover img { border-radius: 0; box-shadow: 0 22px 44px rgba(5,7,7,.15); transition: filter .4s ease, transform .5s var(--const-ease); }
.home-page.constellation-ready .hero-cover:not(:hover) img { filter: grayscale(.62); }
.home-page.constellation-ready .hero-cover:hover img { transform: translateY(-9px); }

.home-page.constellation-ready .reading-currents,
.home-page.constellation-ready .section {
  padding: 112px 0;
  background: var(--const-paper-bright);
}
.home-page.constellation-ready .reading-currents { position: relative; overflow: hidden; border-top: 1px solid var(--const-rule); }
.home-page.constellation-ready .reading-currents::before {
  position: absolute;
  left: 4.5vw;
  top: 0;
  width: 1px;
  height: 100%;
  background: var(--const-rule);
  content: "";
}
.home-page.constellation-ready .currents-heading { display: grid; grid-template-columns: .55fr 1.2fr .8fr; gap: 36px; align-items: end; }
.home-page.constellation-ready .currents-heading h2 { max-width: 660px; font-size: clamp(38px,4.2vw,58px); }
.home-page.constellation-ready .currents-heading p { margin: 0; }
.home-page.constellation-ready .currents-stage {
  isolation: isolate;
  margin-top: 62px;
  border-radius: 0;
  background: var(--const-ink);
  box-shadow: none;
}
.home-page.constellation-ready .currents-stage::before {
  position: absolute;
  inset: 8% 11% 12% 36%;
  z-index: -1;
  border: 1px solid rgba(123,231,220,.19);
  border-radius: 50%;
  content: "";
}
.home-page.constellation-ready .currents-track { gap: 0; }
.home-page.constellation-ready .current-slide { gap: 0; }
.home-page.constellation-ready .current-panel { border-radius: 0; box-shadow: none; }
.home-page.constellation-ready .current-main-shelf,
.home-page.constellation-ready .current-preview-shelf {
  border: 0;
  color: var(--const-paper);
  background: transparent;
}
.home-page.constellation-ready .current-preview-shelf { border-left: 1px solid var(--const-rule-dark); }
.home-page.constellation-ready .current-panel-head h3,
.home-page.constellation-ready .current-book strong,
.home-page.constellation-ready .current-next-book strong { color: var(--const-paper-bright); }
.home-page.constellation-ready .current-panel-head p,
.home-page.constellation-ready .current-book small,
.home-page.constellation-ready .current-next-book small { color: rgba(255,255,255,.48); }
.home-page.constellation-ready .current-kicker { color: var(--const-cyan); }
.home-page.constellation-ready .current-book img,
.home-page.constellation-ready .current-next-book img { border-radius: 0; box-shadow: 0 20px 38px rgba(5,7,7,.14); }
.home-page.constellation-ready .current-kicker { text-transform: none; letter-spacing: 0; }
.home-page.constellation-ready .current-tabs button { border-radius: 0; border-color: var(--const-rule); background: transparent; }

.home-page.constellation-ready .section-head { display: grid; grid-template-columns: .4fr 1.1fr .7fr; gap: 36px; align-items: end; max-width: none; margin-bottom: 58px; }
.home-page.constellation-ready .section-head h2 { max-width: 660px; margin: 0; font-size: clamp(36px,4vw,56px); }
.home-page.constellation-ready .section-head .desc { margin: 0; }
.home-page.constellation-ready .section .cover-grid { gap: 28px 18px; }
.home-page.constellation-ready .cover-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.home-page.constellation-ready .cover-image-wrap,
.home-page.constellation-ready .cover-image-wrap img { border-radius: 0; }
.home-page.constellation-ready .cover-image-wrap { overflow: visible; transform-style: preserve-3d; }
.home-page.constellation-ready .cover-image-wrap img { box-shadow: 0 26px 50px rgba(5,7,7,.16); }
.home-page.constellation-ready .cover-badge { border-radius: 0; }

/* Translator statements live in a calm blue-white editorial field. */
.home-page.constellation-ready .section.editorial-story {
  position: relative;
  overflow: hidden;
  background: var(--const-ink);
  color: var(--const-paper);
}
.home-page.constellation-ready .editorial-story::before {
  position: absolute;
  right: -18vw;
  top: 7%;
  width: 72vw;
  height: 78%;
  border: 1px solid rgba(123,231,220,.14);
  border-radius: 50%;
  content: "";
}
.home-page.constellation-ready .editorial-story .section-head h2,
.home-page.constellation-ready .editorial-story .feature h3 { color: var(--const-paper-bright); }
.home-page.constellation-ready .editorial-story .section-head .desc,
.home-page.constellation-ready .editorial-story .feature p { color: rgba(255,255,255,.52); }
.home-page.constellation-ready .feature-grid { position: relative; z-index: 1; gap: 0; border-top: 1px solid var(--const-rule-dark); }
.home-page.constellation-ready .feature {
  min-height: 300px;
  padding: 34px;
  border: 0;
  border-right: 1px solid var(--const-rule-dark);
  border-bottom: 1px solid var(--const-rule-dark);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.home-page.constellation-ready .feature:nth-child(3n) { border-right: 0; }
.home-page.constellation-ready .feature h3 { max-width: 300px; font-size: 24px; }
.home-page.constellation-ready .feature-media img { border-radius: 0; filter: grayscale(1) contrast(1.15); }
.home-page.constellation-ready .feature-art { opacity: .55; filter: grayscale(1); }

.home-page.constellation-ready .trending-section { background: var(--const-paper); }

/* 04 — a literary star field resolves into voices and a clear action. */
.home-page.constellation-ready .editorial {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 126px 0 0;
  background: var(--const-ink);
  color: var(--const-paper);
}
.home-page.constellation-ready .editorial::before {
  position: absolute;
  z-index: -1;
  left: 47%;
  top: 12%;
  width: 64vw;
  height: 70%;
  border: 1px solid rgba(123,231,220,.14);
  border-radius: 50%;
  content: "";
}
.home-page.constellation-ready .editorial-heading h2 { color: var(--const-paper-bright); }
.home-page.constellation-ready .editorial-heading .desc { color: rgba(255,255,255,.5); }
.home-page.constellation-ready .editorial-voices { gap: 0; border-top: 1px solid var(--const-rule-dark); }
.home-page.constellation-ready .ed-card {
  min-height: 340px;
  padding: 34px;
  border: 0;
  border-right: 1px solid var(--const-rule-dark);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.home-page.constellation-ready .ed-card:last-child { border-right: 0; }
.home-page.constellation-ready .ed-number { color: var(--const-cyan); }
.home-page.constellation-ready .ed-quote { color: var(--const-paper-bright); font-size: 21px; }
.home-page.constellation-ready .ed-avatar { border-radius: 0; filter: grayscale(1); }
.home-page.constellation-ready .ed-name { color: var(--const-paper-bright); }
.home-page.constellation-ready .ed-role { color: rgba(255,255,255,.42); }
.home-page.constellation-ready .editorial-panorama { height: min(39vw, 500px); margin-top: 90px; opacity: .45; mask-image: linear-gradient(180deg, transparent, #000 35%); }
.home-page.constellation-ready .editorial-panorama img { filter: grayscale(1) contrast(1.15); }

.editorial-field { z-index: -1; }

body.home-page.constellation-ready > section.container { width: 100%; max-width: none; background: var(--const-ink); }
.home-page.constellation-ready .stat-row {
  width: min(100% - 64px, 1320px);
  margin: 0 auto;
  padding: 75px 0;
  border-block: 1px solid var(--const-rule-dark);
  color: var(--const-paper);
}
.home-page.constellation-ready .stat-num { color: var(--const-paper-bright); font-size: clamp(34px,4vw,54px); }
.home-page.constellation-ready .stat-label { color: rgba(255,255,255,.42); }

.home-page.constellation-ready .cta {
  position: relative;
  overflow: hidden;
  padding: 0;
  background: var(--const-ink);
  color: var(--const-ink);
}
.home-page.constellation-ready .cta::before {
  display: block;
  position: absolute;
  inset: 7% -10% -38% 24%;
  background: var(--const-paper);
  clip-path: polygon(7% 11%, 100% 0, 92% 83%, 0 100%);
  content: "";
}
.home-page.constellation-ready .cta-inner {
  position: relative;
  z-index: 1;
  width: min(100% - 64px, 1320px);
  min-height: 510px;
  padding: 130px 10% 110px 35%;
  text-align: left;
}
.home-page.constellation-ready .cta h2 { max-width: 560px; margin: 0; font-size: clamp(42px,5vw,68px); color: var(--const-ink); }
.home-page.constellation-ready .cta p { max-width: 520px; margin: 22px 0 30px; color: rgba(5,7,7,.58); }
.home-page.constellation-ready .cta .hero-cta { justify-content: flex-start; }
.home-page.constellation-ready .cta .btn-primary { background: var(--const-ink); border-color: var(--const-ink); color: #fff; }
.home-page.constellation-ready .cta .btn-light { border-color: rgba(5,7,7,.42); color: var(--const-ink); background: transparent; }

.home-page.constellation-ready .footer { padding-top: 90px; background: var(--const-ink); border-top: 1px solid var(--const-rule-dark); color: var(--const-paper); }
.home-page.constellation-ready .footer .brand-logo { filter: grayscale(1) brightness(5); }
.home-page.constellation-ready .footer .brand-text,
.home-page.constellation-ready .footer h4 { color: var(--const-paper-bright); }
.home-page.constellation-ready .footer a,
.home-page.constellation-ready .footer p,
.home-page.constellation-ready .footer-bottom { color: rgba(255,255,255,.48); }
.home-page.constellation-ready .footer-bottom { border-top-color: var(--const-rule-dark); }

/* Pointer feedback stays local and transform-only. */
.home-page.constellation-ready .motion-plane { transform-style: preserve-3d; will-change: transform; }
.home-page.constellation-ready .motion-plane::before {
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(123,231,220,.45);
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: scale(.96);
  transition: opacity .28s ease, transform .45s var(--const-ease);
}
.home-page.constellation-ready .motion-plane:hover::before { opacity: 1; transform: scale(1); }

@media (max-width: 1100px) {
  body.home-page .container { width: min(100% - 42px, 1000px); }
  .home-page.constellation-ready .hero-inner { grid-template-columns: 1fr .75fr; }
  .home-page.constellation-ready .content-hub { grid-template-columns: 1.2fr .8fr; }
  .home-page.constellation-ready .reader-pulse { grid-column: 1 / -1; margin-top: 50px; padding: 28px 0 0; border-top: 1px solid var(--const-rule-dark); border-left: 0; }
  .home-page.constellation-ready .reader-pulse-list { grid-template-columns: repeat(3, 1fr); }
  .home-page.constellation-ready .pulse-link { margin-top: 25px; }
  .home-page.constellation-ready .section-head,
  .home-page.constellation-ready .currents-heading { grid-template-columns: .35fr 1fr; }
  .home-page.constellation-ready .section-head .desc,
  .home-page.constellation-ready .currents-heading p { grid-column: 2; }
}

@media (max-width: 760px) {
  body.home-page .container { width: min(100% - 36px, 680px); }
  .home-page.constellation-ready .nav,
  .home-page.constellation-ready .nav.scrolled { height: 64px; }
  .home-page.constellation-ready .nav-inner { padding-inline: 18px; }
  .home-page.constellation-ready .nav-open .nav-links { background: var(--const-paper-bright); }
  .home-page.constellation-ready .hero { min-height: 860px; padding: 112px 0 70px; }
  .home-page.constellation-ready .hero::after { inset: 64px 18px auto; }
  .home-page.constellation-ready .hero-inner { display: block; min-height: 680px; }
  .home-page.constellation-ready .hero-copy { padding-top: 0; }
  .home-page.constellation-ready .hero h1 { max-width: 510px; font-size: clamp(42px, 12vw, 58px); }
  .home-page.constellation-ready .hero .sub { max-width: 450px; font-size: 15px; }
  .home-page.constellation-ready .hero-book-meta { width: 250px; bottom: 0; }
  .home-page.constellation-ready .hero-coordinate { right: 18px; top: 95px; }
  .const-cover-plane { width: 70px; opacity: .62; }
  .paper-horizon { right: -38vw; bottom: -28vh; width: 120vw; }

  .home-page.constellation-ready .discovery-shell { padding: 88px 0 70px; }
  .home-page.constellation-ready .discovery-tools { display: grid; grid-template-columns: 1fr; gap: 30px; }
  .home-page.constellation-ready .discovery-title h2 { font-size: 42px; }
  .home-page.constellation-ready .genre-rail { overflow-x: auto; }
  .home-page.constellation-ready .genre-rail {
    flex-wrap: wrap;
    overflow-x: visible;
  }
  .home-page.constellation-ready .genre-rail a {
    flex: 1 1 33.333%;
    min-height: 46px;
    padding-inline: 10px;
    border-bottom: 1px solid var(--const-rule-dark);
  }
  .home-page.constellation-ready .content-hub { display: grid; grid-template-columns: 1fr; margin-top: 54px; }
  .home-page.constellation-ready .hub-spotlight { padding: 0; }
  .home-page.constellation-ready .hub-ranking,
  .home-page.constellation-ready .reader-pulse { margin-top: 56px; padding: 28px 0 0; border-top: 1px solid var(--const-rule-dark); border-left: 0; }
  .home-page.constellation-ready .spotlight-books { min-height: 360px; }
  .home-page.constellation-ready .reader-pulse-list { grid-template-columns: 1fr; }
  .home-page.constellation-ready .new-chapters { overflow-x: auto; }
  .home-page.constellation-ready .update-row { min-width: 650px; }

  .home-page.constellation-ready .curated-rail,
  .home-page.constellation-ready .reading-currents,
  .home-page.constellation-ready .section { padding-block: 82px; }
  .home-page.constellation-ready .currents-heading,
  .home-page.constellation-ready .section-head { display: block; }
  .home-page.constellation-ready .currents-heading h2,
  .home-page.constellation-ready .section-head h2 { margin-top: 14px; font-size: 40px; }
  .home-page.constellation-ready .currents-heading p,
  .home-page.constellation-ready .section-head .desc { margin-top: 18px; }
  .home-page.constellation-ready .current-slide { grid-template-columns: 1fr; }
  .home-page.constellation-ready .current-preview-shelf { display: none; }
  .home-page.constellation-ready .feature-grid { grid-template-columns: 1fr; }
  .home-page.constellation-ready .feature { min-height: auto; border-right: 0; }
  .home-page.constellation-ready .editorial-voices { grid-template-columns: 1fr; }
  .home-page.constellation-ready .ed-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--const-rule-dark); }
  .home-page.constellation-ready .stat-row { width: calc(100% - 36px); grid-template-columns: repeat(2, 1fr); }
  .home-page.constellation-ready .cta::before { inset: 4% -42% -20% -3%; }
  .home-page.constellation-ready .cta-inner { width: calc(100% - 36px); min-height: 480px; padding: 115px 0 90px 12%; }
  .home-page.constellation-ready .cta h2 { font-size: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page.constellation-ready *,
  .home-page.constellation-ready *::before,
  .home-page.constellation-ready *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .home-page.constellation-ready .motion-plane { transform: none !important; }
}

/* Luminous edition — a blue-white reading world with a restrained violet dusk. */
html { background: #dce7ff; }
body.home-page { background: #f7f9ff; color: var(--const-ink); }
body.home-page :focus-visible { outline-color: var(--const-blue); }

.home-page.constellation-ready .nav,
.home-page.constellation-ready .nav.scrolled,
.home-page.constellation-ready .nav:not(.scrolled) {
  color: var(--const-ink);
  border-bottom-color: rgba(49, 94, 234, .14);
  background: rgba(248, 250, 255, .88);
  backdrop-filter: blur(18px) saturate(1.12);
}
.home-page.constellation-ready .nav:not(.scrolled) .brand-logo { filter: none; }
.home-page.constellation-ready .nav:not(.scrolled) .brand-text,
.home-page.constellation-ready .nav:not(.scrolled) .nav-links a,
.home-page.constellation-ready .nav:not(.scrolled) .nav-actions,
.home-page.constellation-ready .nav:not(.scrolled) .btn-ghost { color: var(--const-ink); }
.home-page.constellation-ready .nav .btn-primary {
  border-color: var(--const-blue);
  background: var(--const-blue);
  color: #fff;
}

.home-page.constellation-ready .hero {
  background: #edf3ff;
  color: var(--const-ink);
}
.home-page.constellation-ready .hero::before {
  background:
    linear-gradient(90deg, rgba(251,252,255,.99) 0%, rgba(243,247,255,.96) 41%, rgba(223,232,255,.68) 72%, rgba(226,222,255,.76) 100%),
    radial-gradient(circle at 76% 38%, rgba(114,103,201,.2), transparent 36%);
}
.home-page.constellation-ready .hero::after {
  background: linear-gradient(90deg, rgba(49,94,234,.34) 0 7%, transparent 7% 72%, rgba(114,103,201,.28) 72% 100%);
}
.home-page.constellation-ready .hero-visual {
  opacity: .22;
  filter: saturate(.72) contrast(1.04) brightness(1.08);
  mix-blend-mode: multiply;
  mask-image: linear-gradient(90deg, transparent 13%, rgba(0,0,0,.45) 46%, #000 100%);
}
.home-page.constellation-ready .hero-copy .eyebrow { color: #536ca2; }
.home-page.constellation-ready .hero h1 {
  max-width: 620px;
  color: #173673;
  font-size: clamp(43px, 4.25vw, 61px);
}
.home-page.constellation-ready .hero h1 .grad { color: #315eea; }
.home-page.constellation-ready .hero .sub { color: #53648e; }
.home-page.constellation-ready .hero .btn-primary {
  border-color: var(--const-blue);
  background: var(--const-blue);
  color: #fff;
}
.home-page.constellation-ready .hero .btn-primary:hover {
  border-color: #244ccf;
  background: #244ccf;
}
.home-page.constellation-ready .hero .editorial-link { color: #29498d; }
.home-page.constellation-ready .hero-book-meta {
  border-left-color: rgba(49,94,234,.34);
  color: #173673;
}
.home-page.constellation-ready .hero-book-author,
.home-page.constellation-ready .hero-book-action { color: #63749d; }
.constellation-layer .const-line { stroke: rgba(49,94,234,.34); }
.constellation-layer .const-dot { fill: #315eea; opacity: .66; }
.hero-field .orbit-dust circle { fill: #315eea; }
.hero-field .language-orbits { transform-box: fill-box; transform-origin: center; }
.hero-field .orbit-arc,
.hero-field .route-thread,
.hero-field .tether-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero-field .orbit-primary {
  stroke: url(#hero-orbit-ink);
  stroke-width: 1.05;
  stroke-dasharray: 20 2 5 1.4;
  opacity: .88;
}
.hero-field .orbit-secondary {
  stroke: rgba(114,103,201,.46);
  stroke-width: .58;
  stroke-dasharray: .8 1.65 8 1.4;
}
.hero-field .orbit-ribbon {
  stroke: rgba(49,94,234,.42);
  stroke-width: .72;
  stroke-dasharray: 10 1.3 2 1.3;
}
.hero-field .route-thread {
  stroke: rgba(49,94,234,.2);
  stroke-width: .45;
}
.hero-field .tether-line {
  stroke: rgba(114,103,201,.52);
  stroke-width: .55;
  stroke-dasharray: 1.2 1.35;
}
.hero-field .orbit-ticks path {
  fill: none;
  stroke: rgba(23,54,115,.5);
  stroke-width: .58;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
.hero-field .orbit-halos circle {
  fill: none;
  stroke: rgba(114,103,201,.3);
  stroke-width: .62;
  vector-effect: non-scaling-stroke;
}
.hero-field .const-sparks {
  fill: none;
  stroke: rgba(49,94,234,.56);
  stroke-width: .62;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
.hero-field .const-dot.is-major { fill: #7267c9; opacity: .82; }
.glyph-node { color: rgba(23,54,115,.5); }
.glyph-node.is-blue { color: #315eea; }
.const-cover-plane {
  border-color: rgba(49,94,234,.35);
  background: #dbe6ff;
  box-shadow: 0 28px 72px rgba(49,72,139,.2);
}
.const-cover-plane img { filter: saturate(.72) contrast(1.05); }
.const-cover-plane::after { border-color: rgba(114,103,201,.42); }
.paper-horizon {
  border-top-color: rgba(49,94,234,.25);
  background: linear-gradient(140deg, rgba(255,255,255,.97), #e8efff 62%, #dedcff);
  box-shadow: -30px -25px 90px rgba(49,94,234,.08);
}
.hero-coordinate { color: rgba(23,54,115,.42); }

.home-page.constellation-ready .discovery-shell {
  background: #244b9f;
  color: #eef4ff;
}
.home-page.constellation-ready .discovery-shell::before {
  background:
    radial-gradient(circle at 76% 28%, rgba(173,165,255,.27), transparent 34%),
    radial-gradient(circle at 18% 72%, rgba(148,205,255,.13), transparent 30%),
    linear-gradient(145deg, #214a9e 0%, #344c9e 53%, #51458f 100%);
}
.home-page.constellation-ready .discovery-search { background: rgba(255,255,255,.055); }
.home-page.constellation-ready .discovery-search button,
.home-page.constellation-ready .hub-heading a,
.home-page.constellation-ready .pulse-link,
.home-page.constellation-ready .spotlight-copy small,
.home-page.constellation-ready .rank-no,
.home-page.constellation-ready .reader-pulse .eyebrow,
.home-page.constellation-ready .pulse-note header span,
.home-page.constellation-ready .pulse-note footer a,
.home-page.constellation-ready .update-row .update-genre { color: #d5e8ff; }
.home-page.constellation-ready .genre-rail a.active::after,
.home-page.constellation-ready .pulse-dot { background: #c8e4ff; }
.home-page.constellation-ready .pulse-dot { box-shadow: 0 0 0 4px rgba(200,228,255,.14); }
.home-page.constellation-ready .spotlight-book img {
  border-color: rgba(222,232,255,.38);
  box-shadow: 0 28px 60px rgba(17,39,103,.32);
}
.home-page.constellation-ready .ranking-list img { filter: saturate(.65) contrast(1.04); }
.atlas-field .atlas-line { stroke: rgba(219,234,255,.28); }
.atlas-field .atlas-dot { fill: #d7eaff; }
.atlas-field .atlas-orbit { stroke: rgba(234,239,255,.14); }
.atlas-index { color: rgba(240,245,255,.4); }

.home-page.constellation-ready .curated-rail { background: #edf3ff; }
.home-page.constellation-ready .reading-currents,
.home-page.constellation-ready .section { background: #fbfcff; }
.home-page.constellation-ready .hero-cover img,
.home-page.constellation-ready .cover-image-wrap img { box-shadow: 0 24px 52px rgba(42,70,142,.17); }
.home-page.constellation-ready .hero-cover:not(:hover) img { filter: saturate(.68); }
.home-page.constellation-ready .currents-stage {
  background: linear-gradient(145deg, #204893 0%, #334a98 52%, #55498f 100%);
}
.home-page.constellation-ready .currents-stage::before {
  border-color: rgba(214,229,255,.2);
  box-shadow: 0 0 0 38px rgba(255,255,255,.018);
}
.home-page.constellation-ready .current-kicker { color: #d5e8ff; }
.home-page.constellation-ready .current-book img,
.home-page.constellation-ready .current-next-book img { box-shadow: 0 20px 42px rgba(15,37,93,.22); }

.home-page.constellation-ready .section.editorial-story {
  background: linear-gradient(135deg, #f8faff 0%, #edf1ff 54%, #e5e4ff 100%);
  color: var(--const-ink);
}
.home-page.constellation-ready .editorial-story::before {
  left: 53%;
  top: 6%;
  width: 54vw;
  height: 82%;
  border: 0;
  background: radial-gradient(circle, rgba(114,103,201,.13), transparent 67%);
}
.home-page.constellation-ready .editorial-story .section-head h2,
.home-page.constellation-ready .editorial-story .feature h3 { color: #173673; }
.home-page.constellation-ready .editorial-story .section-head .desc,
.home-page.constellation-ready .editorial-story .feature p { color: #56678f; }
.home-page.constellation-ready .editorial-story .feature-grid { border-top-color: rgba(49,94,234,.18); }
.home-page.constellation-ready .editorial-story .feature { border-color: rgba(49,94,234,.16); }
.home-page.constellation-ready .feature-media img { filter: saturate(.62) contrast(1.04); }
.home-page.constellation-ready .feature-art { opacity: .62; filter: saturate(.65); }
.home-page.constellation-ready .trending-section { background: #f1f5ff; }

.home-page.constellation-ready .editorial {
  background: linear-gradient(150deg, #173d8f 0%, #354a9e 55%, #584b98 100%);
  color: #eef4ff;
}
.home-page.constellation-ready .editorial::before {
  left: 44%;
  top: 4%;
  width: 58vw;
  height: 74%;
  border: 0;
  background: radial-gradient(circle, rgba(203,216,255,.15), transparent 66%);
}
.home-page.constellation-ready .editorial-heading .desc { color: rgba(239,244,255,.66); }
.home-page.constellation-ready .ed-card {
  grid-template-columns: minmax(0,1fr) 214px;
  border-color: rgba(226,236,255,.26);
}
.home-page.constellation-ready .ed-number { display: none; }
.home-page.constellation-ready .ed-quote { color: #fff; }
.home-page.constellation-ready .ed-avatar { filter: saturate(.55) contrast(1.05); }
.home-page.constellation-ready .ed-name { color: #fff; }
.home-page.constellation-ready .ed-role { color: rgba(236,242,255,.56); }
.home-page.constellation-ready .editorial-panorama { opacity: .26; }
.home-page.constellation-ready .editorial-panorama img { filter: saturate(.6) hue-rotate(8deg) contrast(1.05); }
.editorial-field { z-index: -1; opacity: .95; }
.editorial-field .star-dust circle { fill: rgba(255,255,255,.68); }
.editorial-field .star-thread {
  fill: none;
  stroke: rgba(222,233,255,.31);
  stroke-width: .72;
  vector-effect: non-scaling-stroke;
}
.editorial-field .star-halo {
  fill: none;
  stroke: rgba(216,229,255,.26);
  stroke-width: .65;
  vector-effect: non-scaling-stroke;
}
.editorial-field .literary-star { fill: #fff; }
.editorial-field .star-tone-1 { fill: #bfe2ff; }
.editorial-field .star-tone-2 { fill: #d6cfff; }

body.home-page.constellation-ready > section.container { background: #1d438f; }
.home-page.constellation-ready .stat-row { color: #eef4ff; }
.home-page.constellation-ready .stat-num { color: #fff; }
.home-page.constellation-ready .stat-label { color: rgba(232,240,255,.6); }
.home-page.constellation-ready .cta { background: #1d438f; color: var(--const-ink); }
.home-page.constellation-ready .cta::before {
  background: linear-gradient(145deg, #fbfcff, #e8efff 68%, #dedcff);
}
.home-page.constellation-ready .cta p { color: #596a91; }
.home-page.constellation-ready .cta .btn-primary {
  border-color: var(--const-blue);
  background: var(--const-blue);
  color: #fff;
}
.home-page.constellation-ready .cta .btn-light { border-color: rgba(23,54,115,.38); color: var(--const-ink); }
.home-page.constellation-ready .footer { background: #173a83; color: #eef4ff; }
.home-page.constellation-ready .footer .brand-logo { filter: brightness(0) invert(1); }
.home-page.constellation-ready .footer .brand-text,
.home-page.constellation-ready .footer h4 { color: #fff; }
.home-page.constellation-ready .footer a,
.home-page.constellation-ready .footer p,
.home-page.constellation-ready .footer-bottom { color: rgba(232,240,255,.62); }
.home-page.constellation-ready .motion-plane::before { border-color: rgba(185,221,255,.55); }

@media (max-width: 760px) {
  .home-page.constellation-ready .nav-open .nav-links { background: rgba(251,252,255,.98); }
  .home-page.constellation-ready .hero { min-height: 820px; }
  .home-page.constellation-ready .hero h1 { font-size: clamp(40px, 11vw, 53px); }
  .hero-field {
    mask-image: linear-gradient(90deg, transparent 0 43%, rgba(0,0,0,.42) 57%, #000 76%);
  }
  .hero-field .const-cover-plane { width: 62px; opacity: .54; }
  .hero-field .orbit-dust circle:nth-child(2n),
  .hero-field .orbit-ticks path:nth-child(2n),
  .hero-field .route-thread { display: none; }
  .hero-field .orbit-primary { stroke-width: .82; }
  .hero-field .orbit-secondary { opacity: .66; }
  .home-page.constellation-ready .editorial-voices .ed-card {
    grid-template-columns: minmax(0,1fr);
    gap: 22px;
  }
  .home-page.constellation-ready .editorial-voices .ed-quote,
  .home-page.constellation-ready .editorial-voices .ed-meta {
    grid-column: 1;
    max-width: none;
  }
  .home-page.constellation-ready .editorial-heading .desc { color: rgba(239,244,255,.74); }
  .editorial-field .star-dust circle:nth-child(2n) { display: none; }
  .home-page.constellation-ready .cta h2 { font-size: 43px; }
}
