/* Тётя Таро — тёмная «платочная» палитра: чернильный фон, горчица, розы, сливочная бумага */
:root{
  --ink:#16121f; --ink-2:#221b30; --ink-3:#2e2540;
  --mustard:#e8b24a; --mustard-deep:#c98f22;
  --rose:#d0485a; --leaf:#5f8f6a;
  --cream:#f7ecd9; --paper:#fbf4e8; --text:#f3e9da; --muted:#b9aac8;
  --line:rgba(232,178,74,.28);
  --radius-l:28px; --radius-m:16px; --radius-s:10px;
  --display:"Yeseva One", Georgia, serif; --body:"Golos Text", system-ui, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font:400 17px/1.6 var(--body);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (hover:hover) and (pointer:fine){body{cursor:url("/static/wand.svg") 24 4, auto}
  a,button{cursor:url("/static/wand.svg") 24 4, pointer}}
img{max-width:100%;display:block}
a{color:var(--mustard)}
a:focus-visible,button:focus-visible{outline:2px solid var(--mustard);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}

/* шапка */
.top{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.logo{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font:400 22px/1 var(--display)}
.logo img{width:42px;height:42px;border-radius:50%;border:2px solid var(--mustard)}
.nav{display:flex;gap:22px;font-size:15px}
.nav a{color:var(--muted);text-decoration:none}
.nav a:hover{color:var(--text)}
@media (max-width:720px){.nav{display:none}}

/* кнопки мессенджеров */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 22px;border-radius:999px;
  font:600 16px/1 var(--body);text-decoration:none;border:0;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn-tg{background:var(--mustard);color:var(--ink)}
.btn-max{background:transparent;color:var(--text);box-shadow:inset 0 0 0 2px var(--line)}
.btn-max:hover{box-shadow:inset 0 0 0 2px var(--mustard)}
.btn svg{width:20px;height:20px}

/* первый экран */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:36px 0 70px}
.hero h1{font:400 clamp(40px,6vw,70px)/1.02 var(--display);margin:0 0 22px;letter-spacing:-.01em}
.hero p.lead{font-size:20px;color:var(--muted);margin:0 0 30px;max-width:30em}
.hero .note{margin-top:16px;font-size:14px;color:var(--muted)}
@media (max-width:900px){.hero{grid-template-columns:1fr;gap:28px;padding-top:12px}}

/* стол с картами — главный момент страницы */
.table{position:relative;background:radial-gradient(120% 90% at 50% 10%,#3a2a52 0%,var(--ink-2) 60%);
  border-radius:var(--radius-l);padding:28px 22px 24px;border:1px solid var(--line);min-height:430px;
  display:flex;flex-direction:column;align-items:center}
.table .cap{font:400 22px/1.2 var(--display);margin:0 0 4px;text-align:center}
.table .sub{color:var(--muted);font-size:14px;margin:0 0 18px;text-align:center}
.fan{position:relative;height:250px;width:100%;max-width:420px}
.fan button{position:absolute;left:50%;bottom:0;width:112px;height:186px;margin-left:-56px;border:0;padding:0;
  border-radius:12px;background:url("/static/back.svg") center/cover;box-shadow:0 10px 24px rgba(0,0,0,.4);
  transform-origin:50% 140%;transition:transform .25s}
.fan button:hover{transform:var(--t) translateY(-14px)}
.fan.done button{pointer-events:none;opacity:.25}
.result{display:none;grid-template-columns:120px 1fr;gap:18px;align-items:start;width:100%;max-width:460px}
.result.show{display:grid;animation:rise .5s ease both}
.result img{width:120px;border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.result img.rev{transform:rotate(180deg)}
.result h3{font:400 24px/1.15 var(--display);margin:0 0 6px}
.result p{margin:0 0 12px;font-size:15px;color:var(--text)}
.result .btns{gap:8px}.result .btn{padding:11px 16px;font-size:14px}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.result.show{animation:none}.fan button,.btn{transition:none}}

/* секции */
section{padding:64px 0}
h2{font:400 clamp(30px,4vw,44px)/1.1 var(--display);margin:0 0 14px}
.kicker{color:var(--muted);margin:0 0 34px;max-width:36em}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.step{background:var(--ink-2);border-radius:var(--radius-m);padding:24px}
.step b{display:block;font:400 22px/1.2 var(--display);margin:6px 0 8px}
.step:before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:36px;height:36px;
  border-radius:50%;background:var(--mustard);color:var(--ink);font-weight:700}
.step p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:820px){.steps{grid-template-columns:1fr}}

.readers{display:flex;flex-wrap:wrap;gap:12px}
.reader{padding:14px 18px;border-radius:var(--radius-m);background:var(--ink-2);max-width:340px;flex:1 1 260px}
.reader b{font:400 20px/1.2 var(--display)}
.reader span{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.reader i{font-style:normal;font-size:12px;color:var(--mustard);margin-left:6px}

.feats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.feat{border-top:1px solid var(--line);padding-top:18px}
.feat b{font:400 22px/1.2 var(--display)}
.feat p{color:var(--muted);margin:6px 0 0;font-size:15px}
@media (max-width:720px){.feats{grid-template-columns:1fr}}

.price{background:var(--ink-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--radius-l);padding:34px;
  display:grid;grid-template-columns:1fr 1fr;gap:28px}
.price h2{color:var(--text)}
.price ul{margin:0;padding:0;list-style:none}
.price li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}
.price li b{font-weight:700}
.price .gift{font:400 26px/1.25 var(--display);color:var(--mustard);margin:0 0 10px}
@media (max-width:820px){.price{grid-template-columns:1fr;padding:24px}}

/* справочник карт */
.deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:14px}
.deck a{text-decoration:none;color:var(--text);font-size:13px;text-align:center}
.deck img{border-radius:8px;margin-bottom:6px;aspect-ratio:300/520;object-fit:cover;width:100%;background:var(--ink-3)}
.deck a:hover img{outline:2px solid var(--mustard)}
.suit-title{font:400 24px/1.2 var(--display);margin:30px 0 14px}

details{border-bottom:1px solid var(--line);padding:16px 0}
summary{font-weight:600;list-style:none}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";float:right;color:var(--mustard)}
details[open] summary:after{content:"−"}
details p{color:var(--muted);margin:10px 0 0}

/* страница карты */
.paper{background:var(--ink-2);color:var(--text);border-radius:var(--radius-l);padding:36px}
.paper a{color:var(--mustard)}
.card-head{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:start}
.card-head img{border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.card-head h1{font:400 clamp(36px,5vw,56px)/1.05 var(--display);margin:0 0 10px;color:var(--text)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.tags span{background:var(--ink-3);border-radius:999px;padding:5px 12px;font-size:14px}
.tags.rev span{background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line)}
.yn{display:inline-block;margin-top:6px;font-weight:700;color:var(--mustard)}
.paper h2{color:var(--text);font-size:30px;margin-top:34px}
.paper p{margin:0 0 14px}
.facets{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
.facets div{background:var(--ink-3);border-radius:var(--radius-m);padding:16px}
.facets b{display:block;font:400 20px/1.2 var(--display);margin-bottom:6px;color:var(--text)}
.cta-box{margin-top:34px;background:var(--ink);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);border-radius:var(--radius-m);padding:26px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cta-box b{font:400 24px/1.2 var(--display)}
.crumbs{font-size:14px;color:var(--muted);margin:6px 0 18px}
.crumbs a{color:var(--muted)}
.pager{display:flex;justify-content:space-between;margin-top:26px;gap:12px}
@media (max-width:760px){.card-head{grid-template-columns:1fr}.card-head img{max-width:200px}
  .facets{grid-template-columns:1fr}.paper{padding:22px}}

footer{border-top:1px solid var(--line);padding:34px 0 50px;color:var(--muted);font-size:14px}
footer .row{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}
footer a{color:var(--muted)}
.wand-fx{position:fixed;inset:0;pointer-events:none;z-index:50}
.paper .btn-tg{color:var(--ink)}
.paper .btn-max{color:var(--text)}
.paper .btn{text-decoration:none}
.result a[data-more]{color:var(--mustard)}
@media (max-width:520px){.deck{grid-template-columns:repeat(3,1fr);gap:10px}.deck a{font-size:12px}
  .hero h1{font-size:38px}.table{min-height:380px}.fan{height:220px}.fan button{width:96px;height:160px;margin-left:-48px}
  .result{grid-template-columns:96px 1fr}.result img{width:96px}}
.spread-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.spread-card{display:block;background:var(--ink-2);border-radius:var(--radius-m);padding:20px;text-decoration:none;color:var(--text);
  border:1px solid transparent;transition:border-color .15s}
.spread-card:hover{border-color:var(--line)}
.spread-card b{font:400 22px/1.2 var(--display);display:block}
.spread-card span{font-size:13px;color:var(--mustard)}
.spread-card p{margin:8px 0 0;color:var(--muted);font-size:15px}
.spread-table{margin:26px 0;background:var(--ink);border-radius:var(--radius-m);padding:22px;color:var(--text)}
.spread-out{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-top:18px}
.spread-out:empty{display:none}
.sp-card{animation:rise .45s ease both}
.sp-card img{border-radius:10px;margin:6px 0;box-shadow:0 10px 22px rgba(0,0,0,.4);width:100%}
.sp-card img.rev{transform:rotate(180deg)}
.sp-card small{color:var(--mustard);font-size:12px;display:block;min-height:30px}
.sp-card b{font:400 18px/1.2 var(--display);display:block}
.sp-card p{margin:4px 0 0;font-size:13px;color:var(--muted)}
.sp-card a{font-size:13px}
.paper .spread-table a{color:var(--mustard)}
.positions{padding-left:22px}.positions li{margin:0 0 10px}.positions b{display:block;color:var(--text)}
.tips li{margin:0 0 6px}
@media (prefers-reduced-motion:reduce){.sp-card{animation:none}}
.sec-cta{margin-top:26px}
.price + .sec-cta{margin-top:22px}
.promo-wrap{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;
  background:rgba(10,8,16,.72);backdrop-filter:blur(3px);animation:fade .3s ease both}
.promo-wrap[hidden]{display:none}
.promo{position:relative;width:min(480px,100%);background:var(--ink-2);color:var(--text);text-align:center;
  border:1px solid var(--mustard);border-radius:var(--radius-l);padding:34px 28px 28px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);animation:rise .4s ease both}
.promo-ava{width:84px;height:84px;border-radius:50%;margin:0 auto 14px;box-shadow:0 0 0 3px var(--mustard)}
.promo .promo-t{font:400 clamp(28px,5vw,34px)/1.15 var(--display);margin:0 0 10px;color:var(--text)}
.promo p{margin:0 0 20px;color:var(--muted);font-size:16px}
.promo .btns{justify-content:center}
.promo-x{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;background:none;color:var(--muted);
  font-size:28px;line-height:1;cursor:pointer;border-radius:50%}
.promo-x:hover,.promo-x:focus-visible{color:var(--text);background:rgba(255,255,255,.08)}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.promo,.promo-wrap{animation:none}}
@media (prefers-reduced-motion:reduce){.promo{animation:none}}
.price-uses{margin-top:18px!important}
.price-uses li span,.price-uses li b{color:var(--muted);font-weight:400}
.tt{border-collapse:collapse;width:100%;font-size:15px;margin:6px 0 10px}
.tt th{text-align:left;color:var(--muted);font-weight:400;font-size:13px;padding:0 10px 8px 0}
.tt td{border-top:1px solid var(--line);padding:10px 10px 10px 0;vertical-align:top}
.tt td:last-child,.tt th:last-child{text-align:right;white-space:nowrap;padding-right:0}
footer .req{margin:16px 0 0;font-size:13px;opacity:.85}
