.numerology-page { overflow-x: hidden; background: var(--tem-color-background); }
.numerology-hero { position: relative; overflow: hidden; padding-block: clamp(4.5rem, 9vw, 8rem); background: radial-gradient(circle at 78% 28%, rgb(75 75 170 / .35), transparent 26%), linear-gradient(120deg, #071225, #111b34 62%, #22214b); }
.numerology-hero::after { content: ""; position: absolute; inset: auto -10rem -18rem auto; width: 38rem; aspect-ratio: 1; border: 1px solid rgb(216 189 145 / .22); border-radius: 50%; }
.numerology-stars { position: absolute; inset: 0; opacity: .55; background-image: radial-gradient(circle, #fff 0 1px, transparent 1.5px); background-size: 73px 73px; mask-image: linear-gradient(to bottom, #000, transparent); }
.numerology-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(23rem, 1.05fr); align-items: center; gap: clamp(3rem, 6vw, 5rem); }
.numerology-hero .tem-eyebrow { color: #d8bd91; }
.numerology-hero .tem-display { color: #fff; }
.numerology-hero .tem-lead { max-width: 45rem; color: #d7dbe5; }
.numerology-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--tem-space-4); margin-top: var(--tem-space-8); }
.numerology-button--light { min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; padding: .8rem 1.25rem; border: 1px solid rgb(255 255 255 / .72); border-radius: var(--tem-radius-pill); color: #fff; font-weight: 700; text-decoration: none; }
.numerology-hero__visual { position: relative; width: min(100%, 38rem); margin: 0 auto; }
.numerology-hero__visual::before { content: ""; position: absolute; inset: -1.2rem; border: 1px solid rgb(216 189 145 / .45); border-radius: 2.25rem; }
.numerology-hero__visual img { position: relative; width: 100%; height: auto; aspect-ratio: 1; display: block; border-radius: 2rem; object-fit: contain; box-shadow: 0 2rem 5rem rgb(0 0 0 / .38); }
.numerology-hero__visual figcaption { max-width: 22rem; margin: var(--tem-space-5) auto 0; color: #c8cdd8; font-size: var(--tem-font-size-sm); text-align: center; }
.numerology-intro__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 8vw, 7rem); }
.numerology-prose { color: var(--tem-color-text); font-size: clamp(1rem, 1.5vw, 1.12rem); line-height: 1.85; }
.numerology-prose p:first-child { margin-top: 0; }
.numerology-section-heading { max-width: 50rem; margin-bottom: var(--tem-space-12); }
.numerology-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tem-space-6); }
.numerology-path-card { position: relative; min-height: 34rem; display: flex; flex-direction: column; overflow: hidden; padding: clamp(2rem, 5vw, 3.25rem); border: 1px solid var(--tem-color-border); border-radius: var(--tem-radius-lg); background: var(--tem-color-surface); box-shadow: var(--tem-shadow-sm); }
.numerology-path-card--complete { border-color: rgb(173 124 46 / .52); background: linear-gradient(150deg, #fffdfa, #f7eddb); }
.numerology-path-card__number { position: absolute; top: .5rem; right: 1.5rem; color: rgb(17 26 45 / .07); font: 700 clamp(5rem, 12vw, 9rem)/1 var(--tem-font-display); }
.numerology-path-card h3 { position: relative; max-width: 28rem; margin: var(--tem-space-5) 0; color: var(--tem-color-ink); font: 700 clamp(1.65rem, 3vw, 2.35rem)/1.18 var(--tem-font-display); }
.numerology-path-card p, .numerology-path-card li { color: var(--tem-color-text); }
.numerology-path-card ul { display: grid; gap: var(--tem-space-3); margin: var(--tem-space-6) 0 var(--tem-space-8); padding: 0; list-style: none; }
.numerology-path-card li::before { content: "✦"; margin-right: .65rem; color: var(--tem-color-accent); }
.numerology-path-card .tem-button { align-self: flex-start; margin-top: auto; }
.numerology-themes { position: relative; overflow: hidden; background: radial-gradient(circle at 82% 18%, rgb(75 75 170 / .3), transparent 24%), linear-gradient(135deg, #081326, #141d35 70%, #202044); }
.numerology-themes::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: radial-gradient(circle, #fff 0 1px, transparent 1.5px); background-size: 83px 83px; }
.numerology-themes .tem-container { position: relative; z-index: 1; }
.numerology-themes .tem-eyebrow { color: #d8bd91; }
.numerology-themes .tem-heading { color: #fff; }
.numerology-theme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tem-space-5); }
.numerology-theme-grid article { position: relative; min-height: 19rem; overflow: hidden; padding: var(--tem-space-8); border: 1px solid rgb(216 189 145 / .26); border-radius: var(--tem-radius-md); background: linear-gradient(145deg, rgb(255 255 255 / .97), rgb(247 237 219 / .92)); box-shadow: 0 1.4rem 3.5rem rgb(0 0 0 / .18); transition: transform .25s ease, border-color .25s ease; }
.numerology-theme-grid article:nth-child(2), .numerology-theme-grid article:nth-child(5) { background: linear-gradient(145deg, #f5ead7, #fffdf8); }
.numerology-theme-grid article::after { content: ""; position: absolute; right: -3.5rem; bottom: -3.5rem; width: 9rem; aspect-ratio: 1; border: 1px solid rgb(173 124 46 / .2); border-radius: 50%; box-shadow: 0 0 0 1.5rem rgb(173 124 46 / .05); }
.numerology-theme-grid article:hover { transform: translateY(-4px); border-color: rgb(216 189 145 / .72); }
.numerology-theme-grid span { width: 4rem; height: 4rem; display: grid; place-items: center; border: 1px solid rgb(173 124 46 / .45); border-radius: 50%; color: var(--tem-color-accent); font: 700 1.7rem/1 var(--tem-font-display); background: rgb(255 255 255 / .62); }
.numerology-theme-grid h3 { position: relative; margin: var(--tem-space-7) 0 var(--tem-space-3); color: var(--tem-color-ink); font: 700 1.15rem/1.35 var(--tem-font-display); }
.numerology-theme-grid p { position: relative; margin-bottom: 0; color: var(--tem-color-text); }
.numerology-note { position: relative; overflow: hidden; background: linear-gradient(115deg, #f6ead6, #fffaf1); }
.numerology-note::after { content: ""; position: absolute; top: 50%; right: -8rem; width: 24rem; aspect-ratio: 1; border: 1px solid rgb(173 124 46 / .18); border-radius: 50%; transform: translateY(-50%); box-shadow: 0 0 0 4rem rgb(173 124 46 / .035), 0 0 0 8rem rgb(173 124 46 / .025); }
.numerology-note__inner { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, .8fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.numerology-note__symbol { width: clamp(5rem, 10vw, 8rem); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgb(173 124 46 / .42); border-radius: 50%; color: var(--tem-color-accent); font: 400 clamp(3rem, 7vw, 5rem)/1 var(--tem-font-display); background: rgb(255 255 255 / .45); }
.numerology-note__inner .tem-heading { margin-bottom: 0; }
.numerology-note__inner > p { padding: var(--tem-space-7); border-left: 3px solid var(--tem-color-accent); background: rgb(255 255 255 / .66); box-shadow: var(--tem-shadow-sm); }
@media (max-width: 840px) {
  .numerology-hero__grid, .numerology-intro__grid { grid-template-columns: 1fr; }
  .numerology-note__inner { grid-template-columns: auto 1fr; }
  .numerology-note__inner > p { grid-column: 1 / -1; }
  .numerology-hero__visual { width: min(92%, 32rem); margin-inline: auto; }
  .numerology-theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .numerology-actions { align-items: stretch; flex-direction: column; }
  .numerology-actions a { width: 100%; }
  .numerology-path-grid, .numerology-theme-grid { grid-template-columns: 1fr; }
  .numerology-path-card { min-height: auto; }
  .numerology-path-card .tem-button { width: 100%; }
  .numerology-theme-grid article { min-height: auto; }
  .numerology-note__inner { grid-template-columns: 1fr; }
  .numerology-note__symbol { width: 5rem; }
  .numerology-note__inner > p { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { .numerology-stars { display: none; } .numerology-theme-grid article { transition: none; } .numerology-theme-grid article:hover { transform: none; } }
