/* Календарь встреч C3 (выбор владельца 28.09): графит + рыжее сияние, постерный узкий шрифт, 0 радиус.
   Лента встреч + вертикальное слово месяца + мини-календарь от 1280. Разметка — main.js initAgenda. */
.home{
  --cg-bg:var(--nb-graphite);--cg-ink:#ecebe8;--cg-soft:#c9cacd;--cg-mute:#a3a5ab;--cg-dim:#74777e;
  --cg-line:rgba(255,255,255,.14);--cg-line2:rgba(255,255,255,.28);--cg-or:#fe6c1f;--cg-on-or:#141414;
  --cg-glass:rgba(255,255,255,.045);--cg-ease:cubic-bezier(.2,.7,.2,1)
}
.home .page-band.cal-band{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--cg-bg)
}
/* сияния — отдельным слоем, гасим в прозрачное у верхней кромки (~120px), чтобы шов с «Отзывами» не резало по линии */
.home .page-band.cal-band::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:
    radial-gradient(38% 55% at 4% 38%,rgba(254,108,31,.30) 0%,rgba(254,108,31,0) 100%),
    radial-gradient(34% 50% at 100% 100%,rgba(168,51,12,.34) 0%,rgba(168,51,12,0) 100%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 120px,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 120px,#000 100%)
}
.home .page-band.cal-band>.calendar-section.agenda{
  height:auto;min-height:0;background:transparent;color:var(--cg-ink);overflow:clip;
  padding:clamp(48px,6vw,96px) clamp(16px,4vw,48px)
}
.home .agenda .ag-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;
  padding-bottom:18px;margin-bottom:clamp(24px,3vw,40px);border-bottom:1px solid var(--cg-line)}
.home .agenda .ag-head h2{font-size:clamp(40px,5vw,64px);line-height:.95;color:var(--cg-ink);white-space:normal}
.home .agenda .ag-note{font:400 15px/1.4 'Golos Text',sans-serif;color:var(--cg-mute)}

/* полоса месяца и кнопки */
.home .agenda .ag-bar{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.home .agenda .ag-title{order:-1;flex:1 1 auto;min-width:0;font:500 15px/1.2 'Golos Text',sans-serif;color:var(--cg-mute)}
.home .agenda .ag-title b{font:900 30px/1 Poster,'Golos Text',sans-serif;font-stretch:75%;color:var(--cg-ink);letter-spacing:-.01em}
.home .agenda .ag-nav{flex:none;display:grid;place-items:center;width:48px;height:48px;padding:0;
  border:1px solid var(--cg-line2);background:var(--cg-glass);color:var(--cg-ink);
  transition:border-color .2s,color .2s,transform 90ms var(--cg-ease)}
.home .agenda .ag-nav .i{width:22px;height:22px;stroke-width:2}
.home .agenda .ag-nav:hover:not(:disabled){border-color:var(--cg-or);color:var(--cg-or)}
.home .agenda .ag-nav:active:not(:disabled){transform:scale(.94)}
.home .agenda .ag-nav:disabled{opacity:.3}
.home .agenda :is(button,a):focus-visible{outline:2px solid var(--cg-or);outline-offset:3px}

/* бейджи */
.home .agenda .ag-badge,.home .agenda .ag-tag{display:inline-block;padding:3px 8px;font-size:11px;letter-spacing:.12em;line-height:1.3}
.home .agenda .ag-badge{background:var(--cg-or);color:var(--cg-on-or);font-weight:700}
.home .agenda .ag-tag{box-shadow:inset 0 0 0 1px currentColor}

/* действия */
.home .agenda .ag-price{font:800 18px/1.2 'Golos Text',sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}
.home .agenda .ag-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 18px;
  background:var(--cg-or);color:var(--cg-on-or);font:700 15px/1 'Golos Text',sans-serif;text-decoration:none;white-space:nowrap;
  transition:transform .2s var(--cg-ease),box-shadow .2s var(--cg-ease)}
.home .agenda .ag-cta .i{width:20px;height:20px;stroke-width:2}
.home .agenda .ag-cta:is(:hover,:focus-visible){text-decoration:none;transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--cg-ink)}
.home .agenda .ag-cta:active{transform:none;box-shadow:none;transition-duration:90ms}
.home .agenda .ag-more{display:inline-flex;align-items:center;min-height:44px;color:var(--cg-mute);font:500 15px 'Golos Text',sans-serif;
  text-decoration:underline;text-underline-offset:4px}
.home .agenda .ag-more:hover{color:var(--cg-ink)}

/* Свечение — псевдоэлемент на SPAN (слове), не на .c1-month (P): у P ширина/высота — это
   грид-колонка/строка (main.js fitMonth() читает box.clientWidth именно у .c1-month как «ширину
   колонки» для подгонки кегля — width:max-content на P этот расчёт схлопывал в себя, и слово
   мельчает, регрессия 30.09). Span и так inline-block, его бокс уже точно по глифам — ничего
   переопределять не нужно. Инсет — в px; ending-shape — явный процент (не closest-side) с
   запасом, чтобы альфа гарантированно доходила до 0 внутри увеличенного бокса псевдоэлемента,
   а не на его кромке (родитель .calendar-section{overflow:clip} иначе резал свечение, баг
   владельца 30.09 пораньше). */
.home .agenda .c1-month{margin:0;line-height:0}
.home .agenda .c1-month span{position:relative;display:inline-block;writing-mode:vertical-rl;white-space:nowrap;
  font:900 100px/.78 Poster,'Golos Text',sans-serif;font-stretch:75%;letter-spacing:-.01em;
  color:var(--cg-or);background:linear-gradient(180deg,#ffb27a 0%,#fe6c1f 48%,#c2410c 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.home .agenda .c1-month span::before{content:"";position:absolute;inset:-36px -30px;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 55% at 50% 50%,rgba(254,108,31,.42) 0%,rgba(254,108,31,0) 100%);filter:blur(24px)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .home .agenda .c2-mini{-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
}
.home .agenda .c2-fbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.home .agenda .c2-count{font:500 15px 'Golos Text',sans-serif;color:var(--cg-mute)}
.home .agenda .c2-arrows{display:flex;gap:8px}
.home .agenda .c2-track{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% / 3);
  overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--cg-line2) transparent;
  border-left:1px solid var(--cg-line);border-top:1px solid var(--cg-line);border-bottom:1px solid var(--cg-line)}
.home .agenda .c2-track:focus-visible{outline:2px solid var(--cg-or);outline-offset:3px}
.home .agenda .c2-card{scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;min-height:460px;padding:20px 20px 22px;
  border-right:1px solid var(--cg-line);position:relative}
.home .agenda .c2-card.is-near{background:linear-gradient(180deg,rgba(254,108,31,.18),rgba(254,108,31,.03));box-shadow:inset 0 4px 0 var(--cg-or)}
.home .agenda .c2-wd{font:600 13px/1 'Golos Text',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cg-mute)}
.home .agenda .c2-day{display:block;margin-top:10px;font:900 96px/.8 Poster,'Golos Text',sans-serif;font-stretch:75%;letter-spacing:-.02em;color:var(--cg-ink)}
.home .agenda .c2-card.is-near .c2-day{color:var(--cg-or)}
.home .agenda .c2-mon{margin-top:8px;padding-bottom:16px;border-bottom:1px solid var(--cg-line);font:500 15px 'Golos Text',sans-serif;color:var(--cg-mute)}
.home .agenda .c2-time{margin-top:16px;font:700 17px/1.1 'Golos Text',sans-serif;color:var(--cg-or);font-variant-numeric:tabular-nums}
.home .agenda .c2-fmt{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;
  font:600 12px/1.3 'Golos Text',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cg-mute)}
.home .agenda .c2-card h3{margin-top:8px;font-size:24px;line-height:1.02;color:var(--cg-ink);text-wrap:balance}
.home .agenda .c2-desc{margin-top:8px;font:400 14.5px/1.45 'Golos Text',sans-serif;color:var(--cg-soft)}
.home .agenda .c2-foot{display:grid;gap:10px;margin-top:auto;padding-top:18px}
.home .agenda .c2-card.is-past .c2-day{color:var(--cg-dim)}
.home .agenda .c2-card.is-past :is(h3){color:#b3b5ba}
.home .agenda .c2-card.is-past .c2-time{color:var(--cg-mute)}
.home .agenda .c2-card.is-past .c2-desc{color:var(--cg-mute)}
.home .agenda .c2-card.is-picked{animation:ag-pick 900ms var(--cg-ease)}
@keyframes ag-pick{0%{box-shadow:inset 0 0 0 2px var(--cg-or)}100%{box-shadow:inset 0 0 0 2px rgba(254,108,31,0)}}
.home .agenda .c2-card.is-near.is-picked{animation-name:ag-pick-near}
@keyframes ag-pick-near{0%{box-shadow:inset 0 4px 0 var(--cg-or),inset 0 0 0 2px var(--cg-or)}100%{box-shadow:inset 0 4px 0 var(--cg-or),inset 0 0 0 2px rgba(254,108,31,0)}}

.home .agenda .c2-mini{padding:18px;border:1px solid var(--cg-line2);background:rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 60px rgba(0,0,0,.28)}
.home .agenda .c2-mini .ag-title b{font-size:26px}
.home .agenda .c2-grid{width:100%;border-collapse:collapse;table-layout:fixed}
.home .agenda .c2-grid th{padding:0 0 8px;font:600 11px/1 'Golos Text',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--cg-mute);text-align:center}
.home .agenda .c2-grid td{height:44px;padding:0;text-align:center;vertical-align:middle;font:500 14px 'Golos Text',sans-serif;color:var(--cg-soft);font-variant-numeric:tabular-nums}
.home .agenda .c2-grid td.is-today{box-shadow:inset 0 0 0 1px var(--cg-line2)}
.home .agenda .c2-dayb{position:relative;display:block;width:100%;height:44px;padding:0;border:0;cursor:pointer;
  background:transparent;color:var(--cg-or);box-shadow:inset 0 0 0 2px var(--cg-or);font:800 15px 'Golos Text',sans-serif;
  transition:transform 90ms var(--cg-ease),background-color .2s,color .2s}
.home .agenda .c2-dayb::before{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
.home .agenda .c2-dayb.is-near{background:var(--cg-or);color:var(--cg-on-or)}
.home .agenda .c2-dayb.is-past{background:#4a4d53;color:#d2d3d6;box-shadow:none;font-weight:600}
.home .agenda .c2-dayb:hover{background:var(--cg-or);color:var(--cg-on-or)}
.home .agenda .c2-dayb.is-past:hover{background:#5d6067;color:#fff}
.home .agenda .c2-dayb:active{transform:scale(.92)}
.home .agenda .c2-dayb[aria-pressed=true]{outline:2px solid var(--cg-ink);outline-offset:2px}
.home .agenda .c2-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font:400 13px/1.3 'Golos Text',sans-serif;color:var(--cg-mute)}
.home .agenda .c2-legend span{display:inline-flex;align-items:center;gap:6px}
.home .agenda .c2-legend span::before{content:"";width:12px;height:12px}
.home .agenda .c2-legend .lg-near::before{background:var(--cg-or)}
.home .agenda .c2-legend .lg-up::before{box-shadow:inset 0 0 0 2px var(--cg-or)}
.home .agenda .c2-legend .lg-past::before{background:#4a4d53}

/* ---------- C3 = лента C2 + вертикальное слово месяца C1 (по умолчанию) ---------- */
.home .agenda .c3{display:grid;grid-template-columns:150px minmax(0,1fr) 352px;gap:clamp(24px,3vw,40px);align-items:start;isolation:isolate}
/* колонки считаются от ширины без зоны затухания: две карточки целиком, третья выглядывает только в затухании */
.home .agenda .c3 .c2-track{grid-auto-columns:max(236px,calc((100% - 56px) / 2))}
/* ≥1280 лента листается свайпом/колесом/клавишами, стрелки месяцев — только у мини-календаря */
.home .agenda .c3 .c2-arrows{display:none}
.home .agenda .c3 .c2-fbar{min-height:48px}
/* правый край ленты затухает, пока есть что листать: «есть ещё», а не обрезанные буквы */
.home .agenda .c3 .c2-track:not(.is-end){
  -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent);
  mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent)
}
@media (max-width:1279px){
  .home .agenda .c3{grid-template-columns:150px minmax(0,1fr)}
  .home .agenda .c3 .c2-mini{display:none}
  .home .agenda .c3 .c2-arrows{display:flex}
}
@media (max-width:700px){
  .home .agenda .c3{grid-template-columns:minmax(0,1fr);gap:16px}
  .home .agenda .c3 .c2-track{grid-auto-columns:78%}
}
/* без JS лента сама открывается на ближайшей встрече (Chromium 133+; в остальных — с начала) */
.home .agenda .c2-card.is-near{scroll-initial-target:nearest}
/* без JS стрелки не работают — не показываем */
html:not(.js) .home .agenda .ag-nav{display:none}

/* ---------- адаптив ---------- */
@media (max-width:760px){
  .home .agenda .c2-track{grid-auto-columns:78%}
  .home .agenda .c2-card{min-height:420px}
  .home .agenda .c2-mini{max-width:none;padding:14px 12px}
}
@media (max-width:700px){
  .home .agenda .c1-month span{writing-mode:horizontal-tb;line-height:.86}
  /* тот же бокс (inset в px не переопределяем), но слово теперь широкое/невысокое —
     ending-shape меняем местами (узкая по Y, пошире по X), чтобы альфа так же гасла до 0
     внутри бокса, а не на его кромке */
  .home .agenda .c1-month span::before{background:radial-gradient(45% 25% at 50% 50%,rgba(254,108,31,.42) 0%,rgba(254,108,31,0) 100%)}
  .home .agenda .ag-title b{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  .home .agenda :is(.ag-cta,.ag-nav,.c2-dayb){transition:none}
  .home .agenda .c2-card.is-picked{animation:none}
  .home .agenda .c2-track{scroll-behavior:auto}
}
@media (prefers-reduced-transparency:reduce){
  .home .agenda .c2-mini{-webkit-backdrop-filter:none;backdrop-filter:none;background:#2e3035}
}

/* ---------- тёмная тема (спека 006, волна 0б) ----------
   Полоса графитовая в обеих темах; в тёмной подтягиваем мелкий текст до контраста 4.5:1 на графите:
   оранжевая строка времени — акцент-текстом тёмной темы #ff8a4c (паспорт §1), число прошедшей встречи —
   светлее, но по-прежнему заметно тише обычного (решение владельца 27.09: прошедшее — приглушённым). */
@media (prefers-color-scheme:dark){
  .home{--cg-mute:#b8babf}
  .home .agenda .c2-time{color:#ff8a4c}
  .home .agenda .c2-card.is-past .c2-time{color:var(--cg-mute)}
  .home .agenda .c2-card.is-past .c2-day{color:#8b8e95}
}
