/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
/*-----------------------------------------------------------------*/
/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
/*-----------------------------------------------------------------*/

/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
/*-----------------------------------------------------------------*/

/**
 * АНО «Милосердие и надежда» — стили UMI-виджетов
 * Скопируйте весь блок в style.css дочерней темы (или подключите через @import).
 * Цвета с логотипа: синий #1B5394, оранжевый #F58220
 */

 @import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&display=swap");

 /* --- Токены бренда --- */
 :root {
     --umi-font: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
     --umi-primary: #1b5394;
     --umi-accent: #f58220;
     --umi-accent-hover: #e07012;
     --umi-primary-dark: #153d6e;
     --umi-primary-pressed: #12365c;
     --umi-slate: #1a2c42;
     --umi-muted: #4a6d8c;
     --umi-bg: #ffffff;
     --umi-bg-soft: #f0f4fa;
     --umi-card: #ffffff;
     --umi-glass: rgba(27, 83, 148, 0.88);
     --umi-glass-scrolled: #ffffff;
     --umi-header-surface: #ffffff;
     --umi-header-glass-1: rgba(232, 240, 250, 0.85);
     --umi-header-glass-2: rgba(210, 226, 245, 0.65);
     --umi-radius: 1rem;
     --umi-radius-lg: 1.25rem;
     --umi-shadow-sm: 0 4px 20px rgba(27, 83, 148, 0.07);
     --umi-shadow-md: 0 12px 40px rgba(27, 83, 148, 0.1);
     --umi-shadow-lift: 0 20px 50px -12px rgba(27, 83, 148, 0.14);
 }
 
 html {
     scroll-behavior: smooth;
 }
 
 .umi-header-root::selection,
 .umi-page-root::selection {
     background: rgba(27, 83, 148, 0.18);
     color: var(--umi-slate);
 }
 
 /* --- Header --- */
 .umi-header-root * {
     box-sizing: border-box;
 }
 .umi-header-root {
     --umi-drawer-top: 58px;
     font-family: var(--umi-font);
 }
 @media (min-width: 768px) {
     .umi-header-root { --umi-drawer-top: 68px; }
 }
 /* Сразу тот же «собранный» вид, что раньше был только при скролле */
 .umi-header {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 100101;
     background: var(--umi-header-surface);
     background-size: 100% 100%;
     background-position: center;
     border-bottom: 1px solid rgba(27, 83, 148, 0.12);
     box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 8px 32px rgba(27, 83, 148, 0.1);
     transition: box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease;
     animation: none;
 }
 .umi-header::before {
     display: none;
 }
 .umi-header.umi-header--scrolled {
     background: var(--umi-header-surface);
     background-size: 100% 100%;
     background-position: center;
     box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 8px 32px rgba(27, 83, 148, 0.1);
     border-bottom-color: rgba(27, 83, 148, 0.12);
 }
 .umi-header.umi-header--scrolled::before {
     display: none;
 }
 .umi-header__link { color: var(--umi-primary); }
 .umi-header__link:hover { color: var(--umi-accent); }
 .umi-header__logo-title { color: var(--umi-primary); }
 .umi-header__logo-sub { color: #4a6d8c; }
 .umi-header__inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0;
     display: flex;
     align-items: stretch;
     min-height: 3.5rem;
     position: relative;
     z-index: 1;
 }
 .umi-header__brand-panel {
     display: flex;
     align-items: center;
     flex-shrink: 0;
     background: #ffffff;
     padding: 0.5rem 0.75rem 0.5rem 1.25rem;
     z-index: 2;
 }
 @media (min-width: 768px) {
     .umi-header__brand-panel {
         padding-left: 1.5rem;
         padding-right: 1rem;
     }
 }
 .umi-header__nav-panel {
     position: relative;
     flex: 1;
     min-width: 0;
     display: flex;
     align-items: center;
     justify-content: flex-end;
     gap: 0.5rem;
     padding: 0.5rem 1.25rem 0.5rem 1rem;
     /* «Стекло» + лёгкий сине-лазурный меш, правая зона */
     background:
         linear-gradient(110deg, #ffffff 0%, rgba(255, 255, 255, 0) 12%),
         linear-gradient(135deg, var(--umi-header-glass-1) 0%, var(--umi-header-glass-2) 45%, rgba(255, 255, 255, 0.4) 100%),
         radial-gradient(120% 80% at 100% 0%, rgba(27, 83, 148, 0.14) 0%, transparent 55%);
     backdrop-filter: blur(12px) saturate(1.25);
     -webkit-backdrop-filter: blur(12px) saturate(1.25);
     border-left: 1px solid rgba(27, 83, 148, 0.08);
 }
 .umi-header__nav-panel::before {
     content: "";
     position: absolute;
     inset: 0;
     pointer-events: none;
     background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, transparent 40%);
     border-radius: inherit;
 }
 @media (min-width: 768px) {
     .umi-header__nav-panel {
         padding-right: 1.5rem;
         padding-left: 1.25rem;
         border-radius: 14px;
         margin: 0.35rem 0.35rem 0.35rem 0;
         box-shadow:
             inset 0 1px 0 rgba(255, 255, 255, 0.9),
             0 0 0 1px rgba(27, 83, 148, 0.06);
     }
 }
 .umi-header__brand {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     text-decoration: none;
     min-width: 0;
 }
 .umi-header__logo-img {
     display: block;
     height: auto;
     width: auto;
     max-height: 34px;
     max-width: 96px;
     object-fit: contain;
     flex-shrink: 0;
 }
 .umi-header__logo-text { min-width: 0; }
 .umi-header__logo-title {
     font-family: var(--umi-font);
     font-size: 0.8125rem;
     font-weight: 700;
     line-height: 1.2;
     margin: 0;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }
 @media (max-width: 480px) {
     .umi-header__logo-title { font-size: 0.7rem; max-width: 7.5rem; white-space: normal; }
     .umi-header__logo-sub { display: none; }
     .umi-header__logo-img { max-width: 72px; max-height: 28px; }
     .umi-header__brand-panel { padding-left: 0.9rem; padding-right: 0.5rem; }
     .umi-header__nav-panel { padding-right: 0.9rem; padding-left: 0.6rem; }
 }
 .umi-header__logo-sub {
     font-size: 0.68rem;
     font-weight: 500;
     margin: 0.15rem 0 0;
     letter-spacing: 0.02em;
 }
 .umi-header__nav {
     display: flex;
     align-items: center;
     gap: 0.5rem 1.25rem;
 }
 @media (max-width: 900px) {
     .umi-header__nav { display: none; }
 }
 .umi-header__link {
     font-family: var(--umi-font);
     font-size: 0.875rem;
     font-weight: 600;
     text-decoration: none;
     transition: color 0.2s;
     white-space: nowrap;
 }
 .umi-header__btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 0.55rem 1.1rem;
     border-radius: 999px;
     font-size: 0.85rem;
     font-weight: 700;
     text-decoration: none;
     background: linear-gradient(145deg, #ff9633 0%, var(--umi-accent) 45%, #e86a0a 100%);
     color: #fff;
     box-shadow: 0 4px 18px rgba(245, 130, 32, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.2);
     transition: transform 0.2s, box-shadow 0.2s, background 0.2s, color 0.2s, filter 0.2s;
 }
 .umi-header__btn:hover,
 .umi-header__btn:focus,
 .umi-header__btn:focus-visible {
     transform: translateY(-1px);
     background: var(--umi-accent-hover);
     color: #fff;
     text-decoration: none;
     box-shadow: 0 6px 24px rgba(245, 130, 32, 0.55);
 }
 .umi-header__burger {
     -webkit-tap-highlight-color: transparent;
     display: none;
     width: 44px;
     height: 44px;
     border: 1px solid rgba(27, 83, 148, 0.18);
     background: rgba(255, 255, 255, 0.65);
     border-radius: 10px;
     cursor: pointer;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     gap: 5px;
     position: relative;
     z-index: 2;
     backdrop-filter: blur(6px);
     box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
     transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
 }
 .umi-header__burger:hover {
     background: rgba(232, 240, 250, 0.95);
     border-color: rgba(27, 83, 148, 0.28);
 }
 .umi-header__burger:active,
 .umi-header.umi-header--open .umi-header__burger {
     background: var(--umi-primary-pressed);
     border-color: rgba(255, 255, 255, 0.2);
     box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.15);
 }
 .umi-header.umi-header--open .umi-header__burger span {
     background: #fff;
 }
 .umi-header__burger:active span {
     background: #fff;
 }
 @media (max-width: 900px) { .umi-header__burger { display: flex; } }
 .umi-header__phone {
     display: none;
     align-items: center;
     font-family: var(--umi-font);
     font-size: 0.8125rem;
     font-weight: 700;
     color: var(--umi-primary);
     text-decoration: none;
     white-space: nowrap;
     padding: 0.35rem 0.65rem;
     border-radius: 999px;
     border: 1px solid rgba(27, 83, 148, 0.2);
     background: rgba(255, 255, 255, 0.75);
     transition: border-color 0.2s, color 0.2s, box-shadow 0.2s;
     flex-shrink: 0;
 }
 .umi-header__phone:hover,
 .umi-header__phone:focus-visible {
     color: var(--umi-accent);
     border-color: rgba(245, 130, 32, 0.45);
     box-shadow: 0 2px 12px rgba(27, 83, 148, 0.1);
 }
 @media (min-width: 901px) {
     .umi-header__phone { display: inline-flex; }
 }
 @media (max-width: 900px) {
     .umi-header__phone { display: none; }
 }
 .umi-header__burger span {
     display: block;
     width: 20px;
     height: 2px;
     background: var(--umi-primary);
     border-radius: 1px;
     transition: transform 0.3s, opacity 0.3s, background 0.2s;
 }
 .umi-header.umi-header--open .umi-header__burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
 .umi-header.umi-header--open .umi-header__burger span:nth-child(2) { opacity: 0; }
 .umi-header.umi-header--open .umi-header__burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
 /* Правая плашка: другой тон, когда открыто мобильное меню */
 @media (max-width: 900px) {
     .umi-header.umi-header--open .umi-header__nav-panel {
         background:
             linear-gradient(110deg, rgba(240, 244, 250, 0.98) 0%, rgba(255, 255, 255, 0) 16%),
             linear-gradient(145deg, rgba(200, 216, 238, 0.55) 0%, rgba(180, 200, 228, 0.45) 50%, rgba(255, 255, 255, 0.5) 100%),
             radial-gradient(120% 80% at 100% 0%, rgba(27, 83, 148, 0.22) 0%, transparent 55%);
         box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 0 0 1px rgba(27, 83, 148, 0.12);
     }
 }
 .umi-header__scrim {
     -webkit-tap-highlight-color: transparent;
     position: fixed;
     left: 0;
     right: 0;
     top: var(--umi-drawer-top);
     bottom: 0;
     z-index: 100100;
     margin: 0;
     padding: 0;
     border: 0;
     background: rgba(26, 44, 66, 0.4);
     backdrop-filter: blur(2px);
     cursor: pointer;
 }
 .umi-header__scrim[hidden] {
     display: none !important;
 }
 .umi-header__drawer {
     position: fixed;
     inset: 0;
     top: var(--umi-drawer-top);
     background: #f8fafc;
     padding: 1.25rem;
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
     z-index: 100150;
     margin: 0;
     overflow: auto;
     -webkit-overflow-scrolling: touch;
     box-shadow: 0 10px 40px rgba(27, 83, 148, 0.12);
 }
 .umi-header__drawer[hidden] {
     display: none !important;
 }
 .umi-header__drawer a {
     font-family: var(--umi-font);
     font-size: 1.05rem;
     font-weight: 600;
     color: var(--umi-primary);
     text-decoration: none;
     padding: 0.75rem 0;
     border-bottom: 1px solid #e2e8f0;
 }
 .umi-header__drawer a:hover { color: var(--umi-accent); }
 .umi-header__drawer .umi-header__btn.umi-header__drawer-cta { margin-top: 0.5rem; text-align: center; }
 .umi-header__drawer-phone {
     margin: 0.25rem 0 0.5rem;
     padding: 0.5rem 0 0.75rem;
     border-bottom: 1px solid #e2e8f0;
     font-size: 1.05rem;
     font-weight: 700;
 }
 .umi-header__drawer-phone a {
     display: inline;
     padding: 0;
     border: none;
     color: var(--umi-accent);
     text-decoration: none;
 }
 .umi-header__drawer-phone a:hover { text-decoration: underline; }
 
 /* Меню: не прокручивать страницу под оверлеем (мобилка) */
 body.umi-header-menu-open {
     overflow: hidden;
     overscroll-behavior: none;
 }
 
 /* --- Page (контент) --- */
 .umi-page-root * { box-sizing: border-box; }
 .umi-page-root {
     font-family: var(--umi-font);
     color: var(--umi-slate);
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
 }
 .umi-page-root img { max-width: 100%; height: auto; display: block; }
 .umi-page-root h1, .umi-page-root h2 { margin: 0; }
 /* Нижний padding обязателен: иначе карточки/плашки визуально «прилипают» к следующей секции или к футеру */
 .umi-sec { padding: 4.5rem 1.25rem 3.75rem; scroll-margin-top: 4.5rem; }
 @media (min-width: 768px) { .umi-sec { padding: 5.5rem 1.5rem 4.75rem; } }
 #umi-request, #umi-contacts, .umi-donate, .umi-trust, .umi-foot { scroll-margin-top: 4.5rem; }
 .umi-wrap { max-width: 1200px; margin: 0 auto; }
 .umi-sec .umi-h2 {
     position: relative;
     padding-bottom: 0.85rem;
     margin-bottom: 0;
 }
 .umi-sec .umi-h2::after {
     content: "";
     position: absolute;
     left: 0;
     bottom: 0;
     width: 2.75rem;
     height: 0.2rem;
     border-radius: 999px;
     background: linear-gradient(90deg, var(--umi-primary), var(--umi-accent));
 }
 .umi-sec .umi-h2.umi-h2--center::after {
     left: 50%;
     right: auto;
     transform: translateX(-50%);
 }
 .umi-h2 {
     font-size: 1.75rem;
     font-weight: 800;
     letter-spacing: -0.03em;
     line-height: 1.2;
     color: var(--umi-primary);
 }
 @media (min-width: 768px) { .umi-h2 { font-size: 2.25rem; } }
 .umi-h2--center { text-align: center; }
 .umi-lead { font-size: 1rem; line-height: 1.65; color: var(--umi-muted); margin-top: 1rem; max-width: 48rem; }
 .umi-lead--center { text-align: center; margin-left: auto; margin-right: auto; }
 .umi-sec--bg-soft {
     background:
         radial-gradient(ellipse 100% 80% at 0% 0%, rgba(27, 83, 148, 0.06) 0%, transparent 50%),
         radial-gradient(ellipse 80% 60% at 100% 100%, rgba(245, 130, 32, 0.05) 0%, transparent 50%),
         linear-gradient(180deg, #f5f8fd 0%, var(--umi-bg-soft) 45%, #e8f0f8 100%);
 }
 .umi-sec--white {
     background-color: #fff;
     background-image: radial-gradient(circle at 1px 1px, rgba(27, 83, 148, 0.045) 1px, transparent 0);
     background-size: 22px 22px;
 }
 .umi-fade { opacity: 0; transform: translateY(18px); transition: opacity 0.65s ease, transform 0.65s ease; }
 .umi-fade.umi-fade--in { opacity: 1; transform: none; }
 
 /* Hero — дышащий градиент (палитра бренда), фото hero.jpg справа от текста */
 .umi-hero {
     min-height: 100vh;
     min-height: 100dvh;
     display: flex;
     align-items: center;
     position: relative;
     padding: 5.25rem 1.25rem 2.5rem;
     scroll-margin-top: 0;
     overflow: hidden;
 }
 @media (min-width: 768px) {
     .umi-hero {
         padding: 6.5rem 1.5rem 3.5rem;
     }
 }
 .umi-hero__bg {
     position: absolute;
     inset: 0;
     pointer-events: none;
 }
 .umi-hero__layer {
     position: absolute;
     inset: 0;
 }
 .umi-hero__layer--base {
     background: linear-gradient(
         128deg,
         #f5f7fc 0%,
         #e8f0fa 32%,
         #fef7f0 70%,
         #f0f4fa 100%
     );
     background-size: 200% 200%;
     animation: umi-hero-breathe-base 22s ease-in-out infinite;
 }
 .umi-hero__layer--mesh {
     background:
         radial-gradient(ellipse 85% 70% at 8% 12%, rgba(27, 83, 148, 0.16) 0%, transparent 55%),
         radial-gradient(ellipse 90% 75% at 100% 88%, rgba(245, 130, 32, 0.11) 0%, transparent 58%);
     background-size: 120% 120%, 100% 100%;
     background-position: 0% 0%, 100% 100%;
     animation: umi-hero-breathe-mesh-a 18s ease-in-out infinite alternate;
     opacity: 0.95;
 }
 .umi-hero__layer--mesh-b {
     background:
         radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255, 255, 255, 0.5) 0%, transparent 45%),
         radial-gradient(ellipse 50% 45% at 100% 50%, rgba(27, 83, 148, 0.08) 0%, transparent 50%);
     mix-blend-mode: soft-light;
     animation: umi-hero-breathe-mesh-b 20s ease-in-out infinite;
 }
 .umi-hero__layer--accent {
     background: linear-gradient(
         105deg,
         transparent 0%,
         rgba(27, 83, 148, 0.06) 40%,
         rgba(245, 130, 32, 0.05) 70%,
         transparent 100%
     );
     background-size: 200% 100%;
     background-position: 0% 50%;
     animation: umi-hero-breathe-accent 16s ease-in-out infinite;
     opacity: 0.85;
 }
 @keyframes umi-hero-breathe-base {
     0%,
     100% {
         background-position: 0% 40%;
     }
     50% {
         background-position: 100% 60%;
     }
 }
 @keyframes umi-hero-breathe-mesh-a {
     0% {
         opacity: 0.85;
         background-position: 0% 0%, 100% 100%;
     }
     100% {
         opacity: 1;
         background-position: 8% 6%, 92% 94%;
     }
 }
 @keyframes umi-hero-breathe-mesh-b {
     0%,
     100% {
         opacity: 0.55;
         transform: scale(1);
     }
     50% {
         opacity: 0.75;
         transform: scale(1.02);
     }
 }
 @keyframes umi-hero-breathe-accent {
     0%,
     100% {
         background-position: 0% 50%;
         opacity: 0.7;
     }
     50% {
         background-position: 100% 50%;
         opacity: 0.95;
     }
 }
 @media (prefers-reduced-motion: reduce) {
     .umi-hero__layer--base,
     .umi-hero__layer--mesh,
     .umi-hero__layer--mesh-b,
     .umi-hero__layer--accent {
         animation: none;
     }
     .umi-hero__layer--base {
         background-size: 100% 100%;
         background-position: center;
     }
     .umi-hero__layer--mesh-b {
         transform: none;
     }
     .umi-hero__photo,
     .umi-hero__photo-frame {
         animation: none;
     }
 }
 .umi-hero__inner {
     position: relative;
     z-index: 1;
     display: grid;
     gap: 2rem 2.25rem;
     align-items: center;
     max-width: 1200px;
     margin: 0 auto;
     width: 100%;
     grid-template-columns: 1fr;
 }
 @media (min-width: 900px) {
     .umi-hero__inner {
         grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.9fr);
         gap: 2.5rem 3rem;
     }
 }
 .umi-hero__col--text {
     min-width: 0;
 }
 .umi-hero__col--visual {
     margin: 0;
     min-width: 0;
 }
 .umi-hero__panel {
     padding: 0.25rem 0 0;
 }
 @media (min-width: 900px) {
     .umi-hero__panel {
         padding: 0.5rem 0.5rem 0.5rem 0;
     }
 }
 .umi-hero__panel::before {
     content: "";
     display: block;
     width: 2.75rem;
     height: 0.2rem;
     border-radius: 999px;
     margin-bottom: 0.9rem;
     background: linear-gradient(90deg, var(--umi-primary) 0%, var(--umi-accent) 100%);
 }
 .umi-hero__photo {
     display: flex;
     justify-content: center;
     animation: umi-hero-photo-float 9s ease-in-out infinite;
 }
 .umi-hero__photo-frame {
     position: relative;
     width: 100%;
     max-width: 420px;
     margin-left: auto;
     margin-right: auto;
     border-radius: 1.5rem;
     padding: 3px;
     background: linear-gradient(135deg, rgba(27, 83, 148, 0.35) 0%, rgba(245, 130, 32, 0.45) 50%, rgba(27, 83, 148, 0.25) 100%);
     background-size: 200% 200%;
     box-shadow:
         0 20px 50px -12px rgba(27, 83, 148, 0.25),
         0 0 0 1px rgba(255, 255, 255, 0.6) inset,
         0 1px 0 rgba(255, 255, 255, 0.9) inset;
     animation: umi-hero-card-glow 12s ease-in-out infinite;
 }
 .umi-hero__photo-cut {
     border-radius: calc(1.5rem - 3px);
     overflow: hidden;
     line-height: 0;
     position: relative;
     z-index: 0;
 }
 .umi-hero__photo-frame::after {
     content: "";
     position: absolute;
     inset: 0;
     border-radius: inherit;
     pointer-events: none;
     background: linear-gradient(160deg, rgba(255, 255, 255, 0.25) 0%, transparent 38%);
     z-index: 1;
 }
 .umi-hero__img {
     width: 100%;
     height: auto;
     display: block;
     aspect-ratio: 1;
     object-fit: cover;
     object-position: 42% 42%;
     border: 0;
     border-radius: 0;
 }
 @media (min-width: 900px) {
     .umi-hero__photo {
         justify-content: flex-end;
     }
     .umi-hero__photo-frame {
         max-width: none;
         margin-right: 0;
     }
 }
 @keyframes umi-hero-photo-float {
     0%,
     100% {
         transform: translateY(0);
     }
     50% {
         transform: translateY(-6px);
     }
 }
 @keyframes umi-hero-card-glow {
     0%,
     100% {
         background-position: 0% 50%;
     }
     50% {
         background-position: 100% 50%;
     }
 }
 .umi-hero h1 {
     color: var(--umi-slate);
     font-size: 1.65rem;
     font-weight: 800;
     line-height: 1.2;
     letter-spacing: -0.02em;
     max-width: none;
 }
 @media (min-width: 640px) {
     .umi-hero h1 {
         font-size: 2.1rem;
         max-width: 22ch;
     }
 }
 @media (min-width: 900px) {
     .umi-hero h1 {
         font-size: 2.5rem;
         max-width: 18ch;
     }
 }
 .umi-hero p {
     color: var(--umi-muted);
     font-size: 0.95rem;
     line-height: 1.65;
     margin: 1rem 0 0;
     max-width: 38rem;
 }
 @media (min-width: 640px) {
     .umi-hero p {
         font-size: 1.05rem;
     }
 }
 .umi-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
 .umi-btn {
     display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 1.25rem; border-radius: 999px;
     font-size: 0.9rem; font-weight: 700; text-decoration: none; border: 2px solid transparent;
     transition: transform 0.2s, box-shadow 0.2s, background 0.2s, border-color 0.2s;
 }
 .umi-btn--block { width: 100%; }
 .umi-btn:focus-visible { outline: 2px solid var(--umi-accent); outline-offset: 2px; }
 .umi-btn--primary {
     background: linear-gradient(145deg, #ff9633 0%, var(--umi-accent) 40%, #e86a0a 100%);
     color: #fff;
     box-shadow: 0 8px 28px rgba(245, 130, 32, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.2);
 }
 .umi-page-root a.umi-btn--primary,
 .umi-page-root a.umi-btn--primary:hover,
 .umi-page-root a.umi-btn--primary:focus,
 .umi-page-root a.umi-btn--primary:focus-visible,
 .umi-page-root button.umi-btn--primary,
 .umi-page-root button.umi-btn--primary:hover,
 .umi-page-root button.umi-btn--primary:focus,
 .umi-page-root button.umi-btn--primary:focus-visible,
 .umi-header-root a.umi-header__btn,
 .umi-header-root a.umi-header__btn:hover,
 .umi-header-root a.umi-header__btn:focus,
 .umi-header-root a.umi-header__btn:focus-visible {
     color: #fff;
     text-decoration: none;
 }
 .umi-btn--primary:hover,
 .umi-btn--primary:focus,
 .umi-btn--primary:focus-visible {
     transform: translateY(-2px);
     background: var(--umi-accent-hover);
     color: #fff;
     text-decoration: none;
     box-shadow: 0 12px 32px rgba(245, 130, 32, 0.52);
 }
 .umi-btn--secondary {
     background: linear-gradient(145deg, var(--umi-primary) 0%, var(--umi-primary-pressed) 100%);
     color: #fff;
     border-color: transparent;
     box-shadow: 0 6px 22px rgba(27, 83, 148, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.15);
 }
 .umi-btn--secondary:hover { transform: translateY(-2px); background: var(--umi-primary-pressed); box-shadow: 0 10px 28px rgba(27, 83, 148, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.12); }
 .umi-btn--ghost { background: rgba(255, 255, 255, 0.1); color: #fff; border: 2px solid rgba(255, 255, 255, 0.4); backdrop-filter: blur(8px); }
 .umi-btn--ghost:hover { background: rgba(255, 255, 255, 0.18); border-color: rgba(245, 130, 32, 0.9); }
 .umi-btn--outline { background: #fff; color: var(--umi-primary); border: 2px solid #c5d4e3; }
 .umi-btn--outline:hover { border-color: var(--umi-accent); color: #b85a0a; }
 button.umi-btn--secondary.umi-btn--block { border: none; cursor: pointer; }
 
 /* About */
 .umi-about__grid { display: grid; gap: 1.25rem; margin-top: 2.5rem; }
 @media (min-width: 768px) { .umi-about__grid { grid-template-columns: repeat(3, 1fr); } }
 .umi-icon-card {
     background: linear-gradient(165deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.9) 100%);
     border-radius: var(--umi-radius-lg);
     padding: 1.4rem 1.3rem;
     border: 1px solid rgba(27, 83, 148, 0.1);
     box-shadow: var(--umi-shadow-sm);
     transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.25s ease;
 }
 .umi-icon-card:hover {
     transform: translateY(-5px);
     box-shadow: var(--umi-shadow-lift);
     border-color: rgba(27, 83, 148, 0.16);
 }
 .umi-icon-card__ic {
     width: 48px; height: 48px; border-radius: 14px;
     background: linear-gradient(145deg, rgba(27, 83, 148, 0.14) 0%, rgba(245, 130, 32, 0.18) 100%);
     display: grid; place-items: center; margin-bottom: 0.85rem; font-size: 1.35rem; color: var(--umi-accent);
     box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
 }
 .umi-icon-card h3 { font-size: 1rem; font-weight: 800; margin: 0 0 0.4rem; color: var(--umi-primary); letter-spacing: -0.02em; }
 .umi-icon-card p { margin: 0; font-size: 0.875rem; line-height: 1.5; color: var(--umi-muted); }
 
 /* Activity */
 .umi-act__grid { display: grid; gap: 1.5rem; margin-top: 2.5rem; }
 @media (min-width: 900px) { .umi-act__grid { grid-template-columns: repeat(3, 1fr); } }
 .umi-act-card {
     background: var(--umi-card);
     border-radius: var(--umi-radius-lg);
     overflow: hidden;
     border: 1px solid rgba(27, 83, 148, 0.1);
     box-shadow: var(--umi-shadow-sm);
     display: flex;
     flex-direction: column;
     transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.3s ease;
 }
 .umi-act-card:hover {
     transform: translateY(-6px);
     box-shadow: var(--umi-shadow-lift);
     border-color: rgba(27, 83, 148, 0.14);
 }
 .umi-act-card__img { aspect-ratio: 4/3; object-fit: cover; width: 100%; transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1); }
 .umi-act-card:hover .umi-act-card__img { transform: scale(1.05); }
 .umi-act-card__body { padding: 1.25rem 1.15rem 1.4rem; flex: 1; }
 .umi-act-card h3 { font-size: 1.05rem; font-weight: 800; margin: 0 0 0.5rem; color: var(--umi-primary); letter-spacing: -0.02em; }
 .umi-act-card p { margin: 0; font-size: 0.9rem; line-height: 1.55; color: var(--umi-muted); }
 
 /* Form */
 .umi-req {
     background:
         radial-gradient(ellipse 90% 60% at 10% 20%, rgba(27, 83, 148, 0.07) 0%, transparent 55%),
         radial-gradient(ellipse 80% 50% at 90% 80%, rgba(245, 130, 32, 0.06) 0%, transparent 50%),
         linear-gradient(180deg, #ffffff 0%, #e8edf5 100%);
 }
 .umi-req__box {
     max-width: 520px;
     margin: 0 auto;
     background: linear-gradient(165deg, rgba(255, 255, 255, 0.95) 0%, #ffffff 100%);
     padding: 1.85rem 1.6rem;
     border-radius: var(--umi-radius-lg);
     border: 1px solid rgba(27, 83, 148, 0.1);
     box-shadow: var(--umi-shadow-md);
     backdrop-filter: blur(8px);
     -webkit-backdrop-filter: blur(8px);
 }
 .umi-req-form__msg { font-size: 0.9rem; line-height: 1.45; margin: 0 0 1rem; padding: 0.65rem 0.75rem; border-radius: 0.5rem; }
 .umi-req-form__msg[hidden] { display: none !important; }
 .umi-req-form__msg--ok { background: #ecfdf5; color: #166534; border: 1px solid #a7f3d0; }
 .umi-req-form__msg--err { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
 .umi-req-form__msg--pending { background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; }
 .umi-icon-card a.umi-inline-link { color: var(--umi-primary); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
 .umi-icon-card a.umi-inline-link:hover { color: var(--umi-accent); text-decoration: none; }
 .umi-field { margin-bottom: 1rem; }
 .umi-field label { display: block; font-size: 0.8rem; font-weight: 700; color: var(--umi-muted); margin-bottom: 0.35rem; }
 .umi-field input, .umi-field textarea {
     width: 100%; padding: 0.65rem 0.8rem; border: 1px solid #94a3b8; border-radius: 0.5rem; font: inherit; font-size: 0.95rem; color: var(--umi-slate); background: #fff; transition: border-color 0.2s, box-shadow 0.2s;
 }
 #umi-request .umi-field input::placeholder,
 #umi-request .umi-field textarea::placeholder {
     color: #64748b;
     opacity: 1;
 }
 #umi-request .umi-field input:hover,
 #umi-request .umi-field textarea:hover {
     border-color: #64748b;
 }
 .umi-field input:focus, .umi-field textarea:focus {
     outline: none; border-color: var(--umi-primary);
     box-shadow: 0 0 0 3px rgba(27, 83, 148, 0.22);
 }
 #umi-request .umi-field input:-webkit-autofill,
 #umi-request .umi-field input:-webkit-autofill:hover,
 #umi-request .umi-field input:-webkit-autofill:focus {
     -webkit-text-fill-color: var(--umi-slate);
     -webkit-box-shadow: 0 0 0 1000px #f1f5f9 inset;
     box-shadow: 0 0 0 1000px #f1f5f9 inset;
     transition: background-color 9999s ease-out;
 }
 .umi-field textarea { min-height: 100px; resize: vertical; }
 
 /* UMI: контакты (секция на главной) */
 .umi-contacts .umi-contacts__grid {
     display: grid;
     gap: 1.25rem;
     margin-top: 2rem;
 }
 @media (min-width: 768px) {
     .umi-contacts .umi-contacts__grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
 }
 .umi-contacts__card {
     border: 1px solid rgba(27, 83, 148, 0.12);
     border-radius: var(--umi-radius-lg);
     padding: 1.35rem 1.25rem;
     background: linear-gradient(165deg, #ffffff 0%, #f4f7fb 100%);
     box-shadow: var(--umi-shadow-sm);
 }
 .umi-contacts__card h3 {
     margin: 0 0 0.65rem;
     font-size: 0.8rem;
     font-weight: 800;
     text-transform: uppercase;
     letter-spacing: 0.06em;
     color: var(--umi-muted);
 }
 .umi-contacts__card p { margin: 0.35rem 0 0; font-size: 0.95rem; line-height: 1.5; color: var(--umi-slate); }
 .umi-contacts__card p:first-of-type { margin-top: 0; }
 .umi-contacts__note { font-size: 0.85rem !important; color: var(--umi-muted) !important; }
 .umi-contacts__tel {
     font-size: 1.1rem;
     font-weight: 800;
     color: var(--umi-primary);
     text-decoration: none;
 }
 .umi-contacts__tel:hover { color: var(--umi-accent); }
 
 /* Blog */
 .umi-blog { background: #fff; }
 .umi-blog__grid { display: grid; gap: 1.5rem; margin-top: 2.5rem; }
 @media (min-width: 768px) { .umi-blog__grid { grid-template-columns: repeat(3, 1fr); } }
 .umi-post {
     border-radius: var(--umi-radius-lg);
     overflow: hidden;
     border: 1px solid rgba(27, 83, 148, 0.1);
     background: #fff;
     display: flex;
     flex-direction: column;
     box-shadow: var(--umi-shadow-sm);
     transition: box-shadow 0.35s ease, transform 0.35s ease;
 }
 .umi-post:hover { box-shadow: var(--umi-shadow-lift); transform: translateY(-4px); }
 .umi-post__img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
 .umi-post__body { padding: 1.1rem 1.1rem 1.25rem; display: flex; flex-direction: column; flex: 1; }
 .umi-post__date { font-size: 0.75rem; font-weight: 600; color: var(--umi-accent); text-transform: uppercase; letter-spacing: 0.04em; }
 .umi-post h3 { font-size: 1rem; font-weight: 800; margin: 0.5rem 0; line-height: 1.35; flex: 1; color: var(--umi-primary); }
 .umi-post a.umi-btn { align-self: flex-start; margin-top: 0.5rem; }
 
 /* Donate + CTA */
 .umi-donate {
     background:
         radial-gradient(ellipse 100% 70% at 50% 0%, rgba(27, 83, 148, 0.08) 0%, transparent 55%),
         var(--umi-bg-soft);
 }
 /* UMI: пожертвования — герой-CTA */
 .umi-donate-cta {
     --umi-cta-ink-dim: rgba(232, 238, 246, 0.78);
     position: relative;
     max-width: 800px;
     margin: 2.25rem auto 0;
     border-radius: calc(var(--umi-radius-lg) + 0.2rem);
     overflow: hidden;
     text-align: center;
     border: 1px solid rgba(255, 255, 255, 0.1);
     box-shadow:
         0 0 0 1px rgba(27, 83, 148, 0.2),
         0 24px 56px -8px rgba(15, 39, 68, 0.45),
         0 0 40px -12px rgba(245, 130, 32, 0.35);
     background: linear-gradient(155deg, #0c2138 0%, #12365c 38%, #1b5394 78%, #153d6e 100%);
     isolation: isolate;
 }
 .umi-donate-cta__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
 .umi-donate-cta__grid {
     position: absolute;
     inset: 0;
     opacity: 0.12;
     background-image:
         linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
         linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
     background-size: 32px 32px;
     mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, #000 20%, transparent 100%);
     -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, #000 20%, transparent 100%);
 }
 .umi-donate-cta__orb {
     position: absolute;
     border-radius: 50%;
     filter: blur(0);
     will-change: transform, opacity;
 }
 .umi-donate-cta__orb--1 {
     width: min(70vw, 420px);
     height: min(70vw, 420px);
     top: -28%;
     right: -12%;
     background: radial-gradient(circle at 35% 35%, rgba(245, 130, 32, 0.55) 0%, rgba(245, 130, 32, 0.08) 45%, transparent 70%);
     animation: umi-cta-orbA 9s ease-in-out infinite;
 }
 .umi-donate-cta__orb--2 {
     width: min(60vw, 360px);
     height: min(60vw, 360px);
     bottom: -35%;
     left: -8%;
     background: radial-gradient(circle at 60% 50%, rgba(100, 180, 255, 0.35) 0%, rgba(27, 83, 148, 0.15) 50%, transparent 70%);
     animation: umi-cta-orbB 11s ease-in-out infinite 1s;
 }
 @keyframes umi-cta-orbA {
     0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.95; }
     50% { transform: translate(-4%, 5%) scale(1.05); opacity: 1; }
 }
 @keyframes umi-cta-orbB {
     0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.8; }
     50% { transform: translate(5%, -4%) scale(1.08); opacity: 1; }
 }
 .umi-donate-cta__content {
     position: relative;
     z-index: 1;
     padding: 2.25rem 1.5rem 2.4rem;
 }
 @media (min-width: 640px) {
     .umi-donate-cta__content { padding: 2.6rem 2.5rem 2.75rem; }
 }
 .umi-donate-cta__eyebrow {
     margin: 0 0 0.65rem;
     font-size: 0.72rem;
     font-weight: 800;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     color: var(--umi-accent);
     text-shadow: 0 0 24px rgba(245, 130, 32, 0.45);
 }
 .umi-donate-cta__lead {
     margin: 0 auto;
     max-width: 32rem;
     font-size: 1.05rem;
     line-height: 1.65;
     color: var(--umi-cta-ink-dim);
     font-weight: 600;
 }
 @media (min-width: 640px) {
     .umi-donate-cta__lead { font-size: 1.1rem; max-width: 36rem; }
 }
 .umi-donate-cta__action {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.65rem;
     margin-top: 1.75rem;
     padding: 1rem 1.75rem 1rem 1.85rem;
     border: none;
     border-radius: 999px;
     font: inherit;
     font-size: 1.05rem;
     font-weight: 800;
     letter-spacing: 0.01em;
     text-decoration: none;
     color: #fff;
     cursor: pointer;
     background: linear-gradient(180deg, #ff9a3c 0%, var(--umi-accent) 40%, #e06a0c 100%);
     box-shadow:
         0 0 0 1px rgba(255, 200, 140, 0.35) inset,
         0 4px 0 rgba(180, 70, 0, 0.45),
         0 12px 32px rgba(224, 106, 12, 0.45);
     transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.2s ease;
 }
 .umi-donate-cta__action:hover {
     transform: translateY(-2px) scale(1.02);
     filter: brightness(1.05);
     box-shadow:
         0 0 0 1px rgba(255, 220, 180, 0.5) inset,
         0 5px 0 rgba(160, 60, 0, 0.4),
         0 20px 44px rgba(224, 106, 12, 0.55);
 }
 .umi-donate-cta__action:focus-visible {
     outline: 2px solid #fff;
     outline-offset: 4px;
 }
 .umi-donate-cta__action:active {
     transform: translateY(0) scale(0.99);
 }
 .umi-donate-cta__action-text { position: relative; z-index: 1; }
 .umi-donate-cta__action-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 2rem;
     height: 2rem;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.2);
     transition: transform 0.25s ease, background 0.2s ease;
 }
 .umi-donate-cta__action:hover .umi-donate-cta__action-icon {
     transform: translateX(3px);
     background: rgba(255, 255, 255, 0.28);
 }
 .umi-donate-cta__legal {
     margin: 1.5rem 0 0;
     font-size: 0.8rem;
     line-height: 1.5;
     color: rgba(232, 238, 246, 0.55);
     max-width: 28rem;
     margin-left: auto;
     margin-right: auto;
 }
 
 /* UMI: карта и QR для пожертвований */
 .umi-donate-pay {
     margin-top: 2.5rem;
     display: grid;
     gap: 1.75rem;
     align-items: stretch;
 }
 @media (min-width: 768px) {
     .umi-donate-pay {
         grid-template-columns: 1fr minmax(240px, 320px);
         gap: 2rem;
         align-items: center;
     }
 }
 .umi-donate-pay__title {
     margin: 0 0 0.5rem;
     font-size: 0.95rem;
     font-weight: 800;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     color: var(--umi-primary);
 }
 .umi-donate-pay__hint { margin: 0 0 1rem; font-size: 0.88rem; line-height: 1.55; color: var(--umi-muted); }
 .umi-donate-pay__mono {
     font-size: 1rem !important;
     letter-spacing: 0.04em;
     line-height: 1.6 !important;
 }
 .umi-donate-pay__qr-wrap {
     text-align: center;
     padding: 1.5rem 1.25rem;
     border-radius: var(--umi-radius-lg);
     background: linear-gradient(145deg, #ffffff 0%, #eef3fa 100%);
     border: 1px solid rgba(27, 83, 148, 0.14);
     box-shadow: var(--umi-shadow-md);
 }
 .umi-donate-pay__qr-label {
     margin: 0;
     font-size: 0.85rem;
     font-weight: 800;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     color: var(--umi-muted);
 }
 .umi-donate-pay__qr-sub {
     margin: 0.5rem 0 1.15rem;
     font-size: 0.8rem;
     line-height: 1.45;
     color: var(--umi-muted);
     max-width: 22rem;
     margin-left: auto;
     margin-right: auto;
 }
 .umi-donate-pay__qr-frame {
     display: inline-block;
     margin: 0;
     padding: 0.85rem;
     border-radius: 1rem;
     background: #fff;
     box-shadow:
         0 0 0 1px rgba(27, 83, 148, 0.12),
         0 0 24px rgba(27, 83, 148, 0.12),
         0 12px 32px rgba(15, 42, 74, 0.08);
 }
 .umi-donate-pay__qr-img {
     display: block;
     width: 220px;
     height: 220px;
     max-width: 100%;
     height: auto;
     aspect-ratio: 1;
     border-radius: 0.5rem;
 }
 
 /* Trust */
 .umi-trust { background: #fff; }
 .umi-trust__grid { display: grid; gap: 1.5rem; margin-top: 2.5rem; }
 .umi-trust__grid > * { min-width: 0; }
 @media (min-width: 600px) and (max-width: 899.98px) {
     .umi-trust__grid { grid-template-columns: 1fr 1fr; }
     .umi-trust-card--plain { grid-column: 1 / -1; }
 }
 @media (min-width: 900px) { .umi-trust__grid { grid-template-columns: 1fr 1fr 1.2fr; } }
 .umi-trust-card {
     border: 1px solid rgba(27, 83, 148, 0.1);
     border-radius: var(--umi-radius);
     padding: 1.35rem;
     background: linear-gradient(165deg, #ffffff 0%, #f4f6f9 100%);
     box-shadow: var(--umi-shadow-sm);
     transition: box-shadow 0.3s ease, transform 0.3s ease;
 }
 .umi-trust-card:hover {
     box-shadow: var(--umi-shadow-md);
     transform: translateY(-3px);
 }
 .umi-trust-card--plain { background: #fff; }
 .umi-trust-card h3 { font-size: 0.9rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: var(--umi-muted); margin: 0 0 0.9rem; }
 .umi-charter-link { display: block; text-decoration: none; color: inherit; }
 .umi-trust a.umi-charter-link:hover,
 .umi-trust a.umi-charter-link:focus,
 .umi-trust a.umi-charter-link:focus-visible { text-decoration: none; color: inherit; }
 .umi-trust a.umi-charter-link:hover .umi-charter-cap { color: var(--umi-accent); }
 .umi-charter-thumb { border-radius: 0.75rem; overflow: hidden; border: 1px solid #e2e8f0; }
 .umi-charter-thumb img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
 .umi-charter-cap { display: flex; align-items: center; justify-content: space-between; margin-top: 0.75rem; font-size: 0.9rem; font-weight: 700; color: var(--umi-accent); }
 .umi-director { text-align: center; }
 .umi-director img { width: 160px; height: 160px; border-radius: 1rem; object-fit: cover; margin: 0 auto 0.9rem; border: 3px solid var(--umi-accent); box-shadow: 0 8px 28px rgba(27, 83, 148, 0.15); }
 .umi-director p { margin: 0; font-size: 0.95rem; }
 .umi-director .umi-role { font-size: 0.85rem; color: var(--umi-muted); margin-top: 0.25rem; }
 .umi-name { font-weight: 800; color: var(--umi-primary); }
 .umi-req-text { font-size: 0.85rem; line-height: 1.6; color: #334155; }
 .umi-req-hint { margin: 0; font-size: 0.9rem; color: var(--umi-muted); }
 .umi-req-text pre,
 .umi-req-text .umi-copy-block,
 .umi-trust .umi-copy-block,
 .umi-trust pre.umi-copy-block {
     white-space: pre-wrap;
     word-break: break-word;
     overflow-wrap: anywhere;
     line-height: 1.55;
     font-family: ui-monospace, monospace;
     font-size: 0.8rem;
     background: #fff;
     border: 1px dashed #cbd5e1;
     padding: 0.9rem;
     border-radius: 0.5rem;
     margin: 0.5rem 0 0;
     max-width: 100%;
     box-sizing: border-box;
 }
 .umi-copy-wrap { position: relative; min-width: 0; max-width: 100%; }
 .umi-copy-btn { margin-top: 0.5rem; font-size: 0.8rem; font-weight: 700; color: var(--umi-primary); background: none; border: none; cursor: pointer; padding: 0.25rem 0; text-decoration: underline; }
 .umi-copy-btn:hover { color: var(--umi-accent); }
 
 /* Footer */
 .umi-foot {
     background:
         linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, transparent 30%),
         linear-gradient(160deg, var(--umi-primary-dark) 0%, var(--umi-primary) 45%, #0f2a4a 100%);
     color: rgba(255, 255, 255, 0.9);
     padding: 2.5rem 1rem 2.75rem;
     position: relative;
 }
 .umi-foot::before {
     content: "";
     position: absolute;
     left: 0; right: 0; top: 0;
     height: 3px;
     background: linear-gradient(90deg, transparent, var(--umi-accent) 20%, #ffb366 50%, var(--umi-accent) 80%, transparent);
     opacity: 0.85;
 }
 .umi-foot__grid { display: grid; gap: 2rem; }
 .umi-foot__col { min-width: 0; }
 /* Планшет: бренд на всю ширину, навигация + контакты в два столбца */
 @media (min-width: 600px) and (max-width: 991.98px) {
     .umi-foot__grid { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; row-gap: 2rem; }
     .umi-foot__brand { grid-column: 1 / -1; }
     .umi-foot__col--nav { grid-column: 1; }
     .umi-foot__col--contact { grid-column: 2; }
 }
 @media (min-width: 992px) {
     .umi-foot { padding: 3rem 1.25rem; }
     .umi-foot__grid { grid-template-columns: 1.15fr 1fr 1fr; gap: 2.5rem; align-items: start; }
     .umi-foot__brand { grid-column: auto; }
     .umi-foot__col--nav { grid-column: auto; }
     .umi-foot__col--contact { grid-column: auto; }
 }
 .umi-foot a { color: #fff; text-decoration: none; }
 .umi-foot a:hover { color: #ffb366; }
 .umi-foot a:focus-visible { outline: 2px solid #ffb366; outline-offset: 3px; }
 .umi-foot__logo { color: #fff; font-weight: 800; font-size: 1.1rem; margin: 0 0 0.4rem; }
 .umi-foot__sub { font-size: 0.8rem; opacity: 0.85; line-height: 1.4; margin: 0; }
 .umi-foot__max-lead {
     font-size: 0.78rem;
     line-height: 1.45;
     margin: 1.1rem 0 0.65rem;
     max-width: 22rem;
     opacity: 0.9;
     color: rgba(255, 255, 255, 0.92);
 }
 /* UMI: футер — присоединиться: заголовок + иконки MAX / ВК */
 .umi-foot__join { margin-top: 0; max-width: 22rem; }
 .umi-foot__join-title {
     color: #fff;
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     margin: 0 0 0.65rem;
 }
 .umi-foot__join-row {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     gap: 0.75rem;
 }
 .umi-foot__join-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 44px;
     height: 44px;
     padding: 0;
     border-radius: 0.65rem;
     background: rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.2);
     color: #fff;
     text-decoration: none;
     transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
     box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
 }
 .umi-foot__join-btn:hover,
 .umi-foot__join-btn:focus-visible {
     background: rgba(255, 255, 255, 0.16);
     border-color: rgba(255, 182, 102, 0.5);
     color: #fff;
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
 }
 .umi-foot__max-ico {
     flex-shrink: 0;
     width: 32px;
     height: 32px;
     display: block;
     border-radius: 8px;
     object-fit: contain;
 }
 .umi-foot__vk-ico {
     flex-shrink: 0;
     width: 32px;
     height: 32px;
     display: block;
     color: inherit;
 }
 .umi-foot h4 { color: #fff; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 0.75rem; }
 .umi-foot__nav a { display: block; font-size: 0.9rem; padding: 0.2rem 0; }
 .umi-foot__contacts p { margin: 0.25rem 0; font-size: 0.9rem; word-break: break-word; }
 .umi-foot__addr { line-height: 1.45; }
 .umi-foot__addr-note { display: block; margin-top: 0.35rem; font-size: 0.8rem; opacity: 0.88; }
 .umi-foot__hours { font-size: 0.82rem !important; line-height: 1.45; opacity: 0.92; }
 .umi-foot__mail { word-break: break-all; }
 .umi-soc { display: flex; gap: 0.75rem; margin-top: 0.75rem; flex-wrap: wrap; }
 .umi-soc a { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 10px; background: rgba(255, 255, 255, 0.12); font-size: 0.75rem; font-weight: 800; transition: background 0.2s, color 0.2s; }
 .umi-soc a:hover { background: var(--umi-accent); color: #fff; }
 .umi-soc a:focus-visible { outline: 2px solid #ffb366; outline-offset: 2px; }
 
 .umi-foot__brand { min-width: 0; }
 .umi-foot__brand--text { display: block; }
 .umi-foot__logo-img { height: 48px; width: auto; max-width: 140px; object-fit: contain; }
 .umi-foot__brand-text { min-width: 0; }
 .umi-foot__logo.umi-foot__logo--text-only { margin-bottom: 0.4rem; }
 .umi-foot .umi-wrap { position: relative; z-index: 1; }
 
 @media (prefers-reduced-motion: reduce) {
     html {
         scroll-behavior: auto;
     }
     .umi-icon-card:hover,
     .umi-act-card:hover,
     .umi-post:hover,
     .umi-trust-card:hover {
         transform: none;
     }
     .umi-act-card:hover .umi-act-card__img {
         transform: none;
     }
     .umi-donate-cta__orb--1,
     .umi-donate-cta__orb--2 { animation: none; }
     .umi-donate-cta__action:hover,
     .umi-donate-cta__action:active {
         transform: none;
     }
     .umi-donate-cta__action:hover .umi-donate-cta__action-icon { transform: none; }
 }
 