:root{
  --bg:#05070C; --bg2:#090D14;
  --red:#B11226; --red2:#7B0D19;
  --gold:#D6B25E; --gold2:#F3E2A3;
  --muted: rgba(255,255,255,.76);
  --muted2: rgba(255,255,255,.52);
  --line: rgba(255,255,255,.10);
  --gline: rgba(214,178,94,.22);
  --ink: rgba(255,255,255,.06);
  --ink2: rgba(214,178,94,.08);
}

html,body{ background:var(--bg); }
a{ transition: opacity .2s ease, transform .2s ease; }
::selection{ background: rgba(214,178,94,.28); }

/* ✅ “Рисовая бумага” (тёмная) + “лаковый” градиент */
.luxe-bg{
  background:
    radial-gradient(1100px 720px at 14% 12%, rgba(214,178,94,.18), transparent 58%),
    radial-gradient(980px 640px at 86% 18%, rgba(177,18,38,.16), transparent 60%),
    radial-gradient(1200px 900px at 50% 110%, rgba(255,255,255,.07), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
}

/* ✅ Лёгкий “бумажный шум” (SVG feTurbulence) */
.ricepaper{
  position:relative;
}
.ricepaper::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='800'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='800' height='800' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  background-size: 420px 420px;
  mix-blend-mode: overlay;
}

/* ✅ Китайская решётка (lattice) */
.lattice{
  position:relative;
}
.lattice::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.18;
  background:
    linear-gradient(90deg, transparent 0 12px, rgba(214,178,94,.22) 12px 13px, transparent 13px 26px),
    linear-gradient(0deg,  transparent 0 12px, rgba(214,178,94,.18) 12px 13px, transparent 13px 26px);
  background-size: 26px 26px;
  mask: linear-gradient(180deg, transparent, #000 14%, #000 86%, transparent);
}

/* ✅ Каллиграфический водяной знак */
.hanzi-watermark{
  position:relative;
}
.hanzi-watermark::before{
  content:"禅  气  和  静  福  养  生";
  position:absolute;
  inset:auto -5% 6% -5%;
  font-family: 'Noto Serif SC', serif;
  font-weight:800;
  letter-spacing:.55em;
  font-size: clamp(18px, 2.8vw, 34px);
  color: rgba(243,226,163,.10);
  transform: rotate(-6deg);
  pointer-events:none;
  white-space:nowrap;
  opacity:.9;
  mask: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}

/* ✅ “Китайский паттерн” кругами оставим, но мягче */
.pattern{ position:relative; }
.pattern::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23D6B25E' stroke-opacity='0.22' stroke-width='1'%3E%3Cpath d='M120 16c24 0 44 20 44 44s-20 44-44 44-44-20-44-44 20-44 44-44z'/%3E%3Cpath d='M120 136c24 0 44 20 44 44s-20 44-44 44-44-20-44-44 20-44 44-44z'/%3E%3Cpath d='M16 120c0-24 20-44 44-44s44 20 44 44-20 44-44 44-44-20-44-44z'/%3E%3Cpath d='M136 120c0-24 20-44 44-44s44 20 44 44-20 44-44 44-44-20-44-44z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:240px 240px; mix-blend-mode:screen;
}

/* ✅ “Облака” как разделитель */
.cloud-divider{
  height:18px;
  opacity:.9;
  background-repeat: repeat-x;
  background-size: 220px 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='18' viewBox='0 0 220 18'%3E%3Cpath fill='none' stroke='%23D6B25E' stroke-opacity='.45' stroke-width='1.2' d='M0 13c18 0 18-8 36-8s18 8 36 8 18-8 36-8 18 8 36 8 18-8 36-8 18 8 36 8'/%3E%3C/svg%3E");
  mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

/* Базовые блоки */
.glass{
  backdrop-filter: blur(14px);
  background: rgba(10,14,22,.55);
  border: 1px solid rgba(214,178,94,.22);
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}

.card{
  position:relative; border-radius:26px;
  background: rgba(12,16,24,.66);
  border: 1px solid rgba(214,178,94,.14);
  box-shadow: 0 24px 70px rgba(0,0,0,.42);
  overflow:hidden;
}
.card::before{
  content:""; position:absolute; inset:-2px; pointer-events:none; opacity:.55;
  background:
    radial-gradient(650px 260px at 10% 10%, rgba(214,178,94,.18), transparent 62%),
    radial-gradient(520px 220px at 90% 0%, rgba(177,18,38,.18), transparent 58%);
}
.card::after{
  /* “углы” как восточная рамка */
  content:""; position:absolute; inset:14px; pointer-events:none; border-radius:18px;
  border:1px solid rgba(214,178,94,.10);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding:10px;
}
.card > *{ position:relative; }

.shine-border{ position:relative; }
.shine-border::after{
  content:""; position:absolute; inset:-1px; border-radius:28px; pointer-events:none;
  background: linear-gradient(90deg, rgba(214,178,94,.55), rgba(177,18,38,.35), rgba(214,178,94,.55));
  opacity:.22;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  padding:1px;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.hover-lift{
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, filter .25s ease;
}
.hover-lift:hover{
  transform: translateY(-5px);
  border-color: rgba(214,178,94,.34);
  box-shadow: 0 38px 100px rgba(0,0,0,.55);
  filter: saturate(1.08);
}

.badge{
  padding:.30rem .70rem; border-radius:999px;
  border: 1px solid rgba(214,178,94,.38);
  color: rgba(243,226,163,.96);
  font-size:.8rem;
  background: rgba(10,14,22,.34);
}

/* ✅ Кнопки чуть “лаковее” */
.btn-primary{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.92rem 1.18rem; border-radius:999px;
  background: linear-gradient(90deg, var(--red), var(--red2));
  color:#fff; font-weight:900;
  box-shadow: 0 24px 70px rgba(177,18,38,.30);
  border:1px solid rgba(255,255,255,.10);
}
.btn-primary:hover{ transform: translateY(-1px); }

.btn-gold{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.92rem 1.18rem; border-radius:999px;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  color:#0b0f14; font-weight:900;
  box-shadow: 0 26px 90px rgba(214,178,94,.18);
  border:1px solid rgba(0,0,0,.18);
}
.btn-gold:hover{ transform: translateY(-1px); }

.btn-outline{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.92rem 1.18rem; border-radius:999px;
  border:1px solid rgba(214,178,94,.62);
  color: rgba(243,226,163,.96);
  background: rgba(10,14,22,.35);
}
.btn-outline:hover{ transform: translateY(-1px); border-color: rgba(214,178,94,.85); }

.seal{
  display:inline-grid; place-items:center;
  height:46px; width:46px; border-radius:14px;
  background: linear-gradient(180deg, rgba(177,18,38,.95), rgba(123,13,25,.95));
  border:1px solid rgba(243,226,163,.35);
  box-shadow: 0 18px 55px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.10);
}

/* ✅ Вертикальная каллиграфия */
.vertical-hanzi{
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-family: 'Noto Serif SC', serif;
  letter-spacing: .12em;
  color: rgba(243,226,163,.80);
  opacity:.9;
}

.kicker{
  color: var(--muted2);
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
}

.subtle{ color: var(--muted); }
.muted2{ color: var(--muted2); }

.divider{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(214,178,94,.35), transparent);
}

.line-clamp-2{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-3{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* ✅ Навигация “кистью” */
.navlink{
  position:relative;
  padding-bottom: 6px;
}
.navlink::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(243,226,163,.9), transparent);
  transform: scaleX(0);
  transform-origin:center;
  transition: transform .22s ease;
  opacity:.85;
  filter: blur(.2px);
}
.navlink:hover::after{ transform: scaleX(1); }

/* Swiper bullets */
.swiper-pagination-bullet{
  width: 8px; height: 8px;
  background: rgba(255,255,255,.28);
  opacity: 1;
}
.swiper-pagination-bullet-active{
  background: rgba(243,226,163,.95);
  box-shadow: 0 0 0 6px rgba(214,178,94,.18);
}

/* nice scrollbar */
*::-webkit-scrollbar{ height:10px; width:10px; }
*::-webkit-scrollbar-thumb{ background: rgba(214,178,94,.24); border-radius:999px; }
*::-webkit-scrollbar-track{ background: rgba(255,255,255,.04); }

@media (prefers-reduced-motion: reduce){
  .hover-lift{ transition:none; }
  a{ transition:none; }
}
