/* ============================================================
   Ария Огнева — страница курса «Точка опоры» (kurs.html, ka/kurs.html)
   Подключается после site.css и info.css и только надстраивает их компоненты.
   Цвета — только переменные :root из site.css (--ink*, --pink*, --line, --grad-*,
   --quote-line, --vs-b-bg, --crystal*, тройки RGB --glow-rgb, --wt-rgb и т. п.):
   при смене палитры страница перекрашивается вместе с сайтом. Тёмных подложек нет.
   ============================================================ */

.nw{white-space:nowrap}

/* ---------- первый экран: название + расшифровка ---------- */
.k-hero h1{font-size:clamp(38px,4.8vw,68px)}
.k-hero h1 .k-decode{display:block;margin-top:.34em;font-size:.5em;line-height:1.18;letter-spacing:0}
.k-hero .hero-stats{max-width:620px}
/* первый экран (мама 07.11): подзаголовок, три строки-узнавания и фраза перед кнопкой */
.k-hero h1{font-size:clamp(38px,4.4vw,62px)}
.k-hero .hero-lead{margin-bottom:22px}
.k-hero-pains{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px;max-width:600px}
.k-hero-pains li{position:relative;padding-left:28px;font-size:16px;line-height:1.5;color:var(--ink-2)}
.k-hero-pains li::before{content:"";position:absolute;left:2px;top:.3em;width:12px;height:16px;background:var(--crystal-lit) center/contain no-repeat;filter:drop-shadow(0 0 3px rgba(var(--glow-rgb),.35))}
.k-hero-knot{margin:0 0 28px;max-width:600px;font-family:var(--f-display);font-style:var(--em-style);font-weight:var(--fw-display);font-size:clamp(20px,1.65vw,24px);line-height:1.3;color:var(--pink-2);text-wrap:balance}

/* ---------- суть курса: цитата Арии и раскрывашка «Что на самом деле меняется» (мама 07.11) ---------- */
.k-core{padding-top:clamp(8px,2vw,24px);padding-bottom:clamp(36px,5vw,64px)}
.k-core-q{max-width:980px;margin:0 0 14px;padding:clamp(26px,3vw,40px) clamp(24px,3.4vw,46px)}
.k-core-q .quote{margin:0;font-size:clamp(22px,2.2vw,30px);line-height:1.32}
.k-core-q .quote p{margin:0;text-wrap:pretty}
.k-core-q figcaption{margin-top:14px;padding-left:26px;font-size:14px;font-weight:700;color:var(--ink-3)}
.k-core-more{max-width:980px}
.k-core-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}
.k-core-list li{position:relative;padding-left:28px;line-height:1.55}
.k-core-list li::before{content:"";position:absolute;left:2px;top:.3em;width:12px;height:16px;background:var(--crystal-lit) center/contain no-repeat;filter:drop-shadow(0 0 3px rgba(var(--glow-rgb),.35))}
.faq .ans .k-core-last{margin:0;font-weight:600;color:var(--ink)}

/* ---------- карточка-примечание «середина курса» ---------- */
.k-note{position:relative;margin-top:22px;padding-left:76px}
.k-note::after{content:"";position:absolute;left:28px;top:26px;width:24px;height:30px;pointer-events:none}
.k-note--fire::after{background:var(--grad-fire);-webkit-mask:var(--flame-i) center/contain no-repeat;mask:var(--flame-i) center/contain no-repeat}
.k-note p{max-width:900px}

/* ---------- метод: четыре уровня ---------- */
.k-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.k-level{display:flex;flex-direction:column;padding:28px 26px 30px;
  transition:opacity .9s var(--ease),transform .9s var(--ease),translate .45s var(--ease);transition-delay:var(--rd,0s),var(--rd,0s),0s}
.k-level:hover{translate:0 -6px}
.k-level-n{display:block;margin-bottom:18px;font-family:var(--f-display);font-style:var(--em-style);font-weight:var(--fw-display);font-size:54px;line-height:.9;
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.k-level h3{font-size:24px;margin-bottom:10px}
.k-level p{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink-2)}

/* ---------- метод: порядок — три шага (маршрут из site.css / info.css) ---------- */
.k-order{margin-top:clamp(56px,7vw,96px)}
.k-order-head{max-width:720px;margin-bottom:34px}
.k-order-head h3{font-size:clamp(28px,3vw,40px);margin-bottom:12px}
.k-order-head p{margin:0;color:var(--ink-2)}
.k-route .route-i h3{font-size:21px}
.k-order .pill-note{margin-top:38px;border-radius:22px;line-height:1.4}

/* ---------- программа: 12 модулей, две половины ----------
   Лесенка из info.css/info.js (#ladder) перестроена под две колонки по шесть «лежачих» кристаллов.
   Широкий ПК — справа от колонок панель открытого модуля (как вкладки);
   узкий ПК — панель под колонками во всю ширину; телефон — аккордеон из info.css. */
.k-stage{min-width:0}
.k-stage-n{display:block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-2)}
.k-stage-t{display:block;margin-top:4px;font-family:var(--f-display);font-weight:var(--fw-display);font-size:clamp(22px,1.9vw,27px);line-height:1.2}
.k-stage p{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--ink-2)}
.k-ladder .mod-n{min-width:1.35em}
/* грани лежачего кристалла — полосы постоянной толщины по краям; в открытом модуле — светлее */
.k-ladder .mod-h{--k-hi:rgba(var(--wt-rgb),.7);--k-ln:rgba(var(--edge-rgb),.2);--k-lo:rgba(var(--shade-rgb),.05)}
.k-ladder .mod-h[aria-expanded="true"]{--k-hi:rgba(var(--wt-rgb),.26);--k-ln:rgba(var(--wt-rgb),.42);--k-lo:rgba(var(--dark-rgb),.16)}
.k-ladder .mod-h .sh::after{background:
  linear-gradient(180deg,var(--k-hi) 0 var(--ch),var(--k-ln) var(--ch) calc(var(--ch) + 1px),transparent calc(var(--ch) + 1px) calc(100% - var(--ch) - 1px),var(--k-ln) calc(100% - var(--ch) - 1px) calc(100% - var(--ch)),var(--k-lo) calc(100% - var(--ch))) 0 0/calc(100% - var(--cr-h)) 100% no-repeat,
  linear-gradient(var(--k-ln),var(--k-ln)) calc(100% - var(--cr-h)) 0/1px 100% no-repeat,
  linear-gradient(100deg,transparent 40%,var(--k-hi) 50%,transparent 60%) 0 0/calc(100% - var(--cr-h)) 100% no-repeat,
  linear-gradient(90deg,transparent,var(--k-hi)) 100% 0/var(--cr-h) 100% no-repeat}
/* панель модуля: цель · что делаем · результат */
.k-ladder .mod-chips{margin-top:18px}
.k-goal b,.k-ladder .mod-res b{color:var(--ink)}
.k-ladder .mod-list li{font-size:15.5px;line-height:1.45}
.k-ladder .mod-foot{align-items:flex-end}
/* 07.11 (мама): блок «Что делаем» убран — в карточке модуля только цель, форматы и результат, в одну колонку */
.k-ladder .mod-in{grid-template-columns:minmax(0,1fr)}
.k-ladder .mod-main{max-width:860px}
.k-ladder .mod-res{font-size:16px;line-height:1.5}

@media (min-width:901px){
  .k-ladder{--cr-h:20px;--ch:8px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;
    column-gap:clamp(18px,2.2vw,30px);row-gap:10px;align-items:stretch}
  .k-stage{grid-row:1;align-self:start;padding:0 2px 10px}
  .k-s1{grid-column:1}
  .k-s2{grid-column:2}
  /* модуль → колонка своей половины и строка внутри неё */
  #mh1,#mh2,#mh3,#mh4,#mh5,#mh6{grid-column:1}
  #mh7,#mh8,#mh9,#mh10,#mh11,#mh12{grid-column:2}
  #mh1,#mh7{grid-row:2}
  #mh2,#mh8{grid-row:3}
  #mh3,#mh9{grid-row:4}
  #mh4,#mh10{grid-row:5}
  #mh5,#mh11{grid-row:6}
  #mh6,#mh12{grid-row:7}
  .k-ladder .mod-h{--cut:polygon(var(--ch) 0,calc(100% - var(--cr-h)) 0,100% 50%,calc(100% - var(--cr-h)) 100%,var(--ch) 100%,0 calc(100% - var(--ch)),0 var(--ch));
    display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"n t" "n d";align-items:center;align-content:center;column-gap:14px;row-gap:3px;
    width:100%;min-height:66px;padding:11px calc(var(--cr-h) + 14px) 11px 18px}
  .k-ladder .mod-h:hover{transform:translateY(-3px)}
  .k-ladder .mod-h::before{left:4%;right:10%;bottom:-10px;height:20px}
  .k-ladder .mod-h::after{display:none}
  .k-ladder .mod-n{grid-area:n;font-size:30px}
  .k-ladder .mod-t{grid-area:t;font-size:clamp(16px,1.3vw,18px)}
  .k-ladder .mod-d{grid-area:d;margin:0;padding:0;font-size:12.5px}
  .k-ladder .mod-d b{display:inline}
  .k-ladder .mod-d b::after{content:" ·"}
  .k-ladder.rv.in .mod-h{animation-delay:calc(var(--i) * 55ms)}
  /* открытый модуль — под колонками, во всю ширину; внутри две колонки из info.css */
  .k-ladder .mod-b{grid-row:8;grid-column:1/-1;margin-top:clamp(14px,1.8vw,26px)}
  .k-ladder .mod-in{align-items:start}
}
@media (min-width:1181px){
  /* широкий ПК: две колонки кристаллов + панель справа; лишняя высота панели уходит в последнюю гибкую строку */
  .k-ladder{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.9fr);grid-template-rows:repeat(7,auto) 1fr;column-gap:clamp(18px,1.8vw,26px)}
  .k-ladder .mod-b{grid-row:1/-1;grid-column:3;align-self:start;margin:0 0 0 clamp(4px,.8vw,12px)}
  .k-ladder .mod-in{grid-template-columns:minmax(0,1fr);gap:18px;min-height:0;padding:30px 32px 26px}
  .k-ladder .mod-main h3{font-size:clamp(28px,2.3vw,34px)}
}

/* ---------- по времени: 7 дней · 14 дней · 12 недель · до полутора лет ---------- */
.k-time .route-i h3{font-size:21px}

/* ---------- результат: шесть карточек + навыки после финала ---------- */
@media (min-width:1081px){ .k-takes{grid-template-columns:repeat(3,minmax(0,1fr))} }
.k-takes .take h3{font-size:21px}
.k-keep{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px 52px;margin-top:22px;padding:clamp(28px,3.2vw,46px);border-radius:var(--r-lg)}
.k-keep-k{display:block;margin-bottom:8px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-2)}
.k-keep h3{font-size:clamp(26px,2.4vw,32px);margin-bottom:14px}
.k-keep-head p{margin:0;color:var(--ink-2)}
.k-keep-list{list-style:none;margin:0;padding:0;display:grid;gap:13px;align-content:center}
.k-keep-list li{position:relative;padding-left:34px;font-weight:600;font-size:16px;line-height:1.45}
.k-keep-list li::before{content:"";position:absolute;left:1px;top:0;width:18px;height:24px;background:var(--crystal-lit) center/contain no-repeat;filter:drop-shadow(0 0 4px rgba(var(--glow-rgb),.4))}
.k-keep-q{grid-column:1/-1;margin:6px 0 0}
.k-keep-q p{margin:0}
.k-keep-q cite{display:block;margin-top:10px;font-family:var(--f-body);font-style:normal;font-size:14px;font-weight:700;color:var(--ink-3)}

/* ---------- формат: шесть карточек ---------- */
.k-facts{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}

/* ---------- другие пути: строка-сравнение ---------- */
.k-alt{display:grid;gap:14px}
.k-alt-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;border-radius:var(--r);overflow:hidden}
.k-alt-row>*{min-width:0;margin:0;padding:22px 24px}
.k-alt-name{display:flex;align-items:center;font-size:clamp(19px,1.55vw,22px);line-height:1.25}
.k-alt-c{font-size:15px;line-height:1.5;color:var(--ink-2);border-left:1px solid var(--line)}
.k-alt-l{display:block;margin-bottom:6px;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.k-alt-here{position:relative;font-weight:600;color:var(--ink);background:var(--vs-b-bg);border-left:0}
.k-alt-here::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--quote-line);box-shadow:0 0 12px rgba(var(--glow-rgb),.5)}
.k-alt-here .k-alt-l{color:var(--pink-2)}

/* ---------- почему не откладывать ---------- */
.k-now{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.k-now-i{padding:28px 24px 26px;border-radius:var(--r)}
.k-now-i .fact-ic{margin-bottom:16px}
.k-now-i h3{font-size:21px;margin-bottom:8px}
.k-now-i p{margin:0;font-size:15px;line-height:1.5;color:var(--ink-2)}

/* ---------- тарифы ---------- */
.k-terms{max-width:780px;margin:-14px auto 34px;padding:14px 24px;border-radius:20px;text-align:center;font-size:15px;line-height:1.5;color:var(--ink-2)}
.k-terms a{color:var(--pink-2);font-weight:700;text-underline-offset:3px}
.k-tariffs .tariff{padding-top:clamp(50px,4.4vw,60px)}
.k-tariffs .t-price b{font-size:clamp(44px,3.8vw,54px)}
.k-tariffs .t-price span,.k-module .t-price span{line-height:1.4}
@media (min-width:901px){
  .k-tariffs{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
  .k-tariffs .t-price{flex-direction:column;align-items:flex-start;gap:8px}
  /* заголовки, цены, списки и кнопки трёх карточек стоят на одних линиях */
  @supports (grid-template-rows:subgrid){
    .k-tariffs{grid-template-rows:repeat(6,auto)}
    .k-tariffs .tariff{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
  }
}
#price .t-note p{text-wrap:balance}
/* 08.11: бонусы в тарифах (мама 07.11). На десктопе блок стоит своей строкой subgrid, высота — по содержимому */
.k-tariffs .t-list:has(+ .t-bonus){margin-bottom:22px}
.t-bonus{align-self:start;margin:0 0 28px;padding:15px 18px 16px;border-radius:18px;background:linear-gradient(135deg,rgba(var(--glow-rgb),.1),rgba(169,228,239,.24));box-shadow:inset 0 0 0 1px rgba(var(--rose-rgb),.5)}
.t-bonus-h{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15px;font-weight:800;color:var(--pink-2)}
.t-bonus-h svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.t-bonus ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.t-bonus li{position:relative;padding-left:20px;font-size:15px;line-height:1.4;color:var(--ink)}
.t-bonus li::before{content:"+";position:absolute;left:3px;top:-1px;font-weight:800;color:var(--pink-2)}
/* «Если пока не готовы к курсу»: бронь места за 70 € (kurs.html, .k-module.k-bron) и один модуль (ka/kurs.html) — общие стили */
.k-module{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px 48px;align-items:center;margin-top:22px;padding:clamp(28px,3vw,42px);border-radius:var(--r-lg)}
.k-module-k{display:block;margin-bottom:8px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-2)}
.k-module h3{font-size:clamp(26px,2.4vw,32px);margin-bottom:20px}
.k-module .t-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;margin:0}
.k-module-s{margin:18px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-3)}
.k-module-pay{display:grid;gap:18px;justify-items:start;min-width:0}
.k-module-pay .t-price{margin:0;padding:0;border:0}
.k-module-pay .btn{width:100%}

/* ---------- отзывы: плашка про СветоЯру (.oldname из site.css) ---------- */
.k-oldname{margin-top:clamp(22px,2.6vw,34px)}

/* ---------- возврат и рассрочка ---------- */
.k-assure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.k-as{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3vw,42px);border-radius:var(--r-lg)}
.k-as .fact-ic{margin-bottom:16px}
.k-as-k{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-2)}
.k-as h3{margin:6px 0 14px;font-size:clamp(24px,2.3vw,30px)}
.k-as p{color:var(--ink-2)}
.k-as .k-as-s{font-size:14.5px;line-height:1.55;color:var(--ink-3)}
.k-as .lnk{margin-top:auto}

/* ---------- грузинская версия: без капители, длинные слова переносятся ---------- */
html[lang="ka"] :is(.k-stage-n,.k-keep-k,.k-alt-l,.k-module-k,.k-as-k){text-transform:none;letter-spacing:0}
html[lang="ka"] #main :is(h1,h2,h3,p,li,b,span,summary,a){overflow-wrap:break-word}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:1080px){
  .k-levels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-facts .fact,.k-facts .fact:nth-child(n+4){grid-column:auto}
  .k-alt-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-alt-name{grid-column:1/-1;padding-bottom:4px}
  .k-alt-c{border-left:0;border-top:1px solid var(--line)}
  .k-alt-c+.k-alt-c:not(.k-alt-here){border-left:1px solid var(--line)}
  .k-alt-here{grid-column:1/-1;border-top:0}
  .k-now{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:900px){
  /* аккордеон: двенадцать кристаллов растут в длину плавно */
  .k-ladder{row-gap:10px}
  .k-ladder .mod-h{width:min(100%,calc(92% + (var(--i) - 1) * .72%));column-gap:12px;padding-left:16px}
  .k-ladder .mod-n{font-size:28px}
  .k-stage{padding:22px 2px 4px}
  .k-stage:first-child{padding-top:0}
  .k-keep{grid-template-columns:minmax(0,1fr)}
  .k-module{grid-template-columns:minmax(0,1fr);max-width:560px;margin-left:auto;margin-right:auto}
  .k-module .t-list{grid-template-columns:minmax(0,1fr)}
  .k-module-pay{justify-items:stretch}
  .k-module-pay .t-price{padding-top:20px;border-top:1px solid var(--line)}
  .k-assure{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:560px){
  .k-hero h1 .k-decode{font-size:.58em}
  .k-hero-pains li{font-size:15px}
  .k-core-q{padding:24px 20px 22px}
  .k-core-q .quote{padding-left:18px}
  .k-core-q figcaption{padding-left:20px}
  .k-note{padding:22px 20px 22px 58px}
  .k-note::after{left:20px;top:24px;width:20px;height:26px}
  .k-levels{grid-template-columns:minmax(0,1fr);gap:12px}
  .k-level{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:start;padding:20px}
  .k-level-n{grid-row:span 2;margin:0;font-size:44px}
  .k-level h3{font-size:21px;margin-bottom:4px}
  .k-level p{font-size:14.5px}
  .k-order-head{margin-bottom:28px}
  .k-ladder .mod-t{font-size:17px}
  .k-ladder .mod-list li{font-size:15px}
  .k-ladder .mod-res{font-size:15px}
  .k-facts{grid-template-columns:minmax(0,1fr)}
  .k-takes{gap:12px}
  .k-takes .take{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:start;padding:20px}
  .k-takes .take .ic{grid-row:span 2;width:46px;height:46px;margin:0;border-radius:15px}
  .k-takes .take .ic svg{width:24px;height:24px}
  .k-takes .take h3{font-size:19px;margin-bottom:4px}
  .k-takes .take p{font-size:14.5px}
  .k-keep{padding:26px 22px;gap:20px}
  .k-keep-list li{font-size:15px}
  .k-keep-q{font-size:19px;padding-left:18px}
  .k-alt{gap:12px}
  .k-alt-row{grid-template-columns:minmax(0,1fr)}
  .k-alt-row>*{padding:12px 20px}
  .k-alt-name{padding-top:20px;padding-bottom:8px;font-size:20px}
  .k-alt-c{font-size:14.5px}
  .k-alt-c+.k-alt-c:not(.k-alt-here){border-left:0}
  .k-alt-l{margin-bottom:3px;font-size:12px}
  .k-alt-here{padding-top:14px;padding-bottom:18px}
  .k-alt-here::before{top:14px;bottom:14px}
  .k-now{grid-template-columns:minmax(0,1fr);gap:12px}
  .k-now-i{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:start;padding:20px}
  .k-now-i .fact-ic{grid-row:span 2;margin:2px 0 0;width:44px;height:44px;border-radius:14px}
  .k-now-i h3{font-size:19px;margin-bottom:4px}
  .k-now-i p{font-size:14.5px}
  .k-terms{margin-top:-10px;padding:12px 18px;font-size:14.5px}
  .k-tariffs .tariff{padding-top:52px}
  .k-module{padding:26px 22px 24px}
  .k-module .btn{padding:0 18px;font-size:15.5px}
  .k-as{padding:26px 22px}
}

html[lang="ka"] .k-core-q .quote{font-size:clamp(19px,1.9vw,26px)}

/* 07.11 (мама): «Гарантия возврата» крупно, «и оплата частями» мельче; сноска к возврату; строка про рассрочку между тарифами и бронью */
#refund h2 em{display:block;margin-top:.22em;font-size:.56em}
.k-as-star{margin-top:-6px}
#price .k-split{margin:30px auto 26px}
