/* Generated by tools/sync-shared.js from styles/site.css. Edit the source. */
@font-face{font-family:"Marcellus";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/marcellus-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Shared accessibility helpers (all sites) */
.skip-link{position:absolute;left:.5rem;top:-4rem;z-index:100;padding:.6rem 1rem;background:#fff;color:#000;font-weight:700;border:2px solid #000;text-decoration:none}
.skip-link:focus{top:.5rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.table-wrap{position:relative;overflow-x:auto;max-width:100%}
img{max-width:100%;height:auto}
main:focus{outline:none}
.photo-credit{font-size:.8rem;opacity:.85;margin:.3rem 0 0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Cusp Me: celestial night. 60 midnight / 30 lavender / 10 star gold. */
:root {
  --night: #141633;
  --night-2: #1d2050;
  --deep: #0b0c22;
  --lavender: #c9c3f2;
  --gold: #f2c14e;
  --white: #f7f6ff;
  --display: "Marcellus", "Palatino Linotype", Georgia, serif;
  --body: "Jost", "Futura", system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--night); color: var(--white); font: 400 1.08rem/1.7 var(--body); }
a { color: var(--gold); text-underline-offset: 3px; }
a:hover { color: var(--white); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; line-height: 1.15; letter-spacing: .01em; }
em { font-style: normal; color: var(--gold); }
.eyebrow { text-transform: uppercase; letter-spacing: .25em; font-size: .8rem; color: var(--lavender); margin: 0 0 .5rem; }

.sale-banner { background: var(--deep); border-bottom: 1px solid #2c2f66; }
.sale-banner__inner { margin: 0 auto; max-width: 70rem; padding: .5rem 1rem; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .3rem .8rem; font-size: .92rem; text-align: center; }
.sale-banner__domain { font-family: var(--display); font-weight: 400; color: var(--gold); font-size: 1.05rem; }
.sale-banner__link { color: var(--deep); background: var(--lavender); border-radius: 999px; padding: .1rem .8rem; text-decoration: none; font-weight: 500; }
.sale-banner__link:hover, .sale-banner__link:focus-visible { background: var(--gold); color: var(--deep); }

.sky__inner { max-width: 70rem; margin: 0 auto; padding: 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 2rem; }
.mark { display: inline-flex; align-items: center; gap: .6rem; color: var(--white); text-decoration: none; font-family: var(--display); font-size: 1.8rem; }
.orbit ul { list-style: none; margin: 0; padding: .3rem; display: flex; flex-wrap: wrap; gap: .25rem; border: 1px solid #3a3d7a; border-radius: 999px; }
.orbit a { display: inline-block; padding: .3rem .9rem; border-radius: 999px; color: var(--lavender); text-decoration: none; font-weight: 500; }
.orbit a:hover { color: var(--white); background: var(--night-2); }
.orbit a[aria-current="page"] { background: var(--lavender); color: var(--deep); }

.nightfall { max-width: 70rem; margin: 0 auto; padding: 2rem 1rem 3rem; display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 56rem) { .nightfall { grid-template-columns: 1.2fr 1fr; } }
.nightfall h1 { font-size: clamp(2.4rem, 8vw, 4.4rem); margin: 0 0 1rem; }
.nightfall h1 span { display: block; color: var(--gold); }
.lede { font-size: 1.18rem; color: var(--lavender); }
.wheel img { display: block; width: 100%; height: auto; border-radius: 50%; border: 2px solid #3a3d7a; }

.finder { background: var(--night-2); border: 1px solid #3a3d7a; border-radius: 1.25rem; padding: 1.1rem; margin: 1.5rem 0; }
.finder__fields { display: grid; gap: .8rem; align-items: end; }
@media (min-width: 36rem) { .finder__fields { grid-template-columns: 1.4fr 1fr auto; } }
.finder label { display: block; font-size: .9rem; color: var(--lavender); margin-bottom: .3rem; }
.finder select { width: 100%; font: inherit; padding: .55rem .7rem; border-radius: .7rem; border: 1px solid var(--lavender); background: var(--night); color: var(--white); }
.star-btn { display: inline-block; background: var(--gold); color: var(--deep); border: 0; border-radius: 999px; padding: .65rem 1.4rem; font: 500 1rem var(--body); text-decoration: none; cursor: pointer; }
.star-btn:hover { background: var(--white); color: var(--deep); }

.constellation, .honest { max-width: 70rem; margin: 0 auto; padding: 2rem 1rem; }
.constellation h2, .honest h2 { font-size: clamp(1.8rem, 5vw, 2.6rem); text-align: center; }
.stars { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; position: relative; }
@media (min-width: 56rem) { .stars { grid-template-columns: repeat(3, 1fr); } .stars--list { grid-template-columns: 1fr; } }
.star { background: linear-gradient(160deg, var(--night-2), var(--night)); border: 1px solid #3a3d7a; border-radius: 1.25rem; padding: 1.5rem 1.25rem 1.25rem; position: relative; }
.star__dot { position: absolute; top: -8px; left: 1.25rem; width: 16px; height: 16px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 14px var(--gold); }
.star h3, .star h2 { font-size: 1.45rem; margin: .25rem 0 .5rem; }
.star h3 a, .star h2 a { color: var(--white); }
.star p { color: var(--lavender); margin: 0; }
.honest__grid { display: grid; gap: 1rem; }
@media (min-width: 56rem) { .honest__grid { grid-template-columns: repeat(3, 1fr); } }
.honest__grid p { border-top: 2px solid var(--gold); padding-top: .75rem; margin: 0; color: var(--lavender); }
.honest__grid strong { color: var(--white); }

.chamber { max-width: 48rem; margin: 0 auto; padding: 1rem 1rem 3rem; }
.chamber h1 { font-size: clamp(2.3rem, 7vw, 3.6rem); margin: .5rem 0 .75rem; }
.breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4rem; font-size: .9rem; color: var(--lavender); }
.breadcrumbs a { color: var(--lavender); }
.breadcrumbs li + li::before { content: "✦"; margin-right: .4rem; color: var(--gold); font-size: .7rem; }
.byline { color: var(--lavender); font-size: .92rem; }
.moonbox { border: 1px solid var(--gold); border-radius: 1.25rem; padding: 1rem 1.25rem; margin: 1.5rem 0 2rem; background: var(--night-2); }
.moonbox__label { color: var(--gold); text-transform: uppercase; letter-spacing: .2em; font-size: .8rem; margin: 0 0 .3rem; }
.moonbox p:last-child { margin-bottom: 0; }
.prose h2 { font-size: 1.8rem; margin-top: 2.5rem; color: var(--white); }
.prose li { margin: .3rem 0; }
.prose table, .ephemeris { border-collapse: collapse; width: 100%; min-width: 32rem; font-size: .98rem; }
.prose th, .prose td, .ephemeris th, .ephemeris td { border-bottom: 1px solid #3a3d7a; padding: .55rem .5rem; text-align: left; vertical-align: top; }
.prose thead th, .ephemeris thead th { color: var(--gold); font-weight: 500; border-bottom: 1px solid var(--gold); }
.ephemeris tbody th { font-weight: 500; white-space: nowrap; }
.table-wrap { margin: 1.25rem 0; }
.sources { margin-top: 2rem; font-size: .95rem; color: var(--lavender); }
.sources h2 { font-size: 1.3rem; color: var(--white); }
.further { margin-top: 2rem; border-top: 1px solid #3a3d7a; padding-top: 1rem; }
.further h2 { font-size: 1.4rem; }
.reading { margin: 2rem 0; padding: 1.5rem; border-radius: 1.5rem; background: radial-gradient(circle at top right, #3a2f6b, var(--night-2)); border: 1px solid var(--lavender); }
.reading h2 { font-size: 2rem; margin-top: 0; }
.glyph { color: var(--gold); }
.reading__cusp { font-size: 1.2rem; }
.wide-sky { margin: 2rem 0; }
.wide-sky img { display: block; width: 100%; height: auto; border-radius: 1.25rem; }
.faqstar { border-bottom: 1px solid #3a3d7a; padding-bottom: .75rem; }
.faqstar h2 { font-size: 1.45rem; }
.lost { text-align: center; padding-top: 2rem; }

.horizon { background: var(--deep); margin-top: 3rem; border-top: 1px solid #2c2f66; }
.horizon__inner { max-width: 70rem; margin: 0 auto; padding: 2.5rem 1rem; display: grid; gap: 1.5rem; color: var(--lavender); }
@media (min-width: 56rem) { .horizon__inner { grid-template-columns: 1.3fr 1fr 1.3fr; } }
.horizon a { color: var(--white); }
.horizon ul { list-style: none; margin: 0; padding: 0; }
.horizon li { margin: .3rem 0; }
.horizon__mark { font-family: var(--display); font-size: 1.9rem; color: var(--white); margin: 0; }
.footer-sale { border: 1px solid var(--gold); border-radius: 1rem; padding: 1rem; margin-top: 0; color: var(--white); }
.footer-sale a { color: var(--gold); }
.footer-legal { font-size: .88rem; }
