[hidden] { display:none !important; }
.header-solid { background: rgb(60 119 237 / .9); backdrop-filter:blur(12px); box-shadow:0 1px 3px #0002; }
#mobile-menu { padding:16px 24px; display:flex; flex-direction:column; gap:16px; color:white; background:rgb(60 119 237 / .95); border-top:1px solid #ffffff26; }
#mobile-menu a { padding:4px 0; font-size:18px; }
@media(min-width:768px) { #mobile-menu { display:none; } }
.form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-success { color:#15803d; font-weight:600; }
.form-error { color:#b91c1c; }
#form-status:empty { display:none; }
.article-dialog { border:0; padding:0; margin:auto; width:calc(100% - 48px); max-width:768px; max-height:85dvh; border-radius:16px; background:#fff; color:#060e1f; box-shadow:0 25px 50px #0004; }
.article-dialog::backdrop { background:#060e1f99; backdrop-filter:blur(4px); }
.article-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:36px 40px 16px; border-bottom:1px solid #060e1f1a; }
.article-heading h2 { font-family:'Google Sans',sans-serif; font-size:34px; font-weight:500; line-height:1.16; }
.article-heading button { flex-shrink:0; width:40px; height:40px; border-radius:50%; background:#edeff2; font-size:28px; line-height:1; }
.article-heading button:hover { background:#3c77ed; color:white; }
.article-content { padding:24px 40px 32px; line-height:1.625; color:#474d59; }
.article-content p,.article-content ul,.article-content ol { margin-bottom:16px; }
.article-content h2,.article-content h3 { font-family:'Google Sans',sans-serif; color:#060e1f; font-weight:500; margin:32px 0 16px; font-size:24px; }
.article-content h3 { font-size:20px; }
.article-content strong { color:#060e1f; font-weight:600; }
.article-content a { color:#3c77ed; text-decoration:underline; }
.article-content ul { list-style:disc; padding-left:24px; }
.article-content ol { list-style:decimal; padding-left:24px; }
.article-content img { max-width:100%; height:auto; border-radius:8px; margin:24px 0; }
.article-content blockquote { border-left:4px solid #3c77ed; padding-left:16px; font-style:italic; margin:16px 0; }
.article-content > :first-child { margin-top:0; }
@media(max-width:639px) { .article-dialog { width:100%; max-height:92dvh; margin:auto 0 0; border-radius:16px 16px 0 0; } .article-heading { padding:28px 24px 16px; } .article-heading h2 { font-size:24px; } .article-content { padding:24px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Compact Telegram contact card. */
.telegram-card { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:4px 14px; padding:20px; }
.telegram-card > div { display:contents; }
.telegram-card > div > span:first-child { grid-column:1; grid-row:1 / 3; width:40px; height:40px; align-self:start; }
.telegram-card > div > span:first-child svg { width:24px; height:24px; }
.telegram-card > div > span:last-child { grid-column:2; grid-row:1; font-size:22px; line-height:1.2; }
.telegram-card > p { grid-column:2; grid-row:2; font-size:14px; line-height:1.45; }
.telegram-card > a { grid-column:3; grid-row:1 / 3; align-self:center; gap:8px; padding:10px 16px; min-height:44px; font-size:14px; white-space:nowrap; }
@media(max-width:639px) {
  .telegram-card { grid-template-columns:36px minmax(0,1fr); padding:18px; gap:4px 12px; }
  .telegram-card > div > span:first-child { width:36px; height:36px; }
  .telegram-card > div > span:last-child { font-size:20px; }
  .telegram-card > a { grid-column:2; grid-row:3; justify-self:start; margin-top:8px; }
}
