/* «Свой оракул» — сайт в одежде кабинета (18.09). BRAND.md: почти чёрный, один источник света (малахит), крем,
   золото только рамкой; Unbounded / Golos Text / Cormorant Garamond. Без карточной сетки: сцена, строки, нить, открытка. */
:root {
  --bg: #101116; --bg2: #0c0d11; --surface: #171922; --line: #262a36;
  --mal: #2FC48E; --deep: #1F6B4E; --glow: rgba(47,196,142,.30);
  --gold: #D4AF5A; --cream: #F3ECE3; --muted: #A9A49B; --ink: #1B1D1A; --ink2: #4a4d48;
}
* { box-sizing: border-box; }
html { background: var(--bg); color: var(--cream); font: 400 17px/1.55 "Golos Text", "Segoe UI", Roboto, system-ui, sans-serif; -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }
a { color: var(--mal); text-decoration: none; }
a:hover, a:focus-visible { color: #6fe0b7; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
h1, h2, h3, .display { font-family: Unbounded, "Golos Text", sans-serif; font-weight: 600; line-height: 1.12; letter-spacing: -0.015em; margin: 0; text-wrap: balance; }
h1 { font-size: 2rem; }
h2 { font-size: 1.35rem; }
.display { font-size: 1.55rem; }
.display em, h1 em { font-style: normal; color: var(--mal); }
p { margin: 0 0 .8em; }
.eyebrow { font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 10px; }
.lede { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.45rem; line-height: 1.32; color: var(--cream); max-width: 32ch; margin: 0 0 .6em; }
.sun { color: var(--muted); font-size: .95rem; margin: 0 0 22px; }
.sun::before { content: "☾ "; color: var(--mal); }
.quiet { display: inline-block; color: var(--muted); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 5px; padding: 10px 0 8px; margin-top: 6px; min-height: 44px; }
.quiet:hover { color: var(--cream); text-decoration-color: var(--mal); }
.nowrap { white-space: nowrap; }
.rub { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wrap { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 20px 48px; }

/* 18+ — одна строка, не первый экран */
.bar18 { display: flex; gap: 12px; align-items: center; justify-content: center; padding: 8px 16px; margin: 0; background: var(--bg2); border-bottom: 1px solid var(--line); }
.bar18 p { margin: 0; font-size: .8rem; line-height: 1.25; color: var(--muted); }
.bar18 p b { color: var(--cream); font-weight: 500; margin-right: 4px; }
.bar18 button { flex: none; min-height: 44px; padding: 0 14px; border: 1px solid var(--deep); background: transparent; color: var(--mal); border-radius: 999px; font: inherit; font-size: .9rem; cursor: pointer; }

/* шапка: знак и имя слева, одна кнопка справа; разделы — только на широком */
.hd { display: flex; align-items: center; gap: 18px; padding: 14px 20px; max-width: 1080px; margin: 0 auto; width: 100%; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--cream); font-family: Unbounded, sans-serif; font-weight: 600; font-size: 1.05rem; margin-right: auto; }
.mark { width: 24px; height: 24px; border-radius: 50%; flex: none; background: radial-gradient(circle, var(--mal) 0 30%, transparent 32%), radial-gradient(circle, rgba(47,196,142,.5), transparent 70%); }
.hdnav { display: none; gap: 22px; }
.hdnav a { color: var(--cream); font-size: .95rem; padding: 10px 0; min-height: 44px; display: inline-flex; align-items: center; border-bottom: 1px solid transparent; }
.hdnav a:hover, .hdnav a:focus-visible { border-bottom-color: var(--mal); }
.pill { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--deep); color: var(--mal); font-weight: 500; font-size: .95rem; }
.pill:hover, .pill:focus-visible { background: rgba(47,196,142,.08); }

/* разделы на телефоне — строка под шапкой; на широком её заменяет меню в шапке */
.sections { display: flex; gap: 4px; padding: 0 14px 6px; overflow-x: auto; scrollbar-width: none; max-width: 1080px; margin: 0 auto; }
.sections::-webkit-scrollbar { display: none; }
.sections a { flex: none; color: var(--muted); font-size: .88rem; padding: 8px 6px; min-height: 40px; display: inline-flex; align-items: center; border-radius: 999px; }
.sections a:hover { color: var(--cream); }
.bigthree { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.5rem; color: var(--cream); margin: 4px 0 8px; }
.legend { color: var(--muted); font-size: .8rem; text-align: center; margin: 6px 0 0; line-height: 1.5; }
.cardlink span b { display: block; color: var(--cream); font-weight: 500; }

/* кнопки: одна главная, малахит */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 24px; border-radius: 14px; background: var(--mal); color: #0b1a14; font-weight: 500; border: 0; font: inherit; font-weight: 500; cursor: pointer; }
.btn:hover, .btn:focus-visible { background: #5adcab; color: #0b1a14; }
.btn:disabled { background: var(--deep); color: var(--cream); cursor: progress; }
.btn.big { width: 100%; max-width: 420px; min-height: 56px; font-size: 1.05rem; }

/* небо: свечение сверху, холмы снизу */
.sky { position: relative; overflow: hidden; padding: 28px 20px 0; background: var(--bg); }
.glow { position: absolute; left: 50%; top: -10%; width: 140vw; max-width: 1100px; aspect-ratio: 1; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(47,196,142,.22) 0, rgba(47,196,142,.08) 32%, transparent 62%); pointer-events: none; }
.skyin { position: relative; max-width: 560px; margin: 0 auto; padding-bottom: 96px; }
.hills { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 96px; display: block; }
.hills .far { fill: #14161d; }
.hills .near { fill: var(--bg); }
.card { display: block; margin: 0 auto 16px; width: 56vw; max-width: 320px; aspect-ratio: 2 / 3; border-radius: 14px; overflow: hidden; background: var(--surface); box-shadow: 0 0 0 1px rgba(212,175,90,.4), 0 40px 80px -30px var(--glow), 0 0 120px -20px var(--glow); animation: rise .7s ease-out both; }
.card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.card.rev img { transform: rotate(180deg); }
.card.small { width: 128px; max-width: none; margin: 0; flex: none; }
.card { position: relative; }
.card .ribbon { position: absolute; left: 0; right: 0; top: 12px; margin: 0 auto; width: max-content; padding: 4px 12px; border-radius: 999px; background: rgba(16,17,22,.82); border: 1px solid rgba(212,175,90,.5); color: var(--gold); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.point.withcard { display: grid; grid-template-columns: 64px 1fr; column-gap: 14px; }
.point.withcard .thumb { grid-row: 1 / span 4; width: 64px; height: auto; border-radius: 6px; box-shadow: 0 0 0 1px rgba(212,175,90,.35); }
.point.withcard h2, .point.withcard p { grid-column: 2; }
.grid.deck.related { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }
.grid.deck img { background: repeating-linear-gradient(135deg, #1a1d29 0 6px, #14161f 6px 12px); min-height: 60px; }
@keyframes rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.scene .skytext { text-align: center; }
.scene .skytext .actions { justify-content: center; margin-top: 10px; }
.scene .skytext .actions .btn { min-height: 44px; padding: 0 16px; font-size: .95rem; }
.scene .lede { margin-inline: auto; }
.scene h1 { margin-bottom: 8px; }

/* вопрос первым экраном: веер настоящий, полукругом */
.ask h1 { margin-bottom: 8px; }
/* веер рубашек: семь карт полукругом, выбранная поднимается (ритуал расклада на сайте, как в кабинете) */
.fan { position: relative; height: 236px; margin: 6px auto 22px; max-width: 390px; }
.fan .back { position: absolute; left: 50%; bottom: 26px; width: 92px; height: 144px; margin-left: -46px; transform-origin: 50% 165%; transition: transform .18s; padding: 0; cursor: pointer; }
.back { display: block; border-radius: 10px; border: 1px solid rgba(212,175,90,.55); box-shadow: 0 16px 30px -18px #000; background: radial-gradient(circle at 50% 35%, rgba(47,196,142,.28), transparent 60%), repeating-linear-gradient(135deg, #1a1d29 0 6px, #14161f 6px 12px); }
.fan .back:nth-child(1) { transform: rotate(-36deg); } .fan .back:nth-child(2) { transform: rotate(-24deg); } .fan .back:nth-child(3) { transform: rotate(-12deg); }
.fan .back:nth-child(4) { transform: rotate(0deg); } .fan .back:nth-child(5) { transform: rotate(12deg); } .fan .back:nth-child(6) { transform: rotate(24deg); } .fan .back:nth-child(7) { transform: rotate(36deg); }
.fan .back:nth-child(4) { z-index: 4; } .fan .back:nth-child(3), .fan .back:nth-child(5) { z-index: 3; } .fan .back:nth-child(2), .fan .back:nth-child(6) { z-index: 2; }
.fan .back.on { z-index: 9; border-color: var(--mal); box-shadow: 0 14px 30px -12px var(--glow); }
.fan .back:nth-child(1).on { transform: rotate(-36deg) translateY(-22px); } .fan .back:nth-child(2).on { transform: rotate(-24deg) translateY(-22px); } .fan .back:nth-child(3).on { transform: rotate(-12deg) translateY(-22px); }
.fan .back:nth-child(4).on { transform: rotate(0deg) translateY(-22px); } .fan .back:nth-child(5).on { transform: rotate(12deg) translateY(-22px); } .fan .back:nth-child(6).on { transform: rotate(24deg) translateY(-22px); } .fan .back:nth-child(7).on { transform: rotate(36deg) translateY(-22px); }
.fan .back:focus-visible { outline: 2px solid var(--gold); }
.fanhint { color: var(--muted); font-size: .9rem; margin: 12px 0 0; }
.fanarc { position: relative; height: 196px; max-width: 360px; margin: 4px auto 10px; overflow: visible; }
.fanarc i { position: absolute; left: 50%; bottom: 34px; width: 88px; height: 138px; margin-left: -44px; transform-origin: 50% 120%; border-radius: 10px; border: 1px solid rgba(212,175,90,.55);
  background: radial-gradient(circle at 50% 35%, var(--glow), transparent 60%), repeating-linear-gradient(135deg, #1a1d29 0 6px, #14161f 6px 12px); box-shadow: 0 16px 30px -18px #000; }
.fanarc i:nth-child(1) { transform: rotate(-30deg); }
.fanarc i:nth-child(2) { transform: rotate(-15deg); }
.fanarc i:nth-child(2), .fanarc i:nth-child(4) { z-index: 2; }
.fanarc i:nth-child(3) { z-index: 3; transform: translateY(-8px); border-color: var(--mal); box-shadow: 0 14px 30px -14px var(--glow); }
.fanarc i:nth-child(4) { transform: rotate(15deg); }
.fanarc i:nth-child(5) { transform: rotate(30deg); }
.askform { display: grid; gap: 10px; }
.askform textarea { width: 100%; font: inherit; color: var(--cream); background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 14px; min-height: 96px; resize: vertical; }
.askform textarea:focus { border-color: var(--mal); outline: none; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; line-height: 1.4; color: var(--muted); }
.check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--mal); flex: none; }
.dayrow { display: flex; gap: 18px; align-items: center; padding: 26px 0 8px; }
.dayrow h2 { margin-bottom: 4px; }
.dayrow .lede { font-size: 1.2rem; }
.dayrow .sun { margin-bottom: 4px; }

/* тезис, указатель, нить, открытка */
.claim { padding: 34px 0 10px; max-width: 640px; }
.claim p { color: var(--muted); font-size: 1.05rem; max-width: 46ch; }
.index { border-top: 1px solid var(--line); margin: 18px 0 8px; }
.row { display: grid; grid-template-columns: 1fr 28px; column-gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); color: var(--cream); }
.row b { font-family: Unbounded, sans-serif; font-weight: 600; font-size: 1rem; }
.row span { grid-column: 1; color: var(--muted); font-size: .95rem; line-height: 1.4; margin-top: 3px; }
.row i { grid-column: 2; grid-row: 1 / span 2; font-style: normal; color: var(--mal); font-size: 1.4rem; text-align: right; transition: transform .15s; }
.row:hover i, .row:focus-visible i { transform: translateX(4px); }
.how { padding: 40px 0 8px; }
.how .display { margin-bottom: 22px; }
.thread { list-style: none; margin: 0 0 26px; padding: 0 0 0 34px; position: relative; }
.thread::before { content: ""; position: absolute; left: 8px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(var(--mal), var(--deep) 70%, transparent); }
.thread li { position: relative; margin: 0 0 22px; }
.thread li::before { content: ""; position: absolute; left: -32px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--bg); border: 2px solid var(--mal); box-shadow: 0 0 16px var(--mal); }
.thread b { display: block; font-weight: 500; font-size: 1.05rem; margin-bottom: 2px; }
.thread span { color: var(--muted); font-size: .95rem; line-height: 1.45; }
.cream { display: grid; gap: 22px; margin: 44px 0 0; background: var(--cream); color: var(--ink); border-radius: 22px; padding: 24px 22px 26px; box-shadow: 0 30px 80px -40px rgba(243,236,227,.35); }
.cream .eyebrow { color: var(--ink2); }
.cream .price { font-family: Unbounded, sans-serif; font-size: 2.2rem; line-height: 1; margin: 0 0 12px; color: var(--ink); }
.cream .price small { font-family: "Golos Text", sans-serif; font-size: .95rem; color: var(--ink2); font-weight: 400; }
.cream ul { margin: 0; padding-left: 18px; }
.cream li { margin: 5px 0; font-size: .98rem; }
.cream li::marker { color: var(--deep); }
.cream .actions { margin: 16px 0 10px; }
.cream .actions .btn { background: var(--deep); color: var(--cream); width: 100%; max-width: 420px; }
.cream .actions .btn:hover, .cream .actions .btn:focus-visible { background: #185840; color: var(--cream); }
.cream .once { font-size: .95rem; color: var(--ink2); margin: 0; }
.cream .once b { color: var(--ink); font-weight: 500; }
.cream .once a { color: var(--deep); }
.cream .quiet { color: var(--ink2); text-decoration-color: rgba(27,29,26,.25); }
.cr2 { border-top: 1px solid rgba(27,29,26,.15); padding-top: 18px; }

/* внутренние страницы: колонка, крошки, заголовки, текст */
.page { flex: 1; width: 100%; max-width: 760px; margin: 0 auto; padding: 8px 20px 48px; }
.page h1 { margin: 14px 0 12px; }
.page h2 { margin: 30px 0 8px; font-size: 1.25rem; }
.page h2:first-of-type { margin-top: 22px; }
.page p { max-width: 46em; }
.crumbs { color: var(--muted); font-size: .9rem; margin: 10px 0 0; }
.crumbs a { color: var(--muted); display: inline-block; padding: 12px 2px; }
.crumbs span { color: var(--cream); }
.muted { color: var(--muted); }
.ok { color: var(--mal); }
.err { display: block; color: #ffb4a8; margin-top: .3em; font-size: .92rem; }
.lead { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.4rem; line-height: 1.35; max-width: 34ch; }
.intro { font-size: 1.1rem; line-height: 1.5; color: var(--cream); max-width: 40em; }
.btn.ghost { background: transparent; color: var(--mal); border: 1px solid var(--deep); }
.btn.ghost:hover, .btn.ghost:focus-visible { background: rgba(47,196,142,.08); color: var(--mal); }
.page .btn { margin: 4px 8px 4px 0; }
.page p > .btn:first-child { margin-left: 0; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 8px; }
.actions .btn { margin: 0; }
.actions.two { display: grid; grid-template-columns: 1fr 1fr; }
.actions.two .btn { width: 100%; }
.page.wide { max-width: 1080px; }
.page.wide .stage { grid-template-columns: 1fr; }
.crumbs + h1, .crumbs + p.eyebrow { margin-top: 6px; }

/* сцена карты на внутренних страницах (карта дня, страница карты) */
.stage { display: grid; gap: 18px; align-items: start; margin: 8px 0 18px; }
.stage .card { width: 64vw; max-width: 320px; margin: 0 auto; }
.stage > div { text-align: center; }
.stage > div p:not(.lead):not(.intro):not(.eyebrow):not(.sun) { text-align: left; }
.stage .lead, .stage .intro, .stage p { margin-inline: auto; }
.stage .actions { justify-content: center; }
.stage .btn { width: 100%; margin: 0; }
.stage h1 { margin-top: 0; }

/* формы */
.form label { display: block; margin: 14px 0; color: var(--cream); }
.form input[type=text], .form input:not([type]), .form input[type=search], .form textarea { display: block; width: 100%; margin-top: 6px; padding: 12px 14px; min-height: 48px; font: inherit; color: var(--cream); background: var(--surface); border: 1px solid var(--line); border-radius: 14px; }
.form textarea { min-height: 96px; resize: vertical; }
.form input:focus, .form textarea:focus { border-color: var(--mal); outline: none; }
.form .check { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; color: var(--muted); font-size: .95rem; }
.form .check input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--mal); flex: none; }
.check input[type=checkbox] { appearance: none; -webkit-appearance: none; width: 22px; height: 22px; border-radius: 6px; border: 1px solid var(--line); background: var(--surface); display: grid; place-items: center; cursor: pointer; }
.check input[type=checkbox]:checked { background: var(--mal); border-color: var(--mal); }
.check input[type=checkbox]:checked::after { content: ""; width: 6px; height: 11px; border: solid #0b1a14; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }
.check input[type=checkbox]:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.form .check span { flex: 1 1 auto; }
.form.inline { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; margin: 12px 0 18px; }
.form.inline label { margin: 0; }
.form.inline .btn { margin: 0; min-height: 48px; }
.form .btn { margin-top: 6px; }
.form > .btn, .askform .btn { width: 100%; }

/* списки-указатели (расклады, калькуляторы, документы, мои разборы) */
.list { list-style: none; margin: 14px 0 18px; padding: 0; border-top: 1px solid var(--line); }
.list li a { display: grid; grid-template-columns: 1fr 28px; column-gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); color: var(--cream); position: relative; }
.list li a strong { font-family: Unbounded, sans-serif; font-weight: 600; font-size: 1rem; }
.list li a span { grid-column: 1; color: var(--muted); font-size: .95rem; line-height: 1.4; margin-top: 3px; }
.list li a::after { content: "→"; grid-column: 2; grid-row: 1 / span 2; color: var(--mal); font-size: 1.4rem; text-align: right; transition: transform .15s; }
.list li a:hover::after, .list li a:focus-visible::after { transform: translateX(4px); }

/* сетка названий и колода */
.grid { list-style: none; margin: 12px 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.grid li a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--cream); background: var(--surface); }
.grid li a:hover, .grid li a:focus-visible { border-color: var(--mal); color: var(--mal); }
.grid.deck { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 12px 10px; }
.grid.deck li a { display: block; padding: 0; border: 0; border-radius: 0; background: none; text-align: center; font-size: .85rem; line-height: 1.25; min-height: 0; }
.grid.deck img { display: block; width: 100%; height: auto; border-radius: 8px; margin-bottom: 6px; box-shadow: 0 0 0 1px rgba(212,175,90,.35); transition: transform .15s; }
.grid.deck li a:hover img { transform: translateY(-4px); box-shadow: 0 0 0 1px var(--mal), 0 16px 30px -18px var(--glow); }

/* карты: одиночная и три */
.cardimg { display: block; width: 64vw; max-width: 320px; height: auto; margin: 12px auto 16px; border-radius: 14px; box-shadow: 0 0 0 1px rgba(212,175,90,.4), 0 40px 80px -30px var(--glow), 0 0 120px -20px var(--glow); }
.cardimg.rev { transform: rotate(180deg); }
.three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 560px; margin: 12px 0 18px; }
.three .cardimg { width: 100%; max-width: none; margin: 0; border-radius: 10px; }
.cardlink { display: block; color: var(--cream); text-align: center; font-size: .85rem; line-height: 1.25; }
.cardlink span { display: block; margin-top: 8px; color: var(--muted); }
.cardlink span i { display: block; font-style: normal; color: var(--mal); font-family: "Golos Text", sans-serif; font-weight: 500; font-size: .85rem; margin-bottom: 2px; }
.cardlink span b { font-weight: 400; color: var(--muted); font-size: .8rem; }

/* блоки расклада */
.block { margin: 0 0 14px; }
.block h3 { font-family: "Golos Text", sans-serif; font-weight: 500; font-size: .95rem; color: var(--mal); margin: 0 0 4px; }
.block p { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.22rem; line-height: 1.5; font-variant-numeric: lining-nums; }
.block.answer { background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--mal); border-radius: 12px; padding: 12px 14px; }
.block.answer { margin: 18px 0; }
.block p.foryou { font-family: "Golos Text", sans-serif; font-size: .85rem; color: var(--muted); margin: 10px 0 0; padding-top: 8px; border-top: 1px solid var(--line); }
.actions.after { margin: 12px 0 4px; }
.doors { margin: 26px 0 8px; }
.doors .lede { margin: 4px 0 14px; }
.doorlist { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; align-items: stretch; }
.doorlist a { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; color: var(--cream); text-decoration: none; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 10px 10px 12px; min-height: 44px; transition: border-color .15s, transform .15s; }
.doorlist em { display: block; font-style: normal; color: var(--cream); font-size: .82rem; margin-top: auto; padding-top: 8px; opacity: .85; }
.doorlist a:hover, .doorlist a:focus-visible { border-color: var(--mal); transform: translateY(-2px); }
.doorlist img { display: block; width: 100%; height: auto; aspect-ratio: 240 / 358; object-fit: cover; border-radius: 8px; margin: 0 0 8px; box-shadow: 0 0 0 1px rgba(212,175,90,.35); }
.doorlist b { display: block; font-family: "Golos Text", sans-serif; font-weight: 500; font-size: .95rem; }
.doorlist span { display: block; color: var(--muted); font-size: .78rem; line-height: 1.35; margin-top: 3px; }
.positions { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--mal); font-family: "Golos Text", sans-serif; font-size: .9rem; margin: -4px 0 14px; }
@media (max-width: 720px) { .doorlist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.doors { margin: 18px 0 6px; }
.muted.small { font-size: .88rem; margin: 0 0 22px; }
.three.compact { max-width: 300px; margin: 0 0 14px; }
.three.compact img { border-radius: 8px; }
.door { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 18px 18px 20px; margin: 18px 0; }
.door h2 { font-size: 1.15rem; margin: 0 0 6px; }
.door p { color: var(--muted); margin: 0 0 6px; }
.door .actions { margin: 12px 0 0; }

/* сообщения */
.notice { background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--mal); border-radius: 14px; padding: 14px 16px; margin: 14px 0 18px; }
.notice p:last-child { margin: 0; }
.notice.crisis { border-left-color: var(--gold); }

/* дверь к разбору и цена — кремовая открытка */
.paywall { background: var(--cream); color: var(--ink); border-radius: 22px; padding: 22px 20px 24px; margin: 30px 0 18px; box-shadow: 0 30px 80px -40px rgba(243,236,227,.35); }
.paywall h2 { margin: 0 0 8px; color: var(--ink); }
.paywall p { color: var(--ink2); }
.paywall a:not(.btn) { color: var(--deep); }
.paywall .btn { background: var(--deep); color: var(--cream); }
.paywall .btn:hover, .paywall .btn:focus-visible { background: #185840; color: var(--cream); }
.paywall .btn.ghost { background: transparent; color: var(--deep); border-color: var(--deep); }

/* схемы результатов */
.figure { margin: 12px auto 22px; max-width: 360px; }
.figure svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 30px 60px rgba(47,196,142,.18)); }
.figure figcaption { color: var(--muted); font-size: .85rem; text-align: center; margin-top: 8px; }

/* результаты: точки матрицы, планеты, части разбора, документы */
.point { padding: 14px 0 6px; border-top: 1px solid var(--line); }
.point h2 { margin: 0 0 4px; font-size: 1.15rem; }
.point p.muted { font-size: .92rem; }
.planets { list-style: none; margin: 8px 0 18px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0 20px; }
.planets li { padding: 8px 0; border-bottom: 1px solid var(--line); }
.part p, .reading p { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.25rem; line-height: 1.5; }
.toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 16px; }
.toc a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); }
.doc { font-size: 1rem; }
.doc h2, .doc h3, .doc h4 { margin-top: 1.4em; }
.doc table { border-collapse: collapse; width: 100%; display: block; overflow-x: auto; font-size: .95rem; margin: 0 0 16px; }
.doc th, .doc td { border: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: top; }
.doc blockquote { border-left: 3px solid var(--gold); margin: 1em 0; padding: 4px 14px; color: var(--muted); }

@media (min-width: 480px) { .ftcols { grid-template-columns: repeat(3, 1fr); } .ftcols > div:nth-child(3) { grid-column: auto; } .form > .btn { width: auto; } .actions .btn { width: auto; } }
@media (min-width: 700px) {
  .page h2 { font-size: 1.35rem; }
  .stage, .page.wide .stage { margin-bottom: 44px; grid-template-columns: 320px 1fr; gap: 44px; }
  .stage h1 { font-size: 2rem; }
  .stage .btn { width: auto; }
  .stage { grid-template-columns: 300px 1fr; gap: 40px; }
  .stage .card { width: 300px; margin: 0; }
  .stage > div { text-align: left; }
  .stage .lead, .stage .intro, .stage p { margin-inline: 0; }
  .stage .actions { justify-content: flex-start; }
  .cardimg { margin-left: 0; }
}

/* подвал */
.ft { border-top: 1px solid var(--line); margin-top: 20px; padding: 26px 20px 34px; }
.ftcols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; max-width: 1040px; margin: 0 auto; }
.ftcols > div:nth-child(3) { grid-column: 1 / -1; }
.ftcols b { display: block; font-family: Unbounded, sans-serif; font-weight: 600; font-size: .8rem; letter-spacing: .06em; color: var(--muted); margin-bottom: 6px; }
.ftcols a { display: block; color: var(--cream); padding: 10px 0; min-height: 44px; font-size: .95rem; }
.ftcols a:hover { color: var(--mal); }
.fine { color: var(--muted); font-size: .85rem; max-width: 1040px; margin: 22px auto 0; }

@media (min-width: 700px) {
  h1 { font-size: 2.6rem; } .display { font-size: 2rem; }
  .hdnav { display: flex; }
  .sections { display: none; }
  .sky { padding-top: 40px; }
  .skyin.two { display: grid; grid-template-columns: 340px 1fr; gap: 48px; align-items: center; max-width: 960px; padding-bottom: 120px; }
  .skyin.two .card { width: 340px; max-width: 340px; margin: 0; }
  .scene .skytext { text-align: left; }
  .scene .lede { margin-inline: 0; }
  .skyin.ask, .sky.ask .skyin { max-width: 640px; }
  .ftcols { grid-template-columns: repeat(3, 1fr); }
  .cream { grid-template-columns: 1fr 1fr; padding: 30px 32px 32px; }
  .cr2 { border-top: 0; border-left: 1px solid rgba(27,29,26,.15); padding: 0 0 0 28px; }
  .claim { padding-top: 48px; }
  .dayrow .card.small { width: 160px; }
}
@media (prefers-reduced-motion: reduce) { .card { animation: none; } .row i { transition: none; } }
