/* Семья дочерних сайтов Делового собрания: общие блоки. Цвета задаёт brand.css каждого сайта через токены:
   --b1 основной, --b2 акцент, --accent-t акцент для текста на светлом, --btn кнопка, --ink текст,
   --light светлый фон, --dark фон блока «3 шага», --deep фон блока для своей аудитории,
   --mark и --mark-op фоновый знак, --w1 и --w2 цвета стены пиктограмм */

.ico { width: 1.25em; height: 1.25em; fill: currentColor; flex: none; }

/* первый экран: фоновый знак, стена пиктограмм справа */
.s-hero .phero__mark { display: block; fill: var(--mark); opacity: var(--mark-op); z-index: 0; }
.s-hero .wrap { position: relative; z-index: 1; }
.s-hero .eyebrow { color: var(--hero-eyebrow, currentColor); }
.s-hero .phero__subline { text-transform: none; letter-spacing: 0; color: var(--hero-sub, currentColor); }
.s-acts { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; margin-top: 36px; }
.swall { position: absolute; right: 4vw; top: 50%; transform: translateY(-46%); z-index: 1; display: grid; grid-template-columns: repeat(3, clamp(64px, 8vw, 118px)); gap: clamp(10px, 1.4vw, 22px); pointer-events: none; }
.swall__i { width: 100%; aspect-ratio: 1; fill: var(--w1); }
.swall__i:nth-child(odd) { fill: var(--w2); }
@media (max-width: 1100px) {
  .s-hero { flex-direction: column; align-items: stretch; justify-content: flex-end; }
  .swall { position: static; transform: none; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; padding: 0 var(--gut); margin-bottom: 28px; max-width: 520px; }
}

/* 4 плашки, как на главной АДС */
.s-karta .eyebrow { margin-bottom: 20px; }
.s-karta .rmap__card { background: var(--light); color: var(--ink); }
.s-karta .rmap__shaft { background: var(--b1); }
.s-karta .rmap__card:nth-child(2) .rmap__shaft { background: var(--b2); }
.s-karta .rmap__card:nth-child(4) .rmap__shaft { background: var(--ink); }
.s-karta .rmap__ic { stroke: var(--accent-t); }
.s-karta .rmap__q, .s-karta .rmap__meta { color: var(--fg-2); }
.s-karta .rmap__chip { border-color: var(--accent-t); color: var(--ink); }
.s-karta .rmap__grid { border-bottom-color: var(--b1); }

/* проекты */
.s-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.s-card { background: #fff; padding: 26px 24px 28px; display: grid; gap: 12px; align-content: start; min-width: 0; scroll-margin-top: 110px; border-radius: var(--rad, 0); }
.s-card__ic { width: 52px; height: 52px; color: var(--accent-t); }
.s-card__k { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-t); margin: 0; }
.s-card h3 { font-weight: var(--fw-head); font-size: var(--fs-h4); line-height: 1.15; text-transform: uppercase; margin: 0; overflow-wrap: normal; hyphens: auto; -webkit-hyphens: auto; }
.s-card p { margin: 0; color: var(--fg-2); }
.s-card .link { justify-self: start; }
.s-card--key { background: var(--b1); color: var(--on-key, #fff); --fg-2: var(--on-key-2, rgba(255,255,255,.88)); }
.s-card--key .s-card__ic, .s-card--key .s-card__k, .s-card--key .link { color: var(--on-key, #fff); }

/* виды спорта и другие списки-метки */
.svid__g { display: grid; gap: 14px; }
.svid__g + .svid__g { margin-top: 28px; }
.svid__t { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-t); margin: 0; }
.svid { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.svid li { display: inline-flex; align-items: center; gap: 10px; background: #fff; padding: 10px 16px; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; border-radius: var(--rad, 0); }
.svid li .ico { color: var(--accent-t); width: 26px; height: 26px; }
.s-sub { margin-top: var(--sec-in); }
.s-sub h3 { font-weight: var(--fw-head); font-size: var(--fs-h3s); text-transform: uppercase; margin: 0 0 20px; }

/* календарь */
.s-kal { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.s-kal li { display: grid; grid-template-columns: 180px minmax(0, 1fr) minmax(0, .8fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.s-kal__d { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-t); }
.s-kal__t { font-size: var(--fs-h4); text-transform: uppercase; font-weight: var(--fw-head); line-height: 1.15; }
.s-kal__f { color: var(--fg-2); }
@media (max-width: 800px) { .s-kal li { grid-template-columns: minmax(0, 1fr); gap: 6px; } }

/* лица */
.faces--4 .face__img { border-radius: var(--rad, 0); }
.face__mark { fill: var(--mark-face, rgba(0,0,0,.18)); }
.face--invite { text-decoration: none; color: inherit; }
.face--invite .face__img { display: grid; place-items: center; background: transparent; border: 1px dashed var(--accent-t); }
.face .s-plus { font-size: 64px; line-height: 1; color: var(--accent-t); font-weight: var(--fw-light); }
.face--invite:hover .face__img { background: var(--b1); }
.face--invite:hover .s-plus { color: #fff; }
.face--invite b { font-weight: 400; }
@media (max-width: 800px) { .faces--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* результаты */
.s-res { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.s-res__i { border-top: 3px solid var(--b1); padding: 20px 0 8px; display: grid; gap: 10px; align-content: start; }
.s-res__i:nth-child(2) { border-top-color: var(--b2); }
.s-res__i h3 { font-weight: var(--fw-head); font-size: var(--fs-h4); text-transform: uppercase; margin: 0; }
.s-res__i p { margin: 0; color: var(--fg-2); }

/* 3 шага */
.s-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; }
.s-steps li { list-style: none; border-top: 2px solid currentColor; padding-top: 18px; display: grid; gap: 10px; }
.s-steps b { font-weight: var(--fw-head); font-size: var(--fs-num); line-height: 1; }
.s-steps h3 { font-weight: var(--fw-head); font-size: var(--fs-h4); text-transform: uppercase; margin: 0; }
.s-steps p { margin: 0; color: var(--fg-2); }
@media (max-width: 800px) { .s-steps { grid-template-columns: minmax(0, 1fr); } }

/* кнопки */
.btn--red, body[data-theme] .btn--solid-white { background: var(--btn); color: var(--btn-on, #fff); border-color: var(--btn); border-radius: var(--btn-rad, 0); }
.btn--red::before, .btn--solid-white::before { background: var(--ink); border-radius: inherit; }
.hdr__cta, .hdr__nav-cta { border-radius: var(--btn-rad, 0); }
.page main > section[data-theme="dark"] .btn--solid-white, .page main > section[data-theme="ink"] .btn--solid-white { background: #fff; color: var(--ink); border-color: #fff; }
.page main > section[data-theme="dark"] .btn--solid-white:hover, .page main > section[data-theme="ink"] .btn--solid-white:hover { color: #fff; }
.form { border-radius: var(--rad, 0); }

/* подвал семьи сайтов: бордовый у всех */
.ftr { background: var(--bordo); --fg-2: rgba(245,175,175,.9); }
.ftr__mark { fill: #D6473E; }
.ftr__fam-t { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; opacity: .7; margin-bottom: 12px; }
.ftr__fam { display: grid; gap: 10px; font-size: 14px; }
.ftr__fam a { display: grid; gap: 2px; text-decoration: none; }
.ftr__fam a span { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.ftr__fam a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ftr__fam a[aria-current] { opacity: .75; }
/* на первом экране кнопка всегда в цвете бренда */
.page main > section.s-hero .btn--solid-white { background: var(--btn); color: var(--btn-on, #fff); border-color: var(--btn); }
.page main > section.s-hero .btn--solid-white::before { background: var(--ink); }

/* фирменный знак направления вместо колонн ДС (если есть) */
.s-hero__lotus { position: absolute; right: 2vw; bottom: -6vh; height: 92vh; width: auto; opacity: var(--mark-op); pointer-events: none; z-index: 0; }
.hdr__logo-img { height: 40px; width: auto; flex: none; }
@media (max-width: 1100px) { .s-hero__lotus { height: 60vh; right: -10vw; } }

/* фото в результатах */
.s-gal { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: var(--sec-in); }
.s-gal__i { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--rad, 0); background: var(--light); }
.s-gal__i img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* первый экран как у ДС (правка Инги 23.09): без стены значков, крупный заголовок, линия, стрелка вниз */
.swall { display: none; }
.s-hero .phero__title { font-size: min(var(--fs-display), 10.2vw); max-width: 16ch; }
.s-rule { display: block; width: min(420px, 60%); height: 1px; background: currentColor; opacity: .45; margin-top: 30px; }
.s-hero .phero__lead { margin-top: 26px; }
.s-down { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 1px solid currentColor; border-radius: 50%; margin-top: 34px; opacity: .8; }
.s-down svg { width: 12px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.s-down:hover { opacity: 1; }

/* для кого */
.s-who { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.s-who__i { background: #fff; padding: 26px 22px 28px; display: grid; gap: 12px; align-content: start; border-radius: var(--rad, 0); }
.s-who__ic { width: 40px; height: 40px; color: var(--accent-t); }
.s-who__i h3 { font-weight: var(--fw-head); font-size: var(--fs-h4); line-height: 1.15; text-transform: uppercase; margin: 0; }
.s-who__i p { margin: 0; color: var(--fg-2); }
@media (max-width: 1000px) { .s-who { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .s-who { grid-template-columns: minmax(0, 1fr); } }
.page main > section[data-theme="white"] .s-card { background: var(--light); }
