/* One original author animation behind the entire page. */
body { background:#090a0f; color:#e8f0ea; isolation:isolate; }
.site-visual { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.site-visual #author-helix { inset:-8% -10% -8% 5%; width:105%; height:116%; }
.site-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#090a0fd9,#090a0f55 55%,#090a0f08),linear-gradient(0deg,#090a0f44,transparent); }
.header { position:fixed; color:#152126; box-shadow:0 12px 45px #0002; }
.hero { background:transparent; isolation:auto; }
.hero::after,.hero-grid { display:none; }
.hero-bottom { color:#aabcb0; }
.hero .art-label { bottom:110px; }
.intro,.services,.journey,.connected,.faq,.closing,.footer {
  width:min(1280px,calc(100% - 112px)); margin:32px auto; padding:62px;
  color:#e8f0ea; background:linear-gradient(130deg,#17231a88,#0d141777);
  border:1px solid #cee9d42b; border-radius:18px;
  box-shadow:0 18px 70px #0002,inset 0 1px 0 #ffffff08;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.services>.wrap,.journey>.wrap,.faq>.wrap { width:100%; }
.journey { overflow:visible; }
.journey::before { display:none; }
.muted,.journey h2 span { color:#a1b5a6; }
.intro>div>p,.intro .intro-note p,.section-description,
.connected-intro>p:not(.eyebrow),.faq-aside,.faq details p,
.closing p:not(.eyebrow),.step p { color:#becdc2; }
.eyebrow { color:#bdcebf; }
.section-dot { background:#a8cbb3; }
.intro-note,.catalog-controls,.step+.step,.faq details,.faq details:first-child,
.authority-list>a,.authority-list>a:first-child,.footer-top { border-color:#d6eddb29; }
.catalog-controls { padding-bottom:22px; }
.filter { color:#bfcec3; }
.filter.active { background:#c5dfd1; color:#14251b; }
.filter:hover:not(.active) { background:#e2f6e80b; border-color:#bbd9c43b; }
.search-wrap { border-color:#b3ccb54d; }
.search-wrap input { color:#edf6ef; }
.search-wrap input::placeholder { color:#a9beb0; }
.search-wrap svg { stroke:#b5d3be; }
.result-count,.catalog-note,.related-tag,.authority-list p,
.authority-index,.step-number,.footer-top p,.footer-bottom { color:#acbfb0; }
.service-card { background:#e3f7e805; border-color:#d4ebd42b; border-radius:12px; }
.service-card:hover { background:#d9f0dd0d; border-color:#bfddc45e; }
.service-card p { color:#b9cbbd; }
.card-index { color:#a9c1ae; }
.card-icon { color:#a7c3af; }
.service-card button::after,.round-arrow { border-color:#bfddc43b; }
.service-card button:hover::after,.authority-list a:hover .round-arrow { color:#152a1c; }
.faq summary::after { color:#b9d5c0; }
.empty .button.dark,.closing .button.dark { background:#c5dfd1; color:#14251b; }
.closing { padding:65px; background:linear-gradient(120deg,#6c9d7b42,#10201db0); }
.footer { padding:36px 44px; margin-bottom:90px; background:#0d1615a6; }
.footer-link,.footer-top>a:last-child { color:#c4d8c9; }
.footer-top .brand-dot { color:#a6c4ae; }
.motion-toggle {
  position:fixed; z-index:50; left:25px; bottom:22px;
  padding:10px 14px; background:#14221ce0; border-color:#c0dec044;
  backdrop-filter:blur(14px); box-shadow:0 5px 25px #0003;
}
dialog { color:#152126; }
@supports not (backdrop-filter:blur(1px)) {
  .intro,.services,.journey,.connected,.faq,.closing,.footer { background:#15201cf5; }
}
@media(max-width:1100px) {
  .intro,.services,.journey,.connected,.faq,.closing,.footer { width:calc(100% - 72px); padding:40px; }
}
@media(max-width:760px) {
  .site-visual #author-helix { inset:0 -60% 0 -20%; width:180%; height:100%; }
  .site-visual::after { background:linear-gradient(90deg,#090a0fd9,#090a0f66 60%,#090a0f11); }
  .intro,.services,.journey,.connected,.faq,.closing,.footer {
    width:calc(100% - 28px); padding:30px 22px; margin:18px auto; border-radius:14px;
    background:linear-gradient(130deg,#17231aa6,#0d141799);
    backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  }
  .intro .eyebrow { margin-top:0; }
  .service-grid { grid-template-columns:1fr; gap:12px; }
  .service-card { min-height:250px; padding:23px; }
  .card-top { margin-bottom:25px; }
  .service-card h3,html[lang=ru] .service-card h3 { font-size:20px; }
  .service-card p { font-size:13px; max-width:none; }
  .service-card button { font-size:12px; }
  .hero-bottom { bottom:36px; }
  .hero-bottom>p { max-width:260px; }
  .motion-toggle { left:16px; bottom:14px; font-size:9px; padding:9px 12px; }
  .step,.step+.step { padding-left:116px; border-color:#d6eddb29; }
  .step-diagram { left:-17px; }
  .closing { padding:35px 25px; }
  .closing h2 { max-width:280px; }
  .footer { margin-bottom:82px; }
  .footer-top p { margin-left:0; }
  .footer-bottom>div { flex-wrap:wrap; justify-content:flex-start; gap:20px; }
}
dialog .eyebrow { color:#547160; }
