/* Homepage design polish (layout and motion only; copy is untouched). Loaded last on "/". */

/* ---------- Motion: calm, one-time, opacity-led ---------- */
@keyframes mo-fade{from{opacity:0;transform:translateY(.22em)}to{opacity:1;transform:none}}
@keyframes mo-fade-block{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* hero headline words: soft fade instead of blur */
.w{animation-name:mo-fade!important;animation-duration:.8s!important}
.fade{animation-name:mo-fade-block!important}
/* blocks: opacity is controlled by /site-reveal.js */
.mo-reveal-ready .reveal{animation:none!important}
/* meaningful details (chart bars, contract, signature, stamp) play once when they come into view;
   site-reveal.js marks the element itself or its block with .is-in */
.mo-reveal-ready .bar{animation:growY 1.1s cubic-bezier(.2,.7,.2,1) both .2s!important;animation-play-state:paused!important}
.mo-reveal-ready .doc-in{animation:docIn 1s cubic-bezier(.2,.7,.2,1) both .1s!important;animation-play-state:paused!important}
.mo-reveal-ready .doc-in .line{animation:lineGrow .7s cubic-bezier(.2,.7,.2,1) both .5s!important;animation-play-state:paused!important}
.mo-reveal-ready .sign{animation:signDraw 2.4s ease-in-out both .4s!important;animation-play-state:paused!important}
.mo-reveal-ready .stamp{animation:stampIn 2.4s cubic-bezier(.2,.7,.2,1) both .4s!important;animation-play-state:paused!important}
.mo-reveal-ready :is(.bar,.doc-in,.sign,.stamp).is-in,.mo-reveal-ready .is-in :is(.bar,.doc-in,.doc-in .line,.sign,.stamp){animation-play-state:running!important}
/* no endless floating: chips, hero card, contract and background drift stay still */
.float,#top .float,#top .float>span,#top .float[style*="bottom"],#top .float[style*="top"]>span,.drift,#price .drift{animation:none!important}

/* ---------- Reviews: one height, same rhythm inside ---------- */
.reviews-track{align-items:stretch!important;padding-block:var(--space-8) var(--space-24)}
.review-card{height:auto;padding:var(--space-24)!important;border:1px solid var(--palette-111);border-radius:var(--radius-24)!important;background:var(--palette-51)!important;box-shadow:none!important;transition:border-color var(--duration) var(--ease)}
.review-author{min-height:64px;align-items:flex-start;margin-bottom:var(--space-16)}
.review-author h3{font-size:var(--text-16)!important}
.review-text{line-height:1.5!important;min-height:calc(1.5em * 5)}
.review-expand{margin-top:var(--space-8)!important}
.review-source{margin-top:auto!important;padding-top:var(--space-16)!important;border-top:1px solid var(--palette-111)}
.review-card.is-expanded .review-text{min-height:0}
@media(hover:hover){.review-card:hover{border-color:var(--palette-118)}}

/* ---------- Chat example: my photo instead of the monogram ---------- */
#faq .m-msg .portrait-monogram{width:36px;height:36px;flex:0 0 36px;font-size:0!important;color:transparent!important;background:var(--soft) url('/assets/blog/author/maria-o.webp') 50% 6%/cover no-repeat;border:0}

/* ---------- "С чем ко мне приходят": open editorial columns instead of three identical cards ---------- */
#top~section:not([id]) article.lift{background:transparent!important;color:var(--ink)!important;padding:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
#top~section:not([id]) article.lift>div:first-child{border-radius:var(--radius-24)!important}
#top~section:not([id]) article.lift>div:last-child{padding:var(--space-20) 0 0!important;margin-top:var(--space-20);border-top:1px solid var(--line)}
#top~section:not([id]) article.lift>div:last-child>div{color:var(--text-bronze)!important}
#top~section:not([id]) article.lift h3{max-width:22ch}
#top~section:not([id])>div:last-child{gap:var(--space-32)!important}

/* ---------- No hover highlight on these informational blocks (they are not links) ---------- */
#top~section:not([id]) .lift:hover,#how .lift:hover{transform:none!important;box-shadow:none!important}

.how-comparison th{font-size:var(--text-14)!important}

@media(max-width:760px){#top~section:not([id])>div:last-child{gap:var(--space-40)!important}}
@media(prefers-reduced-motion:reduce){.mo-reveal-ready .reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* Quiz: four questions — four segments; the contact step is labelled 'Последний шаг' and needs no segment */
.quiz-progress span:nth-child(5){display:none!important}
.quiz-progress{grid-template-columns:repeat(4,1fr)!important}

/* Quiz author: the same photo as in the chat example and the blog */
#quiz aside .portrait-monogram{width:56px;height:56px;flex:0 0 56px;font-size:0!important;color:transparent!important;background:var(--soft) url('/assets/blog/author/maria-o.webp') 50% 6%/cover no-repeat;border:0}

/* Channel invite under the quiz: the same brand buttons as in the blog (labels unchanged) */
.channel-invite{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-12) var(--space-16)!important}
.channel-invite p{flex-basis:100%;text-align:center;margin:0!important}
.channel-invite span{color:var(--muted)}
.channel-invite>a[href*="t.me"],.channel-invite>a[href*="max.ru"]{display:inline-flex!important;align-items:center;gap:var(--space-12);min-height:56px!important;padding:var(--space-12) var(--space-24)!important;border:0!important;border-radius:var(--radius-999)!important;color:#fff!important;font-size:var(--text-16)!important;font-weight:700!important;text-decoration:none!important;text-shadow:none!important;box-shadow:none!important;transition:filter 180ms ease}
.channel-invite>a[href*="t.me"]{background:linear-gradient(180deg,#2AABEE 0%,#229ED9 100%)!important}
.channel-invite>a[href*="max.ru"]{background:linear-gradient(96deg,#5A8CFF 0%,#43D6FF 34%,#8F3FFF 100%)!important}
.channel-invite>a[href*="t.me"]::before,.channel-invite>a[href*="max.ru"]::before{content:'';flex:0 0 auto;width:24px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4.4 6.6 13.6 12'%3E%3Cpath fill='%23fff' d='M16.906 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E") center/contain no-repeat}
.channel-invite>a[href*="max.ru"]::before{width:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M50.76 0c27.53 0 49.12 22.34 49.12 49.89S77.61 99.23 51.02 99.23c-9.43 0-14.01-1.33-21.37-6.54-.5-.36-1.2-.26-1.63.19-5.66 6.04-20.17 10.28-20.83 2.03C7.19 80.53 0 71.18 0 49.61 0 21.3 23.22 0 50.76 0m.77 24.55c-13.07-.68-23.26 8.39-25.51 22.58-1.86 11.75 1.44 26.07 4.26 26.8 1.2.3 4.08-1.9 6.18-3.88.4-.37.99-.44 1.45-.15 3.27 2 6.97 3.5 11.05 3.71 13.42.7 25.3-9.8 26-23.21.71-13.42-10.01-25.14-23.43-25.85'/%3E%3C/svg%3E")}
@media(hover:hover){.channel-invite>a[href*="t.me"]:hover,.channel-invite>a[href*="max.ru"]:hover{filter:brightness(1.2) saturate(1.05)}}
@media(max-width:760px){.channel-invite>a[href*="t.me"],.channel-invite>a[href*="max.ru"]{width:100%;justify-content:center}.channel-invite span{flex-basis:100%;text-align:center}}

/* Quiz intro line: plain text above the heading instead of a decorative pill (copy unchanged) */
#quiz div:has(>.pulse){background:transparent!important;padding:0!important;color:var(--palette-42)!important;font-size:var(--text-16)!important;font-weight:500!important}
#quiz div:has(>.pulse)>.pulse{display:none!important}
