:root {
  --bg: #07081a;
  --bg-2: #0d0f26;
  --card: rgba(22, 24, 52, 0.72);
  --card-border: rgba(214, 177, 108, 0.16);
  --text: #f3eee4;
  --muted: #a8a6be;
  --gold: #d9b26a;
  --gold-2: #f1d595;
  --gold-dark: #a57e3c;
  --violet: #7c6cf2;
  --line: rgba(255, 255, 255, 0.08);
  --fire: #ef8a5b;
  --earth: #9fc27a;
  --air: #8fc6ea;
  --water: #8f8af0;
  --radius: 22px;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(ellipse 120% 70% at 50% -10%, #1b1840 0%, var(--bg) 60%) fixed, var(--bg);
  color: var(--text);
  font: 16px/1.6 var(--sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
#stars { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: 1.12; margin: 0; letter-spacing: -0.01em; }
h1 { font-size: clamp(44px, 7vw, 84px); }
h2 { font-size: clamp(34px, 4.6vw, 54px); }
h3 { font-size: 26px; }
p { margin: 0; }
.accent { font-style: italic; color: var(--gold-2); }
.muted { color: var(--muted); }
.tiny { font-size: 13px; }
.eyebrow { font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: 14px; }

.container { width: min(1160px, 100% - 32px); margin-inline: auto; }
.container--narrow { width: min(800px, 100% - 32px); }
.section { padding: 96px 0; position: relative; }
.section__head { text-align: center; margin-bottom: 48px; display: grid; gap: 14px; }
.section__head .eyebrow { margin-bottom: 0; }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 16px 30px; border-radius: 999px; border: 1px solid transparent;
  font: 600 16px/1 var(--sans); text-decoration: none; cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s;
}
.btn:hover { transform: translateY(-1px); }
.btn:focus-visible, input:focus-visible, summary:focus-visible, .nav__burger:focus-visible { outline: 2px solid var(--gold-2); outline-offset: 3px; }
.btn--gold { background: linear-gradient(180deg, var(--gold-2), var(--gold) 55%, var(--gold-dark)); color: #1a1406; box-shadow: 0 10px 30px -10px rgba(217, 178, 106, .6); }
.btn--gold:hover { box-shadow: 0 14px 38px -10px rgba(217, 178, 106, .8); }
.btn--ghost { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.18); color: var(--text); }
.btn--ghost:hover { border-color: var(--gold); }
.btn--small { padding: 11px 20px; font-size: 14px; }
.btn--wide { width: 100%; }
.btn[disabled] { opacity: .6; cursor: progress; transform: none; }

/* Nav */
.nav { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); background: rgba(7, 8, 26, .6); border-bottom: 1px solid var(--line); }
.nav__inner { display: flex; align-items: center; gap: 28px; height: 68px; }
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--gold); font: 600 22px var(--serif); }
.logo span { color: var(--text); }
.logo em { color: var(--gold-2); }
.nav__links { display: flex; gap: 20px; margin-left: auto; align-items: center; }
.nav__links a { text-decoration: none; color: var(--muted); font-size: 14.5px; transition: color .2s; white-space: nowrap; }
.nav__mobile-only { display: none; }
.nav__links a:hover { color: var(--text); }
.nav__links a.is-active, .dd.has-active > .dd__btn { color: var(--gold-2); }
.dd { position: relative; }
.dd__btn { background: none; border: 0; padding: 0; color: var(--muted); font: 400 15px var(--sans); cursor: pointer; display: inline-flex; gap: 6px; align-items: center; transition: color .2s; }
.dd__btn span { font-size: 10px; transition: transform .2s; }
.dd__btn:hover, .dd.open > .dd__btn { color: var(--text); }
.dd.open > .dd__btn span { transform: rotate(180deg); }
.dd__menu { position: absolute; top: calc(100% + 14px); left: -16px; min-width: 230px; padding: 8px; display: none; flex-direction: column;
  background: #12143a; border: 1px solid var(--card-border); border-radius: 16px; box-shadow: 0 24px 50px rgba(0,0,0,.5); }
.dd.open .dd__menu { display: flex; }
.dd__menu--wide { min-width: 470px; display: none; }
.dd.open .dd__menu--wide { display: grid; grid-template-columns: 1fr 1fr; }
.badge { font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .04em; padding: 2px 7px; border-radius: 99px; margin-left: 6px;
  background: rgba(217,178,106,.18); color: var(--gold-2); vertical-align: 2px; }
.badge--new { background: rgba(124,108,242,.22); color: #c3bbff; }
.badge--chat { background: rgba(143,198,234,.16); color: var(--air); }
.nav__links .dd__menu a { padding: 10px 14px; border-radius: 10px; color: var(--text); }
.nav__links .dd__menu a:hover { background: rgba(217,178,106,.12); }
.nav__links .dd__menu a.is-active { color: var(--gold-2); }
.nav__burger { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: transparent; cursor: pointer; padding: 0; }
.nav__burger span { display: block; width: 16px; height: 1.5px; background: var(--text); margin: 4px auto; transition: transform .2s; }

/* Hero */
.hero { position: relative; padding: 110px 0 90px; text-align: center; overflow: hidden; }
.hero__inner { position: relative; z-index: 1; display: grid; justify-items: center; gap: 26px; }
.hero .eyebrow { margin-bottom: 0; }
.lead { max-width: 660px; font-size: 18px; color: #d4d0e2; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.hero__note { font-size: 13px; color: var(--muted); letter-spacing: .04em; }
.hero__wheel {
  position: absolute; left: 50%; top: 50%; width: 900px; height: 900px; transform: translate(-50%, -50%);
  border-radius: 50%; opacity: .14;
  background:
    repeating-conic-gradient(from 0deg, rgba(241,213,149,.9) 0 .25deg, transparent .25deg 30deg),
    radial-gradient(circle, transparent 0 58%, rgba(241,213,149,.7) 58% 58.2%, transparent 58.2% 70%, rgba(241,213,149,.7) 70% 70.2%, transparent 70.2%);
  -webkit-mask: radial-gradient(circle, #000 0 70.2%, transparent 70.4%);
  mask: radial-gradient(circle, #000 0 70.2%, transparent 70.4%);
  animation: spin 240s linear infinite;
}
@keyframes spin { to { transform: translate(-50%, -50%) rotate(360deg); } }

/* Cards */
.card { background: var(--card); border: 1px solid var(--card-border); border-radius: var(--radius); padding: 32px; backdrop-filter: blur(8px); }
.card__title { font-size: 24px; margin-bottom: 18px; }

/* Calculator */
.calc { max-width: 720px; margin: 0 auto; padding: 44px; box-shadow: 0 30px 80px -40px rgba(124, 108, 242, .5); }
.calc__head { text-align: center; display: grid; gap: 10px; margin-bottom: 30px; }
.calc__head .eyebrow { margin-bottom: 0; }
.calc__form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 8px; }
.field > span, .field > label { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.field--city, .check, .calc__form .btn, .calc__form .tiny, .form-error { grid-column: 1 / -1; }
.calc__form .tiny { text-align: center; }
input[type=date], input[type=time], input[type=text] {
  width: 100%; height: 54px; padding: 0 18px; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14); background: rgba(7, 8, 26, .7);
  color: var(--text); font: 500 16px var(--sans); color-scheme: dark;
  transition: border-color .2s;
}
input:hover { border-color: rgba(255,255,255,.28); }
input:focus { border-color: var(--gold); outline: none; }
input:disabled { opacity: .45; }
.check { display: flex; align-items: center; gap: 10px; cursor: pointer; color: var(--muted); font-size: 15px; margin-top: -4px; }
.check input { width: 18px; height: 18px; accent-color: var(--gold); }
.field--city { position: relative; }
.city-list {
  position: absolute; left: 0; right: 0; top: 100%; margin: 6px 0 0; padding: 6px; list-style: none; z-index: 5;
  background: #14163a; border: 1px solid var(--card-border); border-radius: 14px; max-height: 280px; overflow: auto;
  box-shadow: 0 20px 40px rgba(0,0,0,.5);
}
.city-list li { padding: 11px 14px; border-radius: 10px; cursor: pointer; display: flex; justify-content: space-between; gap: 12px; }
.city-list li small { color: var(--muted); text-align: right; }
.city-list li[aria-selected=true], .city-list li:hover { background: rgba(217, 178, 106, .14); }
.city-list .empty { cursor: default; color: var(--muted); }
.form-error { color: #ff9f9f; font-size: 14px; }

/* Result */
.result { padding-top: 40px; }
.result__head { text-align: center; display: grid; gap: 10px; margin-bottom: 40px; }
.result__head .eyebrow { margin-bottom: 0; }
.result__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 24px; margin-bottom: 24px; }
.result__grid--even { grid-template-columns: 1fr 1fr; }
.wheel-card { display: grid; place-items: center; padding: 20px; }
#wheel { width: 100%; max-width: 560px; }
#wheel svg { width: 100%; height: auto; display: block; }
.planets { width: 100%; border-collapse: collapse; font-size: 15px; }
.planets th { text-align: left; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; padding: 0 8px 10px; }
.planets td { padding: 9px 8px; border-top: 1px solid var(--line); }
.planets .g { color: var(--gold-2); font-size: 18px; width: 26px; display: inline-block; text-align: center; margin-right: 6px; font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', sans-serif; }
.planets .r { color: #ff9f9f; font-size: 12px; margin-left: 4px; }
.planets tr.angle td { color: var(--gold-2); }
#houseSystem { margin-top: 14px; }
.sub { text-align: center; font-size: 36px; margin: 56px 0 24px; }
.triad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 24px; }
.triad__item { display: grid; gap: 12px; align-content: start; }
.triad__label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.triad__item .triad__sign { font: 500 34px var(--serif); color: var(--text); display: flex; align-items: center; gap: 12px; }
.triad__sign span { font: 30px 'Segoe UI Symbol', 'Noto Sans Symbols', sans-serif; color: var(--gold-2); }
.triad__item p { color: #d4d0e2; font-size: 15px; }
.triad__item.is-unknown .triad__sign { color: var(--muted); }

.bars { display: grid; gap: 14px; margin-bottom: 18px; }
.bar { display: grid; grid-template-columns: 120px 1fr 36px; align-items: center; gap: 12px; font-size: 14px; }
.bar__track { height: 8px; border-radius: 99px; background: rgba(255,255,255,.07); overflow: hidden; }
.bar__fill { height: 100%; border-radius: inherit; width: 0; transition: width .9s cubic-bezier(.2,.8,.2,1); }
.bar__val { text-align: right; color: var(--muted); font-variant-numeric: tabular-nums; }
.balance-text { color: #d4d0e2; font-size: 15px; }
.balance-text b { color: var(--gold-2); font-weight: 600; }

.aspects-card { margin-bottom: 24px; }
.aspects { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.aspects li { padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.03); border: 1px solid var(--line); font-size: 14px; display: grid; gap: 2px; }
.aspects li small { color: var(--muted); }
.aspects .harm { border-left: 3px solid #8fc6ea; }
.aspects .tense { border-left: 3px solid #ef8a5b; }
.aspects .conj { border-left: 3px solid var(--gold); }

.locked { position: relative; overflow: hidden; min-height: 320px; display: grid; }
.locked__blur { filter: blur(6px); opacity: .5; user-select: none; display: grid; gap: 16px; font-size: 17px; }
.locked__cta { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; text-align: center; gap: 14px; padding: 24px; background: radial-gradient(ellipse at center, rgba(13,15,38,.92) 30%, rgba(13,15,38,.55)); }
.locked__cta .eyebrow { margin-bottom: 0; }
.locked__cta h3 { font-size: 34px; }

/* Chapters */
.chapters { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.chapter { background: var(--card); border: 1px solid var(--card-border); border-radius: var(--radius); padding: 28px; display: grid; gap: 10px; align-content: start; transition: transform .25s, border-color .25s; }
.chapter:hover { transform: translateY(-3px); border-color: rgba(217,178,106,.4); }
.chapter__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: rgba(217, 178, 106, .1); color: var(--gold-2); font-size: 22px; font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', sans-serif; }
.chapter p { color: var(--muted); font-size: 15px; }

/* Steps */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.steps li { padding: 28px; border-radius: var(--radius); border: 1px solid var(--line); background: rgba(255,255,255,.02); display: grid; gap: 10px; align-content: start; }
.steps__n { font: italic 500 40px var(--serif); color: var(--gold); }
.steps h3 { font-size: 23px; }
.steps p { color: var(--muted); font-size: 15px; }

/* Pricing */
.plans { display: grid; grid-template-columns: 1.2fr 1fr; gap: 22px; max-width: 900px; margin: 0 auto; align-items: stretch; }
.plan { background: var(--card); border: 1px solid var(--card-border); border-radius: var(--radius); padding: 36px; display: grid; gap: 14px; align-content: start; }
.plan--main { border-color: rgba(217, 178, 106, .5); box-shadow: 0 30px 80px -40px rgba(217, 178, 106, .45); }
.plan__tag { justify-self: start; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; padding: 6px 12px; border-radius: 99px; background: rgba(217,178,106,.16); color: var(--gold-2); }
.plan__tag--muted { background: rgba(255,255,255,.07); color: var(--muted); }
.plan__list { list-style: none; padding: 0; margin: 6px 0; display: grid; gap: 10px; }
.plan__list li { padding-left: 28px; position: relative; font-size: 15px; }
.plan__list li::before { content: '✓'; position: absolute; left: 0; color: var(--gold); font-weight: 700; }
.plan__price { font: 600 46px var(--serif); color: var(--gold-2); margin-top: auto; font-variant-numeric: lining-nums; }
.plan__price span { font: 500 14px var(--sans); color: var(--muted); }

/* FAQ */
.faq { display: grid; gap: 12px; }
.faq details { border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.02); transition: border-color .2s; }
.faq details[open] { border-color: var(--card-border); background: var(--card); }
.faq summary { cursor: pointer; padding: 20px 24px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; color: var(--gold); font-size: 22px; line-height: 1; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 24px 22px; color: var(--muted); }

/* Final */
.final__inner { text-align: center; display: grid; gap: 32px; justify-items: center; padding: 70px 24px; border-radius: 32px; border: 1px solid var(--card-border); background: radial-gradient(ellipse at top, rgba(124,108,242,.22), transparent 70%), var(--card); }

/* Footer */
.footer { border-top: 1px solid var(--line); padding: 56px 0 40px; margin-top: 40px; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.footer__grid > div { display: grid; gap: 10px; align-content: start; }
.footer__grid a:not(.logo) { color: var(--muted); text-decoration: none; font-size: 15px; }
.footer__grid a:not(.logo):hover { color: var(--text); }
.footer__brand p { max-width: 300px; }
.footer__h--gap { margin-top: 18px; }
.footer__h { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.footer__bottom { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); margin-top: 40px; padding-top: 24px; }

/* Modal */
.modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 16px; background: rgba(4, 5, 16, .75); backdrop-filter: blur(6px); }
.modal[hidden] { display: none; }
.modal__box { position: relative; max-width: 440px; width: 100%; display: grid; gap: 14px; text-align: center; background: #12143a; }
.modal__box .eyebrow { margin-bottom: 0; }
.modal__close { position: absolute; top: 12px; right: 14px; background: none; border: 0; color: var(--muted); font-size: 28px; cursor: pointer; line-height: 1; }

/* Wheel (SVG) */
.w-ring { fill: none; stroke: rgba(241, 213, 149, .35); stroke-width: 1; }
.w-band { fill: rgba(217, 178, 106, .05); }
.w-sector { stroke: rgba(241, 213, 149, .3); stroke-width: 1; }
.w-sign { font-size: 20px; text-anchor: middle; dominant-baseline: central; font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', sans-serif; }
.w-sign.fire { fill: var(--fire); } .w-sign.earth { fill: var(--earth); } .w-sign.air { fill: var(--air); } .w-sign.water { fill: var(--water); }
.w-tick { stroke: rgba(241, 213, 149, .25); stroke-width: 1; }
.w-cusp { stroke: rgba(255, 255, 255, .14); stroke-width: 1; }
.w-axis { stroke: var(--gold); stroke-width: 1.6; }
.w-axis-label { fill: var(--gold-2); font: 700 12px var(--sans); text-anchor: middle; dominant-baseline: central; }
.w-house { fill: var(--muted); font: 500 11px var(--sans); text-anchor: middle; dominant-baseline: central; }
.w-planet { fill: var(--text); font-size: 21px; text-anchor: middle; dominant-baseline: central; font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', sans-serif; }
.w-pdeg { fill: var(--muted); font: 500 10px var(--sans); text-anchor: middle; dominant-baseline: central; }
.w-pline { stroke: rgba(241, 213, 149, .35); stroke-width: 1; }
.w-dot { fill: var(--gold-2); }
.w-asp { stroke-width: 1.2; fill: none; }
.w-asp.harm { stroke: rgba(143, 198, 234, .65); }
.w-asp.tense { stroke: rgba(239, 138, 91, .65); }
.w-center { fill: rgba(7, 8, 26, .6); stroke: rgba(241, 213, 149, .3); }

/* Inner pages */
.page-hero { padding: 80px 0 30px; text-align: center; }
.page-hero .container { display: grid; gap: 18px; justify-items: center; }
.page-hero .eyebrow { margin-bottom: 0; }
.page-hero h1 { font-size: clamp(40px, 6vw, 68px); }
.page-hero .lead { max-width: 680px; }
.section--tight { padding: 40px 0 80px; }
.form-card { max-width: 720px; margin: 0 auto; padding: 40px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid .full { grid-column: 1 / -1; }
.tabs { display: inline-flex; padding: 5px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid var(--line); gap: 4px; }
.tabs button { border: 0; background: none; color: var(--muted); font: 600 14px var(--sans); padding: 10px 20px; border-radius: 999px; cursor: pointer; }
.tabs button[aria-selected=true] { background: rgba(217,178,106,.18); color: var(--gold-2); }
.prose { max-width: 760px; margin: 0 auto; display: grid; gap: 18px; font-size: 17px; color: #d4d0e2; }
.prose h2 { font-size: 36px; color: var(--text); margin-top: 22px; }
.prose ul { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.pill { display: inline-block; padding: 5px 12px; border-radius: 99px; font-size: 12px; font-weight: 600; background: rgba(255,255,255,.06); color: var(--muted); }
.stars-rate { color: var(--gold-2); letter-spacing: 2px; }
.stars-rate .off { color: rgba(255,255,255,.15); }
.sym { font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', sans-serif; }

/* Home */
.section--flush { padding: 0; }
.ari { display: flex; gap: 28px; align-items: center; padding: 34px 40px; background: radial-gradient(ellipse at left, rgba(124,108,242,.22), transparent 60%), var(--card); }
.ari__avatar { flex: none; width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; font-size: 40px; color: var(--gold-2);
  background: radial-gradient(circle at 35% 30%, #3b3480, #12143a 70%); border: 1px solid var(--card-border); box-shadow: 0 0 40px rgba(124,108,242,.35); }
.ari__body { display: grid; gap: 14px; }
.ari__body .eyebrow { margin-bottom: 0; }
.ari__body h2 { font-size: clamp(28px, 3.4vw, 40px); }
.ari__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ari__chips a { padding: 10px 16px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid var(--line); text-decoration: none; font-size: 14px; transition: border-color .2s; }
.ari__chips a:hover { border-color: var(--gold); }
.ari__chips .ari__own { color: var(--gold-2); border-color: var(--card-border); }
.catalog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cat-card { display: grid; gap: 10px; align-content: start; padding: 28px; border-radius: var(--radius); text-decoration: none; position: relative;
  background: var(--card); border: 1px solid var(--card-border); transition: transform .25s, border-color .25s; }
.cat-card:hover { transform: translateY(-3px); border-color: rgba(217,178,106,.5); }
.cat-card--main { background: radial-gradient(ellipse at top right, rgba(217,178,106,.16), transparent 60%), var(--card); border-color: rgba(217,178,106,.4); }
.cat-card__tag { position: absolute; top: 18px; right: 18px; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #1a1406; background: var(--gold); padding: 4px 10px; border-radius: 99px; }
.cat-card__icon { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-size: 24px; color: var(--gold-2); background: rgba(217,178,106,.1); font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', sans-serif; }
.cat-card h3 { font-size: 28px; }
.cat-card p { color: #d4d0e2; font-size: 15px; }
.cat-card .cat-card__free { font-size: 13px; color: var(--earth); }
.cat-card__go { color: var(--gold-2); font-weight: 600; font-size: 14px; margin-top: 4px; }
.tools { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 22px; }
.tools a { display: flex; gap: 12px; align-items: center; padding: 16px 18px; border-radius: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.02); text-decoration: none; font-weight: 500; font-size: 15px; transition: border-color .2s; }
.tools a:hover { border-color: rgba(217,178,106,.45); }
.tools span { color: var(--gold-2); font-size: 18px; font-family: 'Segoe UI Symbol', 'Noto Sans Symbols', sans-serif; }
.promo { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 30px 40px; border-radius: var(--radius); text-decoration: none;
  background: linear-gradient(110deg, rgba(217,178,106,.2), rgba(124,108,242,.2)); border: 1px solid rgba(217,178,106,.4); margin-top: 24px; }
.promo .eyebrow { margin-bottom: 6px; }
.promo h3 { font-size: clamp(24px, 3vw, 34px); }
.steps--3 { grid-template-columns: repeat(3, 1fr); }
.why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.why__item { padding: 28px; border-radius: var(--radius); border: 1px solid var(--line); background: rgba(255,255,255,.02); display: grid; gap: 10px; align-content: start; }
.why__item span { font-size: 28px; }
.why__item h3 { font-size: 24px; }
.why__item p { color: var(--muted); font-size: 15px; }
.pains { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: p; }
.pains li { counter-increment: p; padding: 18px 22px 18px 64px; border-radius: 16px; background: var(--card); border: 1px solid var(--line); position: relative; font-size: 16px; }
.pains li::before { content: '0' counter(p); position: absolute; left: 22px; top: 16px; font: italic 600 22px var(--serif); color: var(--gold); }
.pains__cta { text-align: center; margin-top: 24px; color: var(--muted); }
.pains__cta a { color: var(--gold-2); font-weight: 600; text-decoration: none; }

/* Auth & account */
.auth { max-width: 480px; margin: 20px auto; display: grid; gap: 18px; justify-items: center; text-align: center; padding: 40px; }
.auth .eyebrow { margin-bottom: 0; }
.auth__title { font-size: 46px; }
.auth__form { display: grid; gap: 16px; width: 100%; text-align: left; }
.auth__form input[type=email], .auth__form input[type=password] { width: 100%; height: 54px; padding: 0 18px; border-radius: 14px; border: 1px solid rgba(255,255,255,.14); background: rgba(7,8,26,.7); color: var(--text); font: 500 16px var(--sans); }
.auth__form input:focus { border-color: var(--gold); outline: none; }
.auth__form .check { margin-top: 0; font-size: 13px; align-items: flex-start; }
.auth__form .check a { color: var(--gold-2); }
.acc-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; align-items: start; }
.saved { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.saved li { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid var(--line); }
.saved__name { font-weight: 600; }
.saved__actions { display: flex; gap: 8px; align-items: center; flex: none; }
.saved__del { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); background: none; color: var(--muted); font-size: 20px; cursor: pointer; }
.saved__del:hover { color: #ff9f9f; border-color: #ff9f9f; }
.acc-links { display: grid; gap: 8px; margin-top: 16px; }
.acc-links a { color: var(--gold-2); text-decoration: none; }
.save-row { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 6px; }
.save-row a { color: var(--gold-2); }

/* Signs */
.fire { color: var(--fire); } .earth { color: var(--earth); } .air { color: var(--air); } .water { color: var(--water); }
.sign-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-bottom: 48px; }
.sign-card { display: grid; justify-items: center; gap: 4px; padding: 22px 10px; text-decoration: none; text-align: center;
  background: var(--card); border: 1px solid var(--card-border); border-radius: 18px; transition: transform .2s, border-color .2s; cursor: pointer; font: inherit; color: inherit; }
.sign-card:hover { transform: translateY(-3px); border-color: rgba(217,178,106,.45); }
.sign-card[aria-pressed=true] { border-color: var(--gold); background: rgba(217,178,106,.12); }
.sign-card__glyph { font-size: 34px; line-height: 1.2; }
.sign-card__name { font: 600 22px var(--serif); }
.sign-card__dates { font-size: 12px; color: var(--muted); }
.sign-detail { display: grid; gap: 20px; margin-bottom: 22px; scroll-margin-top: 90px; }
.sign-detail__head { display: flex; gap: 20px; align-items: center; }
.sign-detail__glyph { font-size: 52px; width: 84px; height: 84px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.04); border: 1px solid var(--card-border); flex: none; }
.sign-detail h2 { font-size: 42px; }
.sign-detail h3 { font-size: 22px; margin-bottom: 8px; }
.sign-detail__meta { display: flex; flex-wrap: wrap; gap: 8px; }
.sign-detail__about { font-size: 17px; color: #d4d0e2; }
.sign-detail__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.sign-detail__cols p { color: #d4d0e2; font-size: 15px; }
.sign-detail__best a { color: var(--gold-2); text-decoration: none; }
.sign-detail__best a:hover { text-decoration: underline; }
.sign-detail__links { display: flex; flex-wrap: wrap; gap: 10px; }
.ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ticks li { padding-left: 24px; position: relative; font-size: 15px; }
.ticks li::before { content: '✦'; position: absolute; left: 0; color: var(--gold); font-size: 12px; top: 3px; }
.ticks--muted li::before { content: '○'; color: var(--muted); }
.cta-band { margin-top: 56px; }

/* Horoscope */
.sky { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding: 24px 28px; }
.sky__item { display: flex; gap: 14px; align-items: center; font-size: 15px; }
.sky__icon { font-size: 30px; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.04); flex: none; color: var(--gold-2); }
.sky__label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.sky__warn { grid-column: 1 / -1; font-size: 14px; color: #ffc9a8; padding: 10px 14px; border-radius: 12px; background: rgba(239,138,91,.1); }
.horo { display: grid; gap: 24px; scroll-margin-top: 90px; margin-top: 8px; }
.horo__head { display: flex; gap: 20px; align-items: center; }
.horo__head .eyebrow { margin-bottom: 6px; }
.horo__head h2 { font-size: 44px; }
.horo__rates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.horo__rates > div { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid var(--line); font-size: 14px; }
.horo__body { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.horo__body h3 { font-size: 24px; margin-bottom: 8px; }
.horo__body p { color: #d4d0e2; font-size: 15px; }
.horo__body .tiny { margin-top: 8px; color: var(--muted); }
.horo__tip { padding: 16px 20px; border-radius: 14px; background: rgba(217,178,106,.08); border: 1px solid var(--card-border); }
.horo__tip span { color: var(--gold-2); font-weight: 600; }

/* Moon calendar */
.moon-layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 24px; align-items: start; }
.cal { padding: 28px; }
.cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.cal__head h2 { font-size: 34px; }
.cal__nav { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: none; color: var(--text); font-size: 22px; cursor: pointer; }
.cal__nav:hover { border-color: var(--gold); }
.cal__city { margin-bottom: 20px; }
.cal__week, .cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.cal__week span { text-align: center; font-size: 12px; color: var(--muted); letter-spacing: .1em; text-transform: uppercase; padding-bottom: 6px; }
.cal__cell { aspect-ratio: 1 / 1.05; border-radius: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.02); color: var(--text); cursor: pointer;
  display: grid; grid-template-rows: auto 1fr auto; justify-items: center; align-items: center; padding: 6px 2px; font: inherit; transition: border-color .2s, background .2s; }
.cal__cell:hover { border-color: rgba(217,178,106,.4); }
.cal__cell[aria-pressed=true] { border-color: var(--gold); background: rgba(217,178,106,.12); }
.cal__cell.is-today .cal__num { background: var(--gold); color: #1a1406; border-radius: 99px; padding: 0 7px; }
.cal__cell.is-quarter { background: rgba(124,108,242,.1); }
.cal__num { font-size: 13px; font-weight: 600; }
.cal__phase { line-height: 1; }
.cal__meta { font-size: 11px; color: var(--muted); white-space: nowrap; }
.moon-ico { display: block; }
.cal__legend span { display: inline-flex; gap: 6px; align-items: center; }
.cal__legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 18px; font-size: 13px; color: var(--muted); }
.day { position: sticky; top: 90px; display: grid; gap: 18px; }
.day .eyebrow { margin-bottom: -8px; }
.day__date { font-size: 30px; }
.day__phase { display: flex; gap: 16px; align-items: center; padding: 16px; border-radius: 16px; background: rgba(255,255,255,.03); border: 1px solid var(--line); }
.day__icon { font-size: 44px; line-height: 1; }
.day__pname { font-weight: 600; }
.day__label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: 4px; }
.day__block ul { margin: 0; padding-left: 18px; }
.day__block p, .day__block li { font-size: 15px; color: #d4d0e2; }
.day__note { font-size: 14px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 14px; }

/* Compatibility */
.pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; }
.pair__person { border: 1px solid var(--card-border); margin: 0; display: grid; gap: 16px; min-width: 0; }
.pair__person legend { padding: 0 8px; margin-bottom: 0; }
.pair__plus { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; font-size: 22px; color: var(--gold-2); border: 1px solid var(--card-border); background: var(--card); }
.pair__submit { grid-column: 1 / -1; display: grid; justify-items: center; gap: 12px; text-align: center; }
.compat { display: grid; gap: 24px; margin-top: 56px; scroll-margin-top: 90px; }
.compat__top { display: grid; grid-template-columns: 220px 1fr; gap: 32px; align-items: center; }
.compat__summary { display: grid; gap: 12px; }
.compat__summary .eyebrow { margin-bottom: 0; }
.ring svg { width: 100%; display: block; }
.ring__arc { transition: stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1); }
.ring__val { fill: var(--gold-2); font: 600 44px var(--serif); font-variant-numeric: lining-nums; }
.ring__lbl { fill: var(--muted); font: 600 10px var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.compat__cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.cat { display: grid; gap: 14px; align-content: start; padding: 26px; }
.cat__head { display: flex; justify-content: space-between; align-items: baseline; }
.cat__head h3 { font-size: 24px; }
.cat__val { font: 600 26px var(--serif); color: var(--gold-2); font-variant-numeric: lining-nums; }
.cat p { font-size: 14px; color: #d4d0e2; }
.syn { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.syn li { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid var(--line); display: grid; gap: 4px; font-size: 14px; }
.syn li.harm { border-left: 3px solid var(--air); }
.syn li.tense { border-left: 3px solid var(--fire); }
.syn__aspect { font-weight: 600; }
.syn .sym { color: var(--gold-2); }

/* Matrix */
.matrix-form { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: end; max-width: 620px; }
.matrix-form .form-error { grid-column: 1 / -1; }
.matrix { display: grid; gap: 24px; margin-top: 48px; scroll-margin-top: 90px; }
.matrix__top { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.matrix__chart { padding: 16px; }
.matrix__chart svg { width: 100%; max-width: 460px; display: block; margin: 0 auto; }
.m-line { stroke-width: 1.4; }
.m-line--main { stroke: rgba(241,213,149,.55); }
.m-line--gen { stroke: rgba(124,108,242,.55); }
.m-line--axis { stroke: rgba(255,255,255,.1); stroke-dasharray: 4 5; }
.m-node circle { fill: #12143a; stroke-width: 1.6; }
.m-node--main circle { stroke: var(--gold); }
.m-node--gen circle { stroke: var(--violet); }
.m-node--center circle { stroke: var(--gold-2); fill: rgba(217,178,106,.18); }
.m-node text { fill: var(--text); font: 600 17px var(--sans); text-anchor: middle; dominant-baseline: central; }
.m-node--center text { fill: var(--gold-2); font-size: 22px; }
.m-label { fill: var(--muted); font: 600 10px var(--sans); text-anchor: middle; letter-spacing: .1em; text-transform: uppercase; }
.matrix__purpose { display: grid; gap: 18px; }
.matrix__purpose .card__title { margin-bottom: 0; }
#purpose { display: grid; gap: 20px; }
.purpose { display: flex; gap: 16px; align-items: flex-start; }
.purpose p:last-child { font-size: 14px; color: #d4d0e2; margin-top: 4px; }
.pos__num { font-variant-numeric: lining-nums; flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font: 600 22px var(--serif); color: var(--gold-2); border: 1px solid var(--card-border); background: rgba(217,178,106,.08); }
.pos__title { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.pos__title a, .pos h3 a { color: inherit; text-decoration: none; }
.pos__title a:hover, .pos h3 a:hover { text-decoration: underline; }
.positions { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.pos { display: grid; gap: 10px; align-content: start; padding: 26px; }
.pos__head { display: flex; gap: 14px; align-items: center; }
.pos h3 { font-size: 26px; }
.pos p { font-size: 14px; color: #d4d0e2; }
.pos__keys { font-style: italic; color: var(--gold-2) !important; }
.plus { color: var(--earth); font-weight: 600; }
.minus { color: var(--fire); font-weight: 600; }

/* Arcana index, pricing, contacts */
.arc-index { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 32px; }
.arc-index a { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--card-border); text-decoration: none; color: var(--gold-2); font-weight: 600; font-size: 14px; }
.arc-index a:hover { background: rgba(217,178,106,.14); }
.positions .pos { scroll-margin-top: 90px; }
.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; align-items: stretch; }
.price-grid .plan { padding: 28px; }
.price-grid .plan__price { font-size: 40px; }
.day-pass { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 24px; }
.day-pass .eyebrow { margin-bottom: 6px; }
.day-pass h3 { font-size: 30px; margin-bottom: 6px; }
.contacts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 24px; }
.contact { display: grid; gap: 8px; text-decoration: none; transition: border-color .2s, transform .2s; }
a.contact:hover { border-color: rgba(217,178,106,.45); transform: translateY(-2px); }
.contact__icon { font-size: 26px; color: var(--gold-2); }
.contact__val { font: 600 22px var(--serif); }

/* ===== New sections ===== */
.form-card > .eyebrow { margin-bottom: 18px; text-align: center; }
.select, textarea { width: 100%; padding: 14px 18px; border-radius: 14px; border: 1px solid rgba(255,255,255,.14); background: rgba(7,8,26,.7); color: var(--text); font: 500 16px var(--sans); color-scheme: dark; }
.select { height: 54px; }
textarea { resize: vertical; min-height: 64px; line-height: 1.5; }
.select:focus, textarea:focus { border-color: var(--gold); outline: none; }
.center { text-align: center; }
.note { font-size: 14px; color: #ffd9a8; padding: 12px 16px; border-radius: 12px; background: rgba(239,138,91,.1); }
.product-res, .dream-res { display: grid; gap: 22px; margin-top: 40px; scroll-margin-top: 90px; }
.res-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.res-card { display: grid; gap: 10px; align-content: start; }
.res-card h3 { font-size: 26px; }
.res-card p:last-child { color: #d4d0e2; font-size: 15px; }
.res-card__icon { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; font-size: 20px; font-weight: 700; color: var(--gold-2); background: rgba(217,178,106,.1); border: 1px solid var(--card-border); }
.moon-res { margin-top: 32px; display: grid; gap: 14px; scroll-margin-top: 90px; }
.moon-res .eyebrow { margin-bottom: 0; }
.moon-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
.moon-item { display: grid; gap: 12px; align-content: start; }
.moon-item h3, .moon-res h3 { font-size: 28px; display: flex; gap: 10px; align-items: center; }
.moon-item > p, .moon-res > p { color: #d4d0e2; font-size: 15px; }
.moon-dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; font-size: 14px; }
.moon-dl dt { color: var(--gold); font-weight: 600; }
.moon-dl dd { margin: 0; color: #d4d0e2; }
.solar-head { display: grid; gap: 10px; text-align: center; justify-items: center; }
.solar-head .eyebrow { margin-bottom: 0; }

.forecast { display: grid; gap: 24px; }
.forecast .cal__head h2 { font-size: 32px; }
.tone { padding: 14px 18px; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid var(--line); margin-bottom: 18px; font-size: 15px; }
.tone b { color: var(--gold-2); }
.events { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ev { display: flex; gap: 16px; padding: 14px 18px; border-radius: 14px; background: rgba(255,255,255,.025); border: 1px solid var(--line); border-left-width: 3px; }
.ev--harm { border-left-color: var(--air); }
.ev--tense { border-left-color: var(--fire); }
.ev--conj, .ev--neutral { border-left-color: var(--gold); }
.ev__icon { flex: none; min-width: 52px; font-size: 18px; color: var(--gold-2); display: grid; place-items: center; letter-spacing: 1px; }
.ev__date { font-size: 12px; color: var(--muted); }
.ev__title { font-weight: 600; }
.ev__text { font-size: 14px; color: #d4d0e2; }
.locked-mini { margin-top: 16px; padding: 18px; border-radius: 14px; border: 1px dashed var(--card-border); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.locked-mini[hidden] { display: none; }

.pair-charts { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 18px; align-items: center; }
.pair-chart { padding: 16px; text-align: center; display: grid; gap: 6px; }
.pair-chart svg { width: 100%; display: block; }
.pair-chart--small { opacity: .85; }
.year-num { display: grid; gap: 12px; justify-items: center; text-align: center; align-content: center; }
.year-num__n { font: 600 110px/1 var(--serif); color: var(--gold-2); font-variant-numeric: lining-nums; }
.year-num p { color: #d4d0e2; }

.dream-sum { display: grid; gap: 10px; }
.dream-sum .eyebrow { margin-bottom: 0; }
.dream-index { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.dream-index button { padding: 8px 14px; border-radius: 99px; border: 1px solid var(--line); background: rgba(255,255,255,.03); color: var(--text); font: 500 14px var(--sans); cursor: pointer; }
.dream-index button:hover { border-color: var(--gold); }

.chat-wrap { display: grid; gap: 18px; max-width: 820px; margin: 0 auto; }
.page-hero .ari__avatar { width: 84px; height: 84px; font-size: 34px; }
.chat { display: grid; gap: 14px; padding: 20px; }
.chat__log { display: flex; flex-direction: column; gap: 12px; max-height: 520px; overflow: auto; padding: 6px; }
.msg { max-width: 85%; padding: 14px 18px; border-radius: 18px; font-size: 15px; line-height: 1.55; }
.msg--bot { align-self: flex-start; background: rgba(124,108,242,.14); border: 1px solid rgba(124,108,242,.3); border-bottom-left-radius: 6px; }
.msg--me { align-self: flex-end; background: rgba(217,178,106,.16); border: 1px solid var(--card-border); border-bottom-right-radius: 6px; }
.msg a { color: var(--gold-2); }
.msg ul { margin: 8px 0; padding-left: 20px; }
.typing { color: var(--muted); font-style: italic; }
.chat__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chat__chips button { padding: 8px 14px; border-radius: 99px; border: 1px solid var(--line); background: rgba(255,255,255,.03); color: var(--text); font: 500 13px var(--sans); cursor: pointer; text-align: left; }
.chat__chips button:hover { border-color: var(--gold); }
.chat__form { display: flex; gap: 10px; align-items: flex-end; }
.chat__form textarea { flex: 1; }
.chat__data summary { cursor: pointer; font-weight: 600; color: var(--gold-2); }
.chat__data[open] summary { margin-bottom: 16px; }

.posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
.post-card { display: grid; gap: 12px; align-content: start; padding: 28px; border-radius: var(--radius); background: var(--card); border: 1px solid var(--card-border); text-decoration: none; transition: transform .2s, border-color .2s; }
.post-card:hover { transform: translateY(-3px); border-color: rgba(217,178,106,.45); }
.post-card__tag { justify-self: start; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-2); background: rgba(217,178,106,.14); padding: 5px 10px; border-radius: 99px; }
.post-card h2 { font-size: 28px; }
.post-card p { color: #d4d0e2; font-size: 15px; }
.post-card__meta { font-size: 13px; color: var(--muted); }
.article .container { max-width: 860px; }
.article__back { color: var(--gold-2); text-decoration: none; font-size: 14px; }
.article__head { display: grid; gap: 12px; margin: 22px 0 32px; }
.article__head .eyebrow { margin-bottom: 0; }
.article__head h1 { font-size: clamp(36px, 5vw, 56px); }
.prose a { color: var(--gold-2); }
.legal-text h2 { font-size: 28px; }
.fill { background: rgba(239,138,91,.18); color: #ffd9a8; padding: 0 6px; border-radius: 6px; }

.price-grid--3 { grid-template-columns: repeat(3, 1fr); max-width: 1000px; margin: 0 auto; }
.products { display: grid; gap: 10px; max-width: 900px; margin: 0 auto; }
.product { display: grid; grid-template-columns: 1fr auto auto; gap: 20px; align-items: center; padding: 18px 22px; border-radius: 16px; background: var(--card); border: 1px solid var(--line); }
.product h3 { font-size: 24px; }
.product p { font-size: 14px; }
.product b { font: 600 26px var(--serif); color: var(--gold-2); font-variant-numeric: lining-nums; white-space: nowrap; }
.tiny a { color: var(--gold-2); }

/* Responsive */
@media (max-width: 1100px) {
  .nav__links {
    position: absolute; top: 68px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 16px 16px;
    background: #0a0b20; border-bottom: 1px solid var(--line); display: none; box-shadow: 0 30px 60px rgba(0,0,0,.6);
    max-height: calc(100vh - 68px); overflow: auto;
  }
  .nav__links.open { display: flex; }
  .nav__links > a, .dd__btn { padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: 17px; width: 100%; text-align: left; justify-content: space-between; }
  .dd__menu, .dd.open .dd__menu--wide { position: static; background: none; border: 0; box-shadow: none; padding: 4px 0 8px 10px; min-width: 0; }
  .dd.open .dd__menu--wide { grid-template-columns: 1fr; }
  .nav__links .dd__menu a { padding: 11px 8px; font-size: 16px; }
  .nav__cta { display: none; }
  .nav__mobile-only { display: block; }
  .nav__burger { display: block; margin-left: auto; }
}
@media (max-width: 960px) {
  .result__grid, .result__grid--even { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr 1fr; }
  .triad { grid-template-columns: 1fr; }
  .sign-grid { grid-template-columns: repeat(4, 1fr); }
  .sky { grid-template-columns: 1fr 1fr; }
  .catalog, .why { grid-template-columns: 1fr 1fr; }
  .acc-grid { grid-template-columns: 1fr; }
  .pair-charts { grid-template-columns: 1fr 1fr; }
  .pair-charts .pair-chart:not(.pair-chart--small) { grid-column: 1 / -1; order: -1; }
  .price-grid--3 { grid-template-columns: 1fr; max-width: 480px; }
  .tools { grid-template-columns: 1fr 1fr; }
  .moon-layout { grid-template-columns: 1fr; }
  .price-grid { grid-template-columns: 1fr 1fr; }
  .contacts { grid-template-columns: 1fr; }
  .matrix__top { grid-template-columns: 1fr; }
  .pair { grid-template-columns: 1fr; }
  .pair__plus { justify-self: center; }
  .compat__cats { grid-template-columns: 1fr 1fr; }
  .syn { grid-template-columns: 1fr; }
  .day { position: static; }
  .horo__body, .horo__rates { grid-template-columns: 1fr; }
  .plans { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .footer__bottom { flex-direction: column; gap: 8px; }
  .section { padding: 64px 0; }
  .hero { padding: 72px 0 64px; }
  .hero__wheel { width: 620px; height: 620px; }
  .hero__actions { flex-direction: column; width: 100%; }
  .hero__actions .btn { width: 100%; }
  .lead { font-size: 16px; }
  .calc { padding: 28px 20px; }
  .calc__form, .form-grid { grid-template-columns: 1fr; }
  .sign-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .sign-card { padding: 16px 6px; }
  .sign-card__name { font-size: 18px; }
  .sign-card__dates { font-size: 10.5px; }
  .sign-detail__cols { grid-template-columns: 1fr; }
  .sky { grid-template-columns: 1fr; padding: 20px; }
  .horo__head h2 { font-size: 36px; }
  .tabs button { padding: 10px 16px; }
  .cal { padding: 18px 12px; }
  .compat__top { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .ring { width: 190px; }
  .compat__cats { grid-template-columns: 1fr; }
  .matrix-form { grid-template-columns: 1fr; }
  .catalog, .why, .steps--3 { grid-template-columns: 1fr; }
  .auth { padding: 28px 20px; }
  .product { grid-template-columns: 1fr auto; }
  .product h3 { font-size: 21px; }
  .product .btn { grid-column: 1 / -1; }
  .locked-mini { flex-direction: column; align-items: stretch; text-align: center; }
  .chat__form { flex-direction: column; align-items: stretch; }
  .msg { max-width: 95%; }
  .ev { padding: 12px 14px; gap: 12px; }
  .ev__icon { min-width: 40px; font-size: 15px; }
  .moon-list, .posts { grid-template-columns: 1fr; }
  .year-num__n { font-size: 84px; }
  .saved li { flex-direction: column; align-items: stretch; }
  .ari { flex-direction: column; text-align: center; padding: 28px 20px; }
  .ari__chips { justify-content: center; }
  .promo { flex-direction: column; text-align: center; padding: 26px 20px; }
  .price-grid { grid-template-columns: 1fr; }
  .day-pass { flex-direction: column; align-items: stretch; text-align: center; }
  .cal__week, .cal__grid { gap: 3px; }
  .cal__cell { border-radius: 8px; padding: 4px 0; }
  .cal__phase svg { width: 17px; height: 17px; }
  .cal__meta { font-size: 9.5px; }
  .cal__head h2 { font-size: 26px; }
  .sign-detail__glyph { width: 64px; height: 64px; font-size: 38px; }
  .sign-detail h2 { font-size: 34px; }
  .form-card { padding: 28px 20px; }
  .page-hero { padding: 56px 0 20px; }
  .card { padding: 24px 20px; }
  .steps { grid-template-columns: 1fr; }
  .bar { grid-template-columns: 96px 1fr 30px; }
  .plan { padding: 28px 22px; }
  .final__inner { padding: 48px 20px; }
  .locked__cta h3 { font-size: 28px; }
  .wheel-card { padding: 6px; }
  .planets { font-size: 14px; }
  .planets td, .planets th { padding-left: 4px; padding-right: 4px; }
  .planets td:nth-child(2) { white-space: nowrap; }
  .planets .g { width: 20px; margin-right: 4px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero__wheel { animation: none; }
  .bar__fill { transition: none; }
}
/* ===== SEO pages ===== */
.crumbs { font-size: 13px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--gold-2); }
.crumbs span:last-child { color: var(--text); }
.seo-page { display: grid; gap: 24px; }
.seo-card { display: grid; gap: 14px; }
.seo-card h2 { font-size: 30px; margin-top: 10px; }
.seo-card h3 { font-size: 22px; }
.seo-card p { color: #d4d0e2; }
.seo-card a { color: var(--gold-2); }
.seo-lead { font-size: 18px; }
.seo-links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.seo-nav { display: grid; gap: 16px; margin-bottom: 24px; }
.seo-nav .sub { margin-top: 24px; }
.link-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.link-grid a, .link-grid .is-current { display: grid; gap: 2px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.025); text-decoration: none; font-size: 14px; transition: border-color .2s; }
.link-grid a:hover { border-color: rgba(217,178,106,.5); }
.link-grid .is-current { border-color: var(--gold); color: var(--gold-2); }
.link-grid small { color: var(--muted); font-size: 12px; }
.link-grid .sym { color: var(--gold-2); }
.compat-acc { border: 1px solid var(--line); border-radius: 14px; padding: 4px 16px; background: rgba(255,255,255,.02); }
.compat-acc summary { cursor: pointer; padding: 12px 0; font-weight: 600; }
.compat-acc[open] { padding-bottom: 14px; }
.compat-sum { grid-template-columns: 180px 1fr; align-items: center; gap: 28px; }
.compat-sum__score { display: grid; justify-items: center; }
.compat-sum__score span { font: 600 64px/1 var(--serif); color: var(--gold-2); font-variant-numeric: lining-nums; }
.compat-sum__score small { color: var(--muted); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.compat-sum .bars { margin: 0; }
.seo-page .horo__body h2 { font-size: 24px; margin: 0 0 8px; }
@media (max-width: 760px) {
  .compat-sum { grid-template-columns: 1fr; }
  .link-grid { grid-template-columns: 1fr 1fr; }
  .seo-card h2 { font-size: 26px; }
}

.cookie-bar { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 40; max-width: 640px; margin: 0 auto; display: flex; gap: 16px; align-items: center;
  padding: 14px 18px; border-radius: 16px; background: #12143a; border: 1px solid var(--card-border); box-shadow: 0 20px 50px rgba(0,0,0,.5); font-size: 14px; }
.cookie-bar a { color: var(--gold-2); }
.cookie-bar .btn { flex: none; }

.prose ol { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.prose h3 { font-size: 26px; color: var(--text); margin-top: 6px; }
.natal-guide { max-width: 820px; }

/* ===== Lunar calendar SSR pages ===== */
.mc-kinds { justify-self: center; display: inline-flex; margin: 0 auto; }
.mc-kinds a, .mc-kinds span { padding: 10px 20px; border-radius: 999px; font: 600 14px var(--sans); text-decoration: none; color: var(--muted); }
.mc-kinds .is-on { background: rgba(217,178,106,.18); color: var(--gold-2); }
.mc-sum { display: grid; gap: 10px; }
.mc-sum h2 { font-size: 30px; }
.mc-big { font-size: 18px; }
.mc-sum b { color: var(--gold-2); }
.mc-keys { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; color: var(--muted); }
.mc-keys li { display: inline-flex; gap: 8px; align-items: center; }
.mc-keys b { color: var(--text); }
.mc-wrap { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--card-border); background: var(--card); }
.mc-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 760px; }
.mc-table th { text-align: left; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding: 14px 12px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: #14163a; }
.mc-table td { padding: 11px 12px; border-top: 1px solid var(--line); vertical-align: top; }
.mc-table td small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.mc-table td:first-child { white-space: nowrap; }
.mc-table td:first-child small { display: inline; margin-left: 4px; }
.mc-table a { color: var(--gold-2); text-decoration: none; }
.mc-phase { display: inline-flex; gap: 8px; align-items: center; }
.mc-bad { background: rgba(239,138,91,.05); }
.mc-tag { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 99px; }
.mc-tag--good { background: rgba(159,194,122,.16); color: var(--earth); }
.mc-tag--mid { background: rgba(255,255,255,.07); color: var(--muted); }
.mc-tag--bad { background: rgba(239,138,91,.16); color: var(--fire); }
.mc-nav { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.mc-nav a, .mc-nav span { padding: 10px 16px; border-radius: 12px; border: 1px solid var(--line); text-decoration: none; font-size: 14px; }
.mc-nav span { border-color: transparent; color: var(--muted); }
.mc-nav a:hover { border-color: var(--gold); }
.link-grid--wide { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
@media (max-width: 760px) {
  .mc-kinds a, .mc-kinds span { padding: 9px 12px; font-size: 13px; }
  .mc-sum h2 { font-size: 24px; }
  .mc-nav { justify-content: center; }
}

.horo-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.horo-list li { padding: 12px 16px; border-radius: 12px; background: rgba(255,255,255,.03); border: 1px solid var(--line); font-size: 15px; color: #d4d0e2; }
.horo-list b { color: var(--text); }

.dream-more { color: var(--gold-2); font-size: 14px; text-decoration: none; font-weight: 600; }
.dream-more:hover { text-decoration: underline; }
.dream-cat { font-size: 24px; margin: 18px 0 4px; }

.horo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.horo-mini { display: grid; gap: 8px; align-content: start; padding: 20px 22px; text-decoration: none; transition: transform .2s, border-color .2s; }
.horo-mini:hover { transform: translateY(-2px); border-color: rgba(217,178,106,.45); }
.horo-mini__head { display: flex; align-items: center; gap: 8px; font-size: 17px; }
.horo-mini__head .sym { color: var(--gold-2); font-size: 20px; }
.horo-mini__head .stars-rate { margin-left: auto; font-size: 12px; }
.horo-mini__text { color: #d4d0e2; font-size: 14px; }
.horo-mini__more { color: var(--gold-2); font-size: 13px; font-weight: 600; }
.love-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.love-item h2 { font-size: 26px; display: flex; gap: 10px; align-items: center; margin: 0; }
.love-item h2 .stars-rate { margin-left: auto; font-size: 13px; }
