/* =====================================================================
   Две темы. Светлая «галерея» — по умолчанию для тех, у кого система
   светлая; тёмная «студия» — для тёмной системы. Переключатель в шапке
   перекрывает и то, и другое и запоминается в браузере зрителя.

   Живопись на светлом фоне требует рамки и тени, на тёмном — свечения:
   поэтому у карточек разные значения --frame и --lift, а не только цвет.
   ===================================================================== */
:root{
  --serif:"Inter Tight",Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --brand:"Cormorant Garamond",Georgia,serif;
  --sans:Inter,"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --ground:#F4F1EC;
  --surface:#FFFFFF;
  --surface-2:#EDE9E2;
  --surface-3:#E3DED5;
  --ink:#1A1714;
  --text:#3A342D;
  --muted:#6E655B;
  --faint:#928879;
  --rule:#DCD6CC;
  --rule-2:#C9C1B4;
  --gold:#8A6A21;
  --gold-dim:#B99843;
  --gold-soft:#F5EEDC;
  --good:#2E6B4A;
  --warn:#8A6215;
  --crit:#A2412E;
  --onGold:#FFFFFF;
  --frame:1px solid #DCD6CC;
  --lift:0 1px 2px rgba(26,23,20,.06), 0 12px 28px -20px rgba(26,23,20,.5);
  --shadow:0 1px 3px rgba(26,23,20,.07), 0 18px 44px -30px rgba(26,23,20,.55);
  --scrim:rgba(255,255,255,.86);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0B0A09; --surface:#141210; --surface-2:#1C1916; --surface-3:#25211D;
    --ink:#F2EDE6; --text:#DCD5CC; --muted:#968C81; --faint:#6B635B;
    --rule:#2B2622; --rule-2:#3A342E;
    --gold:#C9A24B; --gold-dim:#8A6F2E; --gold-soft:#221C10;
    --good:#5FAF83; --warn:#D2A040; --crit:#CF6B57;
    --onGold:#12100C;
    --frame:1px solid #2B2622;
    --lift:0 2px 6px rgba(0,0,0,.5), 0 18px 44px -26px rgba(0,0,0,.95);
    --shadow:0 2px 6px rgba(0,0,0,.5), 0 18px 44px -26px rgba(0,0,0,.95);
    --scrim:rgba(11,10,9,.88);
  }
}
:root[data-theme="dark"]{
  --ground:#0B0A09; --surface:#141210; --surface-2:#1C1916; --surface-3:#25211D;
  --ink:#F2EDE6; --text:#DCD5CC; --muted:#968C81; --faint:#6B635B;
  --rule:#2B2622; --rule-2:#3A342E;
  --gold:#C9A24B; --gold-dim:#8A6F2E; --gold-soft:#221C10;
  --good:#5FAF83; --warn:#D2A040; --crit:#CF6B57;
  --onGold:#12100C;
  --frame:1px solid #2B2622;
  --lift:0 2px 6px rgba(0,0,0,.5), 0 18px 44px -26px rgba(0,0,0,.95);
  --shadow:0 2px 6px rgba(0,0,0,.5), 0 18px 44px -26px rgba(0,0,0,.95);
  --scrim:rgba(11,10,9,.88);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ground);color:var(--text);
  font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gold);margin:0 0 10px}
h1{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;
  font-size:clamp(30px,4.4vw,52px);line-height:1.06;color:var(--ink);margin:0;text-wrap:balance}
h2{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;
  font-size:clamp(20px,2.4vw,27px);line-height:1.2;color:var(--ink);margin:0 0 18px}
h3{font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.3;
  color:var(--ink);margin:0}
.lede{color:var(--muted);font-size:17px;max-width:62ch;margin:14px 0 0;text-wrap:pretty}

/* ------------------------------------------------------------ шапка */
.siteheader{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;
  padding:14px clamp(18px,4vw,52px);background:var(--scrim);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.brandmark{display:flex;align-items:center;gap:11px}
.brandmark .dot{width:28px;height:28px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 32% 28%, #F0D79A 0%, var(--gold) 46%, var(--gold-dim) 100%)}
.brandmark b{font-family:var(--serif);font-size:19px;color:var(--ink);display:block;line-height:1.05}
.brandmark i{font-family:var(--sans);font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--faint);font-style:normal}
.sitenav{display:flex;gap:24px;font-size:14.5px;color:var(--muted)}
.sitenav a:hover{color:var(--gold)}
.headeractions{margin-left:auto;display:flex;align-items:center;gap:10px}
.langswap{font-family:var(--sans);font-size:11px;letter-spacing:.08em;
  color:var(--muted);border:1px solid var(--rule-2);border-radius:3px;padding:5px 9px}
.langswap:hover{color:var(--gold);border-color:var(--gold-dim)}
@media(max-width:760px){.sitenav{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;border-radius:4px;font-size:14.5px;font-weight:500;
  border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}
.btn.pri{background:var(--gold);color:var(--onGold);font-weight:600}
.btn.pri:hover{filter:brightness(1.08)}
.btn.sec{border-color:var(--rule-2);color:var(--text)}
.btn.sec:hover{border-color:var(--gold-dim);color:var(--gold)}
.btn.ghost{color:var(--muted)}
.btn.ghost:hover{color:var(--gold)}

main{display:block}
.pagehead,.shelf,.coursepage,.hero{padding-left:clamp(18px,4vw,52px);padding-right:clamp(18px,4vw,52px)}
.pagehead{padding-top:46px;padding-bottom:8px;max-width:1400px;margin:0 auto}
.shelf{padding-top:44px;max-width:1400px;margin:0 auto}

/* -------------------------------------------------------- обложки */
.grid{display:grid;gap:24px 20px;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));
  max-width:1400px;margin:22px auto 0;padding:0 clamp(18px,4vw,52px)}
.shelf .grid,.related .grid,.hero .grid{padding-left:0;padding-right:0}
.card{display:block}
.thumb{position:relative;aspect-ratio:16/10;border-radius:5px;overflow:hidden;
  background:var(--surface-2);border:var(--frame);box-shadow:var(--lift);
  transition:border-color .18s,transform .18s,box-shadow .18s}
.card:hover .thumb{border-color:var(--gold-dim);transform:translateY(-3px)}
.thumb .art{width:100%;height:100%;object-fit:cover}
.thumb .dur{position:absolute;right:8px;bottom:8px;background:rgba(8,7,6,.8);
  font-family:var(--sans);font-size:10.5px;color:#F2EDE6;
  padding:3px 7px;border-radius:3px;backdrop-filter:blur(3px);letter-spacing:.02em}
.card h3{margin-top:11px}
.card:hover h3{color:var(--gold)}
.meta{font-family:var(--sans);font-size:11px;color:var(--faint);
  margin:5px 0 0;letter-spacing:.02em}
.art-fallback{width:100%;height:100%;display:grid;place-items:center;
  background:
    repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb,var(--gold) 7%,transparent) 9px 10px),
    linear-gradient(150deg, var(--surface-3), var(--surface-2) 60%, var(--gold-soft));
  position:relative}
.art-fallback::after{content:"";width:26px;height:26px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%, color-mix(in srgb,var(--gold) 55%,transparent) 0%,
             color-mix(in srgb,var(--gold) 22%,transparent) 60%, transparent 72%);opacity:.85}

/* ------------------------------------------- каталог на телефоне: 2 в ряд
   Порог 228px хорош для большого экрана, но на 390px он даёт один
   столбец: карточка во всю ширину, обложка в пол-экрана, и до третьего
   курса надо прокрутить экран целиком. Каталог перестаёт читаться как
   каталог — а это главный экран школы.

   Поэтому на узком экране колонки задаются числом, а не порогом: ровно
   две. Вместе с ними ужимается всё, что на маленькой карточке кажется
   крупным, — отступы, название, подпись, плашка длительности. Название
   обрезается второй строкой: иначе длинные названия («Натюрморт с
   медными предметами при боковом свете») растягивают одну карточку и
   ряд встаёт ступенькой.

   Ниже 340px (iPhone SE и подобные) два столбца дали бы 150px на
   карточку — там честнее один. */
@media(max-width:700px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin-top:16px}
  .card h3{margin-top:8px;font-size:14.5px;line-height:1.32;
    display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;
    -webkit-box-orient:vertical;overflow:hidden}
  /* Подпись — в одну строку: «Художник · Многофигурные композиции»
     переносится и делает карточку на полстроки выше соседней, отчего
     ряд идёт ступенькой. Ступень и жанр и в обрезанном виде читаются. */
  .card .meta{font-size:10px;margin-top:4px;letter-spacing:0;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .thumb{border-radius:4px}
  .thumb .dur{right:6px;bottom:6px;font-size:9.5px;padding:2px 5px}
}
@media(max-width:339px){
  .grid{grid-template-columns:minmax(0,1fr)}
  .card h3{font-size:16px;-webkit-line-clamp:3;line-clamp:3}
}

/* ---------------------------------------------------------- главная */
.hero{padding-top:clamp(56px,9vw,110px);padding-bottom:56px;max-width:1400px;margin:0 auto;
  display:grid;gap:44px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:32px}}
.hero .btnrow{margin-top:26px}
.herostats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  border-top:1px solid var(--rule);padding-top:20px}
.herostats b{font-family:var(--sans);font-size:27px;color:var(--gold);
  display:block;line-height:1}
.herostats span{font-size:12.5px;color:var(--faint);display:block;margin-top:5px}
.btnrow{display:flex;flex-wrap:wrap;gap:11px}
.stagegrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  max-width:1400px;margin:20px auto 0}
.catalog{padding-bottom:64px}
.stagecard{border:1px solid var(--rule);border-radius:5px;padding:17px 18px;
  background:var(--surface);transition:border-color .18s}
.stagecard:hover{border-color:var(--gold-dim)}
.stagecard b{font-family:var(--serif);font-size:17px;color:var(--ink);display:block}
.stagecard span{font-family:var(--sans);font-size:11px;color:var(--faint);
  display:block;margin-top:6px}

/* ------------------------------------------------------ карточка курса */
.coursepage{max-width:1120px;margin:0 auto;padding-top:26px;padding-bottom:70px}
.crumbs{font-family:var(--sans);font-size:11.5px;color:var(--muted);margin-bottom:22px}
.crumbs a:hover{color:var(--gold)}
.coursehead{display:grid;gap:34px;grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start}
@media(max-width:860px){.coursehead{grid-template-columns:1fr}}
.coursehero{border-radius:6px;overflow:hidden;border:var(--frame);box-shadow:var(--lift);
  background:var(--surface-2);aspect-ratio:16/10}
.coursehero img{width:100%;height:100%;object-fit:cover}
.courseintro h1{font-size:clamp(26px,3.4vw,38px)}
.facts{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.facts li{font-family:var(--sans);font-size:11.5px;color:var(--muted);
  border:1px solid var(--rule);border-radius:3px;padding:5px 10px}
.courseintro .btnrow{margin-top:24px}
.curriculum,.materials,.related{margin-top:52px}
.llist{list-style:none;padding:0;margin:0;border:1px solid var(--rule);border-radius:5px;
  overflow:hidden;background:var(--surface)}
.lrow{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;
  padding:13px 17px;border-bottom:1px solid var(--rule)}
.lrow:last-child{border-bottom:none}
.lrow .ln{font-family:var(--sans);font-size:11.5px;color:var(--faint);min-width:20px}
.lrow .lt{color:var(--ink);font-size:15px}
.lrow .lm{font-family:var(--sans);font-size:11.5px;color:var(--faint)}
.lrow.free .lt{color:var(--text)}
.chip{font-family:var(--sans);font-size:10px;letter-spacing:.07em;
  text-transform:uppercase;padding:3px 7px;border-radius:3px;border:1px solid var(--rule-2);color:var(--muted)}
.chip.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}
.materials p{color:var(--muted);max-width:64ch;margin:0}

/* ---- страница курса по образцу Udemy/Domestika (19.09.2026) ---- */
.udl{max-width:1200px}
.udl-hero{background:#15120F;color:#EDE7DE;border-radius:10px;margin:0 0 30px;
  padding:clamp(22px,4vw,44px) clamp(18px,4vw,44px)}
.udl-heroin{max-width:760px}
.udl-crumbs{color:#bdb3a4;margin-bottom:16px}
.udl-crumbs a{color:#d9c38e}
.udl-crumbs a:hover{color:#fff}
.udl-hero h1{color:#fff;font-size:clamp(28px,3.8vw,44px);margin:0 0 12px}
.udl-hero .lede{color:#d8d0c3;margin:0}
.udl-meta{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;
  font-size:14px;color:#cfc6b8}
.udl-meta b{color:#e8c77a;font-weight:600}
.udl-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;align-items:start}
.udl-main{min-width:0}
.udl-box{border:1px solid var(--rule);border-radius:8px;padding:20px 22px;margin:0 0 26px;background:var(--surface)}
.udl-box h2,.udl-curr h2{font-size:22px;margin:0 0 14px}
.udl-faq .faqlist{max-width:none;border-top:0}
.udl-faq .faqlist summary{font-family:var(--sans);font-size:16px;font-weight:600;padding:14px 32px 14px 0}
.udl-faq .faqlist details p{font-size:15px;margin:0 0 14px}
.udl-works .btn{margin-top:4px}
.udl-result{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:20px;align-items:start}
.udl-thumb{border-radius:6px;overflow:hidden;aspect-ratio:16/10;background:var(--surface-2)}
.udl-thumb img{width:100%;height:100%;object-fit:cover}
.udl-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.udl-checks li{position:relative;padding-left:26px;line-height:1.45;color:var(--text)}
.udl-checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--gold);font-weight:700}
.udl-curr{margin:0 0 26px}
.udl-curr > .dim{margin:-6px 0 12px;font-size:14px}
.udl-sec{border:1px solid var(--rule);border-radius:8px;background:var(--surface);margin:0 0 10px;overflow:hidden}
.udl-sec summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;
  padding:14px 18px;background:var(--surface-2);font-weight:600;list-style:none}
.udl-sec summary::-webkit-details-marker{display:none}
.udl-sec summary::before{content:"▾";margin-right:8px;color:var(--muted);transition:transform .15s}
.udl-sec:not([open]) summary::before{transform:rotate(-90deg)}
.udl-sec summary > span:first-child{flex:1}
.udl-sec summary .dim{font-weight:400;font-size:13.5px}
.udl-list{border:0;border-radius:0}
.udl-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;
  padding:11px 18px;border-top:1px solid var(--rule)}
.udl-ic{font-size:10px;color:var(--muted)}
.udl-lt{color:var(--ink);font-size:15px}
.udl-lm{font-family:var(--sans);font-size:12px;color:var(--faint)}
.udl-free{font-size:13px;color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.udl-note{margin:0;padding:14px 18px;color:var(--text);line-height:1.5}
.udl-tname{display:flex;align-items:center;gap:12px;margin:0 0 10px;font-size:17px}
.udl-tname .avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:var(--gold-soft);color:var(--gold);font-weight:700;font-size:15px}
.udl-teacher p{margin:0;line-height:1.55;color:var(--text)}
.udl-card{position:sticky;top:16px;border:1px solid var(--rule-2);border-radius:10px;overflow:hidden;
  background:var(--surface);box-shadow:var(--lift)}
.udl-cardimg{position:relative;aspect-ratio:16/10;background:var(--surface-2)}
.udl-cardimg img{width:100%;height:100%;object-fit:cover;display:block}
.udl-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;
  border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;font-size:20px;
  border:1px solid rgba(255,255,255,.4)}
.udl-play:hover{background:var(--gold);color:var(--onGold)}
.udl-cardin{padding:18px 18px 20px;display:grid;gap:10px}
.udl-club{margin:0;font-size:14px;color:var(--muted);line-height:1.4}
.udl-wide{width:100%;justify-content:center}
.udl-cardin h3{font-size:15px;margin:10px 0 0}
.udl-inc{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:14px;color:var(--text)}
.udl-inc li{padding-left:22px;position:relative}
.udl-inc li::before{content:"▸";position:absolute;left:4px;color:var(--gold)}
.udl .related{margin-top:30px}
@media(max-width:960px){
  .udl-grid{grid-template-columns:minmax(0,1fr)}
  .udl-card{position:static;order:-1}
}
@media(max-width:560px){
  .udl-result{grid-template-columns:minmax(0,1fr)}
  .udl-row{grid-template-columns:auto minmax(0,1fr) auto;padding:10px 14px}
  .udl-free{grid-column:2;grid-row:2}
}

/* ------------------------------------------------------------ подвал */
.sitefooter{margin-top:76px;border-top:1px solid var(--rule);
  padding:26px clamp(18px,4vw,52px);display:flex;flex-wrap:wrap;gap:12px 28px;
  justify-content:space-between;font-family:var(--sans);
  font-size:11.5px;color:var(--faint)}
.sitefooter a:hover{color:var(--gold)}

/* ------------------------------------------------------- переключатель */
.themeswap{display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:32px;border:1px solid var(--rule-2);border-radius:3px;
  color:var(--muted);cursor:pointer;background:none;transition:color .15s,border-color .15s}
.themeswap:hover{color:var(--gold);border-color:var(--gold-dim)}
.themeswap svg{width:16px;height:16px;display:block}
.themeswap .moon{display:none}
:root[data-theme="dark"] .themeswap .sun{display:none}
:root[data-theme="dark"] .themeswap .moon{display:block}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .themeswap .sun{display:none}
  :root:not([data-theme="light"]) .themeswap .moon{display:block}
}

/* ------------------------------------------------------------ тарифы
   Страница /club/. Ни одного нового цвета: всё через токены, поэтому
   тёмная тема работает без отдельного блока. Золото тратится в одном
   месте — на карточке с самой низкой ценой месяца. */
.plans,.cwrap{max-width:1400px;margin-left:auto;margin-right:auto;
  padding-left:clamp(18px,4vw,52px);padding-right:clamp(18px,4vw,52px)}
.plans{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));width:100%;box-sizing:border-box;
  align-items:start;margin-top:14px;margin-bottom:14px}
.plansrow{max-width:1400px;margin:34px auto 0;font:600 22px/1.3 var(--serif);
  color:var(--ink);padding-left:clamp(18px,4vw,52px);padding-right:clamp(18px,4vw,52px)}
.plan{position:relative;display:flex;flex-direction:column;gap:14px;
  background:var(--surface);border:var(--frame);border-radius:14px;padding:24px 22px}
.plan.best{border-color:var(--gold-dim);background:var(--gold-soft);box-shadow:var(--lift)}
.planflag{position:absolute;top:-11px;left:22px;background:var(--gold);color:var(--onGold);
  font:600 11px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;
  padding:6px 10px;border-radius:99px}
.plan h3{margin:0;font:600 17px/1.3 var(--serif);color:var(--ink)}
.planrate{margin:0;display:flex;flex-direction:column;gap:3px}
.planrate b{font:700 40px/1 var(--serif);color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.planrate span{font:400 13px/1.4 var(--sans);color:var(--muted)}
.plantotal{margin:0;font:500 13px/1.5 var(--sans);color:var(--text);
  font-variant-numeric:tabular-nums}
.planfacts{list-style:none;margin:0;padding:14px 0 0;border-top:var(--frame);
  display:flex;flex-direction:column;gap:7px}
.planfacts li{font:400 13.5px/1.45 var(--sans);color:var(--text);
  padding-left:17px;position:relative}
.planfacts li::before{content:'';position:absolute;left:0;top:.52em;width:7px;height:7px;
  border-radius:99px;background:var(--gold-dim)}
.plan .btn{margin-top:auto;text-align:center;justify-content:center}
.plansnote{margin:0;font:400 13px/1.6 var(--sans);color:var(--muted);
  max-width:62ch}

.incgrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.inc b{display:block;font:600 15px/1.35 var(--serif);color:var(--ink);margin-bottom:5px}
.inc p{margin:0;font:400 13.5px/1.6 var(--sans);color:var(--muted)}

.cwrap{margin-top:40px;margin-bottom:40px}
.cwrap.tight{margin-top:0;margin-bottom:0}
.compare{padding-left:24px;padding-right:24px;padding-top:26px;padding-bottom:26px;background:var(--surface-2);
  border:var(--frame);border-radius:14px}
.compare h2{margin:0 0 10px;font:600 19px/1.3 var(--serif);color:var(--ink)}
.compare .lede{margin:0 0 8px;max-width:64ch}
.compare .fine{margin:0 0 16px;font:400 13px/1.6 var(--sans);
  color:var(--muted);max-width:64ch}

.rules{margin:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.rules dt{font:600 14.5px/1.4 var(--sans);color:var(--ink);margin-bottom:5px}
.rules dd{margin:0;font:400 13.5px/1.6 var(--sans);color:var(--muted)}

.freestrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  padding:20px 24px;border:var(--frame);border-radius:14px;background:var(--surface)}
.freestrip b{font:600 15px/1.3 var(--serif);color:var(--ink)}
.freestrip p{margin:0;flex:1 1 240px;font:400 13.5px/1.5 var(--sans);
  color:var(--muted)}
@media (max-width:560px){
  .plan{padding:20px 18px}
  .planrate b{font-size:34px}
  .compare,.freestrip{padding:18px}
}

/* ---------------------------------------------- шапка на узком экране
   На 390px шапка не помещалась и весь сайт ехал вбок — не одна страница,
   а все 752. Причина: пять элементов справа при фиксированных отступах.
   Ужимаем отступы и кнопки, снимаем подпись под логотипом. */
@media (max-width:600px){
  .siteheader{gap:10px;padding:11px 14px}
  .brandmark{min-width:0}
  .brandmark i{display:none}
  .brandmark b{font-size:17px}
  .headeractions{gap:7px}
  .headeractions .btn{padding:8px 12px;font-size:13.5px}
  .langswap{padding:5px 7px}
}

/* ------------------------------------------- шапка на очень узком (320px)
   Правка 600px убрала горизонтальную прокрутку, но не наезд: браузер
   перестал раздвигать страницу и вместо этого сжал flex-элементы. На
   320px правая группа начиналась на 70px, а слово «Aurum» кончалось на
   106 — переключатель темы лежал прямо на буквах. На 360px уже впритык
   (зазор 4px), на 390px просторно, поэтому и «на 390 всё в порядке».

   Две меры. Первая — перестать сжимать: `flex:none` у правой группы и
   обрезка у логотипа. Теперь при любой будущей кнопке текст логотипа
   укоротится, но никогда не окажется под чужим элементом. Вторая —
   освободить место: прячем «Войти». Функции это не отнимает, обе кнопки
   ведут на один адрес (#/app), где и вход, и регистрация на одном
   экране; на такой ширине один призыв читается лучше двух.

   Порог 375px — ширина iPhone SE и mini, и последняя, на которой было
   тесно. Выше него ничего не меняем: Павел сказал, что на 390 всё в
   порядке, и это правда — там зазор 34px. Брать порог шире значило бы
   убирать кнопку там, где она помещается. */
@media (max-width:430px){
  .siteheader{gap:8px;padding:10px 12px}
  .brandmark{overflow:hidden}
  .brandmark b{white-space:nowrap;font-size:16.5px}
  .headeractions{gap:6px}
  .headeractions .btn{padding:7px 11px;font-size:13px}
  .themeswap{width:30px;height:30px}
  .langswap{padding:4px 6px}
}

/* «Войти» убираем не везде, а там, где без этого тесно. Порог разный,
   потому что причина — длина слов: «Войти»+«Начать» против «Sign in»+
   «Get started». По-русски хватает 375px, по-английски тесно до 430. */
@media (max-width:375px){
  .headeractions{flex:none}
  .headeractions .btn.sec{display:none}
}
@media (max-width:430px){
  html[lang="en"] .headeractions{flex:none}
  html[lang="en"] .headeractions .btn.sec{display:none}
}

/* ------------------------------------------------------- документы
   Оферта и политика данных. Читают их редко, но когда читают — читают
   внимательно, поэтому строка узкая и воздуха больше обычного. */
.legal{max-width:64ch;padding:26px 24px;background:var(--surface);
  border:var(--frame);border-radius:14px}
.legal h2{margin:26px 0 8px;font:600 17px/1.35 var(--serif);color:var(--ink)}
.legal h2:first-of-type{margin-top:0}
.legal p{margin:0 0 12px;font:400 14.5px/1.7 var(--sans);
  color:var(--text)}
.legal b{color:var(--ink);font-weight:600}
.legaldate{margin-top:26px!important;padding-top:14px;border-top:var(--frame);
  font-size:12.5px!important;color:var(--muted)!important}
/* Пропуск, который должен заполнить владелец. Нарочно бросается в глаза:
   такую страницу нельзя выложить, не заметив. */
.legal .gap{background:var(--gold-soft);color:var(--gold);border:1px dashed var(--gold-dim);
  border-radius:4px;padding:1px 7px;font-size:13px;white-space:nowrap}
.legalwarn{margin:0 0 20px!important;padding:11px 13px;border-radius:8px;
  background:var(--gold-soft);border:1px solid var(--gold-dim);
  font-size:13.5px!important;line-height:1.55!important;color:var(--text)!important}

/* =====================================================================
   Витрина по образцу Udemy/Domestika (19.09.2026): главная блоками,
   каталог с фильтрами, ступени, мастера, меню на телефоне, подвал.
   ===================================================================== */
.sitenav a[aria-current="page"]{color:var(--ink);font-weight:600}
/* На телефоне меню не прячем, а даём вторую строку с прокруткой вбок. */
@media(max-width:760px){
  .siteheader{flex-wrap:wrap;row-gap:8px}
  .sitenav{display:flex;order:3;width:100%;gap:18px;overflow-x:auto;font-size:14px;
    padding:2px 0 2px;scrollbar-width:none}
  .sitenav::-webkit-scrollbar{display:none}
  .sitenav a{white-space:nowrap}
}
.sitefooter{display:block;font-family:inherit}
.footcols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-width:1400px;margin:0 auto}
.footcols b{display:block;font:600 13px/1.4 var(--sans);color:var(--ink);margin-bottom:8px}
.footcols p{margin:0;font-size:13px;color:var(--muted)}
.footcols a{display:block;font-size:13.5px;color:var(--muted);margin:0 0 6px}
.footlow{max-width:1400px;margin:22px auto 0;padding-top:16px;border-top:1px solid var(--rule);
  font-family:var(--sans);font-size:11px;color:var(--faint)}

.card .thumb .freeflag{position:absolute;left:8px;top:8px;background:rgba(8,7,6,.78);color:#e8d9b0;
  font-size:11px;padding:3px 7px;border-radius:3px}
.cprice{margin:6px 0 0;display:flex;align-items:baseline;gap:8px}
.cprice b{font:700 16px/1 var(--sans);color:var(--ink)}
.cprice span{font-size:12px;color:var(--faint)}

/* главная */
.homehero{max-width:1400px;margin:0 auto;padding:clamp(40px,7vw,90px) clamp(18px,4vw,52px) 30px}
.homehero .heroinner{max-width:760px}
.homehero h1{font-size:clamp(32px,5vw,60px);line-height:1.05;margin:10px 0 14px}
.herosearch{display:flex;gap:8px;margin:26px 0 0;max-width:620px}
.herosearch .input{flex:1;min-width:0;font-size:16px;padding:13px 14px}
.homehero .herostats{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:760px}
.homehero .herostats li{border-top:1px solid var(--rule-2);padding-top:12px}
.shelfhead{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:0 0 16px}
.shelfhead h2,.shelfhead h3{margin:0}
.shelfhead a{font-size:14px;color:var(--gold);white-space:nowrap}
.genregrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.genretile{position:relative;display:block;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:var(--surface-2)}
.genretile img,.genretile .art-fallback{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.genretile:hover img{transform:scale(1.05)}
.genretile span{position:absolute;inset:auto 0 0 0;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(8,7,6,.85));color:#fff}
.genretile b{display:block;font:600 17px/1.2 var(--serif)}
.genretile i{font-style:normal;font-size:12.5px;color:#d9cfbf}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:st}
.steps li{counter-increment:st;border:1px solid var(--rule);border-radius:8px;padding:18px;background:var(--surface);position:relative}
.steps li::before{content:counter(st);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--gold-soft);color:var(--gold);font-weight:700;margin-bottom:10px}
.steps b{display:block;font:600 16px/1.3 var(--serif);color:var(--ink);margin-bottom:6px}
.steps p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.mastergrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.mastercard{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--rule);border-radius:8px;padding:18px;background:var(--surface)}
.mastercard:hover{border-color:var(--gold-dim)}
.mastercard .avatar,.masterhead .avatar{flex:none;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  background:var(--gold-soft);color:var(--gold);font:700 18px/1 var(--sans)}
.mastercard b{display:block;font:600 18px/1.25 var(--serif);color:var(--ink)}
.mastercard i{font-style:normal;font-size:12.5px;color:var(--faint)}
.mastercard p{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
.clubband{max-width:1400px;margin:56px auto 0;box-sizing:border-box;padding:30px clamp(18px,4vw,52px);display:flex;flex-wrap:wrap;
  gap:18px;align-items:center;justify-content:space-between;background:#15120F;color:#EDE7DE;border-radius:12px;
  width:calc(100% - 2*clamp(18px,4vw,52px))}
.clubband h2{color:#fff;margin:4px 0 6px}
.clubband p{margin:0;color:#cfc6b8}
.clubband .eyebrow{color:#e8c77a}

/* каталог */
.chips{max-width:1400px;margin:14px auto 0;padding:0 clamp(18px,4vw,52px);display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chipbtn{flex:none;border:1px solid var(--rule-2);background:var(--surface);color:var(--text);border-radius:99px;
  padding:7px 14px;font:inherit;font-size:13.5px;cursor:pointer;white-space:nowrap}
.chipbtn span{color:var(--faint);font-size:12px}
.chipbtn[aria-pressed="true"]{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.chipbtn[aria-pressed="true"] span{color:inherit;opacity:.7}
.catwrap{max-width:1400px;margin:22px auto 0;padding:0 clamp(18px,4vw,52px);display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}
.filters{position:sticky;top:84px;display:grid;gap:12px;border:1px solid var(--rule);border-radius:10px;padding:16px;background:var(--surface)}
.fl{display:grid;gap:5px}
.fl span{font-size:12.5px;color:var(--muted)}
.fl .input{width:100%;box-sizing:border-box;font-size:14px;padding:8px 10px}
.flcheck{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}
.flcheck input{accent-color:var(--gold)}
.found{margin:0 0 14px;font-size:14px;color:var(--muted)}
.found b{color:var(--ink)}
.catmain .grid{padding:0}
.card[hidden]{display:none}
.empty{color:var(--muted)}
@media(max-width:900px){
  .catwrap{grid-template-columns:minmax(0,1fr)}
  .filters{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters .fl:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  .herosearch{flex-direction:column}
  .homehero .herostats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters{grid-template-columns:minmax(0,1fr)}
}

/* ступени и мастера */
.stagelist{list-style:none;max-width:1400px;margin:10px auto 0;padding:0 clamp(18px,4vw,52px);display:grid;gap:12px}
.stagerow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;align-items:center;border:1px solid var(--rule);
  border-radius:10px;padding:16px 18px;background:var(--surface)}
.stagerow:hover{border-color:var(--gold-dim)}
.snum{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font:700 18px/1 var(--sans)}
.sbody b{display:block;font:600 19px/1.25 var(--serif);color:var(--ink)}
.sbody i{font-style:normal;font-size:13px;color:var(--faint)}
.spics{display:flex;gap:6px}
.spics img{width:74px;height:48px;object-fit:cover;border-radius:4px}
.sgo{color:var(--gold);font-size:20px}
@media(max-width:700px){.spics{display:none}.stagerow{grid-template-columns:auto minmax(0,1fr) auto}}
.masterblock{max-width:1400px;margin:34px auto 0;padding:0 clamp(18px,4vw,52px)}
.masterhead{display:flex;gap:16px;align-items:center}
.masterhead h2{margin:0}
.masterhead .dim{margin:2px 0 0;color:var(--faint);font-size:13px}
.masterbio{max-width:70ch;line-height:1.6;color:var(--text);margin:14px 0 22px}
.masterblock .grid{padding:0}
/* клуб: аккуратнее — заголовок по центру, дополнение с разбором */
.clubhead{text-align:center}
.clubhead .lede{margin-left:auto;margin-right:auto;max-width:62ch}
.addon{display:flex;flex-wrap:wrap;gap:20px 36px;align-items:center;justify-content:space-between;border:1px solid var(--gold-dim);
  border-radius:12px;padding:24px;background:var(--gold-soft)}
.addon > div:first-child{flex:1 1 360px}
.addon h2{margin:4px 0 8px;font:600 21px/1.3 var(--serif);color:var(--ink)}
.addon p{margin:0;line-height:1.55;color:var(--text)}
.addonprice{display:grid;gap:6px;justify-items:start}
.addonprice b{font:700 38px/1 var(--serif);color:var(--ink)}
.addonprice span{font-size:13px;color:var(--muted)}
.udl-review{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;border:1px dashed var(--gold-dim);
  border-radius:8px;padding:10px 12px;text-decoration:none}
.udl-review b{font-size:14px;color:var(--ink)}
.udl-review span{grid-column:1;font-size:12.5px;color:var(--muted)}
.udl-review em{grid-column:2;grid-row:1/3;font:700 18px/1 var(--sans);font-style:normal;color:var(--gold)}
.udl-review:hover{border-style:solid}
@media (min-width:761px){.chips{flex-wrap:wrap;overflow:visible}}
.filtmore{display:none}
@media (max-width:900px){
  .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters .fl:first-child{grid-column:auto}
  .filtmore{display:block;grid-column:1/-1}
  .filters:not(.open) .fx{display:none}
}

/* --- кураторство, мастер-классы, техника ---------------------------- */
.mwhat{border:1px solid var(--rule);border-radius:12px;padding:22px;background:var(--surface)}
.mwhat h2{margin:0 0 10px}
.msteps{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--ink-2)}
.mtitles{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mtitles li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;
  border:1px solid var(--rule);border-radius:12px;padding:14px 16px;background:var(--surface)}
.mtitles li p{margin:4px 0 0;color:var(--ink-2)}
.mmods{list-style:none;margin:0;padding:0;display:grid;gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.mmod{border:1px solid var(--rule);border-radius:12px;padding:18px;background:var(--surface);
  display:flex;flex-direction:column;gap:10px}
.mmodhead{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:start}
.mmodhead h3{margin:0;font-size:1.05rem}
.mnum{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent-soft,rgba(150,110,30,.14));font-weight:600}
.mprice{white-space:nowrap;font-size:1.15rem}
.mmod p{margin:0;color:var(--ink-2)}
.mpoints{margin:0;padding-left:18px;color:var(--ink-2);display:grid;gap:4px}
.mafter{font-size:.92rem;opacity:.8}
.mmod .btn{margin-top:auto;align-self:start}
.msvcs{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.msvc{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;
  border:1px solid var(--rule);border-radius:12px;padding:16px 18px;background:var(--surface)}
.msvc h3{margin:0 0 4px;font-size:1.05rem}
.msvc p{margin:0;color:var(--ink-2)}
.msvcbuy{display:grid;gap:4px;justify-items:end;text-align:right}
.msvcbuy b{font-size:1.25rem}
.msvcbuy span{color:var(--ink-2);font-size:.9rem}
@media (max-width:700px){
  .msvc{grid-template-columns:1fr}
  .msvcbuy{justify-items:start;text-align:left}
  .mmods{grid-template-columns:minmax(0,1fr)}
}
.mfull{color:var(--ink-2);opacity:.75;margin-left:7px;font-size:.92rem}
.mpricebox{white-space:nowrap;text-align:right}
.mmasters{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.mmaster{border:1px solid var(--rule);border-radius:12px;padding:18px;background:var(--surface)}
.mmaster h3{margin:0 0 8px}
.mmaster ul{margin:0;padding-left:18px;color:var(--ink-2);display:grid;gap:5px}

/* --- премиальная подача главной (25.09) ------------------------------
   Кадр живописи во всю ширину, поверх — крупный заголовок. Никакого
   белого поверх картины без затемнения: у обложек светлые участки,
   текст на них терялся. */
.homehero{position:relative;overflow:hidden;border-radius:14px;margin:0;
  padding:clamp(48px,8vw,104px) clamp(20px,4vw,56px) 0;background:#0F0E0B;color:#F4F0E7}
.homehero.haspic::before{content:"";position:absolute;inset:0;background-image:var(--pic);
  background-size:cover;background-position:center 38%;opacity:.5;filter:saturate(1.05)}
.homehero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,11,9,.72) 0%,rgba(12,11,9,.5) 38%,rgba(12,11,9,.93) 100%)}
.heroinner,.herobar{position:relative;z-index:1;max-width:1400px;margin:0 auto}
.heroinner{max-width:min(880px,100%)}
.homehero .eyebrow{color:#D9B75F;opacity:.95}
.homehero h1{font-size:clamp(2.2rem,5.6vw,4.2rem);line-height:1.04;letter-spacing:-.015em;
  color:#FBF8F1;margin:14px 0 0;text-wrap:balance}
.homehero .lede{color:#E2DACB;max-width:60ch;margin-top:16px;font-size:clamp(1rem,1.6vw,1.15rem)}
.herocta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn.ghostlight{border:1px solid rgba(244,240,231,.5);color:#F4F0E7;background:transparent}
.btn.ghostlight:hover{border-color:#D9B75F;color:#fff}
.homehero .herosearch{margin-top:22px;max-width:620px}
.homehero .herosearch .input{background:rgba(255,255,255,.1);border-color:rgba(244,240,231,.35);color:#F7F3EA}
.homehero .herosearch .input::placeholder{color:rgba(244,240,231,.6)}
.herobar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;
  margin-top:clamp(40px,7vw,86px);padding:22px 0 26px;border-top:1px solid rgba(244,240,231,.18);list-style:none}
.herobar b{display:block;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.3rem);color:#F7F3EA}
.herobar span{color:rgba(226,218,203,.8);font-size:.85rem}
@media (max-width:640px){ .herobar{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* Заголовки полок крупнее и спокойнее — ближе к журнальной подаче. */
.shelfhead h2{font-size:clamp(1.25rem,2.4vw,1.75rem);letter-spacing:-.01em}
.shelf{margin-top:clamp(34px,5vw,58px)}
.eyebrow{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.18em}

/* =====================================================================
   AURUM — премиальный слой (02.10)
   Единая система для витрины и кабинета: слоновая кость, угольный текст,
   сдержанная старая бронза. Заголовки — Cormorant Garamond (есть
   кириллица), интерфейс — Manrope. Слой идёт последним и переопределяет
   старые правила, чтобы не переписывать их все сразу.
   ===================================================================== */
:root{
  --maxw:1320px; --gut:clamp(20px,4vw,56px);
  --r-s:3px; --r-m:10px; --r-l:18px;
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:40px; --s-5:64px; --s-6:104px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
body{font-size:16.5px;line-height:1.65}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--ground);padding:10px 16px;border-radius:var(--r-s)}
.skip:focus{left:8px}

/* ---- типографика */
h1,h2,h3,.display{font-family:var(--serif);font-weight:600;color:var(--ink);letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.02;font-weight:600}
h2{font-size:clamp(1.75rem,3.2vw,2.75rem);line-height:1.1;margin:0 0 var(--s-3)}
h3{font-size:1.4rem;line-height:1.2}
.display{font-size:clamp(1.9rem,3.6vw,3.2rem);line-height:1.12;font-weight:500;max-width:24ch;margin:0 auto}
.lede{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6;color:var(--muted)}
.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 var(--s-2)}
.meta{font-family:var(--sans);font-size:.78rem;letter-spacing:.01em;color:var(--faint)}

/* ---- кнопки */
.btn{border-radius:var(--r-s);font-family:var(--sans);font-weight:600;font-size:.88rem;letter-spacing:.04em;
  padding:12px 22px;min-height:44px;transition:background .2s var(--ease),border-color .2s,color .2s,transform .2s var(--ease)}
.btn.lg{min-height:52px;padding:14px 30px;font-size:.92rem}
.btn.pri{background:var(--gold);color:var(--onGold)}
.btn.pri:hover{filter:none;background:color-mix(in srgb,var(--gold) 86%,#000);transform:translateY(-1px)}
.btn.sec{background:transparent;border-color:var(--rule-2);color:var(--ink)}
.btn.sec:hover{border-color:var(--ink);color:var(--ink)}
.btn:active{transform:translateY(0)}

/* ---- шапка */
.siteheader{gap:clamp(18px,3vw,44px);padding:0 var(--gut);height:76px;background:color-mix(in srgb,var(--ground) 88%,transparent);
  border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}
.siteheader.scrolled{border-bottom-color:var(--rule);box-shadow:0 8px 30px -22px rgba(26,23,20,.5)}
.brandmark{gap:14px}
.brandmark .dot{width:30px;height:30px}
.wordmark{display:flex;flex-direction:column;line-height:1}
.brandmark .wordmark b{font-family:var(--brand);font-weight:600;font-size:1.65rem;letter-spacing:.34em;margin:0 0 0 .1em;color:var(--ink);line-height:1}
.brandmark .wordmark i{font-family:var(--sans);font-weight:500;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-top:5px;white-space:nowrap}
.sitenav{gap:clamp(18px,2.4vw,36px);font-size:.88rem;font-weight:500;letter-spacing:.03em}
.sitenav a{position:relative;padding:8px 0;color:var(--text)}
.sitenav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.sitenav a:hover{color:var(--ink)}
.sitenav a:hover::after,.sitenav a[aria-current="page"]::after{transform:scaleX(1)}
.sitenav a[aria-current="page"]{color:var(--ink)}
.langswap{font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.12em;border-radius:var(--r-s);padding:7px 10px}
.themeswap{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--rule-2);border-radius:var(--r-s);background:transparent;color:var(--muted);cursor:pointer}
.themeswap:hover{color:var(--gold);border-color:var(--gold-dim)}
.navtoggle{display:none;width:44px;height:44px;border:1px solid var(--rule-2);border-radius:var(--r-s);background:transparent;cursor:pointer;padding:0;position:relative}
.navtoggle span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s}
.navtoggle span:nth-child(1){top:15px}.navtoggle span:nth-child(2){top:21px}.navtoggle span:nth-child(3){top:27px}
.navtoggle[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}
.mobilenav{position:fixed;inset:76px 0 0 0;z-index:49;background:var(--ground);padding:var(--s-4) var(--gut) var(--s-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-4)}
.mobilenav[hidden]{display:none}
.mobilenav nav{display:flex;flex-direction:column}
.mobilenav nav a{font-family:var(--serif);font-size:2rem;font-weight:600;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--rule)}
.mnactions{display:grid;gap:12px}
.mnactions .btn{width:100%}
body.menuopen{overflow:hidden}
@media(max-width:860px){
  .sitenav,.hide-s{display:none}
  .navtoggle{display:inline-block}
  .siteheader{height:68px;gap:12px}
  .mobilenav{inset:68px 0 0 0}
  .brandmark .wordmark b{font-size:1.3rem;letter-spacing:.28em}
  .brandmark .wordmark i{font-size:.52rem;letter-spacing:.18em}
}
@media(max-width:380px){.brandmark .wordmark i{display:none}.brandmark .dot{width:26px;height:26px}}

/* ---- главная: hero */
.home-hero{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,7vw,96px) var(--gut) clamp(32px,5vw,56px);
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,88px);align-items:center}
.hh-copy h1{margin:0;font-size:clamp(2.7rem,5.6vw,5rem);line-height:1.01}
.hh-copy .lede{max-width:48ch;margin:var(--s-3) 0 0}
.home-hero .herocta{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s-4)}
.home-hero .herosearch{margin-top:var(--s-4);max-width:520px;display:flex;gap:8px}
.home-hero .herosearch .input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--rule-2);border-radius:var(--r-s);padding:13px 16px;font:inherit;font-size:.95rem;color:var(--ink)}
.home-hero .herosearch .input:focus{outline:none;border-color:var(--gold)}
.hh-art{position:relative;aspect-ratio:1/1.08;width:100%;max-width:560px;justify-self:end}
.hh-pic{position:absolute;margin:0;padding:10px;background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);transition:transform .6s var(--ease)}
.hh-pic img{width:100%;height:100%;object-fit:cover;display:block}
.hp1{left:0;top:6%;width:54%;aspect-ratio:3/4;transform:rotate(-2.2deg);z-index:2}
.hp2{right:0;top:0;width:44%;aspect-ratio:4/5;transform:rotate(1.8deg);z-index:1}
.hp3{right:6%;bottom:0;width:46%;aspect-ratio:1/1;transform:rotate(-.8deg);z-index:3}
.hh-art:hover .hp1{transform:rotate(-1deg) translateY(-4px)}
.hh-art:hover .hp2{transform:rotate(.8deg) translateY(-4px)}
@media(max-width:900px){
  .home-hero{grid-template-columns:1fr}
  .hh-art{max-width:520px;justify-self:center;aspect-ratio:1/.9}
}
@media(max-width:560px){
  .home-hero .herosearch{flex-direction:column}
  .home-hero .herocta .btn{flex:1 1 100%}
}

/* ---- факты */
.keyfacts{list-style:none;margin:0 auto;padding:var(--s-3) var(--gut);max-width:var(--maxw);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.keyfacts li{display:flex;flex-direction:column;gap:2px}
.keyfacts b{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,4vw,3.2rem);line-height:1;color:var(--ink)}
.keyfacts span{font-size:.82rem;color:var(--muted);letter-spacing:.02em}
@media(max-width:640px){.keyfacts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--s-3)}}

/* ---- общие полосы */
.band{max-width:var(--maxw);margin:0 auto;padding:var(--s-6) var(--gut) 0}
.shelf.wide{max-width:var(--maxw);margin:0 auto;padding:var(--s-6) var(--gut) 0}
.shelf.wide .grid{padding:0;margin-top:var(--s-3)}
.shelfhead{align-items:flex-end;margin-bottom:var(--s-3)}
.shelfhead h2{margin:0;font-size:clamp(1.75rem,3.2vw,2.6rem)}
.shelfhead > a{font-size:.85rem;font-weight:600;letter-spacing:.04em;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:3px}
.shelfhead > a:hover{color:var(--gold)}
@media(max-width:700px){.band,.shelf.wide{padding-top:var(--s-5)}.shelfhead{flex-direction:column;align-items:flex-start;gap:12px}}

.philosophy{text-align:center}
.philosophy h2.display{margin:0 auto var(--s-5)}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);text-align:left}
.pillars > div{border-top:1px solid var(--gold-dim);padding-top:var(--s-3)}
.pillars b{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--ink);margin-bottom:8px;line-height:1.15}
.pillars p{margin:0;color:var(--muted);font-size:.98rem}
@media(max-width:800px){.pillars{grid-template-columns:1fr;gap:var(--s-3)}}

/* ---- мастера */
.artistgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.artistcard{display:flex;flex-direction:column;background:var(--surface);border:var(--frame);border-radius:var(--r-m);overflow:hidden;transition:border-color .25s,transform .3s var(--ease),box-shadow .3s}
.artistcard:hover{border-color:var(--gold-dim);transform:translateY(-3px);box-shadow:var(--shadow)}
.artistwork{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--rule)}
.artistwork img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.artistinfo{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:4px;padding:var(--s-3);align-items:center}
.artistinfo .avatar{grid-row:1/3;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--gold);background:var(--gold-soft);border:1px solid var(--gold-dim)}
.artistinfo b{font-family:var(--serif);font-size:1.6rem;font-weight:600;line-height:1.1;color:var(--ink)}
.artistinfo em{font-style:normal;font-size:.8rem;color:var(--faint);letter-spacing:.04em}
.artistbio{grid-column:1/-1;margin-top:10px;font-size:.95rem;color:var(--muted);line-height:1.6}
@media(max-width:800px){.artistgrid{grid-template-columns:1fr}.artistwork img{aspect-ratio:1/1.05}}

/* ---- карточки курсов */
@media(min-width:701px){.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s-4) var(--s-3)}}
.thumb{aspect-ratio:4/3;border-radius:var(--r-s);box-shadow:none;border:var(--frame)}
.thumb .art{transition:transform .8s var(--ease)}
.card:hover .thumb{transform:none;border-color:var(--gold-dim)}
.card:hover .thumb .art{transform:scale(1.04)}
.card h3{font-family:var(--serif);font-size:1.28rem;font-weight:600;line-height:1.18;margin-top:14px;color:var(--ink)}
.card:hover h3{color:var(--gold)}
.card .meta{margin-top:6px;font-size:.76rem}
.cprice{margin:8px 0 0;font-size:.85rem;color:var(--muted);display:flex;align-items:baseline;gap:8px}
.cprice b{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:.95rem}
.thumb .dur{font-family:var(--sans);font-weight:600;font-size:.68rem;letter-spacing:.04em;border-radius:2px}
.freeflag{position:absolute;left:8px;top:8px;background:var(--gold);color:var(--onGold);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:2px}
@media(max-width:700px){
  .card h3{font-size:1.08rem;-webkit-line-clamp:2}
  .grid{gap:var(--s-3) 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
}
.playbadge{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent 40%,rgba(10,9,8,.4))}
.playbadge::before{content:"";width:58px;height:58px;border-radius:50%;background:rgba(251,248,241,.92);box-shadow:0 8px 24px -8px rgba(0,0,0,.5);
  clip-path:none;transition:transform .3s var(--ease)}
.playbadge::after{content:"";position:absolute;width:0;height:0;border-left:15px solid var(--ink);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.prevcard:hover .playbadge::before{transform:scale(1.08)}

/* ---- жанры */
.genregrid{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.genretile{border-radius:var(--r-s);aspect-ratio:4/3}
.genretile span{padding:48px 18px 16px;background:linear-gradient(transparent,rgba(10,9,8,.82))}
.genretile b{font-family:var(--serif);font-size:1.5rem;font-weight:600;line-height:1.1}
.genretile i{font-size:.78rem;letter-spacing:.04em}

/* ---- ступени */
.ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--s-4)}
.ladder a{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-2);align-items:center;padding:var(--s-3) 0;border-top:1px solid var(--rule);transition:padding .3s var(--ease)}
.ladder li:nth-last-child(-n+3) a{border-bottom:1px solid var(--rule)}
.ladder a:hover{padding-left:8px}
.lnum{font-family:var(--serif);font-size:3rem;font-weight:500;line-height:1;color:var(--gold);min-width:1.1ch}
.ltxt b{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--ink);line-height:1.1}
.ltxt i{font-style:normal;font-size:.8rem;color:var(--faint)}
.larrow{color:var(--gold);font-size:1.2rem;transition:transform .3s var(--ease)}
.ladder a:hover .larrow{transform:translateX(4px)}
@media(max-width:900px){.ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.ladder li:nth-last-child(-n+3) a{border-bottom:0}.ladder li:nth-last-child(-n+2) a{border-bottom:1px solid var(--rule)}}
@media(max-width:560px){.ladder{grid-template-columns:1fr}.ladder li:nth-last-child(-n+2) a{border-bottom:0}.ladder li:last-child a{border-bottom:1px solid var(--rule)}}

/* ---- подписка */
.tiergrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
.tier{background:var(--surface);border:var(--frame);border-radius:var(--r-m);padding:var(--s-4) var(--s-3);display:flex;flex-direction:column;gap:6px}
.tier h3{font-size:1.9rem;margin:0}
.tier-gold{border-color:var(--gold-dim);box-shadow:var(--lift)}
.tiernote{margin:0 0 var(--s-2);color:var(--muted);font-size:.92rem}
.tierprice{margin:0;display:flex;align-items:baseline;gap:8px}
.tierprice b{font-family:var(--serif);font-size:3.2rem;font-weight:600;line-height:1;color:var(--ink)}
.tierprice span,.tieryear{color:var(--muted);font-size:.9rem}
.tieryear{margin:0}
.tier ul{list-style:none;margin:var(--s-2) 0 var(--s-3);padding:var(--s-2) 0 0;border-top:1px solid var(--rule);display:grid;gap:8px;font-size:.95rem;color:var(--text);flex:1}
.tier ul li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:10px;vertical-align:middle}
@media(max-width:860px){.tiergrid{grid-template-columns:1fr}}

/* ---- как это работает / FAQ */
.howto h2,.faq h2{max-width:22ch}
.steps{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.steps li{border:0;border-top:1px solid var(--gold-dim);border-radius:0;background:transparent;padding:var(--s-3) 0 0}
.steps li::before{background:transparent;border:1px solid var(--gold-dim);color:var(--gold);font-family:var(--serif);font-weight:600}
.steps b{font-family:var(--serif);font-size:1.45rem;font-weight:600;line-height:1.15;margin:12px 0 8px}
.steps p{font-size:.96rem;line-height:1.6}
.faqlist{max-width:820px;border-top:1px solid var(--rule)}
.faqlist details{border-bottom:1px solid var(--rule)}
.faqlist summary{list-style:none;cursor:pointer;padding:var(--s-3) 40px var(--s-3) 0;font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--ink);position:relative}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-52%);font-family:var(--sans);font-weight:300;font-size:1.6rem;color:var(--gold);transition:transform .3s var(--ease)}
.faqlist details[open] summary::after{transform:translateY(-52%) rotate(45deg)}
.faqlist details p{margin:0 0 var(--s-3);color:var(--muted);max-width:64ch}

/* ---- финальный призыв */
.clubband{max-width:var(--maxw);margin:var(--s-6) auto 0;border-radius:var(--r-l);padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px);
  background:radial-gradient(120% 140% at 85% 0%,#2a2218 0%,#14110d 60%);display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:center;justify-content:space-between;width:calc(100% - 2*var(--gut))}
.clubband h2{font-size:clamp(2rem,4vw,3.4rem);color:#FBF8F1;margin:0 0 12px;max-width:16ch}
.clubband p{color:#cfc6b8;max-width:46ch;margin:0}
.clubband .eyebrow{color:#D9B75F}
.clubband .ctas{display:flex;flex-wrap:wrap;gap:12px}

/* ---- подвал */
.sitefooter{margin-top:var(--s-6);padding:var(--s-5) var(--gut) var(--s-4);background:var(--surface-2);border-top:1px solid var(--rule)}
.footcols{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:var(--s-4);max-width:var(--maxw);margin:0 auto}
.footbrand p{margin:var(--s-2) 0 0;max-width:34ch;font-size:.92rem;color:var(--muted);line-height:1.6}
.footcols b{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:var(--s-2)}
.footcols a{font-size:.92rem;margin:0 0 10px;color:var(--muted)}
.footcols a:hover{color:var(--gold)}
.footcols .brandmark{display:inline-flex;margin:0}
.footlow{max-width:var(--maxw);margin:var(--s-5) auto 0;padding-top:var(--s-3);border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:var(--s-2);flex-wrap:wrap;font-size:.8rem;color:var(--faint)}
@media(max-width:860px){.footcols{grid-template-columns:repeat(2,minmax(0,1fr))}.footbrand{grid-column:1/-1}}

/* ---- общие страницы */
.pagehead{max-width:var(--maxw);padding:clamp(40px,6vw,88px) var(--gut) var(--s-3)}
.pagehead h1{font-size:clamp(2.4rem,5vw,4.4rem)}
@media(prefers-reduced-motion:reduce){.hh-pic,.card .art,.artistcard{transition:none!important}}
@media(max-width:700px){
  .genregrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .genretile{aspect-ratio:1/1}
  .genretile span{padding:40px 12px 12px}
  .genretile b{font-size:1.2rem}
}

/* ---- страница курса (02.10): светлый журнальный разворот */
.coursepage.udl{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.udl-hero{background:transparent;color:var(--text);border-radius:0;padding:clamp(28px,5vw,64px) 0 var(--s-5);margin:0;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
.udl-heroin{max-width:none}
.udl-crumbs{color:var(--faint);font-size:.8rem;margin-bottom:var(--s-3)}
.udl-crumbs a{color:var(--muted)}.udl-crumbs a:hover{color:var(--gold)}
.udl-hero h1{color:var(--ink);font-size:clamp(2.4rem,4.8vw,4.4rem);line-height:1.03;margin:0 0 var(--s-2)}
.udl-hero .lede{color:var(--muted);font-size:1.05rem;max-width:46ch}
.udl-meta{margin-top:var(--s-3);color:var(--muted);font-size:.86rem}
.udl-meta b{color:var(--ink)}
.udl-hero .herocta{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s-4)}
.udl-heroart{position:relative;margin:0;padding:12px;background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);aspect-ratio:4/3}
.udl-heroart img,.udl-heroart .art-fallback{width:100%;height:100%;object-fit:cover;display:block}
.udl-heroart .udl-play{width:72px;height:72px;font-size:1.3rem}
.udl-box{border-radius:var(--r-m);padding:var(--s-3) var(--s-4)}
.udl-box h2,.udl-curr h2{font-size:1.9rem}
.udl-result{grid-template-columns:minmax(0,1fr)}
.udl-card{border-radius:var(--r-m);box-shadow:var(--shadow);top:92px}
@media(max-width:900px){
  .udl-hero{grid-template-columns:1fr}
  .udl-heroart{order:-1;aspect-ratio:16/10}
  .udl-box{padding:var(--s-3)}
}
@media(max-width:560px){.udl-hero .herocta .btn{flex:1 1 100%}}
.loadmore{display:flex;justify-content:center;margin:var(--s-5) 0 0}
.loadmore[hidden],#more[hidden]{display:none}
/* Фильтр липнет только на широком экране, где он колонкой слева. На телефоне
   он над списком и уезжает вместе со страницей — иначе карточки наползали на него. */
@media(min-width:901px){.catwrap .filters{position:sticky;top:92px;align-self:start;z-index:2}}
@media(max-width:900px){.catwrap .filters{position:static}}
@media(max-width:400px){
  .themeswap{display:none}
  .brandmark .wordmark b{font-size:1.15rem;letter-spacing:.22em}
  .brandmark{gap:10px}
}
@media(max-width:339px){
  .grid{grid-template-columns:minmax(0,1fr)}
  .card h3{font-size:1.15rem}
}

/* современная гарнитура заголовков: плотнее и чуть жирнее */
h1,h2,h3,h4{letter-spacing:-.022em}
h1{font-weight:600}
.grid>*,.card{min-width:0}
@media(max-width:339px){.grid{grid-template-columns:minmax(0,1fr)!important}}
a.card{display:block}
.thumb img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover}
.tier{min-width:0;max-width:100%;overflow-wrap:anywhere}
/* тарифы: три уровня в ряд, ряд на период */
.planswrap{max-width:1180px;margin:0 auto}
.planswrap .plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:16px;margin-bottom:8px;max-width:none}
.planswrap .plansrow{max-width:none;margin-top:40px}
.plan{border-radius:6px;padding:28px 26px}
@media(max-width:820px){.planswrap .plans{grid-template-columns:minmax(0,1fr)}}
/* --- тарифы: переключатель периода и карточки уровней --- */
.segwrap{display:flex;justify-content:center;margin:8px 0 26px}
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface-2);border:var(--frame)}
.seg[hidden]{display:none}
.segbtn{appearance:none;border:0;background:transparent;cursor:pointer;border-radius:999px;
  padding:10px 22px;min-height:44px;font:600 14.5px/1 var(--sans);color:var(--muted);display:inline-flex;align-items:center;gap:8px;
  transition:background .18s,color .18s,box-shadow .18s}
.segbtn:hover{color:var(--ink)}
.segbtn[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.14)}
.segbtn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.offtag{font:700 11px/1 var(--sans);font-style:normal;letter-spacing:.02em;color:var(--onGold);background:var(--gold);
  padding:4px 7px;border-radius:999px;white-space:nowrap}
.planswrap.js .plansrow{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.planrow[hidden]{display:none}
.plan.tierc{gap:12px;padding:30px 28px 28px;border-radius:8px;transition:border-color .18s,box-shadow .18s,transform .18s}
.plan.tierc:hover{border-color:var(--gold-dim);box-shadow:var(--lift)}
.plan.tierc h3{font:600 15px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.plan.tierc .planrate{flex-direction:row;align-items:baseline;gap:10px;flex-wrap:wrap}
.plan.tierc .planrate b{font:700 46px/1 var(--serif);letter-spacing:-.03em}
.plan.tierc .planrate span{display:inline-flex;align-items:center;gap:8px;font-size:14px}
.plan.tierc .plantotal{color:var(--muted);font-size:13.5px;margin-top:-4px}
.plan.tierc .planfacts{gap:10px;padding-top:18px;margin-top:4px}
.plan.tierc .planfacts li{font-size:14.5px}
.plan.tierc .planfacts li.incl{font-weight:600;color:var(--ink)}
.plan.tierc .btn{margin-top:14px;min-height:48px}
.plan.tier-platinum{border-color:var(--gold-dim);background:linear-gradient(180deg,var(--gold-soft),var(--surface) 55%)}
.plan.wanted{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-soft)}
.planflag.soft{background:var(--ink);color:var(--bg,#fff)}
.paysec{text-align:center;color:var(--muted);font-size:13.5px;margin:22px auto 0;max-width:60ch}
.paynote{margin:0 0 20px;padding:14px 16px;border-radius:6px;border:1px solid var(--rule-2);background:var(--gold-soft);color:var(--text);font-size:14.5px;line-height:1.5}
.paynote.ok{border-color:var(--gold-dim)}
.plans.tiers3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;max-width:1100px;margin-left:0}
.choose .segwrap{justify-content:flex-start}
.choose .paysec{text-align:left;margin-left:0}
@media(max-width:900px){.plans.tiers3{grid-template-columns:minmax(0,1fr)}.choose .segwrap{justify-content:center}}
@media(prefers-reduced-motion:reduce){.segbtn,.plan.tierc{transition:none}}

/* === мастера: портрет, факты === */
.masterblock{margin-top:72px}
.masterhero{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:clamp(24px,5vw,64px);align-items:center;margin-bottom:44px}
.masterblock.flip .masterhero{grid-template-columns:1fr minmax(260px,400px)}
.masterblock.flip .masterphoto{order:2}
.masterphoto,.mmasterphoto,.aphoto{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--surface-2);color:var(--gold)}
.masterphoto{aspect-ratio:4/5;border-radius:6px;border:var(--frame);box-shadow:var(--lift)}
.masterphoto i{font:500 4rem/1 var(--brand,serif);font-style:normal;letter-spacing:.06em}
.masterphoto img,.mmasterphoto img,.aphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.mastertext h2{font-size:clamp(2rem,3.4vw,3rem);margin:6px 0 16px}
.masterbio{font-size:1.08rem;line-height:1.7;color:var(--text);max-width:60ch;margin:0 0 20px}
.masterfacts{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.masterfacts li{position:relative;padding-left:22px;color:var(--text);line-height:1.5}
.masterfacts li::before{content:'';position:absolute;left:0;top:.62em;width:10px;height:1px;background:var(--gold)}
.aphoto{border-radius:50%}.aphoto i{font-style:normal}
@media(max-width:800px){.masterhero,.masterblock.flip .masterhero{grid-template-columns:minmax(0,1fr)}.masterblock.flip .masterphoto{order:0}.masterphoto{max-width:360px}}

/* === кураторство: аккуратные карточки === */
.mprice{font:600 1.5rem/1 var(--serif);color:var(--ink)}
.mfull{color:var(--faint);font-size:.95rem;margin-left:8px}
.mtitles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;counter-reset:none}
.mtitles li{display:flex;flex-direction:column;gap:8px;grid-template-columns:none;padding:22px 20px;border:var(--frame);border-radius:8px;background:var(--surface)}
.mtitles .snum{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold-dim);color:var(--gold);font:600 14px/1 var(--sans)}
.mtitles li b{font:600 1.05rem/1.3 var(--serif);color:var(--ink)}
.mtitles li p{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.mmods{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;align-items:stretch}
.msvcs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-items:stretch}
.mmod,.msvc{display:flex;flex-direction:column;gap:10px;grid-template-columns:none;padding:26px 24px 24px;border:var(--frame);border-radius:8px;background:var(--surface);
  transition:border-color .16s,box-shadow .16s,transform .16s}
.mmod:hover,.msvc:hover{border-color:var(--gold-dim);box-shadow:var(--lift);transform:translateY(-2px)}
.mmodtop{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mnum{font:600 13px/1 var(--sans);letter-spacing:.14em;color:var(--gold)}
.mmod h3,.msvc h3{margin:4px 0 0;font:600 1.2rem/1.3 var(--serif);color:var(--ink)}
.mmeta{margin:0;font:500 12px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.mdesc{margin:0;font-size:15px;line-height:1.6;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mmore{margin:2px 0 6px}
.mmore summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;font:500 14px/1 var(--sans);color:var(--ink);
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--gold-dim)}
.mmore summary::-webkit-details-marker{display:none}
.mmore summary::after{content:'+';color:var(--gold);font-size:16px}
.mmore[open] summary::after{content:'−'}
.mmore summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.mmore p,.mmore .mpoints{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--text)}
.mpoints{padding-left:1.2em;display:grid;gap:5px}
.mafter{color:var(--muted)!important;font-style:italic}
.mmod .btn,.msvc .btn{margin-top:auto;align-self:stretch;justify-content:center;text-align:center;min-height:46px}
.mmasters{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.mmaster{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start;padding:22px;border-radius:8px}
.mmasterphoto{width:120px;aspect-ratio:4/5;border-radius:4px}.mmasterphoto i{font:500 2rem/1 var(--brand,serif);font-style:normal}
.mmaster ul{color:var(--text);font-size:15px;line-height:1.5}
.mwhat{max-width:900px}.mwhat p{font-size:1.05rem;line-height:1.7}
.msteps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 28px;padding-left:1.3em;line-height:1.55}
.cwrap{margin-top:64px}
@media(max-width:700px){.mmods,.msvcs{grid-template-columns:minmax(0,1fr)}.mmaster{grid-template-columns:84px 1fr}.mmasterphoto{width:84px}.cwrap{margin-top:44px}}
@media(prefers-reduced-motion:reduce){.mmod,.msvc{transition:none}.mmod:hover,.msvc:hover{transform:none}}

/* === карточки курсов: живее === */
.card{border-radius:6px;transition:transform .2s}
.card .thumb{transition:border-color .2s,box-shadow .2s}
.card .thumb img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .thumb{box-shadow:var(--lift);border-color:var(--gold-dim)}
.card:hover .thumb img{transform:scale(1.045)}
.card:hover h3{color:var(--gold)}
.card h3{transition:color .16s}
.card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.card .thumb img{transition:none}.card:hover .thumb img{transform:none}}

/* === шрифт чуть тоньше === */
h1{font-weight:500}
h2,h3,h4{font-weight:500}
b,strong{font-weight:600}
.btn{font-weight:500}
.planrate b,.plan.tierc .planrate b{font-weight:600}
.msvc .mmeta{text-transform:none;letter-spacing:.02em;font-size:13px}
.herostats{list-style:none;margin:28px 0 0;padding:20px 0 0;border-top:var(--frame);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 28px}
.herostats li{display:flex;flex-direction:column;gap:4px}
.herostats b{font:600 1.7rem/1 var(--serif);color:var(--gold)}
.herostats span{font-size:13px;color:var(--muted)}

/* === мастера: указатель и мини-лендинги === */
.mcards{max-width:1400px;margin:40px auto 0;padding:0 clamp(18px,4vw,52px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.mcard{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border:var(--frame);border-radius:8px;overflow:hidden;background:var(--surface);
  text-decoration:none;color:inherit;transition:box-shadow .2s,border-color .2s}
.mcard:hover{box-shadow:var(--lift);border-color:var(--gold-dim)}
.mcardphoto{position:relative;min-height:360px;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);color:var(--gold)}
.mcardphoto i{font:500 3rem/1 var(--brand,serif);font-style:normal}
.mcardphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mcard:hover .mcardphoto img{transform:scale(1.04)}
.mcardtext{display:flex;flex-direction:column;gap:10px;padding:28px 26px}
.mcardtext b{font:500 1.9rem/1.15 var(--serif);color:var(--ink)}
.mcardrole{font-size:13.5px;line-height:1.5;color:var(--gold)}
.mcardlead{font-size:15.5px;line-height:1.65;color:var(--text)}
.mcardgo{margin-top:auto;font-weight:500;color:var(--ink)}
.mcard:hover .mcardgo{color:var(--gold)}
.mhero{max-width:1400px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(18px,4vw,52px) 0;display:grid;grid-template-columns:minmax(260px,460px) 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.mheroPhoto{position:relative;aspect-ratio:3/4;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);color:var(--gold);box-shadow:var(--lift)}
.mheroPhoto i{font:500 4rem/1 var(--brand,serif);font-style:normal}
.mheroPhoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.mherotext h1{font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.02;margin:8px 0 14px}
.mherotext .eyebrow a{color:inherit;text-decoration:none}
.mrole{margin:0 0 18px;color:var(--gold);font-size:15px;line-height:1.5}
.mherotext .lede{font-size:1.15rem;line-height:1.7;max-width:56ch;margin:0 0 26px}
.mfacts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.mfacts li{padding:22px 20px;border:var(--frame);border-radius:8px;background:var(--surface);font:500 1.05rem/1.4 var(--serif);color:var(--ink);position:relative}
.mfacts li::before{content:'';display:block;width:28px;height:2px;background:var(--gold);margin-bottom:14px}
.mbio{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.mbio p{font-size:1.08rem;line-height:1.8;color:var(--text);margin:0 0 18px;max-width:66ch}
.mbio aside{padding:26px;border:var(--frame);border-radius:8px;background:var(--surface)}
.mbio aside h3{margin:0 0 16px;font-size:1.15rem}
.tline{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:14px}
.tline li{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:baseline}
.tline span{font:600 13px/1.4 var(--sans);color:var(--gold);font-variant-numeric:tabular-nums}
.tline p{margin:0;font-size:15px;line-height:1.55;color:var(--text)}
.mgallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mgallery figure{margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:var(--surface-2)}
.mgallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mgallery figure:hover img{transform:scale(1.03)}
.mmethod{padding:clamp(28px,4vw,48px);border-radius:8px;background:var(--gold-soft);border:1px solid var(--gold-dim)}
.mmethod p:not(.eyebrow){font:400 clamp(1.2rem,2vw,1.55rem)/1.55 var(--serif);color:var(--ink);margin:6px 0 16px;max-width:60ch}
.mmethod a{color:var(--ink);font-weight:500}
.shows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.shows li{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:16px 0;border-bottom:var(--frame)}
.shows span{font:600 14px/1.5 var(--sans);color:var(--gold)}
.shows p{margin:0;line-height:1.55;color:var(--text)}
.together{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.togetherphoto{margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:6px;box-shadow:var(--lift)}
.togetherphoto img{width:100%;height:100%;object-fit:cover}
.together h2{margin:6px 0 14px}
.togetherlead{font-size:1.08rem;line-height:1.75;color:var(--text);max-width:62ch}
.together h3{margin:22px 0 12px;font-size:1.05rem}
.mnext{display:grid;grid-template-columns:88px 1fr auto;gap:20px;align-items:center;padding:18px 22px;border:var(--frame);border-radius:8px;background:var(--surface);text-decoration:none;color:inherit}
.mnext:hover{border-color:var(--gold-dim);box-shadow:var(--lift)}
.mnextphoto{position:relative;width:88px;aspect-ratio:1;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);color:var(--gold)}
.mnextphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.mnextphoto i{font-style:normal}
.mnext b{display:block;font:500 1.4rem/1.2 var(--serif);color:var(--ink)}
.mnext>i{font-style:normal;font-size:1.6rem;color:var(--gold)}
@media(max-width:900px){
  .mcards{grid-template-columns:minmax(0,1fr)}
  .mcard{grid-template-columns:minmax(0,1fr)}.mcardphoto{min-height:0;aspect-ratio:4/3}
  .mhero,.mbio,.together{grid-template-columns:minmax(0,1fr)}
  .mheroPhoto,.togetherphoto{max-width:420px}
  .shows{grid-template-columns:minmax(0,1fr)}
  .mgallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
}
@media(max-width:480px){.tline li,.shows li{grid-template-columns:76px 1fr}.mnext{grid-template-columns:60px 1fr auto}.mnextphoto{width:60px}}
@media(prefers-reduced-motion:reduce){.mcardphoto img,.mgallery img{transition:none}}
.mgallery{grid-template-columns:repeat(var(--n,3),minmax(0,1fr));max-width:980px}

/* Карточка урока: подписка или навсегда */
.ofr-h{font-size:16px;margin:0 0 2px}
.ofr{display:grid;gap:6px;padding:14px 0;border-top:1px solid var(--rule)}
.ofr:first-of-type{border-top:0;padding-top:6px}
.ofr-k{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.ofr-t{margin:0 0 4px;font-size:14px;color:var(--text);line-height:1.45}
.ofr-t b{font-size:20px;color:var(--ink)}
.udl-hero .herocta .btn.ghost{border:1px solid var(--rule-2,rgba(127,127,127,.35))}
/* Окно выбора подписки */
.subpick{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:16px}
.subpick-card{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);color:var(--text);border-radius:var(--r-m,14px);box-shadow:var(--shadow);padding:26px 24px 22px}
.subpick-card h2{margin:0 36px 8px 0;font-size:24px}
.subpick-lede{margin:0 0 14px;color:var(--muted);font-size:14.5px;line-height:1.5}
.subpick-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer}
.subpick-x:hover,.subpick-x:focus-visible{background:var(--lift,rgba(127,127,127,.12));outline:none}
.subpick-seg{margin:0 0 14px}
.subpick-list{display:grid;gap:10px}
.subpick-row{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center;padding:14px 16px;border:1px solid var(--rule-2,rgba(127,127,127,.3));border-radius:12px;color:inherit;text-decoration:none;transition:border-color .15s,background .15s}
.subpick-row:hover,.subpick-row:focus-visible{border-color:var(--gold);background:var(--gold-soft,rgba(184,134,11,.08));outline:none}
.sp-name{font-weight:600;font-size:17px;color:var(--ink)}
.sp-facts{grid-column:1;font-size:13px;color:var(--muted)}
.sp-price{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end}
.sp-price b{font-size:20px;color:var(--ink)}
.sp-price small{font-size:12px;color:var(--muted)}
.subpick-note{margin:14px 0 0;font-size:12.5px;color:var(--muted)}

/* Итоговая работа — картина целиком, без обрезки */
.udl-final{margin:0 0 26px}
.udl-final h2{margin:0 0 14px}
.udl-finalart{margin:0;background:var(--surface);border:var(--frame,1px solid var(--rule));border-radius:var(--r-m,12px);padding:clamp(10px,2vw,18px);box-shadow:var(--shadow)}
.udl-finalart img{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;margin:0 auto}
.udl-finalcap{margin:12px 2px 0;color:var(--muted);font-size:14.5px;line-height:1.5}
.udl-finalcap span{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid var(--rule);border-radius:999px;font-size:12.5px}
.udl-about p{margin:0 0 12px;line-height:1.65;color:var(--text)}
.udl-about p:last-child{margin-bottom:0}
/* Мастер на странице урока — карточка-ссылка с портретом */
.udl-tcard{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center;text-decoration:none;color:inherit;border-radius:12px;padding:6px;margin:-6px;transition:background .15s}
.udl-tcard:hover,.udl-tcard:focus-visible{background:var(--lift,rgba(127,127,127,.08));outline:none}
.udl-tphoto{position:relative;width:76px;height:76px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font:600 22px/1 var(--sans)}
.udl-tphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.udl-ttext{display:grid;gap:4px}
.udl-ttext b{font-size:17px;color:var(--ink)}
.udl-ttext span{font-size:14.5px;line-height:1.5;color:var(--text)}
.udl-ttext em{font-style:normal;font-size:13.5px;color:var(--gold)}

/* ---- Цветовые палитры (09.10.2026). Выбор в шапке кабинета, хранится
   в браузере (aurum-palette). Меняется только акцент; фон и текст — от темы. */
:root[data-palette="emerald"]{--gold:#1F6B52;--gold-dim:#4E9C80;--gold-soft:#E3F1EB;--onGold:#FFFFFF}
:root[data-palette="sapphire"]{--gold:#2A4F8F;--gold-dim:#6A8CC7;--gold-soft:#E5ECF8;--onGold:#FFFFFF}
:root[data-palette="garnet"]{--gold:#8E2F3C;--gold-dim:#C26B77;--gold-soft:#F6E5E7;--onGold:#FFFFFF}
:root[data-palette="graphite"]{--gold:#2F2F33;--gold-dim:#77777F;--gold-soft:#EAEAEC;--onGold:#FFFFFF}
:root[data-theme="dark"][data-palette="emerald"]{--gold:#4FB58E;--gold-dim:#2C6E56;--gold-soft:#0F211A;--onGold:#08130F}
:root[data-theme="dark"][data-palette="sapphire"]{--gold:#7EA2E6;--gold-dim:#3B5A93;--gold-soft:#111A2B;--onGold:#0A0F1A}
:root[data-theme="dark"][data-palette="garnet"]{--gold:#E07C8A;--gold-dim:#8E3A46;--gold-soft:#2A1216;--onGold:#170A0C}
:root[data-theme="dark"][data-palette="graphite"]{--gold:#D6D6DB;--gold-dim:#6D6D75;--gold-soft:#1E1E22;--onGold:#121214}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"])[data-palette="emerald"]{--gold:#4FB58E;--gold-dim:#2C6E56;--gold-soft:#0F211A;--onGold:#08130F}
  :root:not([data-theme="light"])[data-palette="sapphire"]{--gold:#7EA2E6;--gold-dim:#3B5A93;--gold-soft:#111A2B;--onGold:#0A0F1A}
  :root:not([data-theme="light"])[data-palette="garnet"]{--gold:#E07C8A;--gold-dim:#8E3A46;--gold-soft:#2A1216;--onGold:#170A0C}
  :root:not([data-theme="light"])[data-palette="graphite"]{--gold:#D6D6DB;--gold-dim:#6D6D75;--gold-soft:#1E1E22;--onGold:#121214}
}

/* =====================================================================
   AURUM 3 — стиль «чистая платформа курсов» (10.10.2026)
   Минималистичная подача по образцу крупных платформ онлайн-курсов:
   белый фон, графитовый текст, один гротеск (Onest, есть кириллица)
   для заголовков и интерфейса, жирные заголовки без капители, кнопки
   высотой 48px со скруглением 8px, тонкие серые рамки, серые шапки
   разделов программы. Акцент — фирменное золото Aurum (и палитры).
   Логотип AURUM остаётся в Cormorant. Тёмная тема — нейтральный графит.
   Слой идёт последним и переопределяет прежние.
   ===================================================================== */
:root{
  --serif:"Onest",Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --sans:"Onest",Inter,"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --ground:#FFFFFF; --surface:#FFFFFF; --surface-2:#F7F9FA; --surface-3:#EEF1F3;
  --ink:#2D2F31; --text:#2D2F31; --muted:#6A6F73; --faint:#8C9196;
  --rule:#D1D7DC; --rule-2:#B9C0C6;
  --frame:1px solid #D1D7DC;
  --lift:0 2px 4px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.06);
  --shadow:0 2px 4px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.08);
  --scrim:rgba(255,255,255,.94);
  --r-s:8px; --r-m:12px; --r-l:16px;
  --star:#B4690E;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#16171A; --surface:#1E2023; --surface-2:#25272B; --surface-3:#2E3135;
    --ink:#F7F9FA; --text:#E3E6E8; --muted:#A3A9AE; --faint:#7D8388;
    --rule:#3A3D41; --rule-2:#4A4E53; --frame:1px solid #3A3D41;
    --lift:0 2px 6px rgba(0,0,0,.45); --shadow:0 2px 8px rgba(0,0,0,.5), 0 8px 24px rgba(0,0,0,.35);
    --scrim:rgba(22,23,26,.94); --star:#E59819;
  }
}
:root[data-theme="dark"]{
  --ground:#16171A; --surface:#1E2023; --surface-2:#25272B; --surface-3:#2E3135;
  --ink:#F7F9FA; --text:#E3E6E8; --muted:#A3A9AE; --faint:#7D8388;
  --rule:#3A3D41; --rule-2:#4A4E53; --frame:1px solid #3A3D41;
  --lift:0 2px 6px rgba(0,0,0,.45); --shadow:0 2px 8px rgba(0,0,0,.5), 0 8px 24px rgba(0,0,0,.35);
  --scrim:rgba(22,23,26,.94); --star:#E59819;
}

/* ---- основа и типографика */
body{font-family:var(--sans);font-size:16px;line-height:1.5;color:var(--text);background:var(--ground);
  font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.display{font-family:var(--sans);font-weight:700;color:var(--ink);letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(2rem,4.2vw,3rem);line-height:1.15}
h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2}
h3{font-size:1.1875rem;line-height:1.3}
.display{font-weight:700;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2}
.lede{font-size:clamp(1rem,1.3vw,1.1875rem);line-height:1.5;color:var(--text)}
.eyebrow,.ceyebrow,.mehead-l{font-family:var(--sans);font-size:.875rem;font-weight:700;letter-spacing:0;
  text-transform:none;color:var(--gold)}
.meta,.dim{color:var(--muted)}
.chip,.freeflag,.planflag,.ofr-k,.mmeta,.footcols b,.plan.tierc h3{text-transform:none;letter-spacing:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
::selection{background:var(--gold-soft);color:var(--ink)}

/* ---- кнопки: 48px, скругление 8px, жирный текст без разрядки */
.btn{font-family:var(--sans);font-weight:700;font-size:1rem;letter-spacing:0;text-transform:none;
  border-radius:var(--r-s);min-height:48px;padding:0 20px;align-items:center;justify-content:center;gap:8px;
  border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;transform:none!important;box-shadow:none}
.btn.lg{min-height:56px;padding:0 28px;font-size:1.0625rem}
.btn.small,.btn.sm{min-height:36px;padding:0 14px;font-size:.875rem}
.btn.pri{background:var(--gold);color:var(--onGold);border-color:var(--gold)}
.btn.pri:hover{background:color-mix(in srgb,var(--gold) 85%,#000);border-color:color-mix(in srgb,var(--gold) 85%,#000)}
.btn.sec{background:transparent;color:var(--gold);border-color:var(--gold)}
.btn.sec:hover{background:var(--gold-soft)}
.btn.ghost{background:transparent;color:var(--ink);border-color:transparent}
.btn.ghost:hover{background:var(--surface-2)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}

/* ---- поля ввода */
.input,input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="password"],input[type="number"],input[type="date"],select,textarea{
  font-family:var(--sans);font-size:1rem;color:var(--ink);background:var(--surface);
  border:1px solid var(--ink);border-radius:var(--r-s)}
.input,input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="password"],input[type="number"],input[type="date"],select{min-height:48px;padding:0 14px}
textarea{padding:12px 14px}
.input::placeholder,input::placeholder,textarea::placeholder{color:var(--muted)}
.input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--gold);width:18px;height:18px}

/* ---- шапка сайта: белая, с лёгкой тенью */
.siteheader{background:var(--surface);border-bottom:0;box-shadow:0 2px 4px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.06);backdrop-filter:none}
:root[data-theme="dark"] .siteheader{box-shadow:0 1px 0 var(--rule)}
.sitenav a{font-family:var(--sans);font-size:.9375rem;font-weight:400;letter-spacing:0;color:var(--ink)}
.sitenav a:hover{color:var(--gold)}
.sitenav a[aria-current="page"],.sitenav a.on{font-weight:700;color:var(--ink);border-bottom-color:var(--ink)}
.langswap{font-family:var(--sans);font-weight:700;font-size:.8125rem;letter-spacing:0;border-radius:var(--r-s);
  border:1px solid var(--ink);color:var(--ink);min-height:40px;min-width:40px;padding:0 10px;line-height:38px;text-align:center}
.themeswap{border-radius:var(--r-s);border:1px solid var(--ink);color:var(--ink);min-height:40px;min-width:40px}
.navtoggle{border-radius:var(--r-s);border-color:var(--ink)}
.mobilenav nav a{font-family:var(--sans);font-size:1.25rem;font-weight:700}
.brandmark .wordmark i,.brandmark i{letter-spacing:.16em}

/* ---- хлебные крошки: акцентным цветом, жирные */
.crumbs,.udl-crumbs{font-family:var(--sans);font-size:.875rem;font-weight:700;color:var(--muted)}
.crumbs a,.udl-crumbs a{color:var(--gold)}
.crumbs a:hover,.udl-crumbs a:hover{color:var(--gold);text-decoration:underline}

/* ---- главная */
.home-hero h1,.hh-copy h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.02em}
.herostats b,.keyfacts b{font-family:var(--sans);font-weight:700;color:var(--ink);letter-spacing:-.02em}
.herosearch .input,.herosearch input{border-radius:var(--r-s)}
.hh-art img,.hh-art figure,.spics img{border-radius:var(--r-s)}
.pillars b,.artistinfo b,.mcardtext b{font-family:var(--sans);font-weight:700}
.shelfhead h2{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.015em}
.shelfhead a{font-weight:700;color:var(--gold)}
.shelf{margin-top:clamp(40px,5vw,64px)}
.band{border-color:var(--rule)}

/* ---- карточка курса в сетке */
.card{background:transparent;border:0;box-shadow:none;border-radius:0}
.card:hover{transform:none;box-shadow:none}
.card .thumb,.card .art{border-radius:var(--r-s);overflow:hidden;border:1px solid var(--rule);background:var(--surface-2)}
.card:hover .thumb img,.card:hover .art img{transform:none;filter:brightness(.92)}
.card h3{font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1.25;color:var(--ink);margin:10px 0 4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{font-size:.75rem;color:var(--muted);letter-spacing:0}
.cprice{margin:6px 0 0;display:flex;align-items:baseline;gap:8px}
.cprice b{font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--ink)}
.cprice span{font-size:.8125rem;color:var(--muted)}
.thumb .dur{border-radius:4px;font-family:var(--sans);font-weight:700;font-size:.75rem;letter-spacing:0;text-transform:none}
.freeflag,.offtag{background:var(--gold-soft);color:var(--gold);border-radius:4px;font-family:var(--sans);
  font-weight:700;font-size:.75rem;letter-spacing:0;text-transform:none;padding:4px 8px;border:0}
.genretile{border-radius:var(--r-s);overflow:hidden}
.genretile b,.genretile h3{font-family:var(--sans);font-weight:700}

/* ---- фильтры каталога: «таблетки» с рамкой */
.chips .chip,.chipbtn,.segbtn{font-family:var(--sans);font-size:.875rem;font-weight:700;letter-spacing:0;text-transform:none;
  border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);min-height:40px;padding:0 16px}
.chips .chip[aria-pressed="true"],.chipbtn[aria-pressed="true"],.chipbtn.on,.segbtn[aria-pressed="true"],.segbtn.on{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.filters{border:1px solid var(--rule);border-radius:var(--r-l);background:var(--surface);box-shadow:none}
.filters label,.fl > span{font-family:var(--sans);font-size:.875rem;font-weight:700;color:var(--ink);letter-spacing:0;text-transform:none}

/* ---- страница курса */
.udl-hero h1{font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.2;letter-spacing:-.015em}
.udl-hero .lede{color:var(--text);font-size:1.125rem}
.udl-meta{font-size:.875rem;color:var(--text)}
.udl-meta b{color:var(--ink);font-weight:700}
.udl-heroart{padding:0;border:1px solid var(--rule);border-radius:var(--r-s);overflow:hidden;box-shadow:none}
.udl-play{background:#fff;color:#2D2F31;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.udl-box{border:1px solid var(--rule);border-radius:0;padding:24px;background:var(--surface);box-shadow:none}
.udl-box h2,.udl-curr h2,.udl-final h2{font-size:1.5rem;letter-spacing:-.01em;margin:0 0 16px}
.udl-checks li::before,.udl-inc li::before{content:"";width:16px;height:16px;top:3px;left:0;
  background:currentColor;color:var(--ink);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.udl-inc li{padding-left:28px;font-size:.875rem}
.udl-checks li{padding-left:30px}
.udl-curr > .dim{font-size:.875rem;color:var(--text)}
.udl-sec{border:1px solid var(--rule);border-radius:0;margin:0;background:var(--surface)}
.udl-sec + .udl-sec{border-top:0}
.udl-sec summary{background:var(--surface-2);padding:16px 20px;font-family:var(--sans);font-weight:700;font-size:1rem;color:var(--ink)}
.udl-sec summary::before{content:"";width:10px;height:10px;margin-right:14px;border:solid var(--ink);border-width:0 2px 2px 0;
  transform:rotate(-135deg) translate(-2px,-2px);transition:transform .15s}
.udl-sec:not([open]) summary::before{transform:rotate(45deg) translate(-2px,-2px)}
.udl-sec summary .dim{font-weight:400;font-size:.875rem;color:var(--text)}
.udl-row{padding:10px 20px;border:0;font-size:.875rem;gap:16px}
.udl-ic{width:18px;height:18px;display:inline-grid;place-items:center;font-size:0;color:var(--ink);
  border:1.6px solid currentColor;border-radius:3px;position:relative}
.udl-ic::after{content:"";border-left:6px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}
.udl-lt{font-size:.875rem;color:var(--text)}
.udl-lm{font-size:.875rem;color:var(--muted)}
.udl-free{font-size:.875rem;font-weight:400;color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.udl-card{border:1px solid var(--rule);border-radius:0;box-shadow:var(--shadow);background:var(--surface)}
.udl-cardin{padding:24px;gap:12px}
.udl-cardin h3,.ofr-h{font-size:1.1875rem;font-weight:700;margin:0}
.ofr-k{font-size:.875rem;font-weight:700;color:var(--ink)}
.ofr-t{font-size:.875rem;color:var(--text)}
.mprice b,.ofr b,.tierprice b{font-family:var(--sans);font-weight:700;color:var(--ink);letter-spacing:-.01em}
.udl-tcard b{font-family:var(--sans);font-weight:700;color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.udl-finalart{border-radius:var(--r-s);overflow:hidden;border:1px solid var(--rule)}
.udl-review{border-radius:var(--r-s)}

/* мобильная нижняя панель покупки на странице курса */
.udl-sticky{display:none}
@media (max-width:900px){
  .udl-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;gap:14px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);
    box-shadow:0 -2px 4px rgba(0,0,0,.06),0 -4px 12px rgba(0,0,0,.08)}
  .udl-sticky .sp{display:grid;line-height:1.15;min-width:0}
  .udl-sticky .sp b{font-size:1.125rem;font-weight:700;color:var(--ink);white-space:nowrap}
  .udl-sticky .sp span{font-size:.8125rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .udl-sticky .btn{flex:1;min-height:48px;padding:0 12px;font-size:.9375rem;white-space:nowrap}
  .udl-sticky .sp{flex:none;max-width:44%}
  body:has(.udl-sticky){padding-bottom:84px}
}

/* ---- тарифы и цены */
.plan,.tiergrid > *,.mmod,.msvc,.mcard,.artistcard{border:1px solid var(--rule);border-radius:var(--r-l);box-shadow:none;background:var(--surface)}
.plan h3,.planrate b{font-family:var(--sans);font-weight:700}
.planflag{background:var(--gold-soft);color:var(--gold);font-weight:700;border-radius:4px}
.compare th,.compare td{border-color:var(--rule)}

/* ---- подвал */
.sitefooter{background:#1C1D1F;color:#FFFFFF;border-top:0}
.sitefooter a{color:#FFFFFF}
.sitefooter a:hover{text-decoration:underline}
.sitefooter .footcols b{color:#FFFFFF;font-size:.9375rem;font-weight:700}
.sitefooter p,.sitefooter .fine,.sitefooter .footlow{color:#D1D7DC}
.sitefooter .brandmark b,.sitefooter .brandmark .wordmark b{color:#FFFFFF}
.sitefooter .brandmark i,.sitefooter .brandmark .wordmark i{color:#B9C0C6}
.footlow{border-top-color:#3E4143}

@media (max-width:860px){.headeractions .btn{min-height:40px}.langswap,.themeswap{min-height:36px;min-width:36px;line-height:34px}}
:root[data-theme="dark"] :is(.input,input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="password"],input[type="number"],input[type="date"],select,textarea){border-color:#7D8388}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) :is(.input,input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="password"],input[type="number"],input[type="date"],select,textarea){border-color:#7D8388}}

/* ===== Domestika-доводка (10.10.2026): иконки в «включает», футер-аккордеон ===== */
.udl-inc{gap:12px}
.udl-inc li{display:flex;gap:12px;align-items:flex-start;padding-left:0;font-size:.9375rem;line-height:1.4;color:var(--text)}
.udl-inc li::before{content:none;display:none}
.udl-inc .ic{flex:none;color:var(--muted);margin-top:-1px}
.footcols{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)) minmax(0,.8fr)}
.footsec summary{list-style:none;cursor:default;pointer-events:none}
.footsec summary::-webkit-details-marker{display:none}
.footsec summary b,.footlangbox b{display:block;margin-bottom:12px}
.footlinks a,.footlangbox a{display:block}
.footlang{display:inline-flex !important;align-items:center;gap:8px;padding:9px 14px;border:1px solid #6A6F73;border-radius:4px}
.footlang:hover{text-decoration:none !important;border-color:#fff}
@media(max-width:860px){
  .footcols{grid-template-columns:minmax(0,1fr);gap:0}
  .footbrand{padding-bottom:20px}
  .footsec{border-bottom:1px solid #3E4143}
  .footsec:first-of-type{border-top:1px solid #3E4143}
  .footsec summary{pointer-events:auto;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:56px}
  .footsec summary b{margin:0;font-size:1.0625rem}
  .footsec summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-3px);transition:transform .2s;margin-right:6px}
  .footsec[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
  .footlinks{padding:0 0 14px}
  .footlinks a{padding:8px 0;margin:0;font-size:1rem}
  .footlangbox{padding-top:22px}
}

/* ===== Витрина 3.1 (10.10.2026): карточки как у Domestika/Udemy, картины без обрезки,
   карусель жанров, светлые шапки, переходы между блоками ===== */
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:12px;overflow:hidden;
  transition:box-shadow .2s,transform .2s,border-color .2s}
.card:hover{box-shadow:0 10px 30px rgba(20,16,10,.12);transform:translateY(-2px);border-color:var(--rule-2,var(--rule))}
.card .thumb{position:relative;aspect-ratio:4/3;border:0;border-radius:0;overflow:hidden;background:var(--surface-2);box-shadow:none}
.card .thumb .art-bg{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:blur(18px) saturate(1.1);opacity:.55;transform:none}
.card .thumb .art{position:relative;width:100%;height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .thumb .art{transform:scale(1.03)}
.card:hover .thumb .art-bg{transform:none}
.card .thumb .stagetag{position:absolute;left:10px;bottom:10px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.92);
  color:#2d2f31;font:600 11.5px/1.2 var(--sans);letter-spacing:0;text-transform:none}
.card .thumb .freeflag{left:10px;top:10px;border-radius:999px;padding:4px 9px;font:700 11px/1.2 var(--sans);letter-spacing:0;text-transform:none;background:var(--gold);color:var(--onGold,#fff)}
.card .thumb .dur{display:none}
.card .cbody{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.card h3{margin:0;font-family:var(--sans);font-size:1.02rem;font-weight:700;line-height:1.3;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .cby{margin:0;font-size:13px;color:var(--muted)}
.card .cmeta{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;font-size:12.5px;color:var(--muted)}
.card .cmeta span+span::before{content:"·";margin-right:10px;color:var(--faint)}
.card .cfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid var(--rule)}
.card .cprice{margin:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.card .cprice b{font:700 1.05rem/1 var(--sans);color:var(--ink)}
.card .cprice i{font-style:normal;font-size:12px;color:var(--muted)}
.card .cmore{font-size:13px;font-weight:600;color:var(--gold);white-space:nowrap}
.card:hover h3{color:var(--ink)}
.card:hover .cmore{text-decoration:underline}
.card .meta{display:none}

/* популярные: перемешать */
.shelfacts{display:flex;gap:14px;align-items:center;flex-wrap:wrap}

/* карусель жанров */
.gcar{position:relative}
.gcartrack{display:grid !important;grid-auto-flow:column;grid-auto-columns:minmax(200px,calc((100% - 3*16px)/4));gap:16px !important;
  grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 8px}
.gcartrack::-webkit-scrollbar{display:none}
.gcartrack .genretile{scroll-snap-align:start}
.gcarbtn{position:absolute;top:calc(50% - 22px);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule-2,var(--rule));
  background:var(--surface);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.gcarbtn.prev{left:-14px}.gcarbtn.next{right:-14px}
.gcarbtn:disabled{opacity:0;pointer-events:none}
@media (max-width:760px){.gcartrack{grid-auto-columns:62%}.gcarbtn{display:none}}

/* философия: две колонки, иконки */
.ph2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.ph2 .pillars{grid-template-columns:minmax(0,1fr) !important;gap:18px !important;margin-top:24px}
.ph2 .pillars > div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 14px;align-items:start}
.ph2 .pillars b{grid-column:2;font-size:1.05rem}
.ph2 .pillars p{grid-column:2;margin:0}
.ph2 .phic{grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--gold)}
.ph-art{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 20px 50px rgba(20,16,10,.18);aspect-ratio:4/5;background:var(--surface-2)}
.ph-art img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.ph2{grid-template-columns:minmax(0,1fr)}.ph-art{max-width:420px}}

/* переходы между блоками: чередование фона и мягкие края */
main > section.band, main > .shelf{position:relative}
main > section.band:nth-of-type(even){background:var(--surface-2)}
main > section.band + section, main > section.shelf + section.band{border-top:1px solid var(--rule)}
.band, .shelf.wide{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}

/* тарифы: что входит */
.tiercount{margin:6px 0 10px;font-size:14px;color:var(--muted)}
.tiercount b{color:var(--ink)}
.tierperks{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.tierperks li{position:relative;padding-left:24px;font-size:14px;line-height:1.45;text-align:left}
.tierperks li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}
.tierstages{margin:0 0 14px;font-size:13px;text-align:left}
.tierstages summary{cursor:pointer;color:var(--muted)}
.tierstages ul{margin:8px 0 0;padding-left:18px}

/* каталог: светлая шапка */
.cathero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:center;
  margin:0 0 18px;padding:clamp(24px,4vw,48px);border-radius:16px;
  background:linear-gradient(120deg,#fbf6ec 0%,#f3eadb 55%,#efe2cb 100%);color:#2d2f31;overflow:hidden}
.cathero h1{margin:6px 0 8px;font-size:clamp(1.8rem,3.4vw,2.6rem);color:#1c1d1f}
.cathero .eyebrow{color:#8a6a21}
.cathero .lede{margin:0 0 18px;color:#5b5650}
.cathero-search input{width:100%;max-width:520px;min-height:52px;font-size:16px;border-radius:999px;padding:0 22px;background:#fff;border:1px solid #d9cfbf;color:#1c1d1f}
.cathero-art{position:relative;height:240px}
.cathero-art img{position:absolute;width:44%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:10px;box-shadow:0 14px 34px rgba(60,40,10,.22);border:4px solid #fff}
.cathero-art .cc1{left:4%;top:18px;transform:rotate(-5deg)}
.cathero-art .cc2{left:30%;top:0;z-index:2}
.cathero-art .cc3{left:56%;top:24px;transform:rotate(5deg)}
.catchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
@media (max-width:760px){.cathero{grid-template-columns:minmax(0,1fr)}.cathero-art{display:none}}
[data-theme="dark"] .cathero{background:linear-gradient(120deg,#2a241b,#1f1b15);color:#ede7de}
[data-theme="dark"] .cathero h1{color:#fff}
[data-theme="dark"] .cathero .lede{color:#cfc6b8}

/* страница курса: светлая шапка, мастер-ссылка, кнопки с ценой */
.udl-hero{background:linear-gradient(120deg,#fbf6ec 0%,#f2e8d6 100%) !important;color:#2d2f31 !important;border-radius:16px}
.udl-hero h1{color:#1c1d1f !important}
.udl-crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:#7a7268 !important}
.udl-crumbs a{color:#8a6a21 !important;font-weight:600}
.udl-crumbs span{color:#b4aa9b}
.udl-lede{margin:0 0 14px;max-width:60ch;font-size:1.05rem;line-height:1.55;color:#4a4540}
.udl-by{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;color:#2d2f31;text-decoration:none}
.udl-by b{color:#8a6a21}
.udl-by:hover b{text-decoration:underline}
.udl-byph{width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e8dcc6;font-size:13px;font-weight:700;position:relative}
.udl-byph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.udl-meta{gap:8px 18px !important;color:#4a4540 !important}
.udl-meta li{display:inline-flex;align-items:center;gap:6px}
.udl-meta .ic{width:18px;height:18px;color:#8a6a21}
.udl-meta a{color:inherit;text-decoration:underline;text-decoration-color:#cdbfa8;text-underline-offset:3px;display:inline-flex;align-items:center;gap:6px}
.udl-hero .btn.ghost{color:#2d2f31;border-color:#2d2f31}
.udl-heroart{position:relative;background:#e9dfcd !important;aspect-ratio:4/3;overflow:hidden}
.udl-heroart .art-bg{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover;filter:blur(20px);opacity:.5}
.udl-heroart .art{position:relative;width:100%;height:100%;object-fit:contain !important}
.udl-finalart img{object-fit:contain !important;max-height:70vh;width:100%;background:var(--surface-2)}
.udl-buy{display:flex !important;justify-content:space-between !important;align-items:center;gap:10px;min-height:54px}
.udl-buy b{font-size:1.05rem}
.udl-sub{margin:-2px 0 6px;font-size:12.5px;color:var(--muted);text-align:center}
[data-theme="dark"] .udl-hero{background:linear-gradient(120deg,#2a241b,#1f1b15) !important;color:#ede7de !important}
[data-theme="dark"] .udl-hero h1{color:#fff !important}
[data-theme="dark"] .udl-lede,[data-theme="dark"] .udl-meta{color:#d8d0c3 !important}
[data-theme="dark"] .udl-by{color:#ede7de}
.udl-buy{padding:0 18px !important;font-size:15px !important}
.udl-buy span,.udl-buy b{white-space:nowrap}
.udl-hero{align-items:center}

/* ===== 11.10.2026: поиск с подсказками, жанры без прокрутки, академия ===== */
/* Жанры: переносятся по строкам на любой ширине, без полосы прокрутки. */
.catchips,.chips.catchips{flex-wrap:wrap !important;overflow:visible !important;row-gap:8px}
.catchips .chipbtn[hidden]{display:none !important}
.chipbtn.chipacad{background:#a8842c;border-color:#a8842c;color:#fff;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.chipbtn.chipacad span{color:#fff;opacity:.8}
.chipbtn.chipacad:hover{background:#8a6a21;border-color:#8a6a21}
.chipbtn.chipmore{border-style:dashed;background:transparent;font-weight:600}
@media (max-width:560px){.chipbtn{padding:7px 12px;font-size:13px}}

/* Поиск: поле с кнопкой-лупой справа и выпадающими подсказками. */
.cathero-search{position:relative;max-width:560px}
.cathero-search input{max-width:none !important;padding-right:62px !important}
.cathero-search .qgo{position:absolute;right:5px;top:5px;width:44px;height:44px;border:0;border-radius:50%;
  background:#a8842c;color:#fff;display:grid;place-items:center;cursor:pointer}
.cathero-search .qgo:hover{background:#8a6a21}
.cathero-search .qgo:focus-visible{outline:3px solid #1c1d1f;outline-offset:2px}
.qsug{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;background:#fff;color:#1c1d1f;border:1px solid #d9cfbf;
  border-radius:14px;box-shadow:0 18px 40px rgba(40,30,10,.18);padding:6px;max-height:min(70vh,520px);overflow-y:auto}
.qsug[hidden]{display:none}
.qsi{display:flex;gap:12px;align-items:center;padding:8px 10px;border-radius:10px;color:inherit;text-decoration:none}
.qsi:hover,.qsi[aria-selected="true"]{background:#f5efe4}
.qsi img,.qsph{width:56px;height:42px;flex:none;object-fit:cover;border-radius:6px;background:#eee6d8}
.qst{display:grid;gap:2px;min-width:0}
.qst b{font-size:15px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qst i{font-style:normal;font-size:12.5px;color:#6e6660;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qsnone{margin:0;padding:12px;color:#6e6660;font-size:14px}
.qsall{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:4px;padding:11px 12px;border:0;
  border-top:1px solid #eee6d8;background:none;font:inherit;font-weight:600;color:#8a6a21;cursor:pointer;border-radius:0 0 10px 10px}
.qsall:hover{background:#f5efe4}
.qsall kbd{font:inherit;font-size:12px;color:#6e6660;border:1px solid #d9cfbf;border-radius:6px;padding:2px 6px}
[data-theme="dark"] .qsug{background:#211d18;color:#ede7de;border-color:#3a332a}
[data-theme="dark"] .qsi:hover,[data-theme="dark"] .qsi[aria-selected="true"],[data-theme="dark"] .qsall:hover{background:#2c261f}
[data-theme="dark"] .qst i,[data-theme="dark"] .qsnone{color:#b9b0a3}
@media (max-width:560px){.qsall kbd{display:none}}

/* Академия: метка на карточке, полка на главной, страница раздела. */
.acadtag{margin:0 0 4px;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:#a8842c}
.acadshelf .shelfhead .dim{margin:4px 0 0;color:var(--muted)}
.acadjump{flex-wrap:wrap;overflow:visible;margin-bottom:8px}
.acadjump .chipbtn{text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.acadhero .eyebrow a{color:inherit}

/* ===== 11.10.2026: страница кураторства ===== */
.mn-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,4vw,56px);align-items:center;
  max-width:1200px;margin:0 auto;padding:clamp(28px,5vw,64px) 20px 10px}
.mn-hero h1{font-family:var(--brand);font-weight:600;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.05;margin:6px 0 14px;color:var(--ink)}
.mn-cta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.mn-collage{position:relative;aspect-ratio:1/1.05;min-height:280px}
.mn-collage span{position:absolute;background:center/cover no-repeat var(--surface-2);border-radius:14px;box-shadow:var(--shadow);border:4px solid var(--surface)}
.mn-c0{inset:0 28% 30% 0}.mn-c1{inset:22% 0 12% 44%}.mn-c2{inset:58% 34% 0 10%}
.mn-how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;counter-reset:none}
.mn-how li{background:var(--surface);border:var(--frame);border-radius:14px;padding:16px 16px 14px;display:grid;gap:6px;align-content:start}
.mn-how b{color:var(--ink);font-size:1.02rem}
.mn-how p{margin:0;color:var(--text);font-size:.92rem;line-height:1.45}
.mn-hnum{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font-weight:700;font-size:.9rem}
.mn-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;position:relative}
.mn-stage{background:var(--surface);border:var(--frame);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px;position:relative}
.mn-stage::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:14px 14px 0 0;background:linear-gradient(90deg,var(--gold-dim),var(--gold))}
.mn-sk{margin:4px 0 0;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.mn-stage h3{margin:0;font-size:1rem;line-height:1.25;color:var(--ink)}
.mn-title{margin:0;font-family:var(--brand);font-style:italic;font-size:1.12rem;color:var(--gold)}
.mn-sabout{margin:0;font-size:.86rem;color:var(--muted);line-height:1.45}
.mn-smods{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:.85rem}
.mn-smods a{color:var(--text);text-decoration:none}.mn-smods a:hover{color:var(--gold)}
.mn-smods b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:6px;background:var(--surface-2);font-size:.75rem;margin-right:4px}
.mn-mods{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.mn-mod,.mn-svc{background:var(--surface);border:var(--frame);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--lift);scroll-margin-top:90px}
.mn-cover{position:relative;aspect-ratio:16/9;background:center/cover no-repeat var(--surface-2)}
.mn-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(16,12,8,.72))}
.mn-num{position:absolute;left:14px;bottom:10px;z-index:1;font-family:var(--brand);font-size:2.6rem;line-height:1;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.mn-stagechip{position:absolute;right:12px;bottom:14px;z-index:1;font-size:.72rem;font-weight:600;color:#fff;background:rgba(0,0,0,.38);backdrop-filter:blur(4px);padding:4px 9px;border-radius:999px}
.mn-body{padding:16px 16px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.mn-body h3{margin:0;font-size:1.12rem;line-height:1.25;color:var(--ink)}
.mn-format{margin:0;font-size:.82rem;color:var(--gold);font-weight:600}
.mn-desc{margin:0;color:var(--text);font-size:.93rem;line-height:1.5}
.mn-req{margin:0;font-size:.82rem;color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);padding:6px 10px;border-radius:8px}
.mn-prog{border-top:1px solid var(--rule);padding-top:8px}
.mn-prog summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:.9rem;list-style:none}
.mn-prog summary::-webkit-details-marker{display:none}
.mn-prog summary::after{content:"＋";float:right;color:var(--gold)}
.mn-prog[open] summary::after{content:"－"}
.mn-sects{display:grid;gap:10px;margin-top:10px}
.mn-sect h4{margin:0 0 4px;font-size:.88rem;color:var(--ink)}
.mn-sect ul{margin:0;padding-left:18px;color:var(--text);font-size:.86rem;line-height:1.45}
.mn-home,.mn-about,.mn-teach,.mn-note,.mn-get{margin:8px 0 0;font-size:.85rem;color:var(--muted);line-height:1.45}
.mn-get{color:var(--good)}
.mn-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:6px}
.mn-svcs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.mn-svcimg{aspect-ratio:3/2;background:center/cover no-repeat var(--surface-2)}
.mn-str li{background:var(--gold-soft)}
@media(max-width:980px){.mn-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.mn-hero{grid-template-columns:1fr}.mn-collage{max-width:420px;min-height:240px}}
@media(max-width:560px){.mn-stages{grid-template-columns:1fr}.mn-mods{grid-template-columns:1fr}.mn-collage{display:none}}

/* 11.10.2026: в шапке шесть пунктов (добавилась «Академия») — на 761–1360px
   ужимаем отступы, чтобы правая группа не уезжала за край. */
@media (min-width:761px) and (max-width:1360px){
  .siteheader{gap:18px;padding-left:clamp(14px,2.4vw,40px);padding-right:clamp(14px,2.4vw,40px)}
  .sitenav{gap:16px;font-size:14px}
  .headeractions{gap:7px}
  .headeractions .btn{padding:8px 13px;font-size:13.5px}
}
@media (min-width:761px) and (max-width:1100px){
  .brandmark i{display:none}
  .sitenav{gap:12px;font-size:13.5px}
  .headeractions .btn.sec{display:none}
}

/* ===== 14.10.2026: 50 оттенков Blade & Socks ===== */
.bs50{scroll-margin-top:90px}
.bs-head{max-width:820px}
.bs-head h2{font-family:var(--brand);font-weight:600;font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:6px 0 10px;color:var(--ink)}
.bs-princ{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bs-princ li{padding:7px 12px;border-radius:999px;border:1px solid var(--rule-2);background:var(--surface);font-size:.86rem;color:var(--text)}
.bs-h3{margin:26px 0 12px;font-size:1.1rem;color:var(--ink);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.bs-h3 span{font-size:.82rem;font-weight:500;color:var(--muted)}
.bs-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;counter-reset:none;position:relative}
.bs-stages li{background:var(--surface);border:var(--frame);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px;position:relative}
.bs-stages li:not(:last-child)::after{content:"→";position:absolute;right:-9px;top:22px;color:var(--gold);font-weight:700;z-index:1}
.bs-sic{display:flex;align-items:center;gap:8px;color:var(--gold)}
.bs-sic svg{width:34px;height:34px;padding:6px;border-radius:50%;background:var(--gold-soft)}
.bs-sic b{font-family:var(--brand);font-size:1.4rem;color:var(--gold)}
.bs-stages strong{color:var(--ink);font-size:.98rem}
.bs-stool{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}
.bs-stages p{margin:0;font-size:.84rem;line-height:1.45;color:var(--text)}
.bs-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.bs-filt{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.bs-filt .chipbtn[aria-pressed="true"]{background:var(--gold);color:#fff;border-color:var(--gold)}
.bs-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.bst{aspect-ratio:1/1.08;border-radius:10px;background:var(--bsbg);color:var(--bsfg);position:relative;overflow:hidden;transition:transform .2s,opacity .25s,filter .25s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.bst::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 45%,rgba(0,0,0,.12));pointer-events:none}
.bst button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:8px}
.bst button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:10px}
.bst:not(.off):hover{transform:translateY(-3px) scale(1.03);z-index:2;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.bsn{font-family:var(--brand);font-size:1.5rem;line-height:1;font-weight:600}
.bsname{font-size:.72rem;line-height:1.2;font-weight:600;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}
.bst.off{display:flex;flex-direction:column;justify-content:space-between;padding:8px;opacity:.42}
.bst.off .bsname{font-weight:400;font-style:italic}
.bst.dim{opacity:.18;filter:grayscale(.6)}
.bsm{position:fixed;inset:0;z-index:100;background:rgba(10,8,6,.62);display:grid;place-items:center;padding:16px;overflow:auto}
.bsm-card{width:min(720px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);color:var(--text);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.bsm-top{display:flex;align-items:center;gap:16px;padding:18px 20px;background:linear-gradient(120deg,var(--bsbg),color-mix(in srgb,var(--bsbg) 55%,#000));color:#fff;position:relative}
.bsm-n{font-family:var(--brand);font-size:3rem;line-height:1}
.bsm-top p{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.bsm-top h3{margin:2px 0 0;font-size:1.4rem;color:#fff}
.bsm-x{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.35);color:#fff;font-size:22px;cursor:pointer}
.bsm-b{padding:18px 22px 20px}
.bsm-text{margin:0;font-size:1.02rem;line-height:1.65;color:var(--text);white-space:pre-line}
.bsm-k{margin:18px 0 8px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.bsm-tools{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bsm-tools li{padding:5px 10px;border-radius:999px;background:var(--gold-soft);color:var(--gold);font-size:.84rem;font-weight:600}
.bsm-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bsm-courses a{display:grid;gap:6px;text-decoration:none;color:var(--ink);font-size:.84rem;line-height:1.3}
.bsm-courses img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--surface-2)}
.bsm-nav{display:flex;justify-content:space-between;margin-top:18px}
@media(max-width:1000px){.bs-stages{grid-template-columns:repeat(3,minmax(0,1fr))}.bs-stages li::after{display:none}.bs-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:560px){.bs-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bsm-courses{grid-template-columns:repeat(2,minmax(0,1fr))}.bsname{font-size:.66rem}}

/* видео к приёмам */
.bsv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 4px}
.bsv{margin:0;display:grid;gap:6px}
.bsv-play{position:relative;display:block;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--surface-2)}
.bsv-play img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.bsv-pl{position:absolute;inset:0;margin:auto;width:56px;height:40px;border-radius:12px;background:rgba(0,0,0,.72);pointer-events:none}
.bsv-pl::after{content:"";position:absolute;left:23px;top:11px;border-left:12px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.bsv-play:hover .bsv-pl{background:#c00}
.bsv-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#000}
.bsv figcaption{font-size:.84rem;line-height:1.3;color:var(--ink)}
.bsv-intro{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.bst.hasv .bsv-badge{position:absolute;top:8px;right:8px;font-size:.62rem;line-height:1;padding:4px 6px;border-radius:4px;background:var(--gold);color:var(--onGold)}
.bst button{position:relative}
@media(max-width:760px){.bsv-intro{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.bsv-grid{grid-template-columns:1fr}}

/* ===== 16.10.2026: модуль B&S в Platinum — замок и анонс на главной ===== */
.bs-plat{margin:14px 0 0;padding:10px 14px;border-radius:12px;border:1px solid var(--gold);background:var(--gold-soft);color:var(--ink);font-size:.92rem;line-height:1.45}
.bs-plat a{color:var(--gold);font-weight:600;white-space:nowrap}
.bs-lock{margin-right:4px}
.bsm-lock{padding:14px 16px;border-radius:14px;border:1px solid var(--gold);background:var(--gold-soft);color:var(--ink)}
.bsm-lock p{margin:0 0 8px;line-height:1.5}
.bsm-lockh{font-weight:700;font-size:1.02rem}
.bsm-lockbtns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0 !important}
.bsband{padding-bottom:var(--s-6)}
.bsh-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;padding:clamp(18px,3vw,32px);border-radius:22px;border:var(--frame);background:var(--surface)}
.bsh-txt h2{font-family:var(--brand);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.08;margin:6px 0 12px;color:var(--ink)}
.bsh-feats{margin:14px 0;padding:0;list-style:none;display:grid;gap:7px}
.bsh-feats li{position:relative;padding-left:22px;font-size:.95rem;line-height:1.45;color:var(--text)}
.bsh-feats li::before{content:"✦";position:absolute;left:0;top:0;color:var(--gold)}
.bsh-stages{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bsh-stages li{display:flex;align-items:center;gap:6px;padding:5px 11px 5px 5px;border-radius:999px;border:1px solid var(--rule-2);font-size:.84rem;color:var(--text);background:var(--bg)}
.bsh-stages b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--onGold);font-size:.75rem}
.bsh-cta{display:flex;flex-wrap:wrap;gap:10px}
.bsh-cells{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}
.bsh-cells i{aspect-ratio:1;border-radius:6px;background:var(--bsbg);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.bsh-cells i.off{opacity:.38}
.bsh-cap{margin:12px 0 0;font-size:.84rem;color:var(--muted);text-align:center}
@media(max-width:860px){.bsh-grid{grid-template-columns:1fr}.bsh-art{order:-1}}

/* ===== 28.10.2026: карточки и шапка курса (просьба Павла) =====
   Картина заполняет обложку целиком, без рамки и полос; текст — с полями
   внутри карточки. Шапка курса — во всю ширину окна, фоном размытая
   картина курса, сама картина справа, работы учеников под шапкой. */
html,body{overflow-x:clip}
.card .thumb{aspect-ratio:4/3;background:#e9e2d6}
.card .thumb .art-bg{display:none !important}
.card .thumb .art{object-fit:cover !important;object-position:50% 38%}
.card .cbody{padding:16px 18px 18px !important;gap:6px}
.card h3{margin:0 !important}
.acard .byline{margin:0;font-size:13px;color:var(--muted)}
.acard .meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0 0 !important;font-size:12.5px !important;color:var(--muted)}
.acard .meta span+span::before{content:"·";margin-right:10px;opacity:.6}
.acard .meta .cardtag::before{content:none}
.acard .cfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--rule)}
.acard .cardcta{position:static !important;margin:0 !important;font-weight:700;font-size:14px;color:var(--gold)}
.acard .cprog{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.acard .thumb .bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(0,0,0,.25)}
.acard .thumb .bar i{display:block;height:100%;background:var(--gold)}
.acard .art-fallback,.card .art-fallback{background:linear-gradient(135deg,#efe6d5,#d9c9ab)}

/* шапка курса во всю ширину */
.udl-hero{position:relative !important;isolation:isolate;width:100vw;max-width:none !important;
  margin:0 calc(50% - 50vw) 34px !important;border-radius:0 !important;
  padding:clamp(36px,6vw,80px) max(20px,calc((100vw - 1200px) / 2)) !important;
  background:#1d1914 !important;color:#efe8dc !important;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,64px);align-items:center}
.udl-hero::before{content:"";position:absolute;inset:-40px;z-index:-2;background-image:var(--hero,none);background-size:cover;background-position:center;
  filter:blur(28px) saturate(1.15);transform:scale(1.1);opacity:.75}
.udl-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(18,15,11,.92) 0%,rgba(18,15,11,.78) 45%,rgba(18,15,11,.35) 100%)}
.udl-hero h1{color:#fff !important}
.udl-hero .udl-lede,.udl-hero .lede,.udl-hero .udl-meta,.udl-hero .udl-by,.udl-hero .udl-crumbs,.udl-hero .udl-crumbs a{color:#e6ddcf !important}
.udl-hero .udl-meta .ic{color:#d9b866 !important}
.udl-hero .udl-meta a{color:inherit !important;text-decoration-color:rgba(255,255,255,.35) !important}
.udl-hero .udl-by b{color:#f0d58c}
.udl-hero .btn.ghost{color:#fff !important;border-color:rgba(255,255,255,.7) !important}
.udl-heroin{min-width:0}
.udl-heroart{margin:0;aspect-ratio:auto !important;max-height:520px;background:transparent !important;border:0 !important;
  border-radius:10px !important;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45) !important;padding:0 !important;justify-self:center}
.udl-heroart .art-bg{display:none !important}
.udl-heroart .art{display:block;width:auto !important;max-width:100%;height:auto !important;max-height:520px;object-fit:contain !important}
.udl-heroart .art-fallback{width:min(420px,80vw);aspect-ratio:4/3}
[data-theme="dark"] .udl-hero{background:#120f0b !important}
@media(max-width:900px){
  .udl-hero{grid-template-columns:1fr}
  .udl-heroart{order:-1;max-height:none}
  .udl-heroart .art{max-height:60vh}
}
/* работы учеников по курсу */
.udl-works{margin:0 0 34px}
.udl-works h2{margin:0 0 6px}
.udl-works p.dim{margin:0 0 14px}
.udl-wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.udl-wgrid a{display:block;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#e9e2d6}
.udl-wgrid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.udl-wgrid a:hover img{transform:scale(1.04)}

/* ===== 0116: окно покупки, итоговые работы справа, окна на весь экран, заказы ===== */
.bq{position:fixed;inset:0;z-index:300;background:rgba(18,16,14,.55);display:flex;justify-content:center;align-items:flex-start;padding:5vh 16px;overflow:auto}
.bq-card{position:relative;width:100%;max-width:560px;background:var(--surface,#fff);color:var(--ink,#1c1d1f);border-radius:14px;padding:26px 24px 22px;box-shadow:0 30px 80px rgba(0,0,0,.35);display:grid;gap:14px}
.bq-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--muted,#6e6660);border-radius:50%}
.bq-x:hover{background:var(--surface-2,#f3f0ea)}
.bq-item{display:flex;gap:14px;align-items:flex-start;padding-right:30px}
.bq-item img{width:112px;height:84px;object-fit:cover;border-radius:8px;flex:none;background:var(--surface-2,#f3f0ea)}
.bq-item h2{margin:2px 0 6px;font-size:1.25rem;line-height:1.25}
.bq-k{margin:0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent,#8A6A12);font-weight:700}
.bq-desc{margin:0;color:var(--muted,#6e6660);font-size:.92rem;line-height:1.45}
.bq-price{margin:0;font-size:1rem;color:var(--muted,#6e6660)}
.bq-price b{font-size:1.75rem;color:var(--ink,#1c1d1f);margin-right:4px}
.bq-sel{margin:0;color:var(--muted,#6e6660)}
.bq-sel b{font-size:1.5rem;color:var(--ink,#1c1d1f)}
.bq-perks{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:.92rem}
.bq-perks li::before{content:"✓ ";color:var(--accent,#8A6A12);font-weight:700}
.bq-h3{margin:4px 0 0;font-size:1rem}
.bq-provs{display:grid;gap:8px}
.bq-prov{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:12px 14px;border:1.5px solid var(--rule,#ddd6cb);border-radius:10px;background:var(--surface,#fff);cursor:pointer;font:inherit;color:inherit}
.bq-prov.on{border-color:var(--accent,#8A6A12);box-shadow:0 0 0 3px rgba(168,132,44,.15)}
.bq-prov>svg{flex:none;color:var(--accent,#8A6A12)}
.bq-prov span{display:grid;gap:2px;min-width:0}
.bq-prov small{color:var(--muted,#6e6660);font-size:.82rem}
.bq-brands{display:flex !important;flex-wrap:wrap;gap:5px;margin-top:4px}
.bq-brands i{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.02em;padding:2px 6px;border:1px solid var(--rule,#ddd6cb);border-radius:4px;color:#1a1f71;background:#fff;line-height:14px}
.bq-brands .b-mc{display:inline-flex;align-items:center;padding:2px 5px}
.bq-brands .b-mc b{width:11px;height:11px;border-radius:50%;background:#eb001b;display:inline-block}
.bq-brands .b-mc b+b{background:#f79e1b;margin-left:-4px;opacity:.9}
.bq-brands .b-amex{color:#2e77bc}
.bq-brands .b-ap,.bq-brands .b-gp{color:#111}
.bq-mono{flex:none;width:24px;height:24px;border-radius:6px;background:#111;color:#fff;display:inline-flex !important;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.bq-fields{display:grid;gap:8px}
.bq-fields label{display:grid;gap:3px;font-size:.85rem;color:var(--muted,#6e6660)}
.bq-fields input{font:inherit;padding:10px 12px;border:1px solid var(--rule,#ddd6cb);border-radius:8px;background:var(--surface,#fff);color:var(--ink,#1c1d1f)}
.bq-small,.bq-note{margin:0;color:var(--muted,#6e6660);font-size:.8rem;line-height:1.45}
.bq-err{margin:0;padding:10px 12px;border-radius:8px;background:#fbefe9;color:#8a3a22;font-size:.9rem}
.bq-err a,.bq-err .linkbtn{color:inherit;font-weight:700}
.bq-go{width:100%;min-height:50px;font-size:1rem}
.bq-seg{justify-self:start}
.bq-plans{display:grid;gap:8px}
.bq-plan{display:grid;grid-template-columns:1fr auto;grid-template-areas:"n p" "f p";gap:2px 12px;align-items:center;text-align:left;padding:14px 16px;border:1.5px solid var(--rule,#ddd6cb);border-radius:10px;background:var(--surface,#fff);cursor:pointer;font:inherit;color:inherit}
.bq-plan:hover,.bq-plan.on{border-color:var(--accent,#8A6A12)}
.bq-pn{grid-area:n;font-weight:700;font-size:1.05rem}
.bq-pf{grid-area:f;color:var(--muted,#6e6660);font-size:.85rem}
.bq-pp{grid-area:p;display:grid;justify-items:end;line-height:1.2}
.bq-pp b{font-size:1.3rem}
.bq-pp small{color:var(--muted,#6e6660);font-size:.78rem}
.bq-pp .bq-bill{font-size:.74rem}
.bq-done{display:grid;gap:10px}
.bq-done h2{margin:0}
.bq-done p{margin:0}
@media (max-width:560px){.bq{padding:0;align-items:stretch}.bq-card{border-radius:0;min-height:100%;padding:22px 16px}.bq-item img{width:84px;height:63px}}

/* правая колонка курса */
.udl-side{display:grid;grid-auto-rows:max-content;gap:16px;align-self:start;position:static}
.udl-side .udl-card{position:static;height:auto;min-height:0}
.udl-finalside{border:1px solid var(--rule,#ddd6cb);background:var(--surface,#fff);padding:16px 16px 14px;display:grid;gap:10px;box-shadow:var(--shadow)}
.udl-finalside h3{margin:0;font-size:1.05rem;font-weight:700}
.udl-finalside h3 i{font-style:normal;color:var(--muted,#6e6660);font-weight:600;margin-left:4px}
.udl-fgrid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}
.udl-fgrid.n1{grid-template-columns:1fr}
.udl-fgrid.n3 .udl-fthumb:first-child{grid-column:1/-1}
.udl-fthumb{position:relative;display:block;padding:0;border:1px solid var(--rule,#ddd6cb);background:var(--surface-2,#f3f0ea);cursor:zoom-in;border-radius:6px;overflow:hidden;aspect-ratio:1/1}
.udl-fgrid.n1 .udl-fthumb{aspect-ratio:auto}
.udl-fthumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.udl-fgrid.n1 .udl-fthumb img{height:auto;max-height:340px;object-fit:contain}
.udl-fthumb:hover img{transform:scale(1.03)}
.udl-fthumb span{position:absolute;left:6px;bottom:6px;background:rgba(255,255,255,.92);color:#2a241d;font-size:11px;padding:1px 7px;border-radius:999px}
.udl-fcap,.udl-fcanvas,.udl-fhint{margin:0;font-size:.85rem;line-height:1.45;color:var(--muted,#6e6660)}
.udl-fcanvas b{color:var(--ink,#1c1d1f);font-weight:600}
.udl-fhint{font-size:.78rem}
.udl-stickybuy{background:none;border:0;padding:0;font:inherit;color:var(--muted,#6e6660);text-decoration:underline;cursor:pointer;font-size:.8125rem;text-align:left}
@media (max-width:960px){.udl-side{order:-1}}

/* окна на весь экран */
html.lbopen{overflow:hidden}
.lb{position:fixed;inset:0;z-index:320;background:rgba(10,9,8,.92);display:flex;align-items:center;justify-content:center;padding:48px 16px 24px}
.lb-x{position:absolute;top:10px;right:14px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:2}
.lb-fig{margin:0;display:grid;gap:10px;justify-items:center;max-width:100%;max-height:100%}
.lb-fig img{max-width:min(96vw,1400px);max-height:calc(100vh - 110px);object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#222}
.lb-fig figcaption{color:#eee;font-size:.92rem;text-align:center}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:34px;cursor:pointer;border-radius:8px}
.lb-nav.prev{left:10px}.lb-nav.next{right:10px}
.lb-vid{width:min(96vw,1100px);display:grid;gap:10px}
.lb-vbox{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.lb-vbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lb-vt{margin:0;color:#eee;text-align:center}

/* кабинет: заказы и возврат из кассы */
.ckpanel{position:relative;display:grid;gap:10px;margin:0 0 22px}
.ckx{position:absolute;top:6px;right:8px;border:0;background:none;font-size:22px;cursor:pointer;color:var(--muted,#6e6660);z-index:1}
.ckrow{border:1px solid var(--rule,#ddd6cb);border-left:4px solid var(--rule,#ddd6cb);border-radius:10px;background:var(--surface,#fff);padding:14px 16px;display:grid;gap:6px}
.ckrow.ok{border-left-color:#3F6B4F}
.ckrow.warn{border-left-color:#B8862B}
.ckrow h3{margin:0;font-size:1.05rem}
.ckrow p{margin:0}
.ckrow .btnrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ckrow .btn{justify-self:start}
.ckk{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:var(--muted,#6e6660)}
.ckrow.ok .ckk{color:#3F6B4F}.ckrow.warn .ckk{color:#8A6A12}
.cksteps{margin:0;padding-left:18px;display:grid;gap:4px}
.ckhelped{color:#3F6B4F;font-size:.9rem}
.ckban{display:flex;gap:14px;align-items:flex-start;max-width:440px;margin:0 auto 14px;padding:16px;border:1px solid var(--rule,#ddd6cb);border-left:4px solid #B8862B;border-radius:10px;background:var(--surface,#fff);text-align:left}
.ckban.ok{border-left-color:#3F6B4F}
.ckban img{width:96px;height:72px;object-fit:cover;border-radius:6px;flex:none}
.ckban h2{margin:2px 0 6px;font-size:1.1rem}
.ckban p{margin:0 0 8px;font-size:.92rem;line-height:1.45}
.ckban .btnrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bq .linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--accent,#8A6A12);text-decoration:underline;cursor:pointer}

/* ===== 1030a: подписка — читаемость в обеих темах, ровные карточки ===== */
.planflag.soft{background:var(--ink);color:var(--surface)}
.planswrap .plans{align-items:stretch}
.planswrap .plan.tierc{display:flex;flex-direction:column}
.planswrap .plan.tierc .planfacts{margin-bottom:18px}
.planswrap .plan.tierc .btn{margin-top:auto}
.plan.tierc .planfacts li.acad{color:var(--gold)}
.plan.tierc .planfacts li.coins{color:var(--ink)}
.plansnote b{color:var(--ink);font-weight:700}
.offtag{font-style:normal}

/* 02.11.2026: «Академия» — фильтры строкой над карточками (раньше колонкой слева). */
@media(min-width:901px){
  .catwrap{display:block}
  .catwrap .filters{position:static;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:end;gap:12px 14px;margin:0 0 20px;padding:14px 16px}
  .catwrap .filters .fl{margin:0;min-width:0}
  .catwrap .filters .flcheck{align-self:center;margin:0}
  .catwrap .filters button[type=reset]{justify-self:start}
}
.stagetag{max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 03.11.2026: «Академия» — фильтры снова колонкой слева; подписка и сортировка — над плиткой справа. */
@media(min-width:901px){
  .catwrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
  .catwrap .filters{position:sticky;top:92px;display:flex;flex-direction:column;gap:16px;margin:0;padding:18px 16px;max-height:calc(100vh - 110px);overflow:auto}
}
.catwrap .filters .fl{margin:0;min-width:0;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:left}
.catwrap .filters .fl > span,.fseg legend{font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;padding:0}
.catwrap .filters .fl .input{width:100%;box-sizing:border-box;font-size:14px;height:38px;min-height:0;padding:0 10px;border-radius:8px}
.fseg legend{display:block;float:left;width:100%}
.fseg .segrow{clear:both}
.catwrap .filters .flcheck{font-size:14px;display:flex;gap:8px;align-items:center;margin:0}
.catwrap .filters button[type=reset]{align-self:flex-start;font-size:13px;padding:6px 12px;min-height:0}
.fseg{border:0;margin:0;padding:0;min-width:0}
.segrow{display:flex;border:1px solid var(--rule-2,var(--rule));border-radius:8px;overflow:hidden}
.segrow label{flex:1;position:relative;cursor:pointer;margin:0}
.segrow input{position:absolute;opacity:0;pointer-events:none}
.segrow span{display:block;text-align:center;font-size:13px;font-weight:600;padding:7px 4px;color:var(--text,var(--ink));white-space:nowrap}
.segrow span i{font-style:normal;font-weight:500;color:var(--faint,var(--muted));font-size:11.5px}
.segrow label + label span{border-left:1px solid var(--rule-2,var(--rule))}
.segrow input:checked + span{background:var(--ink);color:var(--ground)}
.segrow input:checked + span i{color:inherit;opacity:.7}
.segrow input:focus-visible + span{outline:2px solid var(--gold);outline-offset:-2px}
.cattools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 16px}
.cattools .found{margin:0}
.cattools-r{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tierbtns{display:flex;gap:6px}
.tierbtn{font-family:var(--sans);font-size:12.5px;font-weight:700;line-height:1;padding:7px 12px;border-radius:99px;border:1px solid var(--rule-2,var(--rule));background:var(--surface);color:var(--text,var(--ink));cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.tierbtn::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot)}
.tierbtn.t-bronze{--dot:#B0703C}.tierbtn.t-gold{--dot:#C9A24B}.tierbtn.t-platinum{--dot:#9AA3AE}
.tierbtn:hover{border-color:var(--dot)}
.tierbtn[aria-pressed="true"]{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.sortbtn{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule-2,var(--rule));border-radius:99px;background:var(--surface);padding:0 10px;height:31px;color:var(--text,var(--ink));cursor:pointer}
.sortbtn svg{flex:none;color:var(--muted)}
.sortbtn select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font-family:var(--sans);font-size:12.5px;font-weight:700;padding:0 14px 0 0;height:100%;cursor:pointer;outline:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 5px) 50%,100% 50%;background-size:4px 4px;background-repeat:no-repeat}
.sortbtn select option{color:#111;background:#fff}
.sortbtn:focus-within{outline:2px solid var(--gold);outline-offset:1px}
@media(max-width:900px){
  .catwrap{display:block}
  .catwrap .filters{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px;padding:14px}
  .catwrap .filters .fseg{grid-column:1/-1}
  .catwrap .filters:not(.open) .fx{display:none}
  .catwrap .filters .filtmore{font-size:13px;padding:8px 12px;min-height:0}
}
@media(max-width:560px){
  .cattools{align-items:flex-start}
  .cattools-r{width:100%;justify-content:space-between}
  .catwrap .filters{grid-template-columns:minmax(0,1fr)}
}

/* 03.11.2026: новый логотип «aurum. | online academy» — золотая точка медленно мигает. Работает в обеих темах через var(--ink). */
.brandmark{gap:0;align-items:center;text-decoration:none}
.brandmark .dot{display:none !important}
.brandmark .wordmark,.brandmark > span:not(.dot){display:flex;align-items:center;flex-direction:row}
.brandmark b,.brandmark .wordmark b{font-family:var(--sans);font-weight:800;font-size:1.72rem;letter-spacing:-.05em;text-transform:lowercase;color:var(--ink);line-height:1;margin:0;display:inline-flex;align-items:baseline;white-space:nowrap}
.brandmark b::after{content:"";flex:none;width:.24em;height:.24em;border-radius:50%;background:#C9A24B;margin-left:.08em;animation:aurumBlink 2.8s ease-in-out infinite}
.brandmark i,.brandmark .wordmark i{display:block;font-size:0 !important;line-height:1;letter-spacing:0;margin:0 0 0 12px;padding:2px 0 2px 12px;border-left:1.5px solid var(--rule-2,var(--rule));text-transform:none;white-space:normal}
.brandmark i::before{content:"online\A academy";white-space:pre;display:block;font-family:var(--sans);font-style:normal;font-weight:500;font-size:12.5px;letter-spacing:0;line-height:1.18;color:var(--ink)}
@keyframes aurumBlink{0%,100%{opacity:1}50%{opacity:.1}}
@media (prefers-reduced-motion:reduce){.brandmark b::after{animation:none}}
@media(max-width:760px){.brandmark b,.brandmark .wordmark b{font-size:1.45rem}.brandmark i::before{font-size:11px}.brandmark i{margin-left:9px;padding-left:9px}}
@media(max-width:380px){.brandmark i{display:none}}

/* 03.11.2026: урок — «Как заниматься» по шагам, кнопка созвона в тексте; вкладка «Материалы» — подготовка и стандартный набор. */
.ud-how{margin:0 0 22px;padding:0;list-style:none;counter-reset:how;display:grid;gap:10px}
.ud-how li{counter-increment:how;position:relative;padding:2px 0 2px 38px;line-height:1.55}
.ud-how li::before{content:counter(how);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--gold-soft,#F5EEDC);color:var(--gold-dim,#8A6A21);font:700 13px/26px var(--sans);text-align:center}
.ud-how b{font-weight:700;color:var(--ink)}
button.inl{all:unset;cursor:pointer;color:var(--gold-dim,#8A6A21);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
button.inl:hover{color:var(--gold)}
button.inl:focus-visible,button.inlpill:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
.inlpill{display:inline-flex;align-items:center;gap:6px;vertical-align:baseline;font:600 13px/1 var(--sans);padding:6px 11px;border-radius:99px;border:1px solid var(--gold);background:transparent;color:var(--gold-dim,#8A6A21);cursor:pointer;white-space:nowrap}
.inlpill:hover{background:var(--gold);color:#fff}
.ud-kitst{display:inline-block;font:600 12px/1 var(--sans);padding:4px 8px;border-radius:99px;background:var(--surface-3,#EEF1F3);color:var(--muted);margin-left:4px}
.ud-kitst.ok{background:#E3F1E7;color:#1E6B3A}
.kithead{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.kithead-t{flex:1 1 320px}.kithead-t p{margin:4px 0 0}
.kitprog{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;min-width:220px;font:500 14px var(--sans);color:var(--muted)}
.kitprog b{font-size:22px;color:var(--ink)}
.kitprog .kitbar{grid-column:1/-1;height:6px;border-radius:9px;background:var(--surface-3,#EEF1F3);overflow:hidden}
.kitprog .kitbar i{display:block;height:100%;background:var(--gold);border-radius:9px;transition:width .3s}
.kitprog .dim{grid-column:1/-1;font-size:12.5px}
.kitvids{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.kitvid{margin:0;display:flex;flex-direction:column;gap:8px}
.kitplay{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:10px;overflow:hidden;cursor:pointer;background:#111}
.kitplay img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92;transition:opacity .2s}
.kitplay:hover img{opacity:1}
.kitpbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:17px;line-height:46px;text-align:center;padding-left:3px}
.kitdur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.72);color:#fff;font:600 11.5px/1 var(--sans);padding:4px 6px;border-radius:5px}
.kitframe{aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000}
.kitframe iframe{width:100%;height:100%;border:0;display:block}
.kitvid figcaption{display:grid;gap:3px}.kitvid figcaption b{font:600 14px/1.3 var(--sans);color:var(--ink)}.kitvid figcaption span{font-size:13px;color:var(--muted);line-height:1.4}
.kitspec{display:inline-flex;gap:10px;align-items:baseline;padding:8px 12px;border-radius:8px;background:var(--surface-2,#F7F9FA);margin:0 0 10px}
.kitspec span{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.kitspec b{font-size:15px;color:var(--ink)}
.kitsub{margin:14px 0 8px;font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.kitlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}
.kitrow{display:flex;align-items:flex-start;gap:10px;text-align:left;width:100%;padding:9px 11px;border:1px solid var(--rule);border-radius:9px;background:var(--surface);color:var(--text,var(--ink));cursor:pointer;font:inherit}
.kitrow:hover{border-color:var(--gold)}
.kitrow.on{background:var(--surface-2,#F7F9FA)}
.kitrow.on .kittx b{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--gold)}
.kitck{flex:none;width:18px;height:18px;margin-top:1px;border-radius:5px;border:1.5px solid var(--rule-2,#C9CDD1);display:grid;place-items:center}
.kitrow.on .kitck{background:var(--gold);border-color:var(--gold)}
.kitrow.on .kitck::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.kitsw{flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.kittx{display:grid;gap:2px;min-width:0}.kittx b{font:600 14px/1.3 var(--sans)}.kittx i{font-style:normal;font-size:12.5px;color:var(--muted);line-height:1.35}
.kitstd > summary{cursor:pointer;list-style:none}.kitstd > summary::-webkit-details-marker{display:none}
.kitstd > summary h4::after{content:" ▾";color:var(--muted);font-weight:400}
.kitalt p{margin:0 0 8px;line-height:1.55}
@media(max-width:560px){.kitlist{grid-template-columns:1fr}.ud-how li{padding-left:34px}}
.kitshops{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}
.kitshops a{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px 11px;border:1px solid var(--rule);border-radius:9px;text-decoration:none;color:var(--text,var(--ink));background:var(--surface)}
.kitshops a:hover{border-color:var(--gold)}
.kitshops b{font:600 14px/1.3 var(--sans)}.kitshops span{grid-column:1;font-size:12.5px;color:var(--muted);line-height:1.35}.kitshops i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:var(--gold-dim,#8A6A21)}
.kitsteps{margin:0 0 12px;padding-left:20px;display:grid;gap:6px;line-height:1.5}

/* 04.11.2026: кураторство — цена занятия, срок модуля, пакет всех модулей */
.mper{display:block;font-size:.78rem;color:var(--faint);font-weight:400;margin-top:2px}
.mn-term{margin:-4px 0 8px;font-size:.82rem;color:var(--faint)}
.mn-bundle{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin:28px 0 8px;padding:28px;border:1px solid #C9A24B;border-radius:18px;background:linear-gradient(135deg,rgba(201,162,75,.10),rgba(201,162,75,.02))}
.mn-bundle h3{margin:4px 0 8px;font-size:1.5rem}
.mn-bundle .mn-bl p{margin:0;color:var(--ink-2)}
.mn-bk{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#8A6A21!important}
.mn-br{text-align:right;min-width:200px}
.mn-off{display:inline-block;padding:3px 10px;border-radius:99px;background:#C9A24B;color:#17161A;font-weight:700;font-size:.85rem}
.mn-bprice{margin:8px 0 2px}.mn-bprice b{font-size:2rem}.mn-bprice s{color:var(--faint);margin-left:6px}
.mn-bsave{margin:0 0 12px;color:#8A6A21;font-size:.9rem}
@media (max-width:720px){.mn-bundle{grid-template-columns:1fr}.mn-br{text-align:left}}

/* главная 05.11: крупнее картины целиком, выделенная полоса цифр */
.home-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.hh-art{max-width:720px;aspect-ratio:1/0.95}
.hh-pic{padding:8px}
.hh-pic img{height:auto;object-fit:contain}
.hp1{left:0;top:8%;width:46%;aspect-ratio:auto;transform:rotate(-2deg);z-index:2}
.hp2{right:0;top:0;width:60%;aspect-ratio:auto;transform:rotate(1.6deg);z-index:1}
.hp3{right:3%;bottom:0;width:58%;aspect-ratio:auto;transform:rotate(-.8deg);z-index:3}
@media(max-width:900px){.home-hero{grid-template-columns:1fr}.hh-art{max-width:600px;aspect-ratio:1/1}}
.keyfacts{list-style:none;max-width:var(--maxw);margin:clamp(8px,2vw,24px) auto;padding:0 var(--gut);border:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.keyfacts a{display:flex;flex-direction:column;gap:6px;padding:22px 22px 20px;border-radius:var(--r-m,14px);background:var(--surface);border:1px solid var(--rule);text-decoration:none;color:inherit;position:relative;transition:border-color .25s,transform .25s,box-shadow .25s}
.keyfacts a::after{content:"→";position:absolute;right:18px;top:20px;color:var(--gold);opacity:.55;transition:transform .25s,opacity .25s}
.keyfacts a:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow)}
.keyfacts a:hover::after{opacity:1;transform:translateX(3px)}
.keyfacts b{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1;color:var(--gold)}
.keyfacts span{font-size:.86rem;line-height:1.35;color:var(--muted)}
@media(max-width:760px){.keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ph-art{aspect-ratio:auto}
.ph-art img{height:auto;object-fit:contain}
