/* Yandex stories use the site's typography, emerald palette and reveal motion. */
.yandex-feature { margin-block: 32px 80px; padding: clamp(24px, 4vw, 56px); border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--accent-faint); scroll-margin-top: calc(var(--header-height) + 28px); }
.yandex-feature-top { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.yandex-feature-copy h2 { margin: 0; font-size: clamp(34px, 3.7vw, 52px); line-height: 1.12; letter-spacing: -.05em; text-wrap: balance; }
.yandex-feature-copy h2 em { color: var(--accent-deep); font-style: normal; }
.yandex-feature-copy > p { max-width: 540px; margin: 24px 0; font-size: 18px; line-height: 1.7; color: var(--muted-strong); }
.yandex-feature-copy .button { gap: 12px; white-space: normal; text-align: left; }
.yandex-feature-note { display: block; margin-top: 15px; font-size: 12px; color: var(--muted); }
.yandex-conversation { min-width: 0; margin: 0; padding: 24px; border: 1px solid var(--line-strong); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-soft); transform: rotate(1deg); }
.yandex-conversation-head { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.yandex-conversation-head > img { flex-shrink: 0; border-radius: 12px; }
.yandex-conversation-head strong, .yandex-conversation-head span { display: block; }
.yandex-conversation-head strong { font-size: 15px; }
.yandex-conversation-head div > span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.yandex-chat-dot { width: 8px; height: 8px; margin-left: auto; flex-shrink: 0; border-radius: 50%; background: var(--accent); }
.yandex-message { padding: 16px 18px; margin-top: 18px; font-size: 14px; line-height: 1.6; border-radius: 12px; }
.yandex-message > span { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 750; }
.yandex-message p { margin: 8px 0 0; }
.yandex-message-user { margin-left: 36px; background: var(--surface-2); border-bottom-right-radius: 3px; }
.yandex-message-octo { margin-right: 18px; background: var(--accent-faint); border: 1px solid var(--accent-soft); border-bottom-left-radius: 3px; }
.yandex-message ul { padding: 0; margin: 12px 0 0; list-style: none; }
.yandex-message li { position: relative; padding-left: 18px; margin-top: 6px; }
.yandex-message li::before { position: absolute; left: 0; top: .65em; width: 5px; height: 5px; content: ''; border-radius: 50%; background: var(--accent-deep); }
.yandex-conversation figcaption { margin-top: 18px; font-size: 11px; color: var(--muted); text-align: center; }
.yandex-feature-more { display: flex; align-items: center; justify-content: space-between; gap: 16px 30px; flex-wrap: wrap; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line-strong); font-size: 14px; }
.yandex-feature-more > span { color: var(--muted-strong); }
.yandex-feature-more strong { color: var(--accent-deep); font-weight: 650; }
.yandex-services-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: baseline; margin-top: 60px; padding-top: 30px; border-top: 1px solid var(--line-strong); }
.yandex-services-intro h3 { margin: 0; font-size: 28px; line-height: 1.3; letter-spacing: -.035em; }
.yandex-services-intro p { margin: 0; color: var(--muted-strong); font-size: 15px; line-height: 1.7; }
.yandex-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; margin-top: 28px; }
.yandex-service { display: flex; flex-direction: column; align-items: start; padding-block: 28px; border-top: 1px solid var(--line-strong); }
.yandex-service-label { display: flex; align-items: center; gap: 14px; color: var(--accent-deep); font-size: 12px; }
.yandex-service-label > span:first-child { font-variant-numeric: tabular-nums; }
.yandex-service h3 { margin: 16px 0 0; font-size: 27px; line-height: 1.2; letter-spacing: -.035em; }
.yandex-service p { margin: 14px 0 0; color: var(--muted-strong); font-size: 16px; line-height: 1.7; }
.yandex-service .yandex-access { font-size: 13px; color: var(--muted); }
.yandex-service .text-link { margin-top: auto; padding-top: 18px; font-size: 14px; }
.yandex-setup { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; padding: 28px 32px; margin-top: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--accent-faint); }
.yandex-setup-brand { display: flex; gap: 12px; align-items: center; }
.yandex-setup-brand img { border-radius: 12px; }
.yandex-setup-brand > span { color: var(--muted); }
.yandex-setup ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.yandex-setup li { font-size: 13px; font-weight: 650; line-height: 1.5; }
.yandex-setup li > span { display: block; margin-bottom: 7px; color: var(--accent-deep); font-size: 11px; font-variant-numeric: tabular-nums; }
.yandex-setup > a { font-size: 13px; color: var(--accent-deep); padding-block: 12px; }
.yandex-guide .article-rail a { padding-block: 7px; font-size: 13px; }
.yandex-guide .article-section .yandex-step-note { padding: 18px 22px; border-left: 2px solid var(--accent-deep); background: var(--accent-faint); border-radius: 0 8px 8px 0; font-size: 15px; }
.yandex-step-links { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px; }
.yandex-step-links .button { font-size: 14px; white-space: normal; text-align: left; }
.yandex-faq { margin-top: 28px; }
.yandex-faq details { border-bottom: 1px solid var(--line-strong); }
.yandex-faq details:first-child { border-top: 1px solid var(--line-strong); }
.yandex-faq summary { padding: 22px 28px 22px 0; font-size: 17px; font-weight: 650; cursor: pointer; line-height: 1.5; }
.yandex-guide .article-section .yandex-faq p { margin: 0; padding-bottom: 24px; font-size: 16px; }
.yandex-guide .yandex-guide-sources { display: flex; flex-wrap: wrap; gap: 12px 22px; padding-block: 24px; margin-top: 24px; border-top: 1px solid var(--line); font-size: 13px; color: var(--accent-deep); }
@media (hover: hover) and (pointer: fine) {
  .yandex-feature-more:hover strong, .yandex-service .text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
}
@media (max-width: 1040px) {
  .yandex-feature-top { gap: 28px; }
  .yandex-conversation { padding: 20px; }
  .yandex-setup { grid-template-columns: auto 1fr; gap: 22px; }
  .yandex-setup > a { grid-column: 2; padding: 0; }
}
@media (max-width: 760px) {
  .yandex-feature { margin-block: 16px 36px; padding: 24px 20px; }
  .yandex-feature-top, .yandex-services-intro, .yandex-services { grid-template-columns: 1fr; }
  .yandex-feature-copy .article-kicker { margin-bottom: 18px; }
  .yandex-feature-copy h2 { font-size: clamp(30px, 7.5vw, 42px); }
  .yandex-feature-copy > p { font-size: 16px; margin-block: 18px 22px; }
  .yandex-feature-copy .button { width: 100%; justify-content: space-between; }
  .yandex-feature-note { line-height: 1.6; }
  .yandex-conversation { transform: none; padding: 18px 14px; }
  .yandex-conversation-head { gap: 10px; padding-bottom: 16px; }
  .yandex-conversation-head strong { font-size: 14px; }
  .yandex-conversation-head div > span { font-size: 11px; }
  .yandex-message { padding: 14px; font-size: 13px; }
  .yandex-message-user { margin-left: 16px; }
  .yandex-message-octo { margin-right: 8px; }
  .yandex-feature-more { margin-top: 26px; padding-top: 20px; font-size: 13px; line-height: 1.8; }
  .yandex-services-intro { margin-top: 32px; padding-top: 24px; gap: 12px; }
  .yandex-services-intro h3 { font-size: 26px; }
  .yandex-services { margin-top: 24px; }
  .yandex-service { padding-block: 24px; }
  .yandex-service:last-child { padding-bottom: 0; }
  .yandex-service h3 { font-size: 25px; }
  .yandex-service p { font-size: 15px; }
  .yandex-setup { grid-template-columns: 1fr; padding: 22px; margin-top: 24px; gap: 22px; }
  .yandex-setup ol { grid-template-columns: 1fr 1fr; gap: 18px; }
  .yandex-setup > a { grid-column: auto; }
  .yandex-guide .article-section .yandex-step-note { padding: 16px; font-size: 14px; }
  .yandex-step-links .button { width: 100%; justify-content: space-between; }
}
