/*--------------------------------------------------
  1) IMPORTS & CONFIG
--------------------------------------------------*/
/* assets/css/lang-switcher.css */
/* ------------------------------------------------------------- */
/* 1. ГЛОБАЛЬНЫЙ ОВЕРЛЕЙ МОДАЛЬНОГО ОКНА */
/* ------------------------------------------------------------- */
#language-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;

    /* Фон: белый с размытием */
    background-color: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    /* Чистый Fade эффект */
    transition: opacity 0.4s ease-in-out, visibility 0.4s;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
#language-modal.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
#language-modal.hidden {
    display: none !important;
}
/* ------------------------------------------------------------- */
/* 2. КОНТЕНТНАЯ ОБЛАСТЬ (СТИЛЬ ПРЕМИУМ) */
/* ------------------------------------------------------------- */
.modal-content-area {
    position: relative;
    width: 100%;
    max-width: 28rem; /* max-w-md */
    background-color: var(--sitan-white);
    padding: 2.5rem; /* md:p-10 */
    border-radius: 1.5rem; /* rounded-3xl */
    border: 1px solid rgba(0, 74, 153, 0.12);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);

    /* Анимация проявления */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease-in-out;
    transform: translateY(15px);
    opacity: 0;
    will-change: transform, opacity;
}
#language-modal.is-active .modal-content-area {
    opacity: 1;
    transform: translateY(0);
}
.modal-title {
    font-size: 0.875rem; /* text-sm */
    font-weight: 700;
    color: var(--sitan-gray-dark);
    margin-bottom: 2rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.2em;
}
/* ------------------------------------------------------------- */
/* 3. СЕТКА И КАРТОЧКИ (ИКОНКА СВЕРХУ - ТЕКСТ СНИЗУ) */
/* ------------------------------------------------------------- */
.lang-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.25rem;
    border-radius: 1rem;
    border: 3px solid transparent;
    background-color: rgba(249, 250, 251, 0.5); /* bg-gray-50/50 */
    text-decoration: none;
    transition: all 0.3s ease-out;
    will-change: transform, border-color, box-shadow;
}
.lang-card-flag-box {
    width: 2.5rem;
    height: 2.5rem;
    overflow: hidden;
    border-radius: 9999px;
    background-color: var(--sitan-gray-light);
    border: 1px solid rgba(229, 231, 235, 0.6);
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.lang-card-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--sitan-gray-dark);
    transition: color 0.3s ease;
}
/* --- СОСТОЯНИЯ (HOVER & ACTIVE) --- */
@media (hover: hover) {
    .lang-card:hover {
        background-color: var(--sitan-white);
        border-color: var(--sitan-blue);
        box-shadow: 0 10px 25px rgba(0, 85, 164, 0.1);
        transform: translateY(-4px);
    }

    .lang-card:hover .lang-card-label {
        color: var(--sitan-blue);
    }

    .lang-card:hover .lang-card-flag-box {
        transform: scale(1.1);
    }
}
/* АКТИВНЫЙ ЯЗЫК (Красный SITAN) */
.lang-card.is-active,
.lang-card.active {
    background-color: var(--sitan-white) !important;
    border-color: var(--sitan-red) !important;
    box-shadow: 0 8px 20px rgba(224, 48, 46, 0.12) !important;
}
.lang-card.is-active .lang-card-label,
.lang-card.active .lang-card-label {
    color: var(--sitan-red) !important;
}
/* Touch (Haptic): Тактильный отклик */
.lang-card:active,
.lang-card.is-touched {
    transform: scale(0.95) !important;
    opacity: 0.8 !important;
    border-color: var(--sitan-blue) !important;
    transition-duration: 0.1s !important;
}
/* ------------------------------------------------------------- */
/* 4. КНОПКА ЗАКРЫТИЯ */
/* ------------------------------------------------------------- */
/**
 * FILE: assets/css/swiper-custom.css
 * DESCRIPTION: Универсальные стили для каруселей (Advantages & Applications).
 * FIX: Добавлена поддержка #sitan-applications-carousel для работы на странице SITAN.
 */
/* --- ПАГИНАЦИЯ (Поднята оптимально) --- */
.contact-form-rhythm .swiper-pagination.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.swiper-pagination {
    position: absolute !important;
    left: 50%;
    display: flex;
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    /* Дефолт для десктопа: ~120px от низа */
    bottom: 7.5rem !important;
    z-index: 100 !important;
    pointer-events: auto !important;
}
@media (max-width: 768px) {
    .swiper-pagination {
        bottom: 5.5rem !important;
    }
}
.swiper-pagination-bullet {
    cursor: pointer;
    border-radius: 9999px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    opacity: 0.4;
    transition: width 0.5s ease-out,
                opacity 0.5s ease-out,
                background-color 0.5s ease-out;
    height: 4px !important;
    width: 32px !important;
    margin: 0 !important;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.8));
}
.swiper-pagination-bullet-active {
    --tw-bg-opacity: 1;
    background-color: rgb(224 48 46 / var(--tw-bg-opacity, 1));
    opacity: 1;
    width: 64px !important;
    filter: drop-shadow(0 0 10px rgba(227, 30, 36, 0.8));
}
/* --- Навигация (Стрелки) --- */
#sitan-advantage-carousel .swiper-button-prev,
#sitan-advantage-carousel .swiper-button-next,
#sitan-applications-carousel .swiper-button-prev,
#sitan-applications-carousel .swiper-button-next {
    top: 40% !important;
}
.contact-form-rhythm #sitan-advantage-carousel .swiper-button-prev.flex-col > label[for],.contact-form-rhythm 
#sitan-advantage-carousel .swiper-button-next.flex-col > label[for],.contact-form-rhythm 
#sitan-applications-carousel .swiper-button-prev.flex-col > label[for],.contact-form-rhythm 
#sitan-applications-carousel .swiper-button-next.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
#sitan-advantage-carousel .swiper-button-prev,
#sitan-advantage-carousel .swiper-button-next,
#sitan-applications-carousel .swiper-button-prev,
#sitan-applications-carousel .swiper-button-next {
    display: flex;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    align-items: center;
    justify-content: center;
    border-style: none !important;
    background-color: transparent !important;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    pointer-events: auto !important;
    z-index: 110 !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
    display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
    color: rgb(255 255 255 / 0.5);
    transition: color 0.3s ease-out, transform 0.3s ease-out;
    filter: drop-shadow(0 4px 15px rgba(0,0,0,0.8));
}
@media (hover: hover) {
    .swiper-button-prev:hover svg,
    .swiper-button-next:hover svg {
        --tw-scale-x: 1.1;
        --tw-scale-y: 1.1;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    }
}
/* --- Логика Карусели (Наложение слайдов стеком) --- */
#sitan-advantage-carousel .swiper-wrapper,
#sitan-applications-carousel .swiper-wrapper {
    display: grid !important;
    grid-template-areas: "stack" !important;
    transform: none !important;
}
#sitan-advantage-carousel .swiper-slide,
#sitan-applications-carousel .swiper-slide {
    grid-area: stack !important;
    opacity: 0 !important;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s !important;
    transform: none !important;
}
#sitan-advantage-carousel .swiper-slide-active,
#sitan-applications-carousel .swiper-slide-active {
    opacity: 1 !important;
    z-index: 10 !important;
    pointer-events: auto !important;
    visibility: visible !important;
}
/* --- Стили для карточек (Белые блоки) --- */
.sitan-advantage-block {
    background-color: #ffffff !important;
    border: 2px solid var(--sitan-blue) !important;
    will-change: transform;
    position: relative;
    border-radius: 2rem;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.08), 0 4px 8px -4px rgba(0,0,0,0.06);
    /* box-shadow НЕ анимируем — CPU blur, snap мгновенно */
    transition: transform 0.5s ease-out,
                border-color 0.5s ease-out;
}
.sitan-advantage-block h3 {
    margin-bottom: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.05em;
    --tw-text-opacity: 1;
    color: rgb(224 48 46 / var(--tw-text-opacity, 1));
    opacity: 0.6;
    transition: color 0.4s ease,
                opacity 0.4s ease;
}
.sitan-advantage-block p {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    line-height: 1.625;
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}
@media (min-width: 640px) {
    .sitan-advantage-block p {
        font-size: 1rem;
        line-height: 1.5rem;
    }
}
.sitan-advantage-block p {
    transition: color 0.5s ease, opacity 0.5s ease;
}
.swiper-slide-active .sitan-advantage-block {
    /* Уменьшен blur: 70px → 30px, CPU paint */
    box-shadow: 0 15px 30px -8px rgba(0,0,0,0.25);
}
/* --- ВЗАИМОДЕЙСТВИЕ (Hover vs Touch) --- */
@media (hover: hover) {
    .group\/advantage:hover .advantage-main-title h2 span {
        --tw-bg-opacity: 1;
        background-color: rgb(224 48 46 / var(--tw-bg-opacity, 1));
        transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    box-shadow 0.35s ease-out 0.25s;
    }
    .group\/advantage:hover .sitan-advantage-block h3 {
        opacity: 1;
    }
    .group\/advantage:hover .sitan-advantage-block {
        transform: translateY(-15px) translateZ(0) !important;
        border-color: var(--sitan-red) !important;
    }
}
/* Мобильные: Поддержка обоих классов тача */
.group\/advantage.is-touched .advantage-main-title span,
.group\/advantage.is-touch-active .advantage-main-title span {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(224 48 46 / var(--tw-bg-opacity, 1)) !important;
    transition: background-color 0.35s cubic-bezier(0.19, 1, 0.22, 1),
                color 0.35s cubic-bezier(0.19, 1, 0.22, 1),
                box-shadow 0.3s ease-out 0.2s;
}
.group\/advantage.is-touched .sitan-advantage-block,
.group\/advantage.is-touch-active .sitan-advantage-block {
    border-color: var(--sitan-red) !important;
    /* shadow-2xl (50px blur) → уменьшен до 25px для CPU */
    box-shadow: 0 12px 25px -6px rgba(0,0,0,0.2) !important;
    transform: translateY(-10px) !important;
}
.group\/advantage.is-touched .sitan-advantage-block h3,
.group\/advantage.is-touch-active .sitan-advantage-block h3 {
    opacity: 1 !important;
}
/* --- Анимации появления --- */
.advantage-main-title {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}
.swiper-slide-active .advantage-main-title {
    opacity: 1;
}
.advantage-card-animation-group {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.swiper-slide-active .advantage-card-animation-group {
    opacity: 1;
    transform: translateY(0);
}
/* Фон остается чистым для управления через вуаль */
#sitan-advantage-carousel .swiper-slide img,
#sitan-applications-carousel .swiper-slide img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
/* Модульная система взаимодействий */
/**
 * INTERACTIONS BASE
 * Базовые классы для системы взаимодействий (hover/touch)
 * Универсальные правила, которые работают для всех групп
 */
/* ============================================================
   БАЗОВЫЕ КЛАССЫ ДЛЯ ФОНОВЫХ ЭФФЕКТОВ
   ============================================================ */
/* ============================================================
   УНИВЕРСАЛЬНЫЕ СОСТОЯНИЯ АКТИВАЦИИ
   ============================================================ */
/* Desktop: Hover активация */
@media (hover: hover) {
    /* Обратная совместимость со старыми классами */
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .hero-bg-img,
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .app-zoom-img,
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .advantage-zoom-img,
    [data-touch-group]:has(.is-active-zone:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .hero-bg-img {
        transform: scale(1.1) !important;
        transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1), opacity 1s ease-in-out;
    }
    
    /* Специфика для catalog-warranty: zoom работает при hover на заголовок, даже если есть epd-card */
    [data-touch-group="catalog"]:has([data-touch-trigger="title"]:hover):not(:has(.btn-premium:hover)) .app-zoom-img,
    [data-touch-group="catalog"]:has([data-touch-trigger="title"] span:hover):not(:has(.btn-premium:hover)) .app-zoom-img,
    [data-touch-group="catalog"]:has(.is-active-zone:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .app-zoom-img,
    [data-touch-group="catalog"]:has(.app-section-title-box:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .app-zoom-img {
        transform: scale(1.1) !important;
    }

    /* Обратная совместимость */
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .hero-dynamic-veil,
    [data-touch-group]:has(.is-active-zone:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .hero-dynamic-veil {
        opacity: 0 !important;
        transition: opacity 1s ease-in-out;
    }
    
    /* Специфика для catalog-warranty: вуаль исчезает при hover на заголовок */
    [data-touch-group="catalog"]:has([data-touch-trigger="title"]:hover):not(:has(.btn-premium:hover)) .hero-dynamic-veil,
    [data-touch-group="catalog"]:has([data-touch-trigger="title"] span:hover):not(:has(.btn-premium:hover)) .hero-dynamic-veil,
    [data-touch-group="catalog"]:has(.is-active-zone:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .hero-dynamic-veil,
    [data-touch-group="catalog"]:has(.app-section-title-box:hover):not(:has(.btn-premium:hover)):not(:has(.epd-card:hover)) .hero-dynamic-veil {
        opacity: 0 !important;
    }

    /* section-catalog-warranty: epd-card hover также активирует фоновый эффект */
    #section-catalog-warranty:has(.epd-card:hover):not(:has(.btn-premium:hover)) .app-zoom-img {
        transform: scale(1.1) !important;
    }
    #section-catalog-warranty:has(.epd-card:hover):not(:has(.btn-premium:hover)) .hero-dynamic-veil {
        opacity: 0 !important;
    }
}
/* Mobile: Touch активация */
[data-touch-group].is-touch-active .hero-bg-img,
[data-touch-group].is-touch-active .app-zoom-img,
[data-touch-group].is-touch-active .advantage-zoom-img,
[data-touch-group].state-trigger-title .hero-bg-img {
    transform: scale(1.1) !important;
    transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1), opacity 1s ease-in-out;
}
[data-touch-group].is-touch-active .hero-dynamic-veil,
[data-touch-group].state-trigger-title .hero-dynamic-veil {
    opacity: 0 !important;
    transition: opacity 1s ease-in-out;
}
/* ============================================================
   СПЕЦИАЛЬНЫЕ СЛУЧАИ (Tech, Ecology - меньший зум)
   ============================================================ */
/**
 * HEADINGS SYSTEM
 * Единая система заголовков для всех секций
 * 
 * Типы:
 * 1.1 - Белый заголовок с красной заливкой (index-hero, index-advantages, index-applications)
 * 1.2 - Белый заголовок с голубой заливкой (sitan-hero, sitan-applications, catalog-certificates, catalog-warranty)
 * 1.3 - Черный заголовок, ховер меняет цвет на ситановский голубой (sitan-properties, sitan-composition, sitan-process, sitan-eco, catalog-products, contact, cookies, privacy, terms)
 * 1.4 - Черный заголовок, шрифт меньше, ховер меняет цвет на ситановский голубой (sitan-highlights)
 * 1.5 - Красный заголовок без ховера (error)
 */
/* ============================================================
   БАЗОВЫЕ СТИЛИ ДЛЯ ПЛАШЕК-ПОДЛОЖЕК
   Гарантирует, что ширина определяется содержимым (текстом)
   ============================================================ */
/* Контейнер app-section-title-box - inline-block для центрирования через text-center родителя */
.app-section-title-box {
    display: inline-block !important;
    width: auto !important;
}
/* Заголовки h1/h2 внутри app-section-title-box - inline-block для подстройки под содержимое */
/* Важно: h1/h2 по умолчанию блочные, поэтому нужно явно указать inline-block */
.app-section-title-box h1,
.app-section-title-box h2 {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
}
/* Специфичные правила для обёрток, которые могут влиять на ширину */
.is-active-zone .app-section-title-box,
.snap-section-content .app-section-title-box,
.text-center .app-section-title-box {
    display: inline-block !important;
    width: auto !important;
}
.is-active-zone .app-section-title-box h1,
.is-active-zone .app-section-title-box h2,
.snap-section-content .app-section-title-box h1,
.snap-section-content .app-section-title-box h2,
.text-center .app-section-title-box h1,
.text-center .app-section-title-box h2 {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
}
/* ============================================================
   1.1 БЕЛЫЙ ЗАГОЛОВОК С КРАСНОЙ ЗАЛИВКОЙ
   Секции: index-hero, index-advantages, index-applications
   ============================================================ */
/* Базовые стили (= деактивация)
   Хореография: тени уходят первыми (0s), затем заливка + зум фона стартуют вместе (0.35s) */
.section-title-white-red h1 span,
.section-title-white-red h2 span {
    color: var(--sitan-white) !important;
    background-color: transparent;
    background-image: none;
    box-shadow: 0 10px 20px transparent;
    text-shadow: none;
    transition: background-color 1s cubic-bezier(0.19, 1, 0.22, 1) 0.35s,
                color 1s cubic-bezier(0.19, 1, 0.22, 1) 0.35s,
                text-shadow 0.25s ease-out 0s,
                box-shadow 0.25s ease-out 0s;
    transform: translateZ(0);
    display: inline-block;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
}
/* Desktop: Hover активация (заливка быстро, тень — после неё) */
@media (hover: hover) {
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)) .section-title-white-red h1 span,
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)) .section-title-white-red h2 span {
        background-color: color-mix(in srgb, var(--sitan-red), #fff 18%) !important;
        background-image: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-red), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-red), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-red), #fff 10%) 100%) !important;
        color: var(--sitan-white) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-red), transparent 82%) !important;
        transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    text-shadow 0.25s ease-out,
                    box-shadow 0.35s ease-out 0.25s;
    }
}
/* Mobile: Touch активация */
[data-touch-group].is-touch-active .section-title-white-red h1 span,
[data-touch-group].is-touch-active .section-title-white-red h2 span,
[data-touch-group].state-trigger-title .section-title-white-red h1 span,
[data-touch-group].state-trigger-title .section-title-white-red h2 span {
    background-color: color-mix(in srgb, var(--sitan-red), #fff 18%) !important;
    background-image: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-red), #fff 30%) 0%,
        color-mix(in srgb, var(--sitan-red), #fff 18%) 50%,
        color-mix(in srgb, var(--sitan-red), #fff 10%) 100%) !important;
    color: var(--sitan-white) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.12);
    box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-red), transparent 82%) !important;
    transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                text-shadow 0.25s ease-out,
                box-shadow 0.35s ease-out 0.25s;
}
/* ============================================================
   1.2 БЕЛЫЙ ЗАГОЛОВОК С ГОЛУБОЙ ЗАЛИВКОЙ
   Секции: sitan-hero, sitan-applications, catalog-certificates, catalog-warranty
   ============================================================ */
/* Базовые стили (= деактивация)
   Хореография: тени уходят первыми (0s), затем заливка + зум фона стартуют вместе (0.35s) */
.section-title-white-blue h1 span,
.section-title-white-blue h2 span,
.section-title-white-blue .sitan-accent-blue {
    color: var(--sitan-white) !important;
    background-color: transparent;
    background-image: none;
    box-shadow: 0 10px 20px transparent;
    text-shadow: none;
    transition: background-color 1s cubic-bezier(0.19, 1, 0.22, 1) 0.35s,
                color 1s cubic-bezier(0.19, 1, 0.22, 1) 0.35s,
                text-shadow 0.25s ease-out 0s,
                box-shadow 0.25s ease-out 0s;
    transform: translateZ(0);
    display: inline-block;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
}
/* Desktop: Hover активация (заливка быстро, тень — после неё) */
@media (hover: hover) {
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)) .section-title-white-blue h1 span,
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)) .section-title-white-blue h2 span,
    [data-touch-group]:has([data-touch-trigger]:hover):not(:has(.btn-premium:hover)) .section-title-white-blue .sitan-accent-blue,
    [data-touch-group="applications"]:has(.sitan-advantage-block:hover) .section-title-white-blue h2 span,
    [data-touch-group="applications"]:has(.sitan-advantage-block:hover) .section-title-white-blue .sitan-accent-blue {
        background-color: color-mix(in srgb, var(--sitan-blue), #fff 18%) !important;
        background-image: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-blue), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-blue), #fff 10%) 100%) !important;
        color: var(--sitan-white) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-blue), transparent 82%) !important;
        transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    text-shadow 0.25s ease-out,
                    box-shadow 0.35s ease-out 0.25s;
    }
}
/* Mobile: Touch активация */
[data-touch-group].is-touch-active .section-title-white-blue h1 span,
[data-touch-group].is-touch-active .section-title-white-blue h2 span,
[data-touch-group].is-touch-active .section-title-white-blue .sitan-accent-blue,
[data-touch-group].state-trigger-title .section-title-white-blue h1 span,
[data-touch-group].state-trigger-title .section-title-white-blue h2 span,
[data-touch-group].state-trigger-title .section-title-white-blue .sitan-accent-blue,
[data-touch-group="applications"].is-touch-active .section-title-white-blue h2 span,
[data-touch-group="applications"].is-touch-active .section-title-white-blue .sitan-accent-blue {
    background-color: color-mix(in srgb, var(--sitan-blue), #fff 18%) !important;
    background-image: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
        color-mix(in srgb, var(--sitan-blue), #fff 18%) 50%,
        color-mix(in srgb, var(--sitan-blue), #fff 10%) 100%) !important;
    color: var(--sitan-white) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.12);
    box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-blue), transparent 82%) !important;
    transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                text-shadow 0.25s ease-out,
                box-shadow 0.35s ease-out 0.25s;
}
/* ============================================================
   1.3 ЧЕРНЫЙ ЗАГОЛОВОК, ХОВЕР МЕНЯЕТ ЦВЕТ НА СИТАНОВСКИЙ ГОЛУБОЙ
   Секции: sitan-properties, sitan-composition, sitan-process, sitan-eco, catalog-products
   Страницы: contact, cookies, privacy, terms
   ============================================================ */
/* Базовые стили */
.section-title-black-blue {
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    text-align: center;
    color: var(--sitan-black);
    pointer-events: auto !important;
    transform: none !important;
    transition: color 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}
/* Desktop: Hover активация */
@media (hover: hover) {
    [data-touch-group]:has([data-touch-trigger]:hover) .section-title-black-blue,
    [data-touch-group]:has(.tech-row:hover) .section-title-black-blue {
        color: var(--sitan-blue) !important;
        transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    }
}
/* Mobile: Touch активация */
[data-touch-group].is-touch-active .section-title-black-blue {
    color: var(--sitan-blue) !important;
    transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
/* ============================================================
   1.4 ЧЕРНЫЙ ЗАГОЛОВОК, ШРИФТ МЕНЬШЕ, ХОВЕР МЕНЯЕТ ЦВЕТ НА СИТАНОВСКИЙ ГОЛУБОЙ
   Секции: sitan-highlights
   ============================================================ */
/* Базовые стили */
.section-title-black-blue-small {
    font-size: clamp(1.2rem, 3.5vw, 2.25rem);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.2;
    --tw-text-opacity: 1;
    color: rgb(26 26 26 / var(--tw-text-opacity, 1));
    transition: color 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
}
/* Desktop: Hover активация */
@media (hover: hover) {
    [data-touch-group]:has([data-touch-trigger]:hover) .section-title-black-blue-small {
        --tw-text-opacity: 1 !important;
        color: rgb(33 150 243 / var(--tw-text-opacity, 1)) !important;
        transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    }
}
/* Mobile: Touch активация */
[data-touch-group].is-touch-active .section-title-black-blue-small {
    --tw-text-opacity: 1 !important;
    color: rgb(33 150 243 / var(--tw-text-opacity, 1)) !important;
    transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
/* ============================================================
   1.5 КРАСНЫЙ ЗАГОЛОВОК БЕЗ ХОВЕРА
   Страницы: error
   ============================================================ */
.section-title-red {
    color: var(--sitan-red) !important;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
}
/* ============================================================
   1.6 GREEN BAR HEADING GROUP
   Контейнер для section-title-black-blue / section-title-black-blue-small
   с зелёной полосой-подложкой, выезжающей слева при hover/touch.
   Охватывает заголовок + подзаголовок (highlights-secondary-text, process-tech-subtitle).
   Деактивация с задержкой 150ms для предотвращения «моргания».
   ============================================================ */
/*
   Контейнер: inline-block, isolation создаёт stacking context,
   чтобы z-index:-1 на ::before не «тонул» ниже фона страницы.
*/
.section-heading-group {
    position: relative;
    display: inline-block;
    padding: 10px 28px;
    border-radius: 14px;
    cursor: default;
    isolation: isolate;
    box-shadow: none;
    transition: box-shadow 0.3s ease-out 0s;
}
/* Desktop: увеличенные отступы полосы-подложки */
@media (min-width: 768px) {
    .section-heading-group {
        padding: 16px 44px;
        border-radius: 18px;
    }
}
.section-heading-group::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: -100vw;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-green), #fff 30%) 0%,
        color-mix(in srgb, var(--sitan-green), #fff 18%) 50%,
        color-mix(in srgb, var(--sitan-green), #fff 10%) 100%);
    z-index: -1;
    clip-path: inset(0 100% 0 0 round 0 18px 18px 0);
    transition: clip-path 1s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
}
.section-heading-group .section-title-black-blue,
.section-heading-group .section-title-black-blue-small {
    transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
}
.section-heading-group .highlights-secondary-text,
.section-heading-group .process-tech-subtitle,
.section-heading-group .section-subtitle {
    transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.15s,
                opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.15s;
}
/* ---- Desktop: Hover активация ---- */
@media (hover: hover) {
    [data-touch-group]:has([data-touch-trigger]:hover) .section-heading-group,
    [data-touch-group]:has(.tech-row:hover) .section-heading-group {
        box-shadow: 0 4px 14px color-mix(in srgb, var(--sitan-green), transparent 78%),
                    0 1px 4px color-mix(in srgb, var(--sitan-green), transparent 85%);
        transition: box-shadow 0.4s ease-out 0.5s;
    }

    [data-touch-group]:has([data-touch-trigger]:hover) .section-heading-group::before,
    [data-touch-group]:has(.tech-row:hover) .section-heading-group::before {
        clip-path: inset(0 0 0 0 round 0 18px 18px 0);
        transition: clip-path 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    }

    [data-touch-group]:has([data-touch-trigger]:hover) .section-heading-group .section-title-black-blue,
    [data-touch-group]:has([data-touch-trigger]:hover) .section-heading-group .section-title-black-blue-small,
    [data-touch-group]:has(.tech-row:hover) .section-heading-group .section-title-black-blue,
    [data-touch-group]:has(.tech-row:hover) .section-heading-group .section-title-black-blue-small {
        color: var(--sitan-white) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    }

    [data-touch-group]:has([data-touch-trigger]:hover) .section-heading-group .highlights-secondary-text,
    [data-touch-group]:has([data-touch-trigger]:hover) .section-heading-group .process-tech-subtitle,
    [data-touch-group]:has([data-touch-trigger]:hover) .section-heading-group .section-subtitle,
    [data-touch-group]:has(.tech-row:hover) .section-heading-group .highlights-secondary-text,
    [data-touch-group]:has(.tech-row:hover) .section-heading-group .process-tech-subtitle,
    [data-touch-group]:has(.tech-row:hover) .section-heading-group .section-subtitle {
        color: var(--sitan-white) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        opacity: 1 !important;
        transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s,
                    opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    }
}
/* ---- Mobile: Touch активация ---- */
[data-touch-group].is-touch-active .section-heading-group {
    box-shadow: 0 6px 18px color-mix(in srgb, var(--sitan-green), transparent 65%),
                0 2px 6px color-mix(in srgb, var(--sitan-green), transparent 78%);
    transition: box-shadow 0.4s ease-out 0.5s;
}
[data-touch-group].is-touch-active .section-heading-group::before {
    clip-path: inset(0 0 0 0 round 0 18px 18px 0);
    transition: clip-path 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}
[data-touch-group].is-touch-active .section-heading-group .section-title-black-blue,
[data-touch-group].is-touch-active .section-heading-group .section-title-black-blue-small {
    color: var(--sitan-white) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.12);
    transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
}
[data-touch-group].is-touch-active .section-heading-group .highlights-secondary-text,
[data-touch-group].is-touch-active .section-heading-group .process-tech-subtitle,
[data-touch-group].is-touch-active .section-heading-group .section-subtitle {
    color: var(--sitan-white) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.12);
    opacity: 1 !important;
    transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s,
                opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
}
/* ============================================================
   1.7 BLUE BAR COMPLIANCE GROUP  (СПРАВА → НАЛЕВО)
   Зеркальная версия section-heading-group для compliance-текстов
   в нижней части секций (tech-compliance-box).
   Полоса выезжает от правого края вьюпорта влево.
   Цвет: sitan-blue (не green!).
   ============================================================ */
.compliance-heading-group {
    position: relative;
    display: inline-block;
    padding: 10px 28px;
    border-radius: 14px;
    cursor: default;
    isolation: isolate;
    box-shadow: none;
    transition: box-shadow 0.3s ease-out 0s;
}
@media (min-width: 768px) {
    .compliance-heading-group {
        padding: 16px 44px;
        border-radius: 18px;
    }
}
.compliance-heading-group::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: -100vw;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
        color-mix(in srgb, var(--sitan-blue), #fff 18%) 50%,
        color-mix(in srgb, var(--sitan-blue), #fff 10%) 100%);
    z-index: -1;
    clip-path: inset(0 0 0 100% round 18px 0 0 18px);
    transition: clip-path 1s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
}
.compliance-heading-group p,
.compliance-heading-group span {    
    transition: color 0.28s cubic-bezier(0.19, 1, 0.22, 1) 0.25s,
                opacity 0.28s cubic-bezier(0.19, 1, 0.22, 1) 0.25s;
}
/* ---- Desktop: Hover активация ---- */
@media (hover: hover) {
    [data-touch-group]:has([data-touch-trigger]:hover) .compliance-heading-group,
    [data-touch-group]:has(.tech-row:hover) .compliance-heading-group {
        box-shadow: 0 4px 14px color-mix(in srgb, var(--sitan-blue), transparent 78%),
                    0 1px 4px color-mix(in srgb, var(--sitan-blue), transparent 85%);
        transition: box-shadow 0.4s ease-out 0.5s;
    }

    [data-touch-group]:has([data-touch-trigger]:hover) .compliance-heading-group::before,
    [data-touch-group]:has(.tech-row:hover) .compliance-heading-group::before {
        clip-path: inset(0 0 0 0 round 18px 0 0 18px);
        transition: clip-path 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    }

    [data-touch-group]:has([data-touch-trigger]:hover) .compliance-heading-group p,
    [data-touch-group]:has([data-touch-trigger]:hover) .compliance-heading-group span,
    [data-touch-group]:has(.tech-row:hover) .compliance-heading-group p,
    [data-touch-group]:has(.tech-row:hover) .compliance-heading-group span {
        color: var(--sitan-white) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        opacity: 1 !important;
        transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s,
                    opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
    }
}
/* ---- Mobile: Touch активация ---- */
[data-touch-group].is-touch-active .compliance-heading-group {
    box-shadow: 0 6px 18px color-mix(in srgb, var(--sitan-blue), transparent 65%),
                0 2px 6px color-mix(in srgb, var(--sitan-blue), transparent 78%);
    transition: box-shadow 0.4s ease-out 0.5s;
}
[data-touch-group].is-touch-active .compliance-heading-group::before {
    clip-path: inset(0 0 0 0 round 18px 0 0 18px);
    transition: clip-path 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}
[data-touch-group].is-touch-active .compliance-heading-group p,
[data-touch-group].is-touch-active .compliance-heading-group span {
    color: var(--sitan-white) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.12);
    opacity: 1 !important;
    transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s,
                opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
}
/**
 * INTERACTIONS GROUPS
 * Shared group-level sync rules for secondary texts.
 * Main heading logic lives in _headings.css
 */
/* ============================================================
   SECONDARY TEXT (Compliance Box)
   ============================================================ */
.tech-compliance-box {
    transition: opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0.7 !important;
    pointer-events: auto !important;
}
.tech-compliance-box p {
    color: var(--sitan-gray-dark);
    transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1),
                opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
/* Touch activation (mobile-safe) */
[data-touch-group].is-touch-active .tech-compliance-box {
    opacity: 1 !important;
}
[data-touch-group].is-touch-active .tech-compliance-box p {
    color: var(--sitan-black) !important;
}
/* Override: compliance-heading-group text must stay white in active state */
[data-touch-group].is-touch-active .tech-compliance-box .compliance-heading-group p,
[data-touch-group].is-touch-active .tech-compliance-box .compliance-heading-group span {
    color: var(--sitan-white) !important;
    opacity: 1 !important;
}
/* Hover activation (desktop-only; prevents sticky :hover on touch devices) */
@media (hover: hover) {
    [data-touch-group]:is(:has([data-touch-trigger]:hover), :has(.tech-row:hover)) .tech-compliance-box {
        opacity: 1 !important;
    }

    [data-touch-group]:is(:has([data-touch-trigger]:hover), :has(.tech-row:hover)) .tech-compliance-box p {
        color: var(--sitan-black) !important;
    }

    [data-touch-group]:is(:has([data-touch-trigger]:hover), :has(.tech-row:hover)) .tech-compliance-box .compliance-heading-group p,
    [data-touch-group]:is(:has([data-touch-trigger]:hover), :has(.tech-row:hover)) .tech-compliance-box .compliance-heading-group span {
        color: var(--sitan-white) !important;
        opacity: 1 !important;
    }
}
/* ============================================================
   HIGHLIGHTS SECTION - Secondary text
   ============================================================ */
.highlights-secondary-text {
    font-size: clamp(0.75rem, 1.2vw, 1.25rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity, 1));
    opacity: 0.7;
    transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1),
                opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
/* Shared subtitle style (Process, Contact, etc.) */
.section-subtitle {
    font-size: clamp(0.75rem, 1.2vw, 1.25rem) !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity, 1));
    transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1),
                opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.highlights-compliance-box {
    transition: opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0.6;
}
/* Touch activation (mobile-safe) */
[data-touch-group="highlights"].is-touch-active .highlights-secondary-text,
[data-touch-group="highlights"].is-touch-active .highlights-compliance-box {
    --tw-text-opacity: 1 !important;
    color: rgb(26 26 26 / var(--tw-text-opacity, 1)) !important;
    opacity: 1 !important;
}
/* Override: compliance-heading-group inside highlights stays white */
[data-touch-group="highlights"].is-touch-active .highlights-compliance-box .compliance-heading-group p {
    color: var(--sitan-white) !important;
    opacity: 1 !important;
}
/* Hover activation (desktop-only; prevents sticky :hover on touch devices) */
@media (hover: hover) {
    [data-touch-group="highlights"]:has([data-touch-trigger]:hover) .highlights-secondary-text,
    [data-touch-group="highlights"]:has([data-touch-trigger]:hover) .highlights-compliance-box {
        --tw-text-opacity: 1 !important;
        color: rgb(26 26 26 / var(--tw-text-opacity, 1)) !important;
        opacity: 1 !important;
    }

    [data-touch-group="highlights"]:has([data-touch-trigger]:hover) .highlights-compliance-box .compliance-heading-group p {
        color: var(--sitan-white) !important;
        opacity: 1 !important;
    }
}
/**
 * INTERACTIONS CARDS
 * Универсальные правила для карточек (app-card, epd-card, advantage-card)
 */
/* ============================================================
   БАЗОВЫЕ СТИЛИ КАРТОЧЕК
   ============================================================ */
.group\/app-card,
.epd-card {
    border-width: 2px;
    border-color: var(--sitan-blue) !important;
    transition: transform 0.5s ease-out,
                border-color 0.5s ease-out,
                background-color 0.5s ease-out,
                box-shadow 0.2s ease-out 0.1s;
}
.contact-form-rhythm .app-card-text-wrapper.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.app-card-text-wrapper > label[for] {
        margin-bottom: 0.75rem;
    }
.app-card-text-wrapper {
    display: flex;
    flex: 1 1 0%;
    flex-direction: column;
    justify-content: center;
    transition: opacity 0.3s ease-out;
}
.epd-card p,
.group\/app-card p {
    color: var(--sitan-gray-dark);
    opacity: 0.7;
    transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
.epd-card .app-icon,
.group\/app-card .app-icon {
    color: var(--sitan-red);
    opacity: 0.5;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transition: transform 0.5s ease-out,
                opacity 0.5s ease-out;
}
/* Специфика EPD карточек */
.epd-card .app-icon { color: var(--sitan-blue); }
.epd-card .app-card-title {
    color: var(--sitan-gray-dark);
    opacity: 0.8;
    transition: color 0.4s ease, opacity 0.4s ease;
}
.epd-card p { color: var(--sitan-black); font-weight: 900; }
/* ============================================================
   DESKTOP: HOVER ЭФФЕКТЫ
   ============================================================ */
@media (hover: hover) {
    .group\/app-card:hover,
    .epd-card:hover {
        background-color: var(--sitan-white) !important;
        border-color: var(--sitan-red) !important;
        box-shadow: 0 20px 40px color-mix(in srgb, var(--sitan-blue), transparent 85%) !important;
        transform: translateY(-5px) !important;
        transition-duration: 0.3s;
        transition-delay: 0s;
    }

    .group\/app-card:hover .app-icon,
    .epd-card:hover .app-icon {
        opacity: 1 !important;
        --tw-scale-x: 1.1 !important;
        --tw-scale-y: 1.1 !important;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
    }

    .group\/app-card:hover .app-card-title,
    .epd-card:hover .app-card-title {
        color: var(--sitan-blue) !important;
        opacity: 1 !important;
    }

    .group\/app-card:hover p,
    .epd-card:hover p,
    .group\/app-card:hover .app-card-body,
    .epd-card:hover .app-card-body {
        color: var(--sitan-black) !important;
        opacity: 1 !important;
    }
}
/* ============================================================
   MOBILE: TOUCH ЭФФЕКТЫ
   ============================================================ */
.group\/app-card.is-touched,
.epd-card.is-touched {
    border-color: var(--sitan-red) !important;
    box-shadow: 0 20px 40px color-mix(in srgb, var(--sitan-blue), transparent 85%) !important;
    background-color: var(--sitan-white) !important;
    transform: translateY(-5px) !important;
}
.group\/app-card.is-touched .app-icon,
.epd-card.is-touched .app-icon {
    opacity: 1 !important;
    transform: scale(1.1) !important;
}
.group\/app-card.is-touched .app-card-title,
.epd-card.is-touched .app-card-title {
    color: var(--sitan-blue) !important;
    opacity: 1 !important;
}
.group\/app-card.is-touched p,
.epd-card.is-touched p,
.group\/app-card.is-touched .app-card-body,
.epd-card.is-touched .app-card-body {
    color: var(--sitan-black) !important;
    opacity: 1 !important;
}
/**
 * INTERACTIONS BUTTONS
 * Изоляция кнопок от фоновых эффектов
 */
/* ============================================================
   ИЗОЛЯЦИЯ: Кнопки не активируют фон
   ============================================================ */
/* Desktop: Блокировка активации фона при ховере на кнопку */
@media (hover: hover) {
    [data-touch-group]:has(.btn-premium:hover) .touch-bg-zoom,
    [data-touch-group]:has(.btn-premium:hover) .app-zoom-img {
        transform: scale(1) !important;
        transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1) !important;
    }
}
/* Mobile: Блокировка активации фона при таче на кнопку */
[data-touch-group]:has(.btn-premium.is-touched) .touch-bg-zoom,
[data-touch-group]:has(.btn-premium.is-touched) .app-zoom-img {
    transform: scale(1) !important;
    transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1) !important;
}
/**
 * TECH SECTIONS
 * Общие стили для технических секций
 * Используется в: properties, composition, process, ecology, certificates
 * 
 * Заголовки используют класс .section-title-black-blue из _headings.css
 */
/* ============================================================
   ФОНОВЫЕ ЭФФЕКТЫ (Tech & Ecology группы)
   ============================================================ */
/* Desktop: Hover активация */
@media (hover: hover) {
    [data-touch-group="tech"]:has([data-touch-trigger]:hover, .tech-row:hover) .hero-bg-img,
    [data-touch-group="ecology"]:has([data-touch-trigger]:hover, .tech-row:hover) .hero-bg-img {
        transform: scale(1.08) !important;
        opacity: 0.9 !important;
    }

    [data-touch-group="tech"]:has([data-touch-trigger]:hover, .tech-row:hover) .hero-dynamic-veil,
    [data-touch-group="ecology"]:has([data-touch-trigger]:hover, .tech-row:hover) .hero-dynamic-veil {
        opacity: 0.25 !important;
    }

    /* Composition группа */
    [data-touch-group="composition"]:has([data-touch-trigger]:hover) .hero-bg-img {
        --tw-scale-x: 1.05 !important;
        --tw-scale-y: 1.05 !important;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
    }
    [data-touch-group="composition"]:has([data-touch-trigger]:hover) .hero-dynamic-veil {
        opacity: 0.3 !important;
    }
}
/* Mobile: Touch активация */
[data-touch-group="tech"].is-touch-active .hero-bg-img,
[data-touch-group="ecology"].is-touch-active .hero-bg-img {
    --tw-scale-x: 1.05 !important;
    --tw-scale-y: 1.05 !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
    opacity: 0.9 !important;
}
[data-touch-group="tech"].is-touch-active .hero-dynamic-veil,
[data-touch-group="ecology"].is-touch-active .hero-dynamic-veil {
    opacity: 0.25 !important;
}
[data-touch-group="composition"].is-touch-active .hero-bg-img {
    --tw-scale-x: 1.05 !important;
    --tw-scale-y: 1.05 !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}
[data-touch-group="composition"].is-touch-active .hero-dynamic-veil {
    opacity: 0.3 !important;
}
/* assets/css/interactions/_composition-cards.css */
/* ============================================================
   COMPOSITION CARDS: Карточки для секции Composition
   ============================================================ */
/* 1. БАЗОВАЯ СТАБИЛИЗАЦИЯ И УРАВНИВАНИЕ ВЫСОТЫ */
.grid-auto-rows-fr {
    grid-auto-rows: 1fr !important;
}
.comp-card-blue-logic {
    background-color: var(--sitan-white) !important;
    border-width: 2px !important;
    transition: transform 0.5s ease-out, background-color 0.5s ease-out, border-color 0.5s ease-out, box-shadow 0.3s ease-out 0.1s !important;
    border-color: color-mix(in srgb, var(--sitan-blue), transparent 45%) !important;
    will-change: transform, background-color, border-color;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    transform: translate3d(0, 0, 0);
}
.safety-card-green-logic {
    background-color: var(--sitan-white) !important;
    border-width: 2px !important;
    transition: transform 0.5s ease-out, background-color 0.5s ease-out, border-color 0.5s ease-out, box-shadow 0.3s ease-out 0.1s !important;
    border-color: color-mix(in srgb, var(--sitan-green), transparent 45%) !important;
    will-change: transform, background-color, border-color;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    transform: translate3d(0, 0, 0);
}
.comp-card-blue-logic {
    display: grid !important;
    grid-template-rows: 1fr auto;
    align-items: stretch;
    justify-items: center;
    text-align: center;
    min-height: 80px !important;
    padding: 0.5rem 0.75rem !important;
    height: 100%;
}
.safety-card-green-logic {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0.4rem 0.6rem;
    min-height: 56px !important;
    height: 100%;
    border-radius: 1rem;
}
.safety-card-green-logic .safety-text {
    font-size: clamp(0.9rem, 1.8vw, 1.1rem) !important;
    line-height: 1.35;
    font-weight: 700;
}
@media (max-width: 767px) {
    .safety-card-green-logic .safety-text {
        font-size: clamp(0.875rem, 3.5vw, 1.05rem) !important;
    }
}
.comp-card-blue-logic *,
.safety-card-green-logic * {
    transition: color 0.5s ease-out, opacity 0.5s ease-out, transform 0.5s ease-out;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    /* без pointer-events: none — ховер/тач срабатывает по всей области карточки, в т.ч. по контенту */
}
/* 2. ПОЗИЦИОНИРОВАНИЕ ТЕКСТА */
.comp-card-blue-logic .highlight-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.5rem 0.5rem 0.15rem 0.5rem;
    width: 100%;
    text-align: center !important;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
@media (min-width: 768px) {
    .comp-card-blue-logic .highlight-label {
        font-size: 1rem;
        line-height: 1.5rem;
    }
}
.comp-card-blue-logic .highlight-label {
    color: var(--sitan-blue) !important;
}
.comp-card-blue-logic .highlight-value {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
    padding: 0.15rem 0.5rem 0.6rem 0.5rem;
    text-align: center !important;
    font-size: clamp(1.1rem, 2.2vw, 1.9rem) !important;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}
/* Мобильная: центрирование длинного текста, чуть меньше паддинг ради места */
@media (max-width: 767px) {
    .comp-card-blue-logic {
        padding: 0.4rem 0.35rem !important;
        justify-items: center !important;
        text-align: center !important;
    }
    .comp-card-blue-logic .highlight-label {
        padding: 0.35rem 0.25rem 0.1rem 0.25rem !important;
        text-align: center !important;
    }
    .comp-card-blue-logic .highlight-value {
        padding: 0.1rem 0.25rem 0.4rem 0.25rem !important;
        text-align: center !important;
    }
}
/* 3. УПРАВЛЕНИЕ ТЕКСТОМ ПО УМОЛЧАНИЮ (заголовок карточки — голубой, см. .highlight-label выше) */
.comp-card-blue-logic * {
    color: var(--sitan-gray-dark) !important;
    opacity: 1 !important;
}
.comp-card-blue-logic .highlight-label {
    color: color-mix(in srgb, var(--sitan-blue), #fff 18%) !important;
}
.safety-card-green-logic * {
    color: var(--sitan-gray-dark);
    opacity: 0.7;
}
/* 4. ЛОГИКА АКТИВАЦИИ: DESKTOP */
@media (hover: hover) {
    .comp-card-blue-logic:hover {
        background-color: color-mix(in srgb, var(--sitan-blue), #fff 22%) !important;
        border-color: transparent !important;
        transform: translate3d(0, -6px, 0) !important;
        box-shadow: 0 4px 12px color-mix(in srgb, var(--sitan-blue), transparent 85%) !important;
    }
    .safety-card-green-logic:hover {
        background-color: color-mix(in srgb, var(--sitan-green), #fff 22%) !important;
        border-color: transparent !important;
        transform: translate3d(0, -6px, 0) !important;
        box-shadow: 0 4px 12px color-mix(in srgb, var(--sitan-green), transparent 85%) !important;
    }
    .comp-card-blue-logic:hover *,
    .safety-card-green-logic:hover * {
        color: var(--sitan-white) !important;
        opacity: 1 !important;
    }
    .comp-card-blue-logic:hover .highlight-label,
    .safety-card-green-logic:hover .safety-text {
        color: var(--sitan-white) !important;
    }
}
/* 5. ЛОГИКА АКТИВАЦИИ: MOBILE */
.comp-card-blue-logic.is-touched {
    background-color: color-mix(in srgb, var(--sitan-blue), #fff 22%) !important;
    border-color: transparent !important;
    transform: translate3d(0, -3px, 0) !important;
}
.safety-card-green-logic.is-touched {
    background-color: color-mix(in srgb, var(--sitan-green), #fff 22%) !important;
    border-color: transparent !important;
    transform: translate3d(0, -3px, 0) !important;
}
.comp-card-blue-logic.is-touched *,
.safety-card-green-logic.is-touched * {
    color: var(--sitan-white) !important;
    opacity: 1 !important;
}
.comp-card-blue-logic.is-touched .highlight-label,
.safety-card-green-logic.is-touched .safety-text {
    color: var(--sitan-white) !important;
}
/**
 * HIGHLIGHTS SECTION
 * Секция с ключевыми показателями
 * 
 * Заголовки используют класс .section-title-black-blue-small из _headings.css
 */
/* ============================================================
   БАЗОВАЯ СТРУКТУРА: Геометрия и Карточки
   ============================================================ */
/* Без .safety-card-green-logic — зелёные карточки стилизуются в _composition-cards.css */
.contact-form-rhythm .highlight-card-base:not(.safety-card-green-logic).flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.highlight-card-base:not(.safety-card-green-logic) > label[for] {
        margin-bottom: 0.75rem;
    }
.highlight-card-base:not(.safety-card-green-logic) {
    position: relative;
    display: flex;
    min-height: 140px;
    cursor: default;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    border-radius: 1rem;
    border-width: 2px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 1.5rem;
    text-align: center;
}
.highlight-card-base:not(.safety-card-green-logic) .app-section-title-box {
    display: inline-block;
    width: auto;
}
.highlight-card-base:not(.safety-card-green-logic) .app-section-title-box h1,.highlight-card-base:not(.safety-card-green-logic) .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
@media (min-width: 768px) {
    .highlight-card-base:not(.safety-card-green-logic) {
        min-height: 180px;
        padding: 2rem;
    }
}
.highlight-card-base:not(.safety-card-green-logic) {
    transition: transform 0.5s ease-out, background-color 0.5s ease-out, border-color 0.5s ease-out, box-shadow 0.3s ease-out 0.1s;
    border-color: color-mix(in srgb, var(--sitan-blue), transparent 45%) !important;
    box-shadow: 0 4px 15px color-mix(in srgb, var(--sitan-black), transparent 96%);
}
.highlight-label {
    font-size: clamp(0.75rem, 1.2vw, 0.85rem);
    margin-bottom: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.2em;
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}
.highlight-value {
    font-size: clamp(1.875rem, 4vw, 3rem); font-variant-numeric: tabular-nums; display: block; font-weight: 900; --tw-numeric-spacing: tabular-nums; font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); letter-spacing: -0.05em; --tw-text-opacity: 1; color: rgb(26 26 26 / var(--tw-text-opacity, 1)); transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 500ms;
}
/* ============================================================
   ФОНОВЫЕ ЭФФЕКТЫ
   ============================================================ */
/* Desktop: Hover активация */
@media (hover: hover) {
    [data-touch-group="highlights"]:has([data-touch-trigger]:hover) .hero-bg-img {
        --tw-scale-x: 1.05 !important;
        --tw-scale-y: 1.05 !important;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
        opacity: 1 !important;
    }
    [data-touch-group="highlights"]:has([data-touch-trigger]:hover) .hero-dynamic-veil {
        opacity: 0.3 !important;
    }

    /* Эффект: Красный акцент бейджа */
    [data-touch-group="highlights"]:has([data-touch-trigger]:hover) .sitan-accent-blue {
        border-color: rgb(224 48 46 / 0.4) !important;
        --tw-text-opacity: 1 !important;
        color: rgb(224 48 46 / var(--tw-text-opacity, 1)) !important;
        transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    border-color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    }
}
/* Бейдж sitan-accent-blue в highlights: деактивация с задержкой */
[data-touch-group="highlights"] .sitan-accent-blue {
    transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.35s,
                border-color 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.35s;
}
/* Mobile: Touch активация */
[data-touch-group="highlights"].is-touch-active .hero-bg-img {
    --tw-scale-x: 1.05 !important;
    --tw-scale-y: 1.05 !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
    opacity: 1 !important;
}
[data-touch-group="highlights"].is-touch-active .hero-dynamic-veil {
    opacity: 0.3 !important;
}
[data-touch-group="highlights"].is-touch-active .sitan-accent-blue {
    border-color: rgb(224 48 46 / 0.4) !important;
    --tw-text-opacity: 1 !important;
    color: rgb(224 48 46 / var(--tw-text-opacity, 1)) !important;
    transition: color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                border-color 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
/* ============================================================
   ИНДИВИДУАЛЬНОЕ СОСТОЯНИЕ КАРТОЧЕК
   ============================================================ */
/* Desktop Hover (только красные карточки highlights, не safety-card-green-logic) */
@media (hover: hover) {
    .highlight-card-base:not(.safety-card-green-logic):hover {
        background-color: color-mix(in srgb, var(--sitan-red), #fff 22%) !important;
        transform: translateY(-6px) !important;
        border-color: transparent !important;
        box-shadow: 0 8px 20px color-mix(in srgb, var(--sitan-red), transparent 85%);
    }
    .highlight-card-base:not(.safety-card-green-logic):hover .highlight-label,
    .highlight-card-base:not(.safety-card-green-logic):hover .highlight-value {
        --tw-text-opacity: 1 !important;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
    }
}
/* Mobile Touch */
.highlight-card-base:not(.safety-card-green-logic).is-touched {
    background-color: color-mix(in srgb, var(--sitan-red), #fff 22%) !important;
    border-color: transparent !important;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--sitan-red), transparent 85%);
}
.highlight-card-base:not(.safety-card-green-logic).is-touched .highlight-label,
.highlight-card-base:not(.safety-card-green-logic).is-touched .highlight-value {
    --tw-text-opacity: 1 !important;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
/* SECTION: Interactions & Overlays
   DESCRIPTION: Универсальная система модальных окон и уведомлений (Toast).
   ПРИНЦИП: Hardware Acceleration + Состояния через .is-active.
*/
/* --- 1. Modal System (Блокирующие окна) --- */
.contact-form-rhythm .modal-backdrop.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.modal-backdrop {
    position: fixed;
    inset: 0px;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(26 26 26 / 0.6);
    padding-left: 1rem;
    padding-right: 1rem;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    pointer-events: none;
    opacity: 0;
    transition-property: opacity;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity;
}
/* Order modal: непрозрачный белый фон, перекрывает хедер (по образцу lang-switcher) */
#order-modal.modal-backdrop {
    background-color: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.modal-backdrop:not(.is-active) * {
    pointer-events: none !important;
}
.modal-content-area {
    position: relative;
    width: 100%;
    max-width: 28rem;
    border-radius: 2rem;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 2rem;
    text-align: center;
}
.modal-content-area .app-section-title-box {
    display: inline-block;
    width: auto;
}
.modal-content-area .app-section-title-box h1,.modal-content-area .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
.modal-content-area {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: rgb(33 150 243 / 0.1);
    --tw-shadow: var(--tw-shadow-colored);

    /* Начальное состояние анимации контента (чуть меньше и прозрачный) */

    --tw-scale-x: .95;

    --tw-scale-y: .95;

    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));

    opacity: 0;

    transition-property: all;

    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

    transition-duration: 300ms;

    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);

    will-change: transform, opacity;
    border: 1px solid rgba(0, 74, 153, 0.12);
}
/* Состояние активации модалки */
.modal-backdrop.is-active {
    pointer-events: auto;
    opacity: 1;
}
.modal-backdrop.is-active .modal-content-area {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 1;
}
/* Заголовок успешной отправки — всегда виден в модалке (не прозрачный) */
.modal-title-success {
    color: var(--sitan-black) !important;
    opacity: 1 !important;
}
/* Кнопки success-modal: одинаковая форма и размер, один стиль, отличия только в цвете.
   Специфичность #success-modal перебивает глобальные .btn-premium и стили тегов. */
#success-modal .success-modal-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    height: 3.25rem;
    min-height: 3.25rem;
    padding: 0 1.25rem;
    border: none;
    border-radius: 1rem;
    font-family: inherit;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: normal;
    text-transform: none;
    color: var(--sitan-white);
    text-decoration: none;
    cursor: pointer;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    box-sizing: border-box;
    transition: transform 0.2s ease-out, background-color 0.2s ease-out;
}
#success-modal .success-modal-btn:active,
#success-modal .success-modal-btn.is-touched {
    transform: scale(0.98);
}
#success-modal .success-modal-btn__icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}
#success-modal .success-modal-btn__text {
    display: block;
}
#success-modal .success-modal-btn--green {
    background-color: var(--sitan-green);
}
#success-modal .success-modal-btn--green:hover {
    background-color: color-mix(in srgb, var(--sitan-green), black 12%);
}
#success-modal .success-modal-btn--green:focus-visible {
    outline: 2px solid var(--sitan-green);
    outline-offset: 2px;
}
#success-modal .success-modal-btn--blue {
    background-color: var(--sitan-blue);
}
#success-modal .success-modal-btn--blue:hover {
    background-color: var(--sitan-blue-dark);
}
#success-modal .success-modal-btn--blue:focus-visible {
    outline: 2px solid var(--sitan-blue);
    outline-offset: 2px;
}
/* --- 1b. Order Modal — Two-step Wizard --- */
/* Блокировка выделения текста (кроме превью и lead-magnet-name) */
.order-modal-content {
    position: relative;
    width: 100%;
    border-radius: 2rem;
    text-align: left;
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: rgb(33 150 243 / 0.1);
    --tw-shadow: var(--tw-shadow-colored);
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 0;
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
    max-width: 56rem;
    max-height: 90vh;
    max-height: 90dvh;
    display: flex;
    flex-direction: column;
    will-change: transform, opacity;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
    overflow: hidden;
    --modal-accent: var(--sitan-blue);
    background: var(--modal-accent);
}
/* EPD modal — компактный (только 2 поля, без превью) */
.epd-modal-content {
    max-width: 28rem;
}
/* Разрешаем выделять: превью товара + название документа */
.order-preview-title,
.order-preview-meta-value,
.order-lead-magnet-name,
.order-field-input,
.order-field-select,
.order-field-textarea {
    -moz-user-select: text;
         user-select: text;
    -webkit-user-select: text;
}
.modal-backdrop.is-active .order-modal-content {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 1;
}
/* Accent color per modal — set on container so bg matches header */
#order-modal .order-modal-content,
#invest-download-modal .order-modal-content {
    --modal-accent: #b8860b;
    background: linear-gradient(135deg, #d4a017 0%, #b8860b 40%, #8b6914 100%);
}
#epd-modal .order-modal-content { --modal-accent: var(--sitan-blue); }
#pres-modal .order-modal-content { --modal-accent: var(--sitan-blue); }
#ecopass-modal .order-modal-content { --modal-accent: var(--sitan-green); }
#invest-form-modal .order-modal-content { --modal-accent: var(--sitan-green); }
/* Заголовок — центрирован, крестик абсолютно справа */
.order-modal-header {
    position: relative;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.25rem;
}
@media (min-width: 768px) {
    .order-modal-header {
        padding-left: 2rem;
        padding-right: 2rem;
        padding-top: 2rem;
        padding-bottom: 1.5rem;
    }
}
.order-modal-header {
    background: transparent;
    flex-shrink: 0;
}
.order-modal-title {
    text-align: center;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
}
.order-modal-title .app-section-title-box {
    display: inline-block;
    width: auto;
}
.order-modal-title .app-section-title-box h1,.order-modal-title .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
@media (min-width: 768px) {
    .order-modal-title {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
}
.order-modal-title {
    color: #fff;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
    transition: opacity 0.2s ease;
}
@media (hover: hover) {
    .order-modal-title:hover {
        opacity: 0.85;
    }
}
.order-modal-title.is-touched {
    opacity: 0.85;
}
.contact-form-rhythm .order-modal-close.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.order-modal-close {
    position: absolute;
    right: 1rem;
    top: 50%;
    display: flex;
    height: 2.75rem;
    width: 2.75rem;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
    color: rgba(255, 255, 255, 0.85);
}
.order-modal-close svg {
    width: 1.5rem;
    height: 1.5rem;
    stroke-width: 2.5;
}
.order-modal-close:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}
/* Subtle hover/touch on form fields */
@media (hover: hover) {
    .order-field-input:hover,
    .order-field-select:hover,
    .order-field-textarea:hover {
        border-color: color-mix(in srgb, var(--sitan-blue), transparent 50%);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--sitan-blue), transparent 90%);
    }
}
.order-field-input:focus,
.order-field-select:focus,
.order-field-textarea:focus {
    border-color: var(--sitan-blue);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--sitan-blue), transparent 85%);
    outline: none;
}
.order-field-input.is-touched,
.order-field-select.is-touched,
.order-field-textarea.is-touched {
    border-color: color-mix(in srgb, var(--sitan-blue), transparent 50%);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--sitan-blue), transparent 90%);
}
/* Тело — две колонки на десктопе, скроллится */
.contact-form-rhythm .order-modal-body.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.order-modal-body > label[for] {
        margin-bottom: 0.75rem;
    }
.order-modal-body {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
@media (min-width: 768px) {
    @media (max-width: 767px) {

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .order-modal-body {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .order-modal-body {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */
    }
    .order-modal-body {
        flex-direction: row;
        padding-left: 2rem;
        padding-right: 2rem;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
}
.order-modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
    background: var(--sitan-white);
}
/* Левая колонка — превью товара + lead magnet (постоянная) */
.contact-form-rhythm .order-modal-preview.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.order-modal-preview > label[for] {
        margin-bottom: 0.75rem;
    }
.order-modal-preview {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
}
@media (min-width: 768px) {
    .order-modal-preview {
        width: 260px;
    }
}
/* Карточка товара: горизонтальная на мобильном, вертикальная на десктопе */
.contact-form-rhythm .order-preview-card.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.order-preview-card {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 1rem;
}
@media (min-width: 768px) {
    .contact-form-rhythm .order-preview-card.flex > label[for] {
        margin-bottom: 0.75rem;
    }
    .order-preview-card {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* Изображение */
.order-preview-image-wrap {
    height: 68px;
    width: 68px;
    flex-shrink: 0;
}
@media (min-width: 768px) {
    .order-preview-image-wrap {
        aspect-ratio: 4/3;
        height: auto;
        width: 100%;
    }
}
body.order-preview-image-wrap {
        overflow: hidden;
        width: 100%;
    }
.order-preview-image-wrap {
    overflow: hidden;
    border-radius: 0.75rem;
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.order-preview-image {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
/* Текст */
.order-preview-info {
    min-width: 0px;
    flex: 1 1 0%;
}
.order-preview-title {
    margin-bottom: 0.5rem;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.25;
    letter-spacing: -0.025em;
}
@media (min-width: 768px) {
    .order-preview-title {
        margin-bottom: 0.75rem;
    }
}
.order-preview-title {
    font-size: clamp(0.85rem, 2.5vw, 1.35rem);
    color: var(--sitan-blue);
    transition: color 0.2s ease, opacity 0.2s ease;
}
@media (hover: hover) {
    .order-preview-title:hover {
        color: var(--sitan-blue-dark);
    }
}
.order-preview-title.is-touched {
    color: var(--sitan-blue-dark);
}
.contact-form-rhythm .order-preview-meta.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.order-preview-meta > label[for] {
        margin-bottom: 0.75rem;
    }
.order-preview-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
@media (min-width: 768px) {
    .order-preview-meta {
        gap: 0.375rem;
    }
}
.contact-form-rhythm .order-preview-meta-row.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.order-preview-meta-row {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
@media (min-width: 768px) {
    .order-preview-meta-row {
        font-size: 0.75rem;
        line-height: 1rem;
    }
}
.order-preview-meta-label {
    font-weight: 700;
    color: rgba(107, 114, 128, 0.6);
}
.order-preview-meta-value {
    font-weight: 900;
    color: var(--sitan-blue);
}
/* Lead Magnet — всегда виден под карточкой, центрирован */
.order-lead-magnet {
    margin-top: 1rem;
    border-radius: 0.75rem;
    padding: 0.75rem;
    text-align: center;
}
.order-lead-magnet .app-section-title-box {
    display: inline-block;
    width: auto;
}
.order-lead-magnet .app-section-title-box h1,.order-lead-magnet .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
@media (min-width: 768px) {
    .order-lead-magnet {
        margin-top: 2.5rem;
        padding: 1rem;
    }
}
.order-lead-magnet {
    background: rgba(0, 74, 153, 0.04);
    border: 1px solid rgba(0, 74, 153, 0.1);
    transition: border-color 0.2s ease, background-color 0.2s ease;
}
.order-lead-magnet:is(:hover, .is-touched) {
    border-color: var(--sitan-blue) !important;
    background-color: color-mix(in srgb, var(--sitan-blue), transparent 92%);
}
.order-lead-magnet-prefix {
    display: block;
    font-size: 11px;
    line-height: 1.25;
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.order-lead-magnet-name {
    margin-top: 0.25rem;
    display: block;
    font-size: 12px;
    font-weight: 600;
}
@media (min-width: 768px) {
    .order-lead-magnet-name {
        font-size: 13px;
    }
}
.order-lead-magnet-name {
    color: var(--sitan-blue);
    line-height: 1.4;
    transition: opacity 0.25s ease, transform 0.25s ease;
    /* Мобильный: одна строка с многоточием; десктоп: полный текст */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (min-width: 768px) {
    .order-lead-magnet-name {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }
}
/* Анимация смены названия документа */
.order-lead-magnet-name.is-changing {
    opacity: 0;
    transform: translateY(4px);
}
/* Lead Magnet — обёртка с тултипом (order + contact) */
.lead-magnet-wrap {
    position: relative;
}
.lead-magnet-tooltip {
    text-align: center;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
}
.lead-magnet-tooltip .app-section-title-box {
    display: inline-block;
    width: auto;
}
.lead-magnet-tooltip .app-section-title-box h1,.lead-magnet-tooltip .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
.lead-magnet-tooltip {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%) translateY(4px);
    white-space: nowrap;
    padding: 6px 12px;
    border-radius: 8px;
    background: var(--sitan-blue);
    color: var(--sitan-white);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 74, 153, 0.2);
}
.lead-magnet-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: var(--sitan-blue);
}
/* Desktop: hover с задержкой 400ms */
@media (hover: hover) {
    .lead-magnet-wrap:hover .lead-magnet-tooltip {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
        transition-delay: 0.4s;
    }
    .lead-magnet-wrap:not(:hover) .lead-magnet-tooltip {
        transition-delay: 0s;
    }
}
/* Touch: через .is-tooltip-visible */
.lead-magnet-tooltip.is-tooltip-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
/* Правая колонка — контейнер шагов (grid-stack: обе ячейки в 1/1) */
.order-modal-steps {
    position: relative;
    min-width: 0px;
    flex: 1 1 0%;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}
/* Шаг формы: оба всегда в DOM, накладываются друг на друга */
.order-step {
    grid-area: 1 / 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateX(16px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    visibility: hidden;
}
/* Шаг «назад» (уже пройденный) — сдвиг влево */
.order-step.is-prev {
    transform: translateX(-16px);
}
/* Входящий шаг — задержка появления, чтобы старый успел исчезнуть */
.order-step.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
    visibility: visible;
    transition-delay: 0.15s;
}
/* Уходящий шаг — без задержки */
.order-step:not(.is-active) {
    transition-delay: 0s;
}
/* Мобильный: неактивный шаг скрыт; активный — быстрая анимация появления */
@media (max-width: 767px) {
    .order-step:not(.is-active) {
        display: none;
    }
    .order-step.is-active {
        animation: mobileStepIn 0.18s ease-out;
    }
}
@keyframes mobileStepIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
/* Контейнер полей шага */
.contact-form-rhythm .order-step-fields.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.order-step-fields > label[for] {
        margin-bottom: 0.75rem;
    }
.order-step-fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 100%;
    overflow: hidden;
}
/* Футер шага (кнопки) — на десктопе прижат к низу, на мобильном сразу после полей */
.order-step-footer {
    padding-top: 1.25rem;
}
/* Шаг 1: чуть больше отступ от последнего поля до кнопок */
.order-step[data-step="1"] .order-step-footer {
    padding-top: 3.5rem;
}
@media (min-width: 768px) {
    .order-step-footer {
        margin-top: auto;
    }
}
/* Поля формы */
.contact-form-rhythm .order-field.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.order-field > label[for] {
        margin-bottom: 0.75rem;
    }
.order-field {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    overflow: hidden;
}
.order-field-label {
    margin-bottom: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1));
    transition: color 0.2s ease;
}
.order-field-input {
    width: 100%;
    border-radius: 0.75rem;
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.order-field-input:focus {
    --tw-border-opacity: 1;
    border-color: rgb(33 150 243 / var(--tw-border-opacity, 1));
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.order-field-input {
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    font-family: inherit;
}
.order-field-input:focus {
    border-color: var(--sitan-blue);
    box-shadow: 0 0 0 3px rgba(0, 74, 153, 0.08);
}
/* Hover / touch на полях */
@media (hover: hover) {
    .order-field-input:hover:not(:focus),
    .order-field-select:hover:not(:focus) {
        border-color: var(--sitan-blue);
    }
}
.order-field-input.is-touched,
.order-field-select.is-touched {
    border-color: var(--sitan-blue);
}
.order-field:is(:hover, .is-touched) .order-field-label {
    color: var(--sitan-blue);
}
/* Textarea — 5 строк */
.order-field-textarea {
    resize: none;
    min-height: 7.5rem;
    max-height: 7.5rem;
    overflow-y: auto;
}
.order-field-select {
    width: 100%;
    border-radius: 0.75rem;
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.order-field-select:focus {
    --tw-border-opacity: 1;
    border-color: rgb(33 150 243 / var(--tw-border-opacity, 1));
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.order-field-select {
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    font-family: inherit;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.order-field-select option {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
.order-field-select:focus {
    border-color: var(--sitan-blue);
    box-shadow: 0 0 0 3px rgba(0, 74, 153, 0.08);
}
.order-field-error {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.order-field-input.form-input-error,
.order-field-select.form-input-error {
    border-color: var(--sitan-red) !important;
    box-shadow: 0 0 0 3px rgba(216, 27, 96, 0.08);
}
/* Кнопки */
.contact-form-rhythm .order-modal-buttons.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.order-modal-buttons {
    display: flex;
    gap: 0.75rem;
}
.contact-form-rhythm .order-btn.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.order-btn {
    display: flex;
    flex: 1 1 0%;
    align-items: center;
    justify-content: center;
    height: 3.25rem;
    min-height: 3.25rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    border-radius: 0.75rem;
    border-style: none;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    transition: background 0.5s cubic-bezier(0.19, 1, 0.22, 1),
                box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
    cursor: pointer;
    font-family: inherit;
}
.order-btn--cancel {
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    color: var(--sitan-gray-dark);
}
.order-btn--cancel:hover {
    background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);
}
.order-btn--cancel:active,
.order-btn--cancel.is-touched {
    transform: scale(0.97);
    background: linear-gradient(135deg, #d1d5db 0%, #c4c8cd 100%);
}
.order-btn--next {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-blue), #fff 18%) 0%,
        var(--sitan-blue) 50%,
        color-mix(in srgb, var(--sitan-blue), #000 12%) 100%);
    color: var(--sitan-white);
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.order-btn--next:hover:not(:disabled) {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
        color-mix(in srgb, var(--sitan-blue), #fff 8%) 50%,
        var(--sitan-blue) 100%);
}
.order-btn--next:disabled {
    background: linear-gradient(135deg, #c4c8cd 0%, #9ca3af 100%);
    cursor: not-allowed;
    text-shadow: none;
}
.order-btn--next:active:not(:disabled),
.order-btn--next.is-touched:not(:disabled) {
    transform: scale(0.97);
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-blue), #000 8%) 0%,
        color-mix(in srgb, var(--sitan-blue), #000 4%) 50%,
        color-mix(in srgb, var(--sitan-blue), #000 16%) 100%);
}
.order-btn--submit {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-blue), #fff 18%) 0%,
        var(--sitan-blue) 50%,
        color-mix(in srgb, var(--sitan-blue), #000 12%) 100%);
    color: var(--sitan-white);
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.order-btn--submit:hover:not(:disabled) {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
        color-mix(in srgb, var(--sitan-blue), #fff 8%) 50%,
        var(--sitan-blue) 100%);
}
.order-btn--submit:disabled {
    background: linear-gradient(135deg, #c4c8cd 0%, #9ca3af 100%);
    cursor: not-allowed;
    text-shadow: none;
}
.order-btn--submit:active:not(:disabled),
.order-btn--submit.is-touched:not(:disabled) {
    transform: scale(0.97);
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--sitan-blue), #000 8%) 0%,
        color-mix(in srgb, var(--sitan-blue), #000 4%) 50%,
        color-mix(in srgb, var(--sitan-blue), #000 16%) 100%);
}
/* GDPR Consent — общий стиль (order modal + contact page) */
.gdpr-consent {
    text-align: center;
    font-size: 11px;
    line-height: 1.25;
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.gdpr-consent .app-section-title-box {
    display: inline-block;
    width: auto;
}
.gdpr-consent .app-section-title-box h1,.gdpr-consent .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
.gdpr-consent {
    margin-top: 0.75rem;
    -moz-user-select: text;
         user-select: text;
    -webkit-user-select: text;
}
.gdpr-consent-link {
    text-decoration-line: underline;
    color: var(--sitan-blue);
    transition: color 0.2s ease;
}
@media (hover: hover) {
    .gdpr-consent-link:hover {
        color: var(--sitan-blue-dark);
    }
}
/* Мобильные экраны со средней и малой высотой:
   Шаг 1 — скрываем lead magnet, показываем карточку.
   Шаг 2 — скрываем карточку, показываем lead magnet. */
@media (max-height: 850px) and (max-width: 767px) {
    .order-modal-body[data-current-step="1"] .order-lead-magnet {
        display: none;
    }
    .order-modal-body[data-current-step="2"] .order-preview-card {
        display: none;
    }
    .order-modal-body[data-current-step="2"] .order-lead-magnet {
        margin-top: 0;
    }
}
/* Мобильные экраны с малой высотой: компактнее */
@media (max-height: 700px) and (max-width: 767px) {
    .order-modal-body[data-current-step="2"] .order-modal-preview {
        margin-bottom: 0rem;
    }
    .order-modal-body[data-current-step="2"] .order-lead-magnet {
        padding: 0.375rem 0.75rem;
    }
    .order-modal-body[data-current-step="2"] {
        gap: 0.75rem;
        padding-top: 0.75rem;
    }
    /* Комментарий — 4 строки */
    .order-field-textarea {
        min-height: 6rem;
        max-height: 6rem;
    }
}
/* --- Order Success Modal --- */
#order-success-modal .success-modal-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    height: 3.25rem;
    min-height: 3.25rem;
    padding: 0 1.25rem;
    border: none;
    border-radius: 1rem;
    font-family: inherit;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.25;
    color: var(--sitan-white);
    text-decoration: none;
    cursor: pointer;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    box-sizing: border-box;
    transition: transform 0.2s ease-out, background-color 0.2s ease-out;
}
#order-success-modal .success-modal-btn:active,
#order-success-modal .success-modal-btn.is-touched {
    transform: scale(0.98);
}
#order-success-modal .success-modal-btn__icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}
#order-success-modal .success-modal-btn__text {
    display: block;
}
#order-success-modal .success-modal-btn--green {
    background-color: var(--sitan-green);
}
#order-success-modal .success-modal-btn--green:hover {
    background-color: color-mix(in srgb, var(--sitan-green), black 12%);
}
#order-success-modal .success-modal-btn--blue {
    background-color: var(--sitan-blue);
}
#order-success-modal .success-modal-btn--blue:hover {
    background-color: var(--sitan-blue-dark);
}
/* --- 2. Toast System (Всплывающие алерты) --- */
#toast-container {
    /* Выше центра — 1/3 от верха; поверх всех элементов страницы */
    top: 33.333%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    position: fixed;
    z-index: 10001;
}
.contact-form-rhythm #toast-container.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex#toast-container > label[for] {
        margin-bottom: 0.75rem;
    }
#toast-container {
    display: flex;
    width: 100%;
    max-width: 28rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
.contact-form-rhythm .toast-item.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.toast-item {
    pointer-events: auto;
    display: flex;
    width: 100%;
    cursor: pointer;
    align-items: center;
    border-radius: 1rem;
    padding: 1rem;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);

    /* Начальное состояние: вылет сверху и легкое уменьшение */

    --tw-translate-y: -2rem;

    --tw-scale-x: .95;

    --tw-scale-y: .95;

    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));

    opacity: 0;

    will-change: transform, opacity;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
}
/* Состояние активации тоста */
.toast-item.is-active {
    --tw-translate-y: 0px;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 1;
}
/* Иконка тоста: галочка/крестик крупнее */
.contact-form-rhythm .toast-icon.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.toast-icon {
    margin-left: 0.75rem;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    font-weight: 700;
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.35rem;
    line-height: 1;
}
.toast-message {
    flex: 1 1 0%;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    line-height: 1.25;
}
/* Унификация: успех (копирование и др.) — зелёный, ошибки — красный */
/* Тост успеха: ситановский зелёный фон, белый текст и галочка */
.toast-success {
    background-color: var(--sitan-green) !important;
    border: 1px solid color-mix(in srgb, var(--sitan-green), black 10%);
    box-shadow: 0 1rem 2rem color-mix(in srgb, var(--sitan-green), transparent 50%);
}
.toast-success .toast-message,
.toast-success .toast-icon {
    color: var(--sitan-white) !important;
}
/* Тост ошибки: ситановский красный фон, белый текст и крестик */
.toast-error {
    background-color: var(--sitan-red) !important;
    border: 1px solid color-mix(in srgb, var(--sitan-red), black 10%);
    box-shadow: 0 1rem 2rem color-mix(in srgb, var(--sitan-red), transparent 60%);
}
.toast-error .toast-message,
.toast-error .toast-icon {
    color: var(--sitan-white) !important;
}
/* SECTION: Cookie Consent Banner (GDPR)
   DESCRIPTION: Плавающий баннер внизу экрана. Не блокирует контент.
   Десктоп: правый нижний угол.
   Мобильный: фиксированная панель на всю ширину.
*/
.cookie-consent {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 190;
    display: flex;
    justify-content: flex-end;
    padding: 0 1.25rem 1.25rem;
    pointer-events: none;

    /* Анимация появления */
    opacity: 0;
    transform: translateY(100%);
    transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.cookie-consent.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
/* Анимация ухода */
.cookie-consent.is-hiding {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.25s ease-in, transform 0.25s ease-in;
    pointer-events: none;
}
.cookie-consent-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
    max-width: 22rem;
    padding: 1.25rem 1.5rem;
    border-radius: 1rem;
    background-color: var(--sitan-white);
    border: 1px solid rgba(0, 74, 153, 0.12);
    box-shadow:
        0 -2px 20px rgba(0, 0, 0, 0.06),
        0 4px 16px rgba(0, 74, 153, 0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.cookie-consent-text {
    font-size: 13px;
    line-height: 1.375;
}
@media (min-width: 768px) {
    .cookie-consent-text {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
.cookie-consent-text {
    color: var(--sitan-gray-dark);
    text-align: center;
}
.cookie-consent-actions {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}
/* Кнопки */
.cookie-btn {
    font-size: 13px;
    font-weight: 700;
    flex: 1 1 0;
    min-width: 0;
    padding: 0.625rem 1.25rem;
    border-radius: 0.625rem;
    border: none;
    cursor: pointer;
    white-space: normal;
    line-height: 1.25;
    text-wrap: balance;
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    font-family: inherit;
}
.cookie-btn--accept {
    background-color: var(--sitan-blue);
    color: var(--sitan-white);
}
.cookie-btn--accept:hover {
    background-color: var(--sitan-blue-dark);
    box-shadow: 0 4px 12px rgba(0, 74, 153, 0.2);
}
.cookie-btn--accept:active {
    transform: scale(0.97);
}
.cookie-btn--essential {
    background-color: rgba(0, 0, 0, 0.05);
    color: var(--sitan-gray-dark);
}
.cookie-btn--essential:hover {
    background-color: rgba(0, 0, 0, 0.1);
}
.cookie-btn--essential:active {
    transform: scale(0.97);
}
/* Мобильный: фиксированная панель на всю ширину */
@media (max-width: 767px) {
    .cookie-consent {
        left: 0;
        padding: 0;
        justify-content: center;
    }

    .cookie-consent-inner {
        max-width: none;
        border-radius: 1rem 1rem 0 0;
        padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom, 0px));
    }

    .cookie-consent-actions {
        flex-direction: column;
    }

    .cookie-btn {
        width: 100%;
        padding: 0.75rem 1rem;
        text-align: center;
    }
}
*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
:root {
        /* Основные цвета бренда SITAN */
        --sitan-blue: #2196F3;
        --sitan-blue-dark: #1976D2;
        --sitan-blue-light: #D6EAF8;
        --sitan-red: #E0302E;
        --sitan-red-light: #FEEAEA;
        --sitan-green: #2E7D32;
        --sitan-green-bright: #22E72C;

        /* Нейтральные оттенки */
        --sitan-black: #1A1A1A;
        --sitan-white: #FFFFFF;
        --sitan-gray: #4A4A4A;
        --sitan-gray-dark: #333333;
        --sitan-gray-light: #F5F5F5;

        /* Вспомогательные акценты для таблиц и карточек */
        --sitan-orange: #FB8C00;
        --sitan-purple: #8E24AA;

        /* Динамические переменные (управляются из utils.js) */
        --scrollbar-width: 0px;
    }
html {
        scrollbar-gutter: stable;
        scroll-behavior: auto !important;
        -webkit-text-size-adjust: 100%;
    }
body {
    overflow-x: hidden;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    font-family: Inter, sans-serif;
    --tw-text-opacity: 1;
    color: rgb(26 26 26 / var(--tw-text-opacity, 1));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
        min-height: 100vh;
        min-height: -webkit-fill-available;
        min-height: 100dvh;
        text-rendering: optimizeLegibility;
        line-height: 1.6;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: none;
        overflow-wrap: break-word;
        word-break: break-word;
}
section[id^="section-"] {
        scroll-margin-top: 0;
        touch-action: manipulation;
        min-height: 100vh;
        min-height: -webkit-fill-available;
        min-height: 100dvh;
        display: flex;
        flex-direction: column;
        contain: style paint;
    }
/* --- SYSTEM STYLES --- */
#nano-bar {
        position: fixed;
        top: 0;
        left: 0;
        height: 3px;
        background-color: var(--sitan-red);
        z-index: 10000;
        pointer-events: none;
        width: 0;
        opacity: 1;
        transition: width 0.4s ease-out, opacity 0.4s linear;
    }
/* Интеграция Toast-контейнера (позиция и центрирование в _modals.css) */
.contact-form-rhythm #toast-container.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex#toast-container > label[for] {
        margin-bottom: 0.75rem;
    }
#toast-container {
    display: flex;
    width: 100%;
    max-width: 24rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
.grecaptcha-badge {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
::-moz-selection {
        background-color: var(--sitan-red);
        color: var(--sitan-white);
    }
::selection {
        background-color: var(--sitan-red);
        color: var(--sitan-white);
    }
.contact-form-rhythm .section-404.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.section-404 > label[for] {
        margin-bottom: 0.75rem;
    }
.section-404 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
        padding: 10rem 0;
}
.section-404 p {
        color: var(--sitan-red);
        font-weight: 700;
        font-size: 1.5rem;
        text-transform: uppercase;
        letter-spacing: -0.05em;
    }
#section-footer {
        min-height: auto !important;
        scroll-margin-top: 0;
    }
/* Swiper/Hero секции: exact viewport height (НЕ 115% — контент должен помещаться на экран) */
section[id^="section-"].h-screen-full {
        height: 100vh;
        height: -webkit-fill-available;
        height: 100dvh;
        min-height: unset !important;
    }
/* Installation: высота по контенту на десктопе */
@media (min-width: 768px) {
        #section-sitan-installation {
            min-height: auto !important;
        }
    }
/* Sitan page: на высоких телефонах (iPhone 14 Pro Max и т.д.) контентные секции
       не должны растягиваться до 100dvh — высота по контенту.
       Hero и carousel (applications) остаются full-viewport. */
@media (max-width: 767px) {
        .page-sitan #section-highlights,
        .page-sitan #section-sitan-properties,
        .page-sitan #section-sitan-composition,
        .page-sitan #section-sitan-process,
        .page-sitan #section-sitan-eco,
        .page-sitan #section-sitan-delivery,
        .page-sitan #section-sitan-installation {
            min-height: auto;
            padding-top: 1rem;
            padding-bottom: 1rem;
        }

        .page-sitan #section-sitan-composition {
            min-height: 100dvh;
        }
    }
/* Модифицированные правила блокировки скролла (position: fixed задаётся в JS для iOS Safari) */
body.overflow-hidden,
    body.modal-open {
        overflow: hidden !important;
        width: 100%;
    }
/* Safari: -webkit-backdrop-filter для элементов с Tailwind backdrop-blur-* */
#mobile-menu {
        -webkit-backdrop-filter: blur(40px);
    }
@keyframes fadeUp {
        from { opacity: 0; transform: translateY(12px); }
        to { opacity: 1; transform: translateY(0); }
    }
@keyframes fadeDown {
        from { opacity: 0; transform: translateY(-6px); }
        to { opacity: 1; transform: translateY(0); }
    }
/* Контент скрыт до page-loaded (0.01 для LCP-фиксации) */
body:not(.page-loaded) main {
        opacity: 0.01;
    }
/* Основной контент — мягкое появление */
.page-loaded main {
        animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.05s both;
    }
/* Хедер — появляется первым, сверху */
.page-loaded .header-container {
        animation: fadeDown 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
/* ============================================================
       УНИВЕРСАЛЬНЫЙ КАСКАД ПОЯВЛЕНИЯ (все страницы)
       Только opacity + transform — GPU-композитинг
       ============================================================ */
/* 1. Первая секция: заголовок */
.page-loaded main > :first-child .app-section-title-box,
    .page-loaded main > :first-child > header,
    .page-loaded main > :first-child .section-title-white-blue,
    .page-loaded main > :first-child .section-title-white-red,
    .page-loaded main > :first-child .section-title-black-blue {
        animation: fadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
    }
/* 2. Первая секция: подзаголовок / описание */
.page-loaded main > :first-child .hero-subtitle-text,
    .page-loaded main > :first-child .iso-badges-row {
        animation: fadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
    }
/* 3. Первая секция: кнопки / карточки / основной контент */
.page-loaded main > :first-child .hero-buttons-container,
    .page-loaded main > :first-child .cert-card,
    .page-loaded main > :first-child .product-card,
    .page-loaded main > :first-child > :first-child > .grid {
        animation: fadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
    }
/* EPD-карточки: backwards (без forwards) — не блокирует transitions после завершения анимации */
.page-loaded main > :first-child .epd-card {
        animation: fadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.3s backwards;
    }
/* Плавный уход при переходе на другую страницу */
body.page-leaving .header-container {
        opacity: 0;
        transform: translateY(-4px);
        transition: opacity 0.25s ease-out, transform 0.25s ease-out;
    }
body.page-leaving main {
        opacity: 0;
        transform: translateY(6px);
        transition: opacity 0.25s ease-out, transform 0.25s ease-out;
    }
* { -webkit-tap-highlight-color: transparent; }
/* user-select: none наследуется потомками — wildcard * не нужен */
#language-modal,
    #mobile-menu,
    .fixed-header a,
    .nav-link-premium,
    .mobile-menu-link,
    .main-footer a,
    .footer-link,
    .app-section-title-box,
    .sitan-hero-subtitle,
    .process-tech-subtitle,
    .section-title-white-red,
    .section-title-white-blue,
    .section-title-black-blue,
    .section-title-black-blue-small,
    .section-title-red,
    .tech-compliance-box,
    .tech-table-viewport,
    .tech-row,
    .epd-card,
    .group\/app-card,
    .cert-card,
    .process-step-card,
    .highlight-card-base,
    .product-card,
    .swiper-slide,
    .sitan-advantage-block,
    .comp-card-blue-logic,
    .safety-card-green-logic,
    #section-hero .is-active-zone > p,
    .iso-badge-sitan,
    #section-highlights [data-touch-trigger="top-label"],
    .iso-box,
    .iso-text,
    .highlights-compliance-box,
    .catalog-compliance-box {
        -webkit-user-select: none;
        -moz-user-select: none;
             user-select: none;
    }
/* Контактная страница: выделение текста только у адреса и телефона/почты */
[data-touch-group="contact"] * {
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
    }
[data-touch-group="contact"] .contact-selectable,
    [data-touch-group="contact"] .contact-selectable * {
        -webkit-user-select: text;
        -moz-user-select: text;
        user-select: text;
    }
.\!container {
    width: 100% !important;
}
.container {
    width: 100%;
}
@media (min-width: 640px) {
    .\!container {
        max-width: 640px !important;
    }
    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {
    .\!container {
        max-width: 768px !important;
    }
    .container {
        max-width: 768px;
    }
}
@media (min-width: 1024px) {
    .\!container {
        max-width: 1024px !important;
    }
    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .\!container {
        max-width: 1280px !important;
    }
    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1536px) {
    .\!container {
        max-width: 1536px !important;
    }
    .container {
        max-width: 1536px;
    }
}
/* --- HEADER & NAVIGATION --- */
.contact-form-rhythm .fixed-header.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.fixed-header {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 110;
    display: flex;
    width: 100%;
    align-items: center;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        transition: background-color 0.5s ease-out,
                    box-shadow 0.5s ease-out;
        height: 5rem;
}
@media (max-width: 767px) { .fixed-header { height: 4rem; } }

    .page-loaded main > :first-child > :first-child > .header-container {
        animation: fadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
    }
@media (max-width: 1023px) {
        /* 1. Общий разрыв между формой и колонкой контактов */
        [data-touch-group="contact"] > .header-container {
            gap: 4rem;
        }

        /* 2. СБРОС ДЕСКТОПНОЙ СЕТКИ */

        /* 3. УПРАВЛЕНИЕ ОТСТУПАМИ МЕЖДУ ПАРАМИ КОНТАКТОВ */

        /* Специальный костыль: Уменьшаем отступ между "Часами работы" и "Наш офис" */

        /* 4. УПРАВЛЕНИЕ ОТСТУПАМИ ВНУТРИ ПАР (Заголовок -> Значение) */

        /* Точечно: Увеличиваем отступ ТОЛЬКО для мессенджеров (текст -> кнопки) */

        /* 5. КАРТА И ЕЁ ЗАГОЛОВОК */

        /* 6. БЛОК "МЫ ВСЕГДА НА СВЯЗИ" И КНОПКА ФУТЕРА */

        /* 7. ВСПОМОГАТЕЛЬНЫЕ ИСПРАВЛЕНИЯ ЦЕНТРИРОВАНИЯ */

        /* Центрирование кнопок мессенджеров */

        /* Принудительный сброс выравнивания текстов */    
    }
.header-container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    height: 100%;
    width: 100%;
    max-width: 80rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-left: 1rem;
    padding-right: 1rem;
}
@media (min-width: 768px) {
    .contact-form-rhythm .header-container.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
}
@media (min-width: 640px) {
    .header-container {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
}
@media (min-width: 768px) {
    .header-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}
@media (min-width: 1024px) {
    .header-container {
        padding-left: 5rem;
        padding-right: 5rem;
    }
}
.contact-form-rhythm .header-icon-btn.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.header-icon-btn {
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    outline: 2px solid transparent;
    outline-offset: 2px;
        transition: color 0.3s ease-out;
        color: var(--sitan-black);
}
@media (hover: hover) {
        .header-icon-btn:hover,
        .footer-link:hover {
            color: var(--sitan-red);
        }
    }
.contact-form-rhythm .logo-link.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.logo-link {
    display: flex;
    height: 2rem;
    flex-shrink: 0;
    align-items: center;
}
@media (min-width: 768px) {
    .logo-link {
        height: 2.75rem;
    }
}
.logo-link {
        transition: transform 0.5s ease-out;
    }
.logo-img {
    display: block;
    height: 100%;
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
        transition: filter 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s ease;
        animation: logo-pulse-blue 4s infinite ease-in-out;
}
/* --- UNIVERSAL NAV LINK SYSTEM --- */
.nav-link-premium {
    position: relative;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500;
    letter-spacing: 0.025em;
        transition: color 0.3s ease-out;
        color: var(--sitan-gray-dark);
}
/* Добавлен ::after для подчеркивания (был потерян в исходнике) */
.nav-link-premium::after {
    }
@media (hover: hover) {
        .nav-link-premium:not(.is-active):hover { color: var(--sitan-blue); }
        .nav-link-premium:not(.is-active):hover::after {
        width: 100%;
    }
    }
.nav-link-premium.is-active {
        color: var(--sitan-red) !important;
        font-weight: 700;
    }
.nav-link-premium.is-active::after { display: none !important; }
/* --- MOBILE MENU INTEGRATION --- */
/* Базовое состояние теперь описывается здесь, чтобы избежать конфликтов */
#mobile-menu {
    position: fixed;
    inset: 0px;
    z-index: 150;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    transition-property: transform;
    transition-duration: 500ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transform: translateX(-100%);
}
#mobile-menu.is-active {
        transform: translateX(0);
    }
.process-step-card .mobile-menu-link {
        transform: none;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
.mobile-menu-link {
    display: block;
    width: 100%;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    text-align: center;
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
}
.mobile-menu-link .app-section-title-box {
    display: inline-block;
    width: auto;
}
.mobile-menu-link .app-section-title-box h1,.mobile-menu-link .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
.mobile-menu-link {
        transition: color 0.3s ease-out;
        color: var(--sitan-black);
    }
.mobile-menu-link.is-active { color: var(--sitan-red) !important; }
/* --- HEADER LANGUAGE SWITCHER --- */
body.lang-flag-wrapper {
        overflow: hidden;
        width: 100%;
    }
.contact-form-rhythm .lang-flag-wrapper.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.lang-flag-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 9999px;
        width: 1.75rem;
        height: 1.75rem;
        background-color: var(--sitan-gray-light);
        border: 2px solid rgba(0, 0, 0, 0.05);
        transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.3s ease;
}
@media (max-width: 767px) {
        .lang-flag-wrapper {
            width: 1.5rem;
            height: 1.5rem;
        }
    }
.flag-img {
    display: block;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (hover: hover) {
        .lang-switcher-btn:hover .lang-flag-wrapper {
            transform: scale(1.15);
            border-color: var(--sitan-blue);
        }
    }
.lang-switcher-btn.is-touched .lang-flag-wrapper {
        transform: scale(0.9) !important;
        opacity: 0.8;
        border-color: var(--sitan-blue);
    }
.lang-switcher-btn:focus-visible .lang-flag-wrapper {
        outline: 2px solid var(--sitan-blue);
        outline-offset: 2px;
    }
/* --- FOOTER SYSTEM --- */
.main-footer {
    margin-top: auto;
    width: 100%;
    padding-top: 3rem;
    padding-bottom: 3rem;
        background-color: var(--sitan-white);
        border-top: 1px solid var(--sitan-gray-light);
}
.footer-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 80rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
@media (min-width: 1024px) {
    .footer-container {
        padding-left: 5rem;
        padding-right: 5rem;
    }
}
.contact-form-rhythm .footer-content-split.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.footer-content-split > label[for] {
        margin-bottom: 0.75rem;
    }
.footer-content-split {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
}
@media (min-width: 768px) {
    @media (max-width: 767px) {

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .footer-content-split {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .footer-content-split {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */
    }
    .footer-content-split {
        flex-direction: row;
        gap: 2rem;
    }
}
.contact-form-rhythm .footer-nav.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.footer-nav > label[for] {
        margin-bottom: 0.75rem;
    }
.footer-nav {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-weight: 500;
}
.footer-nav .app-section-title-box {
    display: inline-block;
    width: auto;
}
.footer-nav .app-section-title-box h1,.footer-nav .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
@media (min-width: 768px) {
    @media (max-width: 767px) {

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .footer-nav {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .footer-nav {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */
    }
    .footer-nav {
        width: auto;
        flex-direction: row;
    }
}
.footer-link {
    width: 100%;
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
@media (min-width: 768px) {
    .footer-link {
        width: auto;
        padding-top: 0px;
        padding-bottom: 0px;
        padding-left: 1rem;
        padding-right: 1rem;
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
.footer-link {
        color: var(--sitan-gray);
    }
.contact-form-rhythm .footer-legal-info.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.footer-legal-info > label[for] {
        margin-bottom: 0.75rem;
    }
.footer-legal-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
}
@media (min-width: 768px) {
    .footer-legal-info {
        align-items: flex-end;
    }
}
.footer-legal-info {
        color: var(--sitan-gray);
    }
.developer-name {
    margin-left: 0.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
        color: var(--sitan-black);
}
/* --- MOBILE MENU & BURGER --- */
#mobile-menu {
        top: 5rem;
        height: calc(100vh - 5rem);
        will-change: transform;
    }
@media (max-width: 767px) { #mobile-menu { top: 4rem; height: calc(100vh - 4rem); } }
body.modal-open #mobile-menu-button {
        color: var(--sitan-blue-dark) !important;
    }
/* --- SCROLL PROGRESS --- */
.scroll-progress-line {
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 120;
    height: 3px;
        background-color: var(--sitan-blue);
        box-shadow: 0 1px 6px color-mix(in srgb, var(--sitan-blue), transparent 80%);
        transition: width 0.3s ease-out;
}
/* --- CONTACT FORM --- */
.form-input-standard {
    width: 100%;
    border-radius: 0.5rem;
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(26 26 26 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
        padding: 0.75rem 1rem;
        font-size: 1rem;
        line-height: 1.5;
        min-height: 2.75rem;
}
/* Ритм формы: лейбл/значение как в правой колонке, выравнивание по высоте */
.contact-form-rhythm .flex.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .form-input-standard {
        font-size: 1.125rem;
        line-height: 1.625;
    }
.form-input-standard::-moz-placeholder {
        color: var(--sitan-gray);
        opacity: 0.8;
    }
.form-input-standard::placeholder {
        color: var(--sitan-gray);
        opacity: 0.8;
    }
.form-input-standard:focus {
        outline: none;
        border-color: var(--sitan-blue);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--sitan-blue), transparent 85%);
    }
textarea.form-input-standard {
        min-height: 6rem;
        resize: vertical;
    }
.form-input-standard.form-input-error {
        border-color: var(--sitan-red);
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--sitan-red), transparent 80%);
    }
/* Лейблы и поля формы: обязательные — красный, необязательные — голубой при hover/touch */
#contact-form .contact-form-label {
        transition: color 0.2s ease;
    }
@media (hover: hover) {
        #contact-form .contact-form-label-required:hover,
        #contact-form .contact-form-label-required.is-touched {
            color: var(--sitan-red) !important;
        }
        #contact-form .contact-form-label-optional:hover,
        #contact-form .contact-form-label-optional.is-touched {
            color: var(--sitan-blue) !important;
        }
        #contact-form .form-input-required:hover,
        #contact-form .form-input-required:focus {
            color: var(--sitan-red);
        }
        #contact-form .form-input-optional:hover,
        #contact-form .form-input-optional:focus {
            color: var(--sitan-blue);
        }
        #contact-form .form-input-standard:hover::-moz-placeholder, #contact-form .form-input-standard:focus::-moz-placeholder {
            color: var(--sitan-gray);
            opacity: 0.8;
        }
        #contact-form .form-input-standard:hover::placeholder,
        #contact-form .form-input-standard:focus::placeholder {
            color: var(--sitan-gray);
            opacity: 0.8;
        }
    }
#contact-form .form-input-required.is-touched {
        color: var(--sitan-red);
    }
#contact-form .form-input-optional.is-touched {
        color: var(--sitan-blue);
    }
/* Правый блок: лейблы на одном расстоянии по вертикали, значения центрированы в промежутках */
.contact-direct-blocks {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 2.5rem 4.5rem 2.5rem 4rem 2.5rem 4.5rem 1.5rem 5.5rem 2.5rem;
        row-gap: 0;
        -moz-column-gap: 0;
             column-gap: 0;
        align-items: start;
    }
.contact-direct-label {
        -webkit-user-select: none !important;
        -moz-user-select: none !important;
        user-select: none !important;
        margin: 0;
        padding: 0;
        transition: color 0.2s ease;
    }
.contact-direct-label:is(:hover, .is-touched) {
        color: var(--sitan-blue) !important;
    }
.contact-direct-value-slot {
        min-height: 0;
        display: flex;
        align-items: center;
    }
.contact-direct-value {
        margin: 0;
    }
.contact-direct-values {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
    }
/* Адрес/почта/телефон — без выделения текста */
.contact-no-copy,
    .contact-no-copy * {
        -webkit-user-select: none !important;
        -moz-user-select: none !important;
        user-select: none !important;
    }
.contact-no-copy a {
        pointer-events: auto;
    }
/* Кнопки WhatsApp/Telegram — одинаковая ширина */
.contact-messenger-btn {
        min-width: 8.5rem;
    }
/* Заголовок карты — крупнее */
.contact-map-title {
        font-size: 0.875rem;
        letter-spacing: 0.12em;
    }
/* Правая колонка: карта с уменьшенной высотой, акцент под картой */
.order-2 {
        min-height: 0;
    }
#map-container {
        min-height: 0; /* квадрат задаётся aspect-square */
    }
/* «Мы всегда на связи»: hover и touch — ситановский голубой */
.contact-ready-accent:is(:hover, .is-touched) {
        border-color: var(--sitan-blue) !important;
        background-color: color-mix(in srgb, var(--sitan-blue), transparent 92%);
    }
/* Адрес, время работы, «Наш офис на Кипре»: hover/touch — ситановский голубой */
.contact-value-hover:is(:hover, .is-touched) .contact-direct-value,
    .contact-map-title.contact-value-hover:is(:hover, .is-touched) {
        color: var(--sitan-blue);
    }
/* Кнопка «В начало страницы»: бордер и текст подсвечиваются и снимаются синхронно */
.contact-scroll-bottom {
        transition: border-color 0.2s ease, background-color 0.2s ease;
    }
.contact-scroll-bottom .contact-scroll-bottom-text {
        transition: color 0.2s ease;
    }
@media (hover: hover) {
        .contact-scroll-bottom:hover {
            border-color: var(--sitan-blue);
            background-color: color-mix(in srgb, var(--sitan-blue), transparent 95%);
        }
        .contact-scroll-bottom:hover .contact-scroll-bottom-text {
            color: var(--sitan-blue) !important;
        }
    }
.contact-scroll-bottom:is(:focus, .is-touched, :active) {
        border-width: 3px;
        border-color: var(--sitan-blue);
        background-color: color-mix(in srgb, var(--sitan-blue), transparent 95%);
    }
.contact-scroll-bottom:is(:focus, .is-touched, :active) .contact-scroll-bottom-text {
        color: var(--sitan-blue) !important;
    }
/* Мобильная адаптация: перенос длинных значений в правой колонке, страница не шире экрана */
@media (max-width: 1023px) {
        .order-2 .contact-direct-value,
        .order-2 .contact-direct-values,
        .order-2 a.contact-direct-value {
            word-wrap: break-word;
            overflow-wrap: break-word;
        }
        /* 1. Общий разрыв между формой и колонкой контактов */
        [data-touch-group="contact"] > .grid {
            gap: 4rem;
        }

        /* 2. СБРОС ДЕСКТОПНОЙ СЕТКИ */
        .order-2 .contact-direct-blocks {
            display: flex !important; /* Принудительный переход на Flex для контроля с нуля */
            flex-direction: column;
            width: 100%;
            max-width: 100%;
            margin-bottom: 0.5rem !important; /* Уменьшили, так как дальше управляет заголовок карты */
            grid-template-rows: none !important;
            row-gap: 0 !important;
        }

        /* 3. УПРАВЛЕНИЕ ОТСТУПАМИ МЕЖДУ ПАРАМИ КОНТАКТОВ */
        .order-2 .contact-direct-value-slot {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 1rem 1rem;
            /* Базовый отступ между блоками (Email -> Телефон и т.д.) */
            margin-bottom: 3.5rem !important;
        }

        /* Специальный костыль: Уменьшаем отступ между "Часами работы" и "Наш офис" */
        .order-2 .contact-direct-value-slot:nth-of-type(5) {
            margin-bottom: 0.5rem !important;
        }

        /* 4. УПРАВЛЕНИЕ ОТСТУПАМИ ВНУТРИ ПАР (Заголовок -> Значение) */
        .order-2 .contact-direct-label {
            text-align: center;
            width: 100%;
            margin-bottom: 1rem !important;
            display: block;
        }

        /* Точечно: Увеличиваем отступ ТОЛЬКО для мессенджеров (текст -> кнопки) */
        .order-2 .contact-direct-label:nth-of-type(3) {
            margin-bottom: 1.5rem !important;
        }

        /* 5. КАРТА И ЕЁ ЗАГОЛОВОК */
        .order-2 .contact-map-title {
            text-align: center;
            margin-top: 2rem !important; /* Подтянули выше к часам работы */
            margin-bottom: 1.5rem !important; /* Расстояние до самой карты */
        }

        #map-container {
            /* Увеличиваем отступ от карты до элемента "Мы всегда на связи" */
            margin-bottom: 3rem !important;
        }

        /* 6. БЛОК "МЫ ВСЕГДА НА СВЯЗИ" И КНОПКА ФУТЕРА */
        .order-2 .contact-accent-wrap {
            width: 100%;
            justify-content: center;
            margin-top: 0 !important;
            /* Уменьшаем отступ снизу до кнопки "В начало" */
            margin-bottom: 0 !important;
        }

        #contact-scroll-top {
            /* Резко уменьшаем гигантский mt-20 из десктопа */
            margin-top: 2.5rem !important;
            padding: 1.5rem !important; /* Делаем кнопку компактнее */
        }

        /* 7. ВСПОМОГАТЕЛЬНЫЕ ИСПРАВЛЕНИЯ ЦЕНТРИРОВАНИЯ */
        .order-2 .contact-direct-values {
            width: 100%;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        /* Центрирование кнопок мессенджеров */
        .order-2 .contact-direct-value-slot:nth-child(6) {
            flex-direction: row;
            justify-content: center;
        }

        /* Принудительный сброс выравнивания текстов */
        .order-2 .contact-direct-value,
        .order-2 a.contact-direct-value {
            text-align: center !important;
            width: 100%;
        }
    }
/* --- ANIMATIONS --- */
@keyframes logo-pulse-blue {
        0%, 100% {
            transform: scale(1);
            opacity: 0.85;
        }
        50% {
            transform: scale(1.03);
            opacity: 1;
        }
    }
@media (hover: hover) {
        .logo-link:hover .logo-img {
            animation: none !important;
            filter: drop-shadow(0 4px 15px color-mix(in srgb, var(--sitan-blue), transparent 75%));
        }
        .logo-link:hover { transform: scale(1.1); }
    }
/* --- GLOBAL TOUCH ENGINE STATES --- */
.logo-link.is-touched {
        transform: scale(0.9) !important;
        opacity: 0.9 !important;
        filter: drop-shadow(0 0 15px color-mix(in srgb, var(--sitan-blue), transparent 50%)) !important;
        transition-duration: 150ms !important;
    }
.nav-link-premium.is-touched {
        transform: scale(0.95) !important;
        opacity: 0.8 !important;
        color: var(--sitan-blue) !important;
        transition-duration: 100ms !important;
    }
.mobile-menu-link.is-touched {
        transform: scale(0.95) !important;
        opacity: 0.7 !important;
        color: var(--sitan-red) !important;
        transition-duration: 100ms !important;
    }
.header-icon-btn:active,
    .footer-link:active {
        transform: scale(0.9) !important;
        opacity: 0.7 !important;
        transition-duration: 100ms !important;
    }
/* ============================================================
       БАЗОВЫЕ СТИЛИ ДЛЯ ФОНОВЫХ ИЗОБРАЖЕНИЙ
       ============================================================ */
.hero-bg-img,
    .app-zoom-img,
    .advantage-zoom-img {
        transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.35s;
        transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translateZ(0);
        perspective: 1000px;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        transform: scale(1);
    }
.hero-dynamic-veil {
        transition: opacity 1s ease-in-out 0.35s;
        opacity: 1;
    }
/* ============================================================
       СТАБИЛИЗАЦИЯ ТЕКСТА В HERO СЕКЦИЯХ
       ============================================================ */
[data-touch-group="hero"] p,
    .sitan-hero-subtitle {
    text-rendering: geometricPrecision;
    -moz-osx-font-smoothing: grayscale;
    font-variant-ligatures: none;
        text-rendering: optimizeLegibility;
        color: var(--sitan-white);
        opacity: 0.8;
        text-shadow: 0 1px 8px color-mix(in srgb, var(--sitan-black), transparent 60%);
        font-weight: 400 !important;
        transform: translateZ(0);
        -webkit-font-smoothing: antialiased;
        transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.35s,
                    opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.35s,
                    text-shadow 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0.35s;
}
/* Hero-подзаголовки: непрозрачная тень при hover/touch для читаемости */
[data-touch-group="hero"]:is(:has([data-touch-trigger]:hover), .is-touch-active) .hero-subtitle-text,
    [data-touch-group="investment"]:is(:has([data-touch-trigger]:hover), .is-touch-active) .hero-subtitle-text,
    [data-touch-group="catalog"]:is(:has([data-touch-trigger]:hover), .is-touch-active) .hero-subtitle-text,
    [data-touch-group="catalog"]:has(.epd-card:hover) .hero-subtitle-text {
        color: #FFFFFF !important;
        text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85) !important;
        opacity: 1 !important;
        transition: color 0.5s cubic-bezier(0.19, 1, 0.22, 1),
                    opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1),
                    text-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    }
/* ============================================================
       УНИВЕРСАЛЬНАЯ МЯГКАЯ ТЕНЬ (все карточки и таблицы)
       ============================================================ */
.epd-card,
    .group\/app-card,
    .highlight-card-base,
    .comp-card-blue-logic,
    .safety-card-green-logic,
    .process-step-card,
    .cert-card,
    .product-card,
    .tech-table-viewport {
        box-shadow: 0 4px 20px color-mix(in srgb, var(--sitan-black), transparent 94%),
                    0 1px 4px color-mix(in srgb, var(--sitan-black), transparent 96%);
    }
/* ============================================================
       СИСТЕМА КАРТОЧЕК (EPD & Applications)
       ============================================================ */
/* Card transitions определены в _cards.css — без дублирования */
/* index-applications: красная обводка при ховере (повышенная специфичность) */
@media (hover: hover) {
        #section-applications .group\/app-card:hover {
            border-color: var(--sitan-red) !important;
            box-shadow: 0 12px 20px color-mix(in srgb, var(--sitan-blue), transparent 88%) !important;
            transform: translateY(-5px);
        }
    }
/* Специфика синих карточек (EPD) */
.epd-card .app-icon { color: var(--sitan-blue); }
.epd-card .app-card-title { color: var(--sitan-gray-dark); opacity: 0.8; transition: color 0.4s ease, opacity 0.4s ease; }
.epd-card p { color: var(--sitan-black); font-weight: 900; }
@media (hover: none) {
        * { -webkit-tap-highlight-color: transparent; }
    }
/* ============================================================
       SITAN EPD FINAL OVERRIDES
       ============================================================ */
/* 1. ISO БЕЙДЖИ: Свечение управляется из JS (auto + group glow) */
.iso-badge-sitan {
    cursor: default;
    border-radius: 0.75rem;
    border-width: 2px;
    border-color: rgb(255 255 255 / 0.2);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
        transition: color 0.5s cubic-bezier(0.19, 1, 0.22, 1),
                    border-color 0.5s cubic-bezier(0.19, 1, 0.22, 1),
                    background-color 0.5s cubic-bezier(0.19, 1, 0.22, 1),
                    box-shadow 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        -webkit-tap-highlight-color: transparent;
}
.iso-badge-sitan.iso-glow {
        color: var(--sitan-green-bright) !important;
        border-color: var(--sitan-green-bright) !important;
        background-color: color-mix(in srgb, var(--sitan-green-bright), transparent 93%) !important;
        box-shadow: 0 0 20px color-mix(in srgb, var(--sitan-green-bright), transparent 60%);
    }
/* 2. КАРТОЧКИ EPD: Центрирование и визуальные правки */
.contact-form-rhythm .flex.epd-card > label[for] {
        margin-bottom: 0.75rem !important;
    }
.epd-card {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}
.epd-card .app-section-title-box {
    display: inline-block !important;
    width: auto !important;
}
.epd-card .app-section-title-box h1,.epd-card .app-section-title-box h2 {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
}
.contact-form-rhythm .flex.epd-card .app-card-text-wrapper > label[for] {
        margin-bottom: 0.75rem !important;
    }
.epd-card .app-card-text-wrapper {
    margin-right: 0px !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}
.epd-card .app-card-text-wrapper .app-section-title-box {
    display: inline-block !important;
    width: auto !important;
}
.epd-card .app-card-text-wrapper .app-section-title-box h1,.epd-card .app-card-text-wrapper .app-section-title-box h2 {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
}
/* Делаем .Title карточки темнее по умолчанию именно для EPD */
.epd-card .app-card-title {
        color: var(--sitan-black) !important;
        opacity: 0.85 !important;
        font-weight: 700 !important;
    }
/* ============================================================
       ADVANTAGES CAROUSEL ENGINE
       ============================================================ */
/* 1. ПЛАВНОСТЬ ПОЯВЛЕНИЯ КАРТОЧЕК */
.swiper-slide .advantage-card-animation-group {
        opacity: 0;
        transform: translateY(20px);
        transition: transform 0.4s ease-in, opacity 0.4s ease-in;
    }
.swiper-slide-active .advantage-card-animation-group {
        opacity: 1;
        transform: translateY(0);
        transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.3s,
        opacity 0.8s ease-out 0.3s;
    }
/* 2. БАЗОВОЕ СОСТОЯНИЕ ЭЛЕМЕНТОВ (Синхронизировано с Hero) */
.advantage-zoom-img {
        transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
        transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        perspective: 1000px;
        transform: scale(1);
    }
/* .hero-dynamic-veil — базовое правило определено выше (БАЗОВЫЕ СТИЛИ ДЛЯ ФОНОВЫХ ИЗОБРАЖЕНИЙ) */
.sitan-advantage-block {
    border-radius: 1rem;
    border-width: 2px;
        border-color: var(--sitan-blue);
        transition: transform 0.5s ease-out,
                    border-color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
        background-color: var(--sitan-white);
        box-shadow: 0 15px 35px color-mix(in srgb, #000, transparent 92%);
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        transform: translateZ(0);
        pointer-events: auto;
}
/* СТАТИЧНЫЙ ЗАГОЛОВОК — позиция из шаблона (top-*), здесь только общие стили */
.advantage-main-title {
        position: absolute;
        left: 0;
        right: 0;
        text-align: center;
        z-index: 100 !important;
        pointer-events: none;
        opacity: 1 !important;
        visibility: visible !important;
        /* Мобильная версия: выше (шаблон top-8), с md — top-24 из шаблона */
        top: 2rem; /* ~32px, чуть выше чем было 10% */
    }
@media (min-width: 768px) {
        .advantage-main-title {
            top: 6rem; /* md:top-24 */
        }
    }
/* Плашка заголовка: Синхронизация с _headings.css (деактивация: тень → заливка) */
.advantage-main-title h2 span {
        color: var(--sitan-white) !important;
        background-color: transparent;
        text-shadow: 0 2px 10px color-mix(in srgb, #000, transparent 50%);
        box-shadow: 0 10px 20px transparent;
        pointer-events: auto;
        transition: background-color 0.9s cubic-bezier(0.19, 1, 0.22, 1) 0.15s,
                    color 0.9s cubic-bezier(0.19, 1, 0.22, 1) 0.15s,
                    box-shadow 0.3s ease-out 0s;
        display: inline-block;
        transform: translateZ(0);
    }
/* Гарантируем, что заголовки внутри advantage-main-title имеют ширину по содержимому */
.advantage-main-title .app-section-title-box h2 {
        display: inline-block;
        width: auto;
    }
.sitan-advantage-block h3 {
        color: color-mix(in srgb, var(--sitan-red), transparent 25%);
        transition: color 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    }
.sitan-advantage-block p {
        color: var(--sitan-gray-dark);
        opacity: 0.7;
        font-weight: 700;
        transition: color 0.5s ease, opacity 0.5s ease;
    }
/* 3. DESKTOP LOGIC (Hover) */
@media (hover: hover) {
        /* Эффект при ховере на САМ заголовок (как в Hero) */
        .advantage-main-title h2 span:hover {
            background-color: color-mix(in srgb, var(--sitan-red), #fff 18%) !important;
            background-image: linear-gradient(135deg,
                color-mix(in srgb, var(--sitan-red), #fff 30%) 0%,
                color-mix(in srgb, var(--sitan-red), #fff 18%) 50%,
                color-mix(in srgb, var(--sitan-red), #fff 10%) 100%) !important;
            color: var(--sitan-white) !important;
            box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-red), transparent 82%) !important;
            text-shadow: none;
            transition: background-color 0.35s cubic-bezier(0.19, 1, 0.22, 1),
                        color 0.35s cubic-bezier(0.19, 1, 0.22, 1),
                        box-shadow 0.3s ease-out 0.2s;
        }

        /* Подсветка при ховере на КАРТОЧКУ */
        [data-touch-group="advantages"]:has(.sitan-advantage-block:hover) .advantage-main-title h2 span {
            background-color: color-mix(in srgb, var(--sitan-red), #fff 18%) !important;
            background-image: linear-gradient(135deg,
                color-mix(in srgb, var(--sitan-red), #fff 30%) 0%,
                color-mix(in srgb, var(--sitan-red), #fff 18%) 50%,
                color-mix(in srgb, var(--sitan-red), #fff 10%) 100%) !important;
            color: var(--sitan-white) !important;
            box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-red), transparent 82%) !important;
            text-shadow: none;
            transition: background-color 0.35s cubic-bezier(0.19, 1, 0.22, 1),
                        color 0.35s cubic-bezier(0.19, 1, 0.22, 1),
                        box-shadow 0.3s ease-out 0.2s;
        }

        /* Фоновые эффекты при ховере на КАРТОЧКУ */
        .swiper-slide:has(.sitan-advantage-block:hover) .advantage-zoom-img {
            transform: scale(1.1) !important;
        }
        .swiper-slide:has(.sitan-advantage-block:hover) .hero-dynamic-veil {
            opacity: 0 !important;
        }

        /* Ховер самой карточки */
        .sitan-advantage-block:hover {
            background-color: color-mix(in srgb, var(--sitan-white), transparent 5%) !important;
            border-color: var(--sitan-red) !important;
            box-shadow: 0 8px 18px color-mix(in srgb, var(--sitan-blue), transparent 88%) !important;
            transform: translateY(-5px);
        }
        .sitan-advantage-block:hover h3 { color: var(--sitan-red) !important; }
    }
/* ============================================================
       MOBILE LOGIC (Touch Sync: Hero, Apps, Advantages)
       ============================================================ */
/* 1. ГЛОБАЛЬНЫЙ ЗУМ ФОНА И ВУАЛЬ */
/* Mobile: scale(1.05) — меньше пикселей для GPU raster */
[data-touch-group].is-touch-active .hero-bg-img,
    [data-touch-group].is-touch-active .app-zoom-img,
    [data-touch-group].is-touch-active .advantage-zoom-img,
    [data-touch-group].state-trigger-title .hero-bg-img,
    [data-touch-group].state-trigger-title .app-zoom-img,
    [data-touch-group].state-trigger-apps-title .app-zoom-img,
    [data-touch-group].state-trigger-title .advantage-zoom-img {
        transform: scale(1.05) !important;
        transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
    }
/* Desktop: scale(1.1) — GPU мощнее */
@media (min-width: 768px) {
        [data-touch-group].is-touch-active .hero-bg-img,
        [data-touch-group].is-touch-active .app-zoom-img,
        [data-touch-group].is-touch-active .advantage-zoom-img,
        [data-touch-group].state-trigger-title .hero-bg-img,
        [data-touch-group].state-trigger-title .app-zoom-img,
        [data-touch-group].state-trigger-apps-title .app-zoom-img,
        [data-touch-group].state-trigger-title .advantage-zoom-img {
            transform: scale(1.1) !important;
        }
    }
[data-touch-group].is-touch-active .hero-dynamic-veil,
    [data-touch-group].state-trigger-title .hero-dynamic-veil,
    [data-touch-group].state-trigger-apps-title .hero-dynamic-veil {
        opacity: 0 !important;
        transition: opacity 1s ease-in-out;
    }
/* 2. АКТИВАЦИЯ ЗАГОЛОВКОВ (Red Highlight Logic) */
/* HERO & ADVANTAGES (Стандартный триггер title) */
[data-touch-group="hero"].state-trigger-title h1 span:not(.sitan-accent-blue),
    [data-touch-group="advantages"].state-trigger-title .advantage-main-title h2 span,
    [data-touch-group="advantages"].is-touch-active .advantage-main-title h2 span {
        background-color: color-mix(in srgb, var(--sitan-red), #fff 18%) !important;
        background-image: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-red), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-red), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-red), #fff 10%) 100%) !important;
        color: var(--sitan-white) !important;
        box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-red), transparent 82%) !important;
        text-shadow: none !important;
        transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    text-shadow 0.25s ease-out,
                    box-shadow 0.35s ease-out 0.25s;
    }
/* APPLICATIONS (Специфичный триггер apps-title из HTML) */
[data-touch-group="apps"].state-trigger-apps-title .app-section-title-box h2 span,
    [data-touch-group="apps"].is-touch-active .app-section-title-box h2 span {
        background-color: color-mix(in srgb, var(--sitan-red), #fff 18%) !important;
        background-image: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-red), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-red), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-red), #fff 10%) 100%) !important;
        color: var(--sitan-white) !important;
        box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-red), transparent 82%) !important;
        text-shadow: none !important;
        transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    text-shadow 0.25s ease-out,
                    box-shadow 0.35s ease-out 0.25s;
    }
/* 3. СПЕЦИФИКА EPD (Blue Highlight Logic) */
[data-touch-group="hero"].state-trigger-title .sitan-accent-blue,
    [data-touch-group="hero"].is-touch-active .sitan-accent-blue {
        background-color: color-mix(in srgb, var(--sitan-blue), #fff 18%) !important;
        background-image: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-blue), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-blue), #fff 10%) 100%) !important;
        color: var(--sitan-white) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-blue), transparent 82%) !important;
        transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    text-shadow 0.25s ease-out,
                    box-shadow 0.35s ease-out 0.25s;
    }
/* 4. ИНДИВИДУАЛЬНЫЙ HOVER КАРТОЧЕК (Apps & EPD) */
/* 4b. ИНДИВИДУАЛЬНЫЙ ТАЧ КАРТОЧЕК (Apps & EPD) */
/* 5. ИНДИВИДУАЛЬНЫЙ ТАЧ КАРТОЧЕК (Advantages) */
.group\/advantage.is-touched .sitan-advantage-block {
        border-color: var(--sitan-red) !important;
        box-shadow: 0 10px 25px color-mix(in srgb, var(--sitan-blue), transparent 85%) !important;
    }
.group\/advantage.is-touched .sitan-advantage-block h3 {
        color: var(--sitan-red) !important;
    }
.sitan-advantage-block:hover p,
    .group\/advantage.is-touched .sitan-advantage-block p {
        color: var(--sitan-black) !important;
        opacity: 1 !important;
    }
/* 6. УТИЛИТЫ */
@media (hover: none) {
        * { -webkit-tap-highlight-color: transparent; }
    }
/* --------------------------------------------------
       3) PREMIUM BUTTONS SYSTEM (SEMANTIC & ISOLATED)
       --------------------------------------------------*/
/* --- SYSTEM COMPONENTS --- */
.snap-section-content {
    width: 100%;
    --tw-translate-y: 1.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 0;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    perspective: 1000px;
        transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.snap-section-content.is-visible {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 1;
}
/* Hero-секция: контент видим сразу для LCP (is-visible прописан в HTML) */
#section-hero .snap-section-content.is-visible {
        opacity: 1 !important;
        transform: translateY(0) !important;
        transition: none;
    }
/* Уменьшение отступа заголовка на десктопе для catalog-warranty */
@media (min-width: 768px) {
        #section-catalog-warranty .snap-section-content {
            padding-top: 2rem !important; /* 32px вместо 48px (pt-12) */
        }
    }
/* Sitan Eco: равные отступы (синхронизированы с шаблоном) */
#section-sitan-eco .snap-section-content > div:first-of-type {
        margin-bottom: 2rem !important;
    }
@media (min-width: 768px) {
        #section-sitan-eco .snap-section-content > div:first-of-type {
            margin-bottom: 2.5rem !important;
        }
    }
/* ============================================================
       SITAN HIGHLIGHTS (Global Sync & Precision Touch)
       ПРИМЕЧАНИЕ: Основная логика перенесена в assets/css/interactions/_highlights.css
       ============================================================ */
/* 6. КОРРЕКЦИЯ ОТСТУПОВ (Через ID для высокого приоритета) */
.contact-form-rhythm #section-highlights .\!container.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex#section-highlights .\!container > label[for] {
        margin-bottom: 0.75rem;
    }
#section-highlights .\!container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.contact-form-rhythm #section-highlights .container.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex#section-highlights .container > label[for] {
        margin-bottom: 0.75rem;
    }
#section-highlights .container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
/* Верхний отступ сетки карточек контролируется шаблоном */
/* ============================================================
       SITAN TECH & ECO SYNCHRONIZED STYLES
       ФИКС: Восстановление Hover/Touch эффектов + Увеличенные шрифты
       ============================================================ */
/* 1. БАЗОВЫЕ СОСТОЯНИЯ (АТМОСФЕРА ПОКОЯ) */
#section-sitan-properties .hero-bg-img,
    #section-sitan-eco .hero-bg-img,
    #section-sitan-installation .hero-bg-img {
        opacity: 0;
        transform: scale(1);
        transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.8s ease;
    }
#section-sitan-properties .hero-dynamic-veil,
    #section-sitan-eco .hero-dynamic-veil,
    #section-sitan-installation .hero-dynamic-veil {
        opacity: 1;
        background-color: var(--sitan-white);
        transition: opacity 0.7s ease;
    }
/* 2. ТИПОГРАФИКА */
/* Перенесено в assets/css/interactions/_tech.css */
/* 3. СПЕЦИФИЧЕСКИЕ ЭФФЕКТЫ ECO */
#section-sitan-eco .group\/eco .eco-icon {
        filter: grayscale(1) opacity(0.4);
        transition: filter 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
/* Desktop: :hover — только при наличии курсора */
@media (hover: hover) {
        #section-sitan-eco .group\/eco:hover .eco-icon {
            filter: grayscale(0) opacity(1);
            transform: scale(1.25) rotate(5deg);
        }
    }
/* Mobile: .is-touched — снимается JS-движком при touchend */
#section-sitan-eco .group\/eco.is-touched .eco-icon {
        filter: grayscale(0) opacity(1);
        transform: scale(1.25) rotate(5deg);
    }
/* ФИКС: Подложка непрозрачна (Properties + Eco) */
#section-sitan-properties .tech-table-viewport,
    #section-sitan-eco .tech-table-viewport {
        background-color: var(--sitan-white) !important;
        -webkit-backdrop-filter: none !important;
                backdrop-filter: none !important;
        border: 2px solid var(--sitan-blue) !important;
    }
/* 4. ГЛОБАЛЬНАЯ СИНХРОНИЗАЦИЯ (АТМОСФЕРА ПРИ ХОВЕРЕ) */
/* Перенесено в assets/css/interactions/_tech.css */
/* 5. ОБЩАЯ ЛОГИКА СТРОК (ДЕСКТОП) */
@media (min-width: 768px) {
        .tech-row td:not(.sticky-col) { background-color: transparent !important; }

        .tech-row:nth-child(odd), .tech-row:nth-child(odd) .sticky-col { background-color: var(--sitan-white) !important; }
        .tech-row:nth-child(even), .tech-row:nth-child(even) .sticky-col { background-color: color-mix(in srgb, var(--sitan-black), transparent 99%) !important; }
    }
/* 5b. ДЕСКТОП ХОВЕР (только устройства с hover — не залипает на touch) */
@media (min-width: 768px) and (hover: hover) {
        /* Восстановление эффекта наведения на строку */
        #section-sitan-properties .tech-row:hover,
        #section-sitan-properties .tech-row:hover .sticky-col,
        #section-sitan-eco .tech-row:hover,
        #section-sitan-eco .tech-row:hover .sticky-col {
            background-color: color-mix(in srgb, var(--sitan-blue), transparent 94%) !important;
            z-index: 20;
        }

        /* Восстановление красного акцента при ховере */
        .tech-row:hover .tech-val { color: var(--sitan-red) !important; }

        .tech-row:hover .app-card-body,
        .tech-row:hover .tech-unit,
        .tech-row:hover .tech-std {
            opacity: 1 !important;
            color: var(--sitan-black) !important;
        }

        .tech-header-row th:hover { color: var(--sitan-red) !important; }
    }
/* 5c. TOUCH-ЭФФЕКТЫ ДЛЯ СТРОК (все экраны, JS-controlled) */
.tech-row.is-touched {
        background-color: color-mix(in srgb, var(--sitan-blue), transparent 95%) !important;
        z-index: 20;
    }
.tech-row.is-touched .sticky-col {
        background-color: color-mix(in srgb, var(--sitan-blue), transparent 95%) !important;
    }
.tech-row.is-touched .tech-val { color: var(--sitan-red) !important; }
.tech-row.is-touched .tech-mobile-header { color: var(--sitan-blue) !important; }
.tech-row.is-touched .app-card-body,
    .tech-row.is-touched .tech-unit,
    .tech-row.is-touched .tech-std {
        opacity: 1 !important;
        color: var(--sitan-black) !important;
    }
/* 6. ЛОКАЛЬНЫЕ ЭФФЕКТЫ (MOBILE ISOLATION & FIXES) */
@media (max-width: 767px) {
        #section-sitan-properties .tech-row td,
        #section-sitan-properties .tech-row div,
        #section-sitan-eco .tech-row td,
        #section-sitan-eco .tech-row div { background-color: transparent !important; }

        /* Состояние покоя на мобильном */
        .tech-row:not(.is-touched) .app-card-body,
        .tech-row:not(.is-touched) .tech-unit,
        .tech-row:not(.is-touched) .tech-std {
            opacity: 0.4 !important;
            color: var(--sitan-gray-dark) !important;
        }

        /* Мобильная добавка: border-color при touch */
        .tech-row.is-touched {
            border-color: color-mix(in srgb, var(--sitan-blue), transparent 80%) !important;
        }

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */
        .tech-row {
            border-bottom: 1px solid color-mix(in srgb, var(--sitan-black), transparent 97%);
            background-color: var(--sitan-white) !important;
            text-align: center !important;
            padding: 1.5rem 1rem !important; /* Увеличен отступ */
        }
    .contact-form-rhythm .tech-mobile-header.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
    .contact-form-rhythm .flex.tech-mobile-header > label[for] {
        margin-bottom: 0.75rem;
    }

        .tech-mobile-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        font-weight: 700;
            color: var(--sitan-black);
            font-size: 1.15rem; /* Увеличенный шрифт названия */
            line-height: 1.2;
            gap: 4px;
            transition: color 0.3s ease;
    }

        /* Группировка значения и юнита */
        .tech-row td .flex-row {
        align-items: center !important;
        justify-content: center !important;
        -moz-column-gap: 0.375rem !important;
             column-gap: 0.375rem !important;
            display: flex !important;
    }

        .tech-std-mobile { font-weight: 600; font-size: 0.95rem; opacity: 0.5; }
        .tech-val { font-size: 1.25rem !important; line-height: 1.2; } /* Единообразно с eco (text-xl) */
        .tech-unit { font-size: 0.9rem !important; text-transform: none !important; margin-top: 0.15rem; font-weight: 700; }
    }
/* 7. ВСПОМОГАТЕЛЬНЫЕ КЛАССЫ И ВЬЮПОРТ */
body.tech-table-viewport {
        overflow: hidden;
        width: 100%;
    }
.tech-table-viewport {
    margin-left: auto;
    margin-right: auto;
    max-width: 48rem;
    overflow: hidden;
    border-radius: 1.5rem;
        transition: border-color 0.7s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
        border: 2px solid var(--sitan-blue) !important;
        background-color: var(--sitan-white);
        box-shadow: 0 20px 50px color-mix(in srgb, var(--sitan-black), transparent 96%);
}
.tech-table-viewport th,
    .tech-table-viewport td,
    .tech-table-viewport .tech-param-name,
    .tech-table-viewport .tech-val,
    .tech-table-viewport .tech-unit,
    .tech-table-viewport .tech-std,
    .tech-table-viewport .app-card-body {
        text-transform: none !important;
    }
/* Красная обводка таблицы при hover (только устройства с hover) */
@media (hover: hover) {
        .tech-table-viewport:hover,
        .tech-table-viewport:has(.tech-row:hover),
        .tech-table-viewport:has(.tech-header-row:hover),
        #section-sitan-properties .tech-table-viewport:hover,
        #section-sitan-properties .tech-table-viewport:has(.tech-row:hover),
        #section-sitan-properties .tech-table-viewport:has(.tech-header-row:hover),
        #section-sitan-eco .tech-table-viewport:hover,
        #section-sitan-eco .tech-table-viewport:has(.tech-row:hover),
        #section-sitan-eco .tech-table-viewport:has(.tech-header-row:hover) {
            border-color: var(--sitan-red) !important;
        }
    }
/* Красная обводка таблицы при touch (JS-controlled, сбрасывается на touchend) */
.tech-table-viewport:has(.tech-row.is-touched),
    #section-sitan-properties .tech-table-viewport:has(.tech-row.is-touched),
    #section-sitan-eco .tech-table-viewport:has(.tech-row.is-touched) {
        border-color: var(--sitan-red) !important;
    }
.tech-val { font-variant-numeric: tabular-nums; --tw-numeric-spacing: tabular-nums; font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
        color: var(--sitan-black);
        font-weight: 800; /* Более жирный для читаемости */
        transition: color 0.3s ease; }
.tech-val.is-highlighted { color: var(--sitan-blue); }
.tech-unit { opacity: 0.6; color: var(--sitan-gray-dark); }
.tech-std { opacity: 0.5; color: var(--sitan-gray-dark); }
/* tech-compliance-box перенесено в assets/css/interactions/_tech.css */
.tabular-nums { font-variant-numeric: tabular-nums; }
/* ============================================================
       SECTION: SITAN COMPOSITION (Material & Ecology)
       ПРИМЕЧАНИЕ: Основная логика перенесена в модули:
       - assets/css/interactions/_tech.css (заголовки и compliance-box)
       - assets/css/interactions/_composition-cards.css (карточки)
       ============================================================ */
/* 0. ЛОКАЛЬНАЯ ТИПОГРАФИКА ЗАГОЛОВКА */
/* Перенесено в assets/css/interactions/_tech.css */
/* Переходы для окружения sitan-секций (composition, process, eco, installation)
       ВАЖНО: НЕ перекрывать базовые .hero-bg-img / .hero-dynamic-veil правила — 
       они определены выше и управляют hero / apps / advantages секциями */
/* ============================================================
       SHARED & SECTION-SPECIFIC: PROCESS & ECOLOGY
       Фикс: Активация индикаторов (цифр) и иконки ISO + Текста ISO
       ============================================================ */
/* 1. ОБЩАЯ ТИПОГРАФИКА ЗАГОЛОВКОВ (Process + Ecology) */
/* Подзаголовок Process — тот же стиль, что у highlights (жирнее, трекинг) */
#section-sitan-process .process-tech-subtitle {
        font-size: clamp(0.75rem, 1.2vw, 1.25rem) !important;
        text-transform: uppercase;
        font-weight: 600;
        letter-spacing: 0.12em;
        color: var(--sitan-gray-dark);
        opacity: 0.7;
        transition: color 0.7s ease-out, opacity 0.7s ease-out;
    }
/* 2. ФИЗИКА ФОНА (Универсально) */
#section-sitan-process .hero-bg-img,
    #section-sitan-eco .hero-bg-img,
    #section-sitan-installation .hero-bg-img {
        transition: transform 1s ease-out, opacity 1s ease-out;
    }
#section-sitan-process .hero-dynamic-veil,
    #section-sitan-eco .hero-dynamic-veil,
    #section-sitan-installation .hero-dynamic-veil {
        transition: opacity 0.7s ease-out;
    }
/* 3. КАРТОЧКИ (Process / Eco) — две строки: номер+заголовок, описание */
.process-step-card {
        display: grid !important;
        grid-template-rows: 1fr auto;
        justify-items: center;
        gap: 1rem;
        text-align: center;
        border-radius: 1rem;
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
        border: 2px solid var(--sitan-blue) !important;
        transition: transform 0.5s ease-out,
                    border-color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    box-shadow 0.2s ease-out 0.1s;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
        box-shadow: 0 4px 20px color-mix(in srgb, var(--sitan-black), transparent 97%);
    }
.process-step-card > div:first-child {
        align-self: center;
    }
.process-step-card > p {
        align-self: end;
    }
/* Убираем нижние отступы у детей — интервал задаёт gap */
.process-step-card .step-number-box,
    .process-step-card > div:first-child,
    .process-step-card h3 {
        margin-bottom: 0 !important;
    }
/* Фиксация элементов внутри (иконки 2xl, 3xl, 4xl и кружки с цифрами) */
.process-step-card .text-2xl,
    .process-step-card .text-3xl,
    .process-step-card .text-4xl,
    .process-step-card .step-number-box {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
.process-step-card h3,
    .tech-val {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}
.process-step-desc {
        transition: color 0.5s ease-out,
                    opacity 0.5s ease-out;
    }
/* Мобильная: текст в карточках Process и Eco */
@media (max-width: 767px) {
        .process-step-card {
            grid-template-rows: auto auto 1fr;
            gap: 0.35rem;
        }
        .process-step-card > div:first-child {
            flex-direction: column;
            gap: 0.25rem;
        }
        .process-step-card h3 {
            font-size: 0.7rem !important;
        }
        .process-step-card .process-step-desc {
            font-size: 0.6rem !important;
        }
        .process-step-card .step-number-box {
            font-size: 0.65rem !important;
        }
        .process-step-card .tech-val {
            font-size: 1.25rem !important;
        }
    }
/* 4. ФУТЕР (Compliance & ISO) */
.iso-text {
        font-size: clamp(11px, 1.5vw, 13px) !important;
        text-transform: uppercase;
        letter-spacing: 0.2em;
        font-weight: 700;
        color: var(--sitan-gray-dark);
        opacity: 0.7;
        transition: color 0.7s ease-out,
                    opacity 0.7s ease-out;
    }
/* Иконка ISO (Базовое состояние) */
.iso-box {
        color: var(--sitan-red) !important;
        border-color: color-mix(in srgb, var(--sitan-red), transparent 70%) !important;
        transition: border-color 0.5s ease-out,
                    color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
/* 5. ЛОГИКА АКТИВАЦИИ: DESKTOP (Hover) */
@media (hover: hover) {
        .process-step-card:hover {
            transform: translate3d(0, -10px, 0) !important;
            box-shadow: 0 20px 40px color-mix(in srgb, var(--sitan-blue), transparent 94%) !important;
            border-color: var(--sitan-red) !important;
        }

        .process-step-card:hover .step-number-box {
            box-shadow: 0 10px 20px color-mix(in srgb, var(--sitan-blue), transparent 85%) !important;
        }

        [data-touch-group="process"]:has([data-touch-trigger]:hover) .process-tech-subtitle,
        [data-touch-group="installation"]:has([data-touch-trigger]:hover) .process-tech-subtitle {
            color: var(--sitan-black) !important;
            opacity: 1 !important;
        }

        [data-touch-group="process"]:has([data-touch-trigger]:hover) .hero-bg-img,
        [data-touch-group="ecology"]:has([data-touch-trigger]:hover) .hero-bg-img,
        [data-touch-group="installation"]:has([data-touch-trigger]:hover) .hero-bg-img {
        --tw-scale-x: 1.05 !important;
        --tw-scale-y: 1.05 !important;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
        opacity: 1 !important;
    }

        [data-touch-group="process"]:has([data-touch-trigger]:hover) .hero-dynamic-veil,
        [data-touch-group="ecology"]:has([data-touch-trigger]:hover) .hero-dynamic-veil,
        [data-touch-group="installation"]:has([data-touch-trigger]:hover) .hero-dynamic-veil {
        opacity: 0.3 !important;
    }

        /* Активация Футера (Текст + ISO Box + ISO Text) */

        [data-touch-group="process"]:has([data-touch-trigger]:hover) .iso-box {
            border-color: var(--sitan-blue) !important;
            color: var(--sitan-blue) !important;
        }
    }
/* 6. ЛОГИКА АКТИВАЦИИ: MOBILE (Touch) */
[data-touch-group="process"].is-touch-active .process-tech-subtitle,
    [data-touch-group="installation"].is-touch-active .process-tech-subtitle {
        color: var(--sitan-black) !important;
        opacity: 1 !important;
    }
[data-touch-group="process"]:is(:has([data-touch-trigger]:hover), .is-touch-active) .iso-text,
    [data-touch-group="ecology"]:is(:has([data-touch-trigger]:hover), .is-touch-active) .iso-text {
        color: var(--sitan-black) !important;
        opacity: 1 !important;
    }
[data-touch-group="process"].is-touch-active .hero-bg-img,
    [data-touch-group="ecology"].is-touch-active .hero-bg-img,
    [data-touch-group="installation"].is-touch-active .hero-bg-img {
    --tw-scale-x: 1.05 !important;
    --tw-scale-y: 1.05 !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
    opacity: 1 !important;
}
/* Активация ISO элементов на мобильном таче */
[data-touch-group="process"].is-touch-active .iso-box {
        border-color: var(--sitan-blue) !important;
        color: var(--sitan-blue) !important;
    }
/* Индивидуальный тач карточки */
.process-step-card.is-touched {
        transform: translate3d(0, -4px, 0) !important;
        box-shadow: 0 10px 25px color-mix(in srgb, var(--sitan-black), transparent 95%) !important;
        border-color: var(--sitan-red) !important;
    }
.process-step-card.is-touched .step-number-box {
        box-shadow: 0 5px 15px color-mix(in srgb, var(--sitan-blue), transparent 85%) !important;
    }
.process-step-card:is(:hover, .is-touched) h3,
    .process-step-card:is(:hover, .is-touched) .tech-val {
        color: var(--sitan-blue) !important;
    }
.process-step-card:is(:hover, .is-touched) .step-number-box {
        background-color: color-mix(in srgb, var(--sitan-blue), #fff 22%) !important;
        border-color: color-mix(in srgb, var(--sitan-blue), #fff 22%) !important;
        color: white !important;
    }
.process-step-card:is(:hover, .is-touched) .process-step-desc {
        color: var(--sitan-black) !important;
        opacity: 1 !important;
    }
/* INVEST STAT CARDS — reverse delay on release (3→2→1) */
.invest-stat-card {
        transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1),
                    box-shadow 0.5s cubic-bezier(0.19, 1, 0.22, 1),
                    border-color 0.5s ease-out;
    }
.invest-stat-card:nth-child(1) { transition-delay: 160ms; }
.invest-stat-card:nth-child(2) { transition-delay: 80ms; }
.invest-stat-card:nth-child(3) { transition-delay: 0ms; }
.invest-stat-value {
        transition: color 0.5s ease-out, text-shadow 0.4s ease-out;
    }
.invest-stat-label {
        transition: color 0.5s ease-out;
    }
@media (hover: hover) {
        .invest-stat-card:hover {
            transform: translateY(-3px);
            border-color: color-mix(in srgb, var(--sitan-green), transparent 40%);
            box-shadow: 0 6px 16px color-mix(in srgb, var(--sitan-green), transparent 92%);
        }
        .invest-stat-card:hover .invest-stat-value {
            text-shadow: 0 0 10px color-mix(in srgb, var(--sitan-green), transparent 70%);
        }
        .invest-stat-card:hover .invest-stat-label {
            color: var(--sitan-black);
        }
    }
.invest-stat-card.is-touched {
        transform: translateY(-2px) !important;
        border-color: color-mix(in srgb, var(--sitan-green), transparent 40%) !important;
        box-shadow: 0 4px 12px color-mix(in srgb, var(--sitan-green), transparent 92%) !important;
    }
.invest-stat-card:is(.is-touched, .invest-card-glow) .invest-stat-value {
        text-shadow: 0 0 10px color-mix(in srgb, var(--sitan-green), transparent 70%) !important;
    }
.invest-stat-card:is(.is-touched, .invest-card-glow) .invest-stat-label {
        color: var(--sitan-black) !important;
    }
/* All invest cards glow sequentially when invest button is hovered or touched */
@media (hover: hover) {
        .invest-stats-row:has(~ div #invest-download-trigger:hover) .invest-stat-card {
            transform: translateY(-3px);
            border-color: color-mix(in srgb, var(--sitan-green), transparent 40%);
            box-shadow: 0 6px 16px color-mix(in srgb, var(--sitan-green), transparent 92%);
        }
        .invest-stats-row:has(~ div #invest-download-trigger:hover) .invest-stat-card:nth-child(1) { transition-delay: 0ms; }
        .invest-stats-row:has(~ div #invest-download-trigger:hover) .invest-stat-card:nth-child(2) { transition-delay: 80ms; }
        .invest-stats-row:has(~ div #invest-download-trigger:hover) .invest-stat-card:nth-child(3) { transition-delay: 160ms; }
        .invest-stats-row:has(~ div #invest-download-trigger:hover) .invest-stat-value {
            text-shadow: 0 0 10px color-mix(in srgb, var(--sitan-green), transparent 70%);
        }
        .invest-stats-row:has(~ div #invest-download-trigger:hover) .invest-stat-label {
            color: var(--sitan-black);
        }
    }
.invest-stat-card.invest-card-glow,
    .invest-stats-row:has(~ div #invest-download-trigger:hover) .invest-stat-card {
        transform: translateY(-3px) !important;
        border-color: color-mix(in srgb, var(--sitan-green), transparent 40%) !important;
        box-shadow: 0 6px 16px color-mix(in srgb, var(--sitan-green), transparent 92%) !important;
    }
/* 7. ТАБЛИЦА */
#section-sitan-eco .tech-table-viewport {
        transition: border-color 0.7s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
/* Эко-карточки: совместимость с общим gap */
[data-touch-group="ecology"]:has([data-touch-trigger="table"]:hover) .tech-table-viewport {
        border-color: var(--sitan-red) !important;
        box-shadow: 0 10px 30px color-mix(in srgb, var(--sitan-black), transparent 96%) !important;
    }
/* --- SECTION: CERTIFICATES (MOBILE OPTIMIZED & BUGFIX FINAL) --- */
/* Заголовок certificates: зелёная заливка вместо синей */
@media (hover: hover) {
        #section-certificates:has([data-touch-trigger]:hover) .sitan-accent-blue,
        #section-certificates:has(.cert-card:hover) .sitan-accent-blue {
            background-color: color-mix(in srgb, var(--sitan-green), #fff 18%) !important;
            background-image: linear-gradient(135deg,
                color-mix(in srgb, var(--sitan-green), #fff 30%) 0%,
                color-mix(in srgb, var(--sitan-green), #fff 18%) 50%,
                color-mix(in srgb, var(--sitan-green), #fff 10%) 100%) !important;
            text-shadow: 0 1px 3px rgba(0,0,0,0.12);
            box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-green), transparent 82%) !important;
        }
    }
#section-certificates.is-touch-active .sitan-accent-blue,
    #section-certificates.state-trigger-title .sitan-accent-blue {
        background-color: color-mix(in srgb, var(--sitan-green), #fff 18%) !important;
        background-image: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-green), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-green), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-green), #fff 10%) 100%) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        box-shadow: 0 8px 16px color-mix(in srgb, var(--sitan-green), transparent 82%) !important;
    }
.cert-card {
        height: 100%;
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 160px;
        align-items: center;
        justify-content: center;
        border-radius: 1.25rem;
        border-width: 2px;
        padding: 1.25rem;
        text-align: center;
    }
.cert-card .app-section-title-box {
    display: inline-block;
    width: auto;
}
.cert-card .app-section-title-box h1,.cert-card .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
@media (min-width: 1024px) {
    .cert-card {
        padding: 1.5rem;
    }
}
.cert-card {
        border-color: color-mix(in srgb, var(--sitan-blue), transparent 45%);

        /* Базовый фон - белый и непрозрачный */
        background-color: var(--sitan-white) !important;
        opacity: 1 !important;
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    border-color 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
/* Принудительный сброс цвета текста для состояния "покоя" */
.cert-card:not(:hover):not(.is-touched) .cert-card-title {
        color: var(--sitan-blue) !important;
    }
.cert-card:not(:hover):not(.is-touched) .cert-card-body {
        color: var(--sitan-gray) !important;
    }
/* Заголовок: Увеличен порог для мобилок (1.15rem) */
.cert-card-title {
    margin-bottom: 0.25rem;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.25;
    letter-spacing: -0.05em;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
        font-size: clamp(1.15rem, 5vw, 1.5rem) !important;
        color: var(--sitan-blue) !important;
}
/* Описание: Увеличен порог для мобилок (0.95rem) */
.cert-card-body {
    font-weight: 700;
    line-height: 1.25;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
        font-size: clamp(0.95rem, 4vw, 1.1rem) !important;
        color: var(--sitan-gray) !important;
}
/* СОСТОЯНИЯ: АКТИВАЦИЯ (HOVER & TOUCH) */
.cert-card:hover,
    .cert-card.is-touched {
        background-color: color-mix(in srgb, var(--sitan-blue), #fff 22%) !important;
        border-color: transparent !important;
        box-shadow: 0 6px 16px color-mix(in srgb, var(--sitan-blue), transparent 88%) !important;
        transform: translateY(-3px) scale(1.01);
    }
/* ИНВЕРСИЯ: Белый текст при активе */
.cert-card:hover .cert-card-title,
    .cert-card.is-touched .cert-card-title,
    .cert-card:hover .cert-card-body,
    .cert-card.is-touched .cert-card-body {
        color: var(--sitan-white) !important;
        opacity: 1 !important;
    }
/* ДОПОЛНИТЕЛЬНЫЙ ФИКС ДЛЯ ПОДПИСИ (из шаблона тех. соответствия) */
/* tech-compliance-box перенесено в assets/css/interactions/_tech.css */
.tech-compliance-box.is-touched p {
        color: var(--sitan-blue) !important;
        opacity: 1 !important;
    }
.tech-compliance-box.is-touched .compliance-heading-group p {
        color: var(--sitan-white) !important;
        opacity: 1 !important;
    }
/* СТРОГИЙ СБРОС ДЛЯ МОБИЛОК (Media Query) */
@media (hover: none) {
        /* Убираем эффект ховера, который имитирует смартфон */
        .cert-card:hover:not(.is-touched) {
            background-color: var(--sitan-white) !important;
            border-color: var(--sitan-blue) !important;
            opacity: 1 !important;
            transform: none;
            box-shadow: none;
        }
        /* Возвращаем цвета текста, если нет класса .is-touched */
        .cert-card:hover:not(.is-touched) .cert-card-title {
            color: var(--sitan-blue) !important;
        }
        .cert-card:hover:not(.is-touched) .cert-card-body {
            color: var(--sitan-gray) !important;
        }
    }
/* --- SECTION: PRODUCT CATALOG --- */
/* 1. Позиционирование: отступы задаются в шаблоне (pt-4 md:pt-4 pb-4 md:pb-6) */
#section-catalog-products {
    padding-top: 0px;
    padding-bottom: 0px;
}
/* Заголовок catalog-products: синяя полоса вместо зелёной */
#section-catalog-products .section-heading-group::before {
        background: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-blue), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-blue), #fff 10%) 100%);
    }
@media (hover: hover) {
        #section-catalog-products:has([data-touch-trigger]:hover) .section-heading-group,
        #section-catalog-products:has(.tech-row:hover) .section-heading-group {
            box-shadow: 0 4px 14px color-mix(in srgb, var(--sitan-blue), transparent 78%),
                        0 1px 4px color-mix(in srgb, var(--sitan-blue), transparent 85%);
        }
    }
#section-catalog-products.is-touch-active .section-heading-group {
        box-shadow: 0 4px 14px color-mix(in srgb, var(--sitan-blue), transparent 78%),
                    0 1px 4px color-mix(in srgb, var(--sitan-blue), transparent 85%);
    }
/* Compliance catalog-products: зелёная полоса вместо синей */
#section-catalog-products .compliance-heading-group::before {
        background: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-green), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-green), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-green), #fff 10%) 100%);
    }
@media (hover: hover) {
        #section-catalog-products:has([data-touch-trigger]:hover) .compliance-heading-group,
        #section-catalog-products:has(.tech-row:hover) .compliance-heading-group {
            box-shadow: 0 4px 14px color-mix(in srgb, var(--sitan-green), transparent 78%),
                        0 1px 4px color-mix(in srgb, var(--sitan-green), transparent 85%);
        }
    }
#section-catalog-products.is-touch-active .compliance-heading-group {
        box-shadow: 0 4px 14px color-mix(in srgb, var(--sitan-green), transparent 78%),
                    0 1px 4px color-mix(in srgb, var(--sitan-green), transparent 85%);
    }
/* 2. Заголовок секции каталога: привязан СТРОГО к #section-catalog-products */
#section-catalog-products [data-touch-trigger="title"] span {
    display: inline-block;
    cursor: default;
        color: var(--sitan-black);
        background-color: var(--sitan-accent-blue);
        transition: background-color 0.4s cubic-bezier(0.19, 1, 0.22, 1),
                    color 0.3s ease-out,
                    box-shadow 0.3s ease-out,
                    transform 0.3s ease-out;
}
/* Эффект наведения (только для устройств с мышью) */
@media (hover: hover) {
        #section-catalog-products [data-touch-trigger="title"]:hover span {
            background-color: color-mix(in srgb, var(--sitan-blue), #fff 18%) !important;
            background-image: linear-gradient(135deg,
                color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
                color-mix(in srgb, var(--sitan-blue), #fff 18%) 50%,
                color-mix(in srgb, var(--sitan-blue), #fff 10%) 100%) !important;
            color: var(--sitan-white) !important;
            text-shadow: 0 1px 3px rgba(0,0,0,0.12);
            --tw-scale-x: 1.05;
            --tw-scale-y: 1.05;
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
            --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }
    }
#section-catalog-products [data-touch-trigger="title"].is-touched span {
        background-color: color-mix(in srgb, var(--sitan-blue), #fff 18%) !important;
        background-image: linear-gradient(135deg,
            color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
            color-mix(in srgb, var(--sitan-blue), #fff 18%) 50%,
            color-mix(in srgb, var(--sitan-blue), #fff 10%) 100%) !important;
        color: var(--sitan-white) !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        --tw-scale-x: 1.05;
        --tw-scale-y: 1.05;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
@media (hover: hover) {
        #section-catalog-products .snap-section-content:has(.tech-compliance-box:hover) [data-touch-trigger="title"] span {
            background-color: color-mix(in srgb, var(--sitan-blue), #fff 18%) !important;
            background-image: linear-gradient(135deg,
                color-mix(in srgb, var(--sitan-blue), #fff 30%) 0%,
                color-mix(in srgb, var(--sitan-blue), #fff 18%) 50%,
                color-mix(in srgb, var(--sitan-blue), #fff 10%) 100%) !important;
            color: var(--sitan-white) !important;
            text-shadow: 0 1px 3px rgba(0,0,0,0.12);
        }
    }
/* 3. Карточка товара */
.product-card {
        display: flex;
        flex-direction: column;
    }
body.product-card {
        overflow: hidden;
        width: 100%;
    }
.product-card {
    position: relative;
    overflow: hidden;
    border-radius: 1.5rem;
    border-width: 2px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
        border-color: var(--sitan-blue);
        transition: transform 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
        background-color: rgba(245, 245, 245, 0.3) !important;
}
@media (min-width: 1024px) {
        .product-card {
            flex-direction: row;
            align-items: center;
            padding: 1rem;
        }
    }
/* Контейнер фото */
body.product-image-container {
        overflow: hidden;
        width: 100%;
    }
.product-image-container {
    height: 14rem;
    width: 100%;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 1rem;
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
@media (min-width: 1024px) {
        .product-image-container {
            width: clamp(10rem, 20vw, 14rem);
            height: clamp(7rem, 14vw, 10rem);
        }
    }
.product-image {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 700ms;
}
/* Блок информации */
.product-info {
    flex-grow: 1;
    padding: 1.5rem;
    text-align: left;
}
@media (min-width: 1024px) {
    .product-info {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
.product-title {
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.25;
    letter-spacing: -0.05em;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
        font-size: clamp(1.2rem, 3vw, 1.75rem) !important;
        color: var(--sitan-blue) !important;
}
.product-description {
    margin-top: 0.5rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(74 74 74 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
@media (min-width: 1024px) {
    .product-description {
        font-size: 1rem;
        line-height: 1.5rem;
    }
}
/* Мета-данные: Группировка Размер + Толщина */
.contact-form-rhythm .product-meta.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.product-meta > label[for] {
        margin-bottom: 0.75rem;
    }
.product-meta {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
@media (min-width: 1024px) {
    .product-meta {
        gap: 0.5rem;
    }
}
.contact-form-rhythm .meta-main-group.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.meta-main-group > label[for] {
        margin-bottom: 0.75rem;
    }
.meta-main-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
@media (min-width: 1024px) {
    @media (max-width: 767px) {

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .meta-main-group {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .meta-main-group {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */
    }
    .meta-main-group {
        flex-direction: row;
        align-items: center;
        gap: 0.75rem;
    }
}
.meta-divider {
    display: none;
    font-weight: 300;
    color: rgb(74 74 74 / 0.3);
}
#language-modal.meta-divider {
    display: none;
}
@media (min-width: 1024px) {
    .meta-divider {
        display: inline;
    }
}
.contact-form-rhythm .meta-row.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.meta-row {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    white-space: nowrap;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
@media (min-width: 1024px) {
    .meta-row {
        font-size: 0.75rem;
        line-height: 1rem;
    }
}
.meta-label {
    font-weight: 700;
    color: rgb(74 74 74 / 0.5);
}
.meta-value {
    font-weight: 900;
    --tw-text-opacity: 1;
    color: rgb(33 150 243 / var(--tw-text-opacity, 1));
}
/* 4. Кнопка заказа */
.product-action {
    flex-shrink: 0;
    padding: 1.5rem;
}
@media (min-width: 1024px) {
    .product-action {
        padding: 1rem;
    }
}
.btn-order {
    width: 100%;
    border-radius: 0.75rem;
    border-width: 2px;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
@media (min-width: 1024px) {
    .btn-order {
        width: auto;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
}
.btn-order {
        transition: background-color 0.3s ease-out,
                    color 0.3s ease-out,
                    border-color 0.3s ease-out,
                    box-shadow 0.2s ease-out;
        border-color: var(--sitan-blue);
        color: var(--sitan-blue);
        background: transparent;
    }
/* --- СОСТОЯНИЯ: HOVER & TOUCH ДЛЯ КАРТОЧКИ --- */
/* --- СОСТОЯНИЯ: HOVER & TOUCH ДЛЯ КАРТОЧКИ --- */
@media (hover: hover) {
        .product-card:hover {
            border-color: var(--sitan-red) !important;
            --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
            --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
            background-color: var(--sitan-white) !important;
            transform: translateY(-4px);
        }
        .product-card:hover .product-image {
        --tw-scale-x: 1.05;
        --tw-scale-y: 1.05;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
        .product-card:hover .meta-label {
        color: rgb(74 74 74 / 0.7);
    }
    }
/* Состояние тача для карточки (активируется через JS) */
.product-card.is-touched {
        border-color: var(--sitan-red) !important;
        --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
        --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        background-color: var(--sitan-white) !important;
        transform: translateY(-4px);
    }
.product-card.is-touched .product-image {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.product-card.is-touched .meta-label {
    color: rgb(74 74 74 / 0.7);
}
/* --- СОСТОЯНИЯ: HOVER & TOUCH ДЛЯ КНОПКИ ЗАКАЗА (только на самой кнопке) --- */
@media (hover: hover) {
        .btn-order:hover {
            background-color: var(--sitan-blue) !important;
            color: var(--sitan-white) !important;
            border-color: transparent;
            --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
            --tw-shadow-color: rgb(59 130 246 / 0.2);
            --tw-shadow: var(--tw-shadow-colored);
        }
    }
.btn-order.is-touched {
        background-color: var(--sitan-blue) !important;
        color: var(--sitan-white) !important;
        border-color: transparent;
        --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        --tw-shadow-color: rgb(59 130 246 / 0.2);
        --tw-shadow: var(--tw-shadow-colored);
    }
/* Принудительный сброс нативных ховеров на мобилках */
@media (hover: none) {
        .product-card:hover:not(.is-touched) {
            background-color: rgba(245, 245, 245, 0.3) !important;
            transform: none;
            box-shadow: none;
            border-color: var(--sitan-blue);
        }
        .btn-order:hover:not(.is-touched) {
            background-color: transparent !important;
            color: var(--sitan-blue) !important;
            border-color: var(--sitan-blue) !important;
        }
    }
body.btn-premium {
        overflow: hidden;
        width: 100%;
    }
.btn-premium {
    position: relative;
    display: inline-flex;
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 9999px;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    perspective: 1000px;
}
.btn-premium .app-section-title-box {
    display: inline-block;
    width: auto;
}
.btn-premium .app-section-title-box h1,.btn-premium .app-section-title-box h2 {
    display: inline-block;
    width: auto;
    max-width: 100%;
}
.btn-premium {
            transition: background 0.65s cubic-bezier(0.19, 1, 0.22, 1),
                        box-shadow 0.55s cubic-bezier(0.19, 1, 0.22, 1),
                        transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
            width: 100%;
            max-width: 280px;
        }
@media (min-width: 640px) {
    .btn-premium {
        width: auto;
    }
}
.btn-premium {

            --btn-bg: var(--sitan-gray);
            --btn-text: var(--sitan-white);

            background: linear-gradient(135deg,
                color-mix(in srgb, var(--btn-bg), #fff 18%) 0%,
                var(--btn-bg) 50%,
                color-mix(in srgb, var(--btn-bg), #000 12%) 100%);
            color: var(--btn-text);
            box-shadow: 0 4px 14px color-mix(in srgb, var(--btn-bg), transparent 80%);
            text-shadow: 0 1px 2px rgba(0,0,0,0.1);

            -webkit-user-select: none;
            -moz-user-select: none;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
            will-change: transform;
        }
/* Семантические модификаторы */
.btn-premium.btn-primary { --btn-bg: var(--sitan-red); }
.btn-premium.btn-secondary { --btn-bg: var(--sitan-blue); }
.btn-premium.btn-green { --btn-bg: var(--sitan-green); }
.btn-premium.btn-gold {
            --btn-bg: #b8860b;
            background: linear-gradient(135deg, #d4a017 0%, #b8860b 40%, #8b6914 100%);
            box-shadow: 0 4px 16px rgba(184,134,11,0.25), inset 0 1px 0 rgba(255,215,0,0.3);
        }
/* Hover (Десктоп) — спокойное осветление градиента */
@media (hover: hover) {
            .btn-premium:hover {
        --tw-translate-y: -0.125rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
                background: linear-gradient(135deg,
                    color-mix(in srgb, var(--btn-bg), #fff 32%) 0%,
                    color-mix(in srgb, var(--btn-bg), #fff 10%) 50%,
                    var(--btn-bg) 100%);
                color: var(--btn-text);
                box-shadow: 0 6px 20px color-mix(in srgb, var(--btn-bg), transparent 70%);
    }

            .btn-premium.btn-gold:hover {
                background: linear-gradient(135deg, #e8b820 0%, #c9a215 40%, #a07812 100%);
                box-shadow: 0 6px 24px rgba(218,165,32,0.35), inset 0 1px 0 rgba(255,235,100,0.3);
            }

            /* Блик */
            .btn-premium::after {
                content: '';
                pointer-events: none;
                position: absolute;
                inset: 0px;
                opacity: 0;
                background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.15) 50%, transparent 70%);
                transition: opacity 0.5s ease-out;
            }
            .btn-premium:hover::after {
        opacity: 1;
    }
        }
/* ИЗОЛЯЦИЯ: Блокировка активации фона при ховере/таче на кнопку */
[data-touch-group]:has(.btn-premium:hover) .hero-bg-img,
        [data-touch-group]:has(.btn-premium:hover) .app-zoom-img,
        [data-touch-group]:has(.btn-premium.is-touched) .hero-bg-img,
        [data-touch-group]:has(.btn-premium.is-touched) .app-zoom-img {
            transform: scale(1) !important;
            transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1) !important;
        }
/* Active & Touch */
.btn-premium:active,
        .btn-premium.is-touched {
            transform: scale(0.97) translateZ(0) !important;
            background: linear-gradient(135deg,
                color-mix(in srgb, var(--btn-bg), #000 8%) 0%,
                color-mix(in srgb, var(--btn-bg), #000 4%) 50%,
                color-mix(in srgb, var(--btn-bg), #000 16%) 100%) !important;
            box-shadow: 0 2px 8px color-mix(in srgb, var(--btn-bg), transparent 85%) !important;
            transition-duration: 150ms !important;
        }
.btn-premium.btn-gold:active,
        .btn-premium.btn-gold.is-touched {
            background: linear-gradient(135deg, #c5961a 0%, #a07812 40%, #7a5c10 100%) !important;
            box-shadow: 0 2px 8px rgba(184,134,11,0.3) !important;
        }
/* Контейнер кнопок */
.contact-form-rhythm .hero-buttons-container.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
.contact-form-rhythm .flex.hero-buttons-container > label[for] {
        margin-bottom: 0.75rem;
    }
.hero-buttons-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
}
@media (min-width: 640px) {
    @media (max-width: 767px) {

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .hero-buttons-container {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .hero-buttons-container {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex;
        } /* Единообразно с eco (text-xl) */
    }
    .hero-buttons-container {
        flex-direction: row;
    }
}
@media (min-width: 768px) {
    .hero-buttons-container {
        gap: 2rem;
    }
}
@media (min-width: 1024px) {
    .hero-buttons-container {
        gap: 2.5rem;
    }
}
/* Вариант Outline */
.btn-premium.btn-outline {
    border-width: 2px;
    background-color: transparent;
            border-color: var(--btn-bg);
            color: var(--btn-bg);
            box-shadow: none;
            text-shadow: none;
            background: transparent;
}
@media (hover: hover) {
            .btn-premium.btn-outline:hover {
                background: var(--btn-bg);
                color: var(--sitan-white);
            }
        }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.pointer-events-none {
    pointer-events: none;
}
.pointer-events-auto {
    pointer-events: auto;
}
.visible {
    visibility: visible;
}
.\!static {
    position: static !important;
}
.fixed {
    position: fixed;
}
.\!absolute {
    position: absolute !important;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.inset-0 {
    inset: 0px;
}
.inset-x-0 {
    left: 0px;
    right: 0px;
}
.-bottom-10 {
    bottom: -2.5rem;
}
.-right-10 {
    right: -2.5rem;
}
.bottom-0 {
    bottom: 0px;
}
.bottom-3 {
    bottom: 0.75rem;
}
.left-0 {
    left: 0px;
}
.left-1\/2 {
    left: 50%;
}
.left-3 {
    left: 0.75rem;
}
.right-0 {
    right: 0px;
}
.right-4 {
    right: 1rem;
}
.top-0 {
    top: 0px;
}
.top-1\/2 {
    top: 50%;
}
.top-14 {
    top: 3.5rem;
}
.top-24 {
    top: 6rem;
}
.top-4 {
    top: 1rem;
}
.top-8 {
    top: 2rem;
}
.top-\[40\%\] {
    top: 40%;
}
.isolate {
    isolation: isolate;
}
.z-0 {
    z-index: 0;
}
.z-10 {
    z-index: 10;
}
.z-20 {
    z-index: 20;
}
.z-30 {
    z-index: 30;
}
.z-50 {
    z-index: 50;
}
.z-\[10001\] {
    z-index: 10001;
}
.z-\[100\] {
    z-index: 100;
}
.z-\[110\] {
    z-index: 110;
}
.z-\[120\] {
    z-index: 120;
}
.z-\[140\] {
    z-index: 140;
}
.z-\[150\] {
    z-index: 150;
}
.z-\[200\] {
    z-index: 200;
}
.z-\[9999\] {
    z-index: 9999;
}
.order-1 {
    order: 1;
}
.order-2 {
    order: 2;
}
.row-span-2 {
    grid-row: span 2 / span 2;
}
.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.\!mr-0 {
    margin-right: 0px !important;
}
.mb-0 {
    margin-bottom: 0px;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-10 {
    margin-bottom: 2.5rem;
}
.mb-11 {
    margin-bottom: 2.75rem;
}
.mb-12 {
    margin-bottom: 3rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-20 {
    margin-bottom: 5rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.ml-1 {
    margin-left: 0.25rem;
}
.ml-2 {
    margin-left: 0.5rem;
}
.ml-3 {
    margin-left: 0.75rem;
}
.mr-2 {
    margin-right: 0.5rem;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-12 {
    margin-top: 3rem;
}
.mt-16 {
    margin-top: 4rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-20 {
    margin-top: 5rem;
}
.mt-4 {
    margin-top: 1rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.mt-8 {
    margin-top: 2rem;
}
.mt-\[-2\.5rem\] {
    margin-top: -2.5rem;
}
.mt-auto {
    margin-top: auto;
}
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.table {
    display: table;
}
.grid {
    display: grid;
}
.hidden {
    display: none;
}
.aspect-square {
    aspect-ratio: 1 / 1;
}
.h-1 {
    height: 0.25rem;
}
.h-10 {
    height: 2.5rem;
}
.h-11 {
    height: 2.75rem;
}
.h-12 {
    height: 3rem;
}
.h-20 {
    height: 5rem;
}
.h-24 {
    height: 6rem;
}
.h-4 {
    height: 1rem;
}
.h-5 {
    height: 1.25rem;
}
.h-56 {
    height: 14rem;
}
.h-6 {
    height: 1.5rem;
}
.h-7 {
    height: 1.75rem;
}
.h-8 {
    height: 2rem;
}
.h-\[3\.25rem\] {
    height: 3.25rem;
}
.h-\[3px\] {
    height: 3px;
}
.h-\[68px\] {
    height: 68px;
}
.h-full {
    height: 100%;
}
.h-screen-full {
    height: 100dvh;
}
.min-h-\[110px\] {
    min-height: 110px;
}
.min-h-\[120px\] {
    min-height: 120px;
}
.min-h-\[140px\] {
    min-height: 140px;
}
.min-h-\[160px\] {
    min-height: 160px;
}
.min-h-\[2\.5rem\] {
    min-height: 2.5rem;
}
.min-h-\[3\.25rem\] {
    min-height: 3.25rem;
}
.min-h-\[3\.5rem\] {
    min-height: 3.5rem;
}
.min-h-\[60vh\] {
    min-height: 60vh;
}
.min-h-\[95px\] {
    min-height: 95px;
}
.w-10 {
    width: 2.5rem;
}
.w-11 {
    width: 2.75rem;
}
.w-12 {
    width: 3rem;
}
.w-16 {
    width: 4rem;
}
.w-20 {
    width: 5rem;
}
.w-24 {
    width: 6rem;
}
.w-4 {
    width: 1rem;
}
.w-5 {
    width: 1.25rem;
}
.w-6 {
    width: 1.5rem;
}
.w-7 {
    width: 1.75rem;
}
.w-\[68px\] {
    width: 68px;
}
.w-auto {
    width: auto;
}
.w-full {
    width: 100%;
}
.min-w-0 {
    min-width: 0px;
}
.max-w-2xl {
    max-width: 42rem;
}
.max-w-3xl {
    max-width: 48rem;
}
.max-w-4xl {
    max-width: 56rem;
}
.max-w-5xl {
    max-width: 64rem;
}
.max-w-6xl {
    max-width: 72rem;
}
.max-w-7xl {
    max-width: 80rem;
}
.max-w-\[240px\] {
    max-width: 240px;
}
.max-w-\[280px\] {
    max-width: 280px;
}
.max-w-\[360px\] {
    max-width: 360px;
}
.max-w-full {
    max-width: 100%;
}
.max-w-md {
    max-width: 28rem;
}
.max-w-prose {
    max-width: 65ch;
}
.max-w-sm {
    max-width: 24rem;
}
.flex-1 {
    flex: 1 1 0%;
}
.flex-shrink {
    flex-shrink: 1;
}
.flex-shrink-0 {
    flex-shrink: 0;
}
.shrink-0 {
    flex-shrink: 0;
}
.flex-grow {
    flex-grow: 1;
}
.border-collapse {
    border-collapse: collapse;
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-full {
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-0 {
    --tw-translate-y: -0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-8 {
    --tw-translate-y: -2rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-4 {
    --tw-translate-y: 1rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-6 {
    --tw-translate-y: 1.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-8 {
    --tw-translate-y: 2rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100 {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-110 {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-95 {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform-gpu {
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform-none {
    transform: none;
}
@keyframes fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-fade-in-up {
    animation: fade-in-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes pulse {
    50% {
        opacity: .5;
    }
}
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
.animate-spin {
    animation: spin 1s linear infinite;
}
.cursor-default {
    cursor: default;
}
.cursor-pointer {
    cursor: pointer;
}
.select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.resize {
    resize: both;
}
.list-disc {
    list-style-type: disc;
}
.auto-rows-fr {
    grid-auto-rows: minmax(0, 1fr);
}
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-\[2\.5rem_1fr\] {
    grid-template-columns: 2.5rem 1fr;
}
.flex-row {
    flex-direction: row;
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-col {
    flex-direction: column;
}
.flex-wrap {
    flex-wrap: wrap;
}
.items-start {
    align-items: flex-start;
}
.items-center {
    align-items: center;
}
.items-baseline {
    align-items: baseline;
}
.items-stretch {
    align-items: stretch;
}
.justify-start {
    justify-content: flex-start;
}
.justify-end {
    justify-content: flex-end;
}
.justify-center {
    justify-content: center;
}
.justify-between {
    justify-content: space-between;
}
.justify-items-center {
    justify-items: center;
}
.gap-0 {
    gap: 0px;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-10 {
    gap: 2.5rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-4 {
    gap: 1rem;
}
.gap-5 {
    gap: 1.25rem;
}
.gap-6 {
    gap: 1.5rem;
}
.gap-8 {
    gap: 2rem;
}
.gap-x-1\.5 {
    -moz-column-gap: 0.375rem;
         column-gap: 0.375rem;
}
.gap-x-2 {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
}
.gap-x-5 {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
}
.gap-y-3 {
    row-gap: 0.75rem;
}
.space-x-10 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(2.5rem * var(--tw-space-x-reverse));
    margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-14 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(3.5rem * var(--tw-space-x-reverse));
    margin-left: calc(3.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.self-start {
    align-self: flex-start;
}
.self-end {
    align-self: flex-end;
}
.self-center {
    align-self: center;
}
.self-stretch {
    align-self: stretch;
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-x-hidden {
    overflow-x: hidden;
}
.scroll-smooth {
    scroll-behavior: smooth;
}
.text-wrap {
    text-wrap: wrap;
}
.break-all {
    word-break: break-all;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-3xl {
    border-radius: 1.5rem;
}
.rounded-\[1\.25rem\] {
    border-radius: 1.25rem;
}
.rounded-\[1\.5rem\] {
    border-radius: 1.5rem;
}
.rounded-\[1rem\] {
    border-radius: 1rem;
}
.rounded-\[2rem\] {
    border-radius: 2rem;
}
.rounded-full {
    border-radius: 9999px;
}
.rounded-lg {
    border-radius: 0.5rem;
}
.rounded-xl {
    border-radius: 0.75rem;
}
.border {
    border-width: 1px;
}
.border-0 {
    border-width: 0px;
}
.border-2 {
    border-width: 2px;
}
.border-b {
    border-bottom-width: 1px;
}
.border-t {
    border-top-width: 1px;
}
.\!border-none {
    border-style: none !important;
}
.border-none {
    border-style: none;
}
.border-gray-100 {
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-sitan-blue {
    --tw-border-opacity: 1;
    border-color: rgb(33 150 243 / var(--tw-border-opacity, 1));
}
.border-sitan-blue-dark {
    --tw-border-opacity: 1;
    border-color: rgb(25 118 210 / var(--tw-border-opacity, 1));
}
.border-sitan-blue-dark\/0 {
    border-color: rgb(25 118 210 / 0);
}
.border-sitan-blue-dark\/10 {
    border-color: rgb(25 118 210 / 0.1);
}
.border-sitan-blue-dark\/100 {
    border-color: rgb(25 118 210 / 1);
}
.border-sitan-blue-dark\/15 {
    border-color: rgb(25 118 210 / 0.15);
}
.border-sitan-blue-dark\/20 {
    border-color: rgb(25 118 210 / 0.2);
}
.border-sitan-blue-dark\/25 {
    border-color: rgb(25 118 210 / 0.25);
}
.border-sitan-blue-dark\/30 {
    border-color: rgb(25 118 210 / 0.3);
}
.border-sitan-blue-dark\/35 {
    border-color: rgb(25 118 210 / 0.35);
}
.border-sitan-blue-dark\/40 {
    border-color: rgb(25 118 210 / 0.4);
}
.border-sitan-blue-dark\/45 {
    border-color: rgb(25 118 210 / 0.45);
}
.border-sitan-blue-dark\/5 {
    border-color: rgb(25 118 210 / 0.05);
}
.border-sitan-blue-dark\/50 {
    border-color: rgb(25 118 210 / 0.5);
}
.border-sitan-blue-dark\/55 {
    border-color: rgb(25 118 210 / 0.55);
}
.border-sitan-blue-dark\/60 {
    border-color: rgb(25 118 210 / 0.6);
}
.border-sitan-blue-dark\/65 {
    border-color: rgb(25 118 210 / 0.65);
}
.border-sitan-blue-dark\/70 {
    border-color: rgb(25 118 210 / 0.7);
}
.border-sitan-blue-dark\/75 {
    border-color: rgb(25 118 210 / 0.75);
}
.border-sitan-blue-dark\/80 {
    border-color: rgb(25 118 210 / 0.8);
}
.border-sitan-blue-dark\/85 {
    border-color: rgb(25 118 210 / 0.85);
}
.border-sitan-blue-dark\/90 {
    border-color: rgb(25 118 210 / 0.9);
}
.border-sitan-blue-dark\/95 {
    border-color: rgb(25 118 210 / 0.95);
}
.border-sitan-blue-light {
    --tw-border-opacity: 1;
    border-color: rgb(214 234 248 / var(--tw-border-opacity, 1));
}
.border-sitan-blue-light\/0 {
    border-color: rgb(214 234 248 / 0);
}
.border-sitan-blue-light\/10 {
    border-color: rgb(214 234 248 / 0.1);
}
.border-sitan-blue-light\/100 {
    border-color: rgb(214 234 248 / 1);
}
.border-sitan-blue-light\/15 {
    border-color: rgb(214 234 248 / 0.15);
}
.border-sitan-blue-light\/20 {
    border-color: rgb(214 234 248 / 0.2);
}
.border-sitan-blue-light\/25 {
    border-color: rgb(214 234 248 / 0.25);
}
.border-sitan-blue-light\/30 {
    border-color: rgb(214 234 248 / 0.3);
}
.border-sitan-blue-light\/35 {
    border-color: rgb(214 234 248 / 0.35);
}
.border-sitan-blue-light\/40 {
    border-color: rgb(214 234 248 / 0.4);
}
.border-sitan-blue-light\/45 {
    border-color: rgb(214 234 248 / 0.45);
}
.border-sitan-blue-light\/5 {
    border-color: rgb(214 234 248 / 0.05);
}
.border-sitan-blue-light\/50 {
    border-color: rgb(214 234 248 / 0.5);
}
.border-sitan-blue-light\/55 {
    border-color: rgb(214 234 248 / 0.55);
}
.border-sitan-blue-light\/60 {
    border-color: rgb(214 234 248 / 0.6);
}
.border-sitan-blue-light\/65 {
    border-color: rgb(214 234 248 / 0.65);
}
.border-sitan-blue-light\/70 {
    border-color: rgb(214 234 248 / 0.7);
}
.border-sitan-blue-light\/75 {
    border-color: rgb(214 234 248 / 0.75);
}
.border-sitan-blue-light\/80 {
    border-color: rgb(214 234 248 / 0.8);
}
.border-sitan-blue-light\/85 {
    border-color: rgb(214 234 248 / 0.85);
}
.border-sitan-blue-light\/90 {
    border-color: rgb(214 234 248 / 0.9);
}
.border-sitan-blue-light\/95 {
    border-color: rgb(214 234 248 / 0.95);
}
.border-sitan-blue\/20 {
    border-color: rgb(33 150 243 / 0.2);
}
.border-sitan-green-light {
    --tw-border-opacity: 1;
    border-color: rgb(232 245 233 / var(--tw-border-opacity, 1));
}
.border-sitan-green-light\/0 {
    border-color: rgb(232 245 233 / 0);
}
.border-sitan-green-light\/10 {
    border-color: rgb(232 245 233 / 0.1);
}
.border-sitan-green-light\/100 {
    border-color: rgb(232 245 233 / 1);
}
.border-sitan-green-light\/15 {
    border-color: rgb(232 245 233 / 0.15);
}
.border-sitan-green-light\/20 {
    border-color: rgb(232 245 233 / 0.2);
}
.border-sitan-green-light\/25 {
    border-color: rgb(232 245 233 / 0.25);
}
.border-sitan-green-light\/30 {
    border-color: rgb(232 245 233 / 0.3);
}
.border-sitan-green-light\/35 {
    border-color: rgb(232 245 233 / 0.35);
}
.border-sitan-green-light\/40 {
    border-color: rgb(232 245 233 / 0.4);
}
.border-sitan-green-light\/45 {
    border-color: rgb(232 245 233 / 0.45);
}
.border-sitan-green-light\/5 {
    border-color: rgb(232 245 233 / 0.05);
}
.border-sitan-green-light\/50 {
    border-color: rgb(232 245 233 / 0.5);
}
.border-sitan-green-light\/55 {
    border-color: rgb(232 245 233 / 0.55);
}
.border-sitan-green-light\/60 {
    border-color: rgb(232 245 233 / 0.6);
}
.border-sitan-green-light\/65 {
    border-color: rgb(232 245 233 / 0.65);
}
.border-sitan-green-light\/70 {
    border-color: rgb(232 245 233 / 0.7);
}
.border-sitan-green-light\/75 {
    border-color: rgb(232 245 233 / 0.75);
}
.border-sitan-green-light\/80 {
    border-color: rgb(232 245 233 / 0.8);
}
.border-sitan-green-light\/85 {
    border-color: rgb(232 245 233 / 0.85);
}
.border-sitan-green-light\/90 {
    border-color: rgb(232 245 233 / 0.9);
}
.border-sitan-green-light\/95 {
    border-color: rgb(232 245 233 / 0.95);
}
.border-sitan-orange-dark {
    --tw-border-opacity: 1;
    border-color: rgb(251 140 0 / var(--tw-border-opacity, 1));
}
.border-sitan-orange-dark\/0 {
    border-color: rgb(251 140 0 / 0);
}
.border-sitan-orange-dark\/10 {
    border-color: rgb(251 140 0 / 0.1);
}
.border-sitan-orange-dark\/100 {
    border-color: rgb(251 140 0 / 1);
}
.border-sitan-orange-dark\/15 {
    border-color: rgb(251 140 0 / 0.15);
}
.border-sitan-orange-dark\/20 {
    border-color: rgb(251 140 0 / 0.2);
}
.border-sitan-orange-dark\/25 {
    border-color: rgb(251 140 0 / 0.25);
}
.border-sitan-orange-dark\/30 {
    border-color: rgb(251 140 0 / 0.3);
}
.border-sitan-orange-dark\/35 {
    border-color: rgb(251 140 0 / 0.35);
}
.border-sitan-orange-dark\/40 {
    border-color: rgb(251 140 0 / 0.4);
}
.border-sitan-orange-dark\/45 {
    border-color: rgb(251 140 0 / 0.45);
}
.border-sitan-orange-dark\/5 {
    border-color: rgb(251 140 0 / 0.05);
}
.border-sitan-orange-dark\/50 {
    border-color: rgb(251 140 0 / 0.5);
}
.border-sitan-orange-dark\/55 {
    border-color: rgb(251 140 0 / 0.55);
}
.border-sitan-orange-dark\/60 {
    border-color: rgb(251 140 0 / 0.6);
}
.border-sitan-orange-dark\/65 {
    border-color: rgb(251 140 0 / 0.65);
}
.border-sitan-orange-dark\/70 {
    border-color: rgb(251 140 0 / 0.7);
}
.border-sitan-orange-dark\/75 {
    border-color: rgb(251 140 0 / 0.75);
}
.border-sitan-orange-dark\/80 {
    border-color: rgb(251 140 0 / 0.8);
}
.border-sitan-orange-dark\/85 {
    border-color: rgb(251 140 0 / 0.85);
}
.border-sitan-orange-dark\/90 {
    border-color: rgb(251 140 0 / 0.9);
}
.border-sitan-orange-dark\/95 {
    border-color: rgb(251 140 0 / 0.95);
}
.border-sitan-orange-light {
    --tw-border-opacity: 1;
    border-color: rgb(255 243 224 / var(--tw-border-opacity, 1));
}
.border-sitan-orange-light\/0 {
    border-color: rgb(255 243 224 / 0);
}
.border-sitan-orange-light\/10 {
    border-color: rgb(255 243 224 / 0.1);
}
.border-sitan-orange-light\/100 {
    border-color: rgb(255 243 224 / 1);
}
.border-sitan-orange-light\/15 {
    border-color: rgb(255 243 224 / 0.15);
}
.border-sitan-orange-light\/20 {
    border-color: rgb(255 243 224 / 0.2);
}
.border-sitan-orange-light\/25 {
    border-color: rgb(255 243 224 / 0.25);
}
.border-sitan-orange-light\/30 {
    border-color: rgb(255 243 224 / 0.3);
}
.border-sitan-orange-light\/35 {
    border-color: rgb(255 243 224 / 0.35);
}
.border-sitan-orange-light\/40 {
    border-color: rgb(255 243 224 / 0.4);
}
.border-sitan-orange-light\/45 {
    border-color: rgb(255 243 224 / 0.45);
}
.border-sitan-orange-light\/5 {
    border-color: rgb(255 243 224 / 0.05);
}
.border-sitan-orange-light\/50 {
    border-color: rgb(255 243 224 / 0.5);
}
.border-sitan-orange-light\/55 {
    border-color: rgb(255 243 224 / 0.55);
}
.border-sitan-orange-light\/60 {
    border-color: rgb(255 243 224 / 0.6);
}
.border-sitan-orange-light\/65 {
    border-color: rgb(255 243 224 / 0.65);
}
.border-sitan-orange-light\/70 {
    border-color: rgb(255 243 224 / 0.7);
}
.border-sitan-orange-light\/75 {
    border-color: rgb(255 243 224 / 0.75);
}
.border-sitan-orange-light\/80 {
    border-color: rgb(255 243 224 / 0.8);
}
.border-sitan-orange-light\/85 {
    border-color: rgb(255 243 224 / 0.85);
}
.border-sitan-orange-light\/90 {
    border-color: rgb(255 243 224 / 0.9);
}
.border-sitan-orange-light\/95 {
    border-color: rgb(255 243 224 / 0.95);
}
.border-sitan-purple-dark {
    --tw-border-opacity: 1;
    border-color: rgb(142 36 170 / var(--tw-border-opacity, 1));
}
.border-sitan-purple-dark\/0 {
    border-color: rgb(142 36 170 / 0);
}
.border-sitan-purple-dark\/10 {
    border-color: rgb(142 36 170 / 0.1);
}
.border-sitan-purple-dark\/100 {
    border-color: rgb(142 36 170 / 1);
}
.border-sitan-purple-dark\/15 {
    border-color: rgb(142 36 170 / 0.15);
}
.border-sitan-purple-dark\/20 {
    border-color: rgb(142 36 170 / 0.2);
}
.border-sitan-purple-dark\/25 {
    border-color: rgb(142 36 170 / 0.25);
}
.border-sitan-purple-dark\/30 {
    border-color: rgb(142 36 170 / 0.3);
}
.border-sitan-purple-dark\/35 {
    border-color: rgb(142 36 170 / 0.35);
}
.border-sitan-purple-dark\/40 {
    border-color: rgb(142 36 170 / 0.4);
}
.border-sitan-purple-dark\/45 {
    border-color: rgb(142 36 170 / 0.45);
}
.border-sitan-purple-dark\/5 {
    border-color: rgb(142 36 170 / 0.05);
}
.border-sitan-purple-dark\/50 {
    border-color: rgb(142 36 170 / 0.5);
}
.border-sitan-purple-dark\/55 {
    border-color: rgb(142 36 170 / 0.55);
}
.border-sitan-purple-dark\/60 {
    border-color: rgb(142 36 170 / 0.6);
}
.border-sitan-purple-dark\/65 {
    border-color: rgb(142 36 170 / 0.65);
}
.border-sitan-purple-dark\/70 {
    border-color: rgb(142 36 170 / 0.7);
}
.border-sitan-purple-dark\/75 {
    border-color: rgb(142 36 170 / 0.75);
}
.border-sitan-purple-dark\/80 {
    border-color: rgb(142 36 170 / 0.8);
}
.border-sitan-purple-dark\/85 {
    border-color: rgb(142 36 170 / 0.85);
}
.border-sitan-purple-dark\/90 {
    border-color: rgb(142 36 170 / 0.9);
}
.border-sitan-purple-dark\/95 {
    border-color: rgb(142 36 170 / 0.95);
}
.border-sitan-purple-light {
    --tw-border-opacity: 1;
    border-color: rgb(243 229 245 / var(--tw-border-opacity, 1));
}
.border-sitan-purple-light\/0 {
    border-color: rgb(243 229 245 / 0);
}
.border-sitan-purple-light\/10 {
    border-color: rgb(243 229 245 / 0.1);
}
.border-sitan-purple-light\/100 {
    border-color: rgb(243 229 245 / 1);
}
.border-sitan-purple-light\/15 {
    border-color: rgb(243 229 245 / 0.15);
}
.border-sitan-purple-light\/20 {
    border-color: rgb(243 229 245 / 0.2);
}
.border-sitan-purple-light\/25 {
    border-color: rgb(243 229 245 / 0.25);
}
.border-sitan-purple-light\/30 {
    border-color: rgb(243 229 245 / 0.3);
}
.border-sitan-purple-light\/35 {
    border-color: rgb(243 229 245 / 0.35);
}
.border-sitan-purple-light\/40 {
    border-color: rgb(243 229 245 / 0.4);
}
.border-sitan-purple-light\/45 {
    border-color: rgb(243 229 245 / 0.45);
}
.border-sitan-purple-light\/5 {
    border-color: rgb(243 229 245 / 0.05);
}
.border-sitan-purple-light\/50 {
    border-color: rgb(243 229 245 / 0.5);
}
.border-sitan-purple-light\/55 {
    border-color: rgb(243 229 245 / 0.55);
}
.border-sitan-purple-light\/60 {
    border-color: rgb(243 229 245 / 0.6);
}
.border-sitan-purple-light\/65 {
    border-color: rgb(243 229 245 / 0.65);
}
.border-sitan-purple-light\/70 {
    border-color: rgb(243 229 245 / 0.7);
}
.border-sitan-purple-light\/75 {
    border-color: rgb(243 229 245 / 0.75);
}
.border-sitan-purple-light\/80 {
    border-color: rgb(243 229 245 / 0.8);
}
.border-sitan-purple-light\/85 {
    border-color: rgb(243 229 245 / 0.85);
}
.border-sitan-purple-light\/90 {
    border-color: rgb(243 229 245 / 0.9);
}
.border-sitan-purple-light\/95 {
    border-color: rgb(243 229 245 / 0.95);
}
.border-sitan-red-light {
    --tw-border-opacity: 1;
    border-color: rgb(254 234 234 / var(--tw-border-opacity, 1));
}
.border-sitan-red-light\/0 {
    border-color: rgb(254 234 234 / 0);
}
.border-sitan-red-light\/10 {
    border-color: rgb(254 234 234 / 0.1);
}
.border-sitan-red-light\/100 {
    border-color: rgb(254 234 234 / 1);
}
.border-sitan-red-light\/15 {
    border-color: rgb(254 234 234 / 0.15);
}
.border-sitan-red-light\/20 {
    border-color: rgb(254 234 234 / 0.2);
}
.border-sitan-red-light\/25 {
    border-color: rgb(254 234 234 / 0.25);
}
.border-sitan-red-light\/30 {
    border-color: rgb(254 234 234 / 0.3);
}
.border-sitan-red-light\/35 {
    border-color: rgb(254 234 234 / 0.35);
}
.border-sitan-red-light\/40 {
    border-color: rgb(254 234 234 / 0.4);
}
.border-sitan-red-light\/45 {
    border-color: rgb(254 234 234 / 0.45);
}
.border-sitan-red-light\/5 {
    border-color: rgb(254 234 234 / 0.05);
}
.border-sitan-red-light\/50 {
    border-color: rgb(254 234 234 / 0.5);
}
.border-sitan-red-light\/55 {
    border-color: rgb(254 234 234 / 0.55);
}
.border-sitan-red-light\/60 {
    border-color: rgb(254 234 234 / 0.6);
}
.border-sitan-red-light\/65 {
    border-color: rgb(254 234 234 / 0.65);
}
.border-sitan-red-light\/70 {
    border-color: rgb(254 234 234 / 0.7);
}
.border-sitan-red-light\/75 {
    border-color: rgb(254 234 234 / 0.75);
}
.border-sitan-red-light\/80 {
    border-color: rgb(254 234 234 / 0.8);
}
.border-sitan-red-light\/85 {
    border-color: rgb(254 234 234 / 0.85);
}
.border-sitan-red-light\/90 {
    border-color: rgb(254 234 234 / 0.9);
}
.border-sitan-red-light\/95 {
    border-color: rgb(254 234 234 / 0.95);
}
.border-sitan-red\/40 {
    border-color: rgb(224 48 46 / 0.4);
}
.border-slate-100 {
    --tw-border-opacity: 1;
    border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-transparent {
    border-color: transparent;
}
.border-white\/10 {
    border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20 {
    border-color: rgb(255 255 255 / 0.2);
}
.\!bg-transparent {
    background-color: transparent !important;
}
.bg-\[\#0088cc\] {
    --tw-bg-opacity: 1;
    background-color: rgb(0 136 204 / var(--tw-bg-opacity, 1));
}
.bg-\[\#25D366\] {
    --tw-bg-opacity: 1;
    background-color: rgb(37 211 102 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/80 {
    background-color: rgb(245 158 11 / 0.8);
}
.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/40 {
    background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70 {
    background-color: rgb(0 0 0 / 0.7);
}
.bg-gray-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-50\/50 {
    background-color: rgb(249 250 251 / 0.5);
}
.bg-sitan-black {
    --tw-bg-opacity: 1;
    background-color: rgb(26 26 26 / var(--tw-bg-opacity, 1));
}
.bg-sitan-black\/60 {
    background-color: rgb(26 26 26 / 0.6);
}
.bg-sitan-blue {
    --tw-bg-opacity: 1;
    background-color: rgb(33 150 243 / var(--tw-bg-opacity, 1));
}
.bg-sitan-blue-dark {
    --tw-bg-opacity: 1;
    background-color: rgb(25 118 210 / var(--tw-bg-opacity, 1));
}
.bg-sitan-blue-dark\/0 {
    background-color: rgb(25 118 210 / 0);
}
.bg-sitan-blue-dark\/10 {
    background-color: rgb(25 118 210 / 0.1);
}
.bg-sitan-blue-dark\/100 {
    background-color: rgb(25 118 210 / 1);
}
.bg-sitan-blue-dark\/15 {
    background-color: rgb(25 118 210 / 0.15);
}
.bg-sitan-blue-dark\/20 {
    background-color: rgb(25 118 210 / 0.2);
}
.bg-sitan-blue-dark\/25 {
    background-color: rgb(25 118 210 / 0.25);
}
.bg-sitan-blue-dark\/30 {
    background-color: rgb(25 118 210 / 0.3);
}
.bg-sitan-blue-dark\/35 {
    background-color: rgb(25 118 210 / 0.35);
}
.bg-sitan-blue-dark\/40 {
    background-color: rgb(25 118 210 / 0.4);
}
.bg-sitan-blue-dark\/45 {
    background-color: rgb(25 118 210 / 0.45);
}
.bg-sitan-blue-dark\/5 {
    background-color: rgb(25 118 210 / 0.05);
}
.bg-sitan-blue-dark\/50 {
    background-color: rgb(25 118 210 / 0.5);
}
.bg-sitan-blue-dark\/55 {
    background-color: rgb(25 118 210 / 0.55);
}
.bg-sitan-blue-dark\/60 {
    background-color: rgb(25 118 210 / 0.6);
}
.bg-sitan-blue-dark\/65 {
    background-color: rgb(25 118 210 / 0.65);
}
.bg-sitan-blue-dark\/70 {
    background-color: rgb(25 118 210 / 0.7);
}
.bg-sitan-blue-dark\/75 {
    background-color: rgb(25 118 210 / 0.75);
}
.bg-sitan-blue-dark\/80 {
    background-color: rgb(25 118 210 / 0.8);
}
.bg-sitan-blue-dark\/85 {
    background-color: rgb(25 118 210 / 0.85);
}
.bg-sitan-blue-dark\/90 {
    background-color: rgb(25 118 210 / 0.9);
}
.bg-sitan-blue-dark\/95 {
    background-color: rgb(25 118 210 / 0.95);
}
.bg-sitan-blue-light {
    --tw-bg-opacity: 1;
    background-color: rgb(214 234 248 / var(--tw-bg-opacity, 1));
}
.bg-sitan-blue-light\/0 {
    background-color: rgb(214 234 248 / 0);
}
.bg-sitan-blue-light\/10 {
    background-color: rgb(214 234 248 / 0.1);
}
.bg-sitan-blue-light\/100 {
    background-color: rgb(214 234 248 / 1);
}
.bg-sitan-blue-light\/15 {
    background-color: rgb(214 234 248 / 0.15);
}
.bg-sitan-blue-light\/20 {
    background-color: rgb(214 234 248 / 0.2);
}
.bg-sitan-blue-light\/25 {
    background-color: rgb(214 234 248 / 0.25);
}
.bg-sitan-blue-light\/30 {
    background-color: rgb(214 234 248 / 0.3);
}
.bg-sitan-blue-light\/35 {
    background-color: rgb(214 234 248 / 0.35);
}
.bg-sitan-blue-light\/40 {
    background-color: rgb(214 234 248 / 0.4);
}
.bg-sitan-blue-light\/45 {
    background-color: rgb(214 234 248 / 0.45);
}
.bg-sitan-blue-light\/5 {
    background-color: rgb(214 234 248 / 0.05);
}
.bg-sitan-blue-light\/50 {
    background-color: rgb(214 234 248 / 0.5);
}
.bg-sitan-blue-light\/55 {
    background-color: rgb(214 234 248 / 0.55);
}
.bg-sitan-blue-light\/60 {
    background-color: rgb(214 234 248 / 0.6);
}
.bg-sitan-blue-light\/65 {
    background-color: rgb(214 234 248 / 0.65);
}
.bg-sitan-blue-light\/70 {
    background-color: rgb(214 234 248 / 0.7);
}
.bg-sitan-blue-light\/75 {
    background-color: rgb(214 234 248 / 0.75);
}
.bg-sitan-blue-light\/80 {
    background-color: rgb(214 234 248 / 0.8);
}
.bg-sitan-blue-light\/85 {
    background-color: rgb(214 234 248 / 0.85);
}
.bg-sitan-blue-light\/90 {
    background-color: rgb(214 234 248 / 0.9);
}
.bg-sitan-blue-light\/95 {
    background-color: rgb(214 234 248 / 0.95);
}
.bg-sitan-blue\/5 {
    background-color: rgb(33 150 243 / 0.05);
}
.bg-sitan-gray-dark {
    --tw-bg-opacity: 1;
    background-color: rgb(51 51 51 / var(--tw-bg-opacity, 1));
}
.bg-sitan-gray-dark\/0 {
    background-color: rgb(51 51 51 / 0);
}
.bg-sitan-gray-dark\/10 {
    background-color: rgb(51 51 51 / 0.1);
}
.bg-sitan-gray-dark\/100 {
    background-color: rgb(51 51 51 / 1);
}
.bg-sitan-gray-dark\/15 {
    background-color: rgb(51 51 51 / 0.15);
}
.bg-sitan-gray-dark\/20 {
    background-color: rgb(51 51 51 / 0.2);
}
.bg-sitan-gray-dark\/25 {
    background-color: rgb(51 51 51 / 0.25);
}
.bg-sitan-gray-dark\/30 {
    background-color: rgb(51 51 51 / 0.3);
}
.bg-sitan-gray-dark\/35 {
    background-color: rgb(51 51 51 / 0.35);
}
.bg-sitan-gray-dark\/40 {
    background-color: rgb(51 51 51 / 0.4);
}
.bg-sitan-gray-dark\/45 {
    background-color: rgb(51 51 51 / 0.45);
}
.bg-sitan-gray-dark\/5 {
    background-color: rgb(51 51 51 / 0.05);
}
.bg-sitan-gray-dark\/50 {
    background-color: rgb(51 51 51 / 0.5);
}
.bg-sitan-gray-dark\/55 {
    background-color: rgb(51 51 51 / 0.55);
}
.bg-sitan-gray-dark\/60 {
    background-color: rgb(51 51 51 / 0.6);
}
.bg-sitan-gray-dark\/65 {
    background-color: rgb(51 51 51 / 0.65);
}
.bg-sitan-gray-dark\/70 {
    background-color: rgb(51 51 51 / 0.7);
}
.bg-sitan-gray-dark\/75 {
    background-color: rgb(51 51 51 / 0.75);
}
.bg-sitan-gray-dark\/80 {
    background-color: rgb(51 51 51 / 0.8);
}
.bg-sitan-gray-dark\/85 {
    background-color: rgb(51 51 51 / 0.85);
}
.bg-sitan-gray-dark\/90 {
    background-color: rgb(51 51 51 / 0.9);
}
.bg-sitan-gray-dark\/95 {
    background-color: rgb(51 51 51 / 0.95);
}
.bg-sitan-gray-light {
    --tw-bg-opacity: 1;
    background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
}
.bg-sitan-gray-light\/0 {
    background-color: rgb(245 245 245 / 0);
}
.bg-sitan-gray-light\/10 {
    background-color: rgb(245 245 245 / 0.1);
}
.bg-sitan-gray-light\/100 {
    background-color: rgb(245 245 245 / 1);
}
.bg-sitan-gray-light\/15 {
    background-color: rgb(245 245 245 / 0.15);
}
.bg-sitan-gray-light\/20 {
    background-color: rgb(245 245 245 / 0.2);
}
.bg-sitan-gray-light\/25 {
    background-color: rgb(245 245 245 / 0.25);
}
.bg-sitan-gray-light\/30 {
    background-color: rgb(245 245 245 / 0.3);
}
.bg-sitan-gray-light\/35 {
    background-color: rgb(245 245 245 / 0.35);
}
.bg-sitan-gray-light\/40 {
    background-color: rgb(245 245 245 / 0.4);
}
.bg-sitan-gray-light\/45 {
    background-color: rgb(245 245 245 / 0.45);
}
.bg-sitan-gray-light\/5 {
    background-color: rgb(245 245 245 / 0.05);
}
.bg-sitan-gray-light\/50 {
    background-color: rgb(245 245 245 / 0.5);
}
.bg-sitan-gray-light\/55 {
    background-color: rgb(245 245 245 / 0.55);
}
.bg-sitan-gray-light\/60 {
    background-color: rgb(245 245 245 / 0.6);
}
.bg-sitan-gray-light\/65 {
    background-color: rgb(245 245 245 / 0.65);
}
.bg-sitan-gray-light\/70 {
    background-color: rgb(245 245 245 / 0.7);
}
.bg-sitan-gray-light\/75 {
    background-color: rgb(245 245 245 / 0.75);
}
.bg-sitan-gray-light\/80 {
    background-color: rgb(245 245 245 / 0.8);
}
.bg-sitan-gray-light\/85 {
    background-color: rgb(245 245 245 / 0.85);
}
.bg-sitan-gray-light\/90 {
    background-color: rgb(245 245 245 / 0.9);
}
.bg-sitan-gray-light\/95 {
    background-color: rgb(245 245 245 / 0.95);
}
.bg-sitan-green-light {
    --tw-bg-opacity: 1;
    background-color: rgb(232 245 233 / var(--tw-bg-opacity, 1));
}
.bg-sitan-green-light\/0 {
    background-color: rgb(232 245 233 / 0);
}
.bg-sitan-green-light\/10 {
    background-color: rgb(232 245 233 / 0.1);
}
.bg-sitan-green-light\/100 {
    background-color: rgb(232 245 233 / 1);
}
.bg-sitan-green-light\/15 {
    background-color: rgb(232 245 233 / 0.15);
}
.bg-sitan-green-light\/20 {
    background-color: rgb(232 245 233 / 0.2);
}
.bg-sitan-green-light\/25 {
    background-color: rgb(232 245 233 / 0.25);
}
.bg-sitan-green-light\/30 {
    background-color: rgb(232 245 233 / 0.3);
}
.bg-sitan-green-light\/35 {
    background-color: rgb(232 245 233 / 0.35);
}
.bg-sitan-green-light\/40 {
    background-color: rgb(232 245 233 / 0.4);
}
.bg-sitan-green-light\/45 {
    background-color: rgb(232 245 233 / 0.45);
}
.bg-sitan-green-light\/5 {
    background-color: rgb(232 245 233 / 0.05);
}
.bg-sitan-green-light\/50 {
    background-color: rgb(232 245 233 / 0.5);
}
.bg-sitan-green-light\/55 {
    background-color: rgb(232 245 233 / 0.55);
}
.bg-sitan-green-light\/60 {
    background-color: rgb(232 245 233 / 0.6);
}
.bg-sitan-green-light\/65 {
    background-color: rgb(232 245 233 / 0.65);
}
.bg-sitan-green-light\/70 {
    background-color: rgb(232 245 233 / 0.7);
}
.bg-sitan-green-light\/75 {
    background-color: rgb(232 245 233 / 0.75);
}
.bg-sitan-green-light\/80 {
    background-color: rgb(232 245 233 / 0.8);
}
.bg-sitan-green-light\/85 {
    background-color: rgb(232 245 233 / 0.85);
}
.bg-sitan-green-light\/90 {
    background-color: rgb(232 245 233 / 0.9);
}
.bg-sitan-green-light\/95 {
    background-color: rgb(232 245 233 / 0.95);
}
.bg-sitan-green\/10 {
    background-color: rgb(46 125 50 / 0.1);
}
.bg-sitan-orange-dark {
    --tw-bg-opacity: 1;
    background-color: rgb(251 140 0 / var(--tw-bg-opacity, 1));
}
.bg-sitan-orange-dark\/0 {
    background-color: rgb(251 140 0 / 0);
}
.bg-sitan-orange-dark\/10 {
    background-color: rgb(251 140 0 / 0.1);
}
.bg-sitan-orange-dark\/100 {
    background-color: rgb(251 140 0 / 1);
}
.bg-sitan-orange-dark\/15 {
    background-color: rgb(251 140 0 / 0.15);
}
.bg-sitan-orange-dark\/20 {
    background-color: rgb(251 140 0 / 0.2);
}
.bg-sitan-orange-dark\/25 {
    background-color: rgb(251 140 0 / 0.25);
}
.bg-sitan-orange-dark\/30 {
    background-color: rgb(251 140 0 / 0.3);
}
.bg-sitan-orange-dark\/35 {
    background-color: rgb(251 140 0 / 0.35);
}
.bg-sitan-orange-dark\/40 {
    background-color: rgb(251 140 0 / 0.4);
}
.bg-sitan-orange-dark\/45 {
    background-color: rgb(251 140 0 / 0.45);
}
.bg-sitan-orange-dark\/5 {
    background-color: rgb(251 140 0 / 0.05);
}
.bg-sitan-orange-dark\/50 {
    background-color: rgb(251 140 0 / 0.5);
}
.bg-sitan-orange-dark\/55 {
    background-color: rgb(251 140 0 / 0.55);
}
.bg-sitan-orange-dark\/60 {
    background-color: rgb(251 140 0 / 0.6);
}
.bg-sitan-orange-dark\/65 {
    background-color: rgb(251 140 0 / 0.65);
}
.bg-sitan-orange-dark\/70 {
    background-color: rgb(251 140 0 / 0.7);
}
.bg-sitan-orange-dark\/75 {
    background-color: rgb(251 140 0 / 0.75);
}
.bg-sitan-orange-dark\/80 {
    background-color: rgb(251 140 0 / 0.8);
}
.bg-sitan-orange-dark\/85 {
    background-color: rgb(251 140 0 / 0.85);
}
.bg-sitan-orange-dark\/90 {
    background-color: rgb(251 140 0 / 0.9);
}
.bg-sitan-orange-dark\/95 {
    background-color: rgb(251 140 0 / 0.95);
}
.bg-sitan-orange-light {
    --tw-bg-opacity: 1;
    background-color: rgb(255 243 224 / var(--tw-bg-opacity, 1));
}
.bg-sitan-orange-light\/0 {
    background-color: rgb(255 243 224 / 0);
}
.bg-sitan-orange-light\/10 {
    background-color: rgb(255 243 224 / 0.1);
}
.bg-sitan-orange-light\/100 {
    background-color: rgb(255 243 224 / 1);
}
.bg-sitan-orange-light\/15 {
    background-color: rgb(255 243 224 / 0.15);
}
.bg-sitan-orange-light\/20 {
    background-color: rgb(255 243 224 / 0.2);
}
.bg-sitan-orange-light\/25 {
    background-color: rgb(255 243 224 / 0.25);
}
.bg-sitan-orange-light\/30 {
    background-color: rgb(255 243 224 / 0.3);
}
.bg-sitan-orange-light\/35 {
    background-color: rgb(255 243 224 / 0.35);
}
.bg-sitan-orange-light\/40 {
    background-color: rgb(255 243 224 / 0.4);
}
.bg-sitan-orange-light\/45 {
    background-color: rgb(255 243 224 / 0.45);
}
.bg-sitan-orange-light\/5 {
    background-color: rgb(255 243 224 / 0.05);
}
.bg-sitan-orange-light\/50 {
    background-color: rgb(255 243 224 / 0.5);
}
.bg-sitan-orange-light\/55 {
    background-color: rgb(255 243 224 / 0.55);
}
.bg-sitan-orange-light\/60 {
    background-color: rgb(255 243 224 / 0.6);
}
.bg-sitan-orange-light\/65 {
    background-color: rgb(255 243 224 / 0.65);
}
.bg-sitan-orange-light\/70 {
    background-color: rgb(255 243 224 / 0.7);
}
.bg-sitan-orange-light\/75 {
    background-color: rgb(255 243 224 / 0.75);
}
.bg-sitan-orange-light\/80 {
    background-color: rgb(255 243 224 / 0.8);
}
.bg-sitan-orange-light\/85 {
    background-color: rgb(255 243 224 / 0.85);
}
.bg-sitan-orange-light\/90 {
    background-color: rgb(255 243 224 / 0.9);
}
.bg-sitan-orange-light\/95 {
    background-color: rgb(255 243 224 / 0.95);
}
.bg-sitan-purple-dark {
    --tw-bg-opacity: 1;
    background-color: rgb(142 36 170 / var(--tw-bg-opacity, 1));
}
.bg-sitan-purple-dark\/0 {
    background-color: rgb(142 36 170 / 0);
}
.bg-sitan-purple-dark\/10 {
    background-color: rgb(142 36 170 / 0.1);
}
.bg-sitan-purple-dark\/100 {
    background-color: rgb(142 36 170 / 1);
}
.bg-sitan-purple-dark\/15 {
    background-color: rgb(142 36 170 / 0.15);
}
.bg-sitan-purple-dark\/20 {
    background-color: rgb(142 36 170 / 0.2);
}
.bg-sitan-purple-dark\/25 {
    background-color: rgb(142 36 170 / 0.25);
}
.bg-sitan-purple-dark\/30 {
    background-color: rgb(142 36 170 / 0.3);
}
.bg-sitan-purple-dark\/35 {
    background-color: rgb(142 36 170 / 0.35);
}
.bg-sitan-purple-dark\/40 {
    background-color: rgb(142 36 170 / 0.4);
}
.bg-sitan-purple-dark\/45 {
    background-color: rgb(142 36 170 / 0.45);
}
.bg-sitan-purple-dark\/5 {
    background-color: rgb(142 36 170 / 0.05);
}
.bg-sitan-purple-dark\/50 {
    background-color: rgb(142 36 170 / 0.5);
}
.bg-sitan-purple-dark\/55 {
    background-color: rgb(142 36 170 / 0.55);
}
.bg-sitan-purple-dark\/60 {
    background-color: rgb(142 36 170 / 0.6);
}
.bg-sitan-purple-dark\/65 {
    background-color: rgb(142 36 170 / 0.65);
}
.bg-sitan-purple-dark\/70 {
    background-color: rgb(142 36 170 / 0.7);
}
.bg-sitan-purple-dark\/75 {
    background-color: rgb(142 36 170 / 0.75);
}
.bg-sitan-purple-dark\/80 {
    background-color: rgb(142 36 170 / 0.8);
}
.bg-sitan-purple-dark\/85 {
    background-color: rgb(142 36 170 / 0.85);
}
.bg-sitan-purple-dark\/90 {
    background-color: rgb(142 36 170 / 0.9);
}
.bg-sitan-purple-dark\/95 {
    background-color: rgb(142 36 170 / 0.95);
}
.bg-sitan-purple-light {
    --tw-bg-opacity: 1;
    background-color: rgb(243 229 245 / var(--tw-bg-opacity, 1));
}
.bg-sitan-purple-light\/0 {
    background-color: rgb(243 229 245 / 0);
}
.bg-sitan-purple-light\/10 {
    background-color: rgb(243 229 245 / 0.1);
}
.bg-sitan-purple-light\/100 {
    background-color: rgb(243 229 245 / 1);
}
.bg-sitan-purple-light\/15 {
    background-color: rgb(243 229 245 / 0.15);
}
.bg-sitan-purple-light\/20 {
    background-color: rgb(243 229 245 / 0.2);
}
.bg-sitan-purple-light\/25 {
    background-color: rgb(243 229 245 / 0.25);
}
.bg-sitan-purple-light\/30 {
    background-color: rgb(243 229 245 / 0.3);
}
.bg-sitan-purple-light\/35 {
    background-color: rgb(243 229 245 / 0.35);
}
.bg-sitan-purple-light\/40 {
    background-color: rgb(243 229 245 / 0.4);
}
.bg-sitan-purple-light\/45 {
    background-color: rgb(243 229 245 / 0.45);
}
.bg-sitan-purple-light\/5 {
    background-color: rgb(243 229 245 / 0.05);
}
.bg-sitan-purple-light\/50 {
    background-color: rgb(243 229 245 / 0.5);
}
.bg-sitan-purple-light\/55 {
    background-color: rgb(243 229 245 / 0.55);
}
.bg-sitan-purple-light\/60 {
    background-color: rgb(243 229 245 / 0.6);
}
.bg-sitan-purple-light\/65 {
    background-color: rgb(243 229 245 / 0.65);
}
.bg-sitan-purple-light\/70 {
    background-color: rgb(243 229 245 / 0.7);
}
.bg-sitan-purple-light\/75 {
    background-color: rgb(243 229 245 / 0.75);
}
.bg-sitan-purple-light\/80 {
    background-color: rgb(243 229 245 / 0.8);
}
.bg-sitan-purple-light\/85 {
    background-color: rgb(243 229 245 / 0.85);
}
.bg-sitan-purple-light\/90 {
    background-color: rgb(243 229 245 / 0.9);
}
.bg-sitan-purple-light\/95 {
    background-color: rgb(243 229 245 / 0.95);
}
.bg-sitan-red {
    --tw-bg-opacity: 1;
    background-color: rgb(224 48 46 / var(--tw-bg-opacity, 1));
}
.bg-sitan-red-light {
    --tw-bg-opacity: 1;
    background-color: rgb(254 234 234 / var(--tw-bg-opacity, 1));
}
.bg-sitan-red-light\/0 {
    background-color: rgb(254 234 234 / 0);
}
.bg-sitan-red-light\/10 {
    background-color: rgb(254 234 234 / 0.1);
}
.bg-sitan-red-light\/100 {
    background-color: rgb(254 234 234 / 1);
}
.bg-sitan-red-light\/15 {
    background-color: rgb(254 234 234 / 0.15);
}
.bg-sitan-red-light\/20 {
    background-color: rgb(254 234 234 / 0.2);
}
.bg-sitan-red-light\/25 {
    background-color: rgb(254 234 234 / 0.25);
}
.bg-sitan-red-light\/30 {
    background-color: rgb(254 234 234 / 0.3);
}
.bg-sitan-red-light\/35 {
    background-color: rgb(254 234 234 / 0.35);
}
.bg-sitan-red-light\/40 {
    background-color: rgb(254 234 234 / 0.4);
}
.bg-sitan-red-light\/45 {
    background-color: rgb(254 234 234 / 0.45);
}
.bg-sitan-red-light\/5 {
    background-color: rgb(254 234 234 / 0.05);
}
.bg-sitan-red-light\/50 {
    background-color: rgb(254 234 234 / 0.5);
}
.bg-sitan-red-light\/55 {
    background-color: rgb(254 234 234 / 0.55);
}
.bg-sitan-red-light\/60 {
    background-color: rgb(254 234 234 / 0.6);
}
.bg-sitan-red-light\/65 {
    background-color: rgb(254 234 234 / 0.65);
}
.bg-sitan-red-light\/70 {
    background-color: rgb(254 234 234 / 0.7);
}
.bg-sitan-red-light\/75 {
    background-color: rgb(254 234 234 / 0.75);
}
.bg-sitan-red-light\/80 {
    background-color: rgb(254 234 234 / 0.8);
}
.bg-sitan-red-light\/85 {
    background-color: rgb(254 234 234 / 0.85);
}
.bg-sitan-red-light\/90 {
    background-color: rgb(254 234 234 / 0.9);
}
.bg-sitan-red-light\/95 {
    background-color: rgb(254 234 234 / 0.95);
}
.bg-sitan-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-sitan-yellow-dark {
    --tw-bg-opacity: 1;
    background-color: rgb(251 192 45 / var(--tw-bg-opacity, 1));
}
.bg-sitan-yellow-dark\/0 {
    background-color: rgb(251 192 45 / 0);
}
.bg-sitan-yellow-dark\/10 {
    background-color: rgb(251 192 45 / 0.1);
}
.bg-sitan-yellow-dark\/100 {
    background-color: rgb(251 192 45 / 1);
}
.bg-sitan-yellow-dark\/15 {
    background-color: rgb(251 192 45 / 0.15);
}
.bg-sitan-yellow-dark\/20 {
    background-color: rgb(251 192 45 / 0.2);
}
.bg-sitan-yellow-dark\/25 {
    background-color: rgb(251 192 45 / 0.25);
}
.bg-sitan-yellow-dark\/30 {
    background-color: rgb(251 192 45 / 0.3);
}
.bg-sitan-yellow-dark\/35 {
    background-color: rgb(251 192 45 / 0.35);
}
.bg-sitan-yellow-dark\/40 {
    background-color: rgb(251 192 45 / 0.4);
}
.bg-sitan-yellow-dark\/45 {
    background-color: rgb(251 192 45 / 0.45);
}
.bg-sitan-yellow-dark\/5 {
    background-color: rgb(251 192 45 / 0.05);
}
.bg-sitan-yellow-dark\/50 {
    background-color: rgb(251 192 45 / 0.5);
}
.bg-sitan-yellow-dark\/55 {
    background-color: rgb(251 192 45 / 0.55);
}
.bg-sitan-yellow-dark\/60 {
    background-color: rgb(251 192 45 / 0.6);
}
.bg-sitan-yellow-dark\/65 {
    background-color: rgb(251 192 45 / 0.65);
}
.bg-sitan-yellow-dark\/70 {
    background-color: rgb(251 192 45 / 0.7);
}
.bg-sitan-yellow-dark\/75 {
    background-color: rgb(251 192 45 / 0.75);
}
.bg-sitan-yellow-dark\/80 {
    background-color: rgb(251 192 45 / 0.8);
}
.bg-sitan-yellow-dark\/85 {
    background-color: rgb(251 192 45 / 0.85);
}
.bg-sitan-yellow-dark\/90 {
    background-color: rgb(251 192 45 / 0.9);
}
.bg-sitan-yellow-dark\/95 {
    background-color: rgb(251 192 45 / 0.95);
}
.bg-sitan-yellow-light {
    --tw-bg-opacity: 1;
    background-color: rgb(255 253 231 / var(--tw-bg-opacity, 1));
}
.bg-sitan-yellow-light\/0 {
    background-color: rgb(255 253 231 / 0);
}
.bg-sitan-yellow-light\/10 {
    background-color: rgb(255 253 231 / 0.1);
}
.bg-sitan-yellow-light\/100 {
    background-color: rgb(255 253 231 / 1);
}
.bg-sitan-yellow-light\/15 {
    background-color: rgb(255 253 231 / 0.15);
}
.bg-sitan-yellow-light\/20 {
    background-color: rgb(255 253 231 / 0.2);
}
.bg-sitan-yellow-light\/25 {
    background-color: rgb(255 253 231 / 0.25);
}
.bg-sitan-yellow-light\/30 {
    background-color: rgb(255 253 231 / 0.3);
}
.bg-sitan-yellow-light\/35 {
    background-color: rgb(255 253 231 / 0.35);
}
.bg-sitan-yellow-light\/40 {
    background-color: rgb(255 253 231 / 0.4);
}
.bg-sitan-yellow-light\/45 {
    background-color: rgb(255 253 231 / 0.45);
}
.bg-sitan-yellow-light\/5 {
    background-color: rgb(255 253 231 / 0.05);
}
.bg-sitan-yellow-light\/50 {
    background-color: rgb(255 253 231 / 0.5);
}
.bg-sitan-yellow-light\/55 {
    background-color: rgb(255 253 231 / 0.55);
}
.bg-sitan-yellow-light\/60 {
    background-color: rgb(255 253 231 / 0.6);
}
.bg-sitan-yellow-light\/65 {
    background-color: rgb(255 253 231 / 0.65);
}
.bg-sitan-yellow-light\/70 {
    background-color: rgb(255 253 231 / 0.7);
}
.bg-sitan-yellow-light\/75 {
    background-color: rgb(255 253 231 / 0.75);
}
.bg-sitan-yellow-light\/80 {
    background-color: rgb(255 253 231 / 0.8);
}
.bg-sitan-yellow-light\/85 {
    background-color: rgb(255 253 231 / 0.85);
}
.bg-sitan-yellow-light\/90 {
    background-color: rgb(255 253 231 / 0.9);
}
.bg-sitan-yellow-light\/95 {
    background-color: rgb(255 253 231 / 0.95);
}
.bg-slate-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-transparent {
    background-color: transparent;
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/95 {
    background-color: rgb(255 255 255 / 0.95);
}
.bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.from-black {
    --tw-gradient-from: #000 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/80 {
    --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-transparent {
    --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-black {
    --tw-gradient-to: #000 var(--tw-gradient-to-position);
}
.to-black\/80 {
    --tw-gradient-to: rgb(0 0 0 / 0.8) var(--tw-gradient-to-position);
}
.to-black\/95 {
    --tw-gradient-to: rgb(0 0 0 / 0.95) var(--tw-gradient-to-position);
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.object-center {
    -o-object-position: center;
       object-position: center;
}
.p-2 {
    padding: 0.5rem;
}
.p-3 {
    padding: 0.75rem;
}
.p-4 {
    padding: 1rem;
}
.p-5 {
    padding: 1.25rem;
}
.p-6 {
    padding: 1.5rem;
}
.p-8 {
    padding: 2rem;
}
.px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
.px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.pb-1 {
    padding-bottom: 0.25rem;
}
.pb-10 {
    padding-bottom: 2.5rem;
}
.pb-12 {
    padding-bottom: 3rem;
}
.pb-16 {
    padding-bottom: 4rem;
}
.pb-20 {
    padding-bottom: 5rem;
}
.pb-28 {
    padding-bottom: 7rem;
}
.pb-4 {
    padding-bottom: 1rem;
}
.pb-5 {
    padding-bottom: 1.25rem;
}
.pb-6 {
    padding-bottom: 1.5rem;
}
.pb-8 {
    padding-bottom: 2rem;
}
.pl-4 {
    padding-left: 1rem;
}
.pt-0 {
    padding-top: 0px;
}
.pt-1 {
    padding-top: 0.25rem;
}
.pt-10 {
    padding-top: 2.5rem;
}
.pt-12 {
    padding-top: 3rem;
}
.pt-20 {
    padding-top: 5rem;
}
.pt-24 {
    padding-top: 6rem;
}
.pt-4 {
    padding-top: 1rem;
}
.pt-5 {
    padding-top: 1.25rem;
}
.pt-6 {
    padding-top: 1.5rem;
}
.pt-8 {
    padding-top: 2rem;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.font-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
    font-family: Inter, sans-serif;
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-6xl {
    font-size: 3.75rem;
    line-height: 1;
}
.text-9xl {
    font-size: 8rem;
    line-height: 1;
}
.text-\[10px\] {
    font-size: 10px;
}
.text-\[10rem\] {
    font-size: 10rem;
}
.text-\[11px\] {
    font-size: 11px;
}
.text-\[12px\] {
    font-size: 12px;
}
.text-\[13px\] {
    font-size: 13px;
}
.text-\[6px\] {
    font-size: 6px;
}
.text-\[8px\] {
    font-size: 8px;
}
.text-\[9px\] {
    font-size: 9px;
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-black {
    font-weight: 900;
}
.font-bold {
    font-weight: 700;
}
.font-extrabold {
    font-weight: 800;
}
.font-light {
    font-weight: 300;
}
.font-medium {
    font-weight: 500;
}
.font-normal {
    font-weight: 400;
}
.font-semibold {
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase;
}
.italic {
    font-style: italic;
}
.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.\!leading-tight {
    line-height: 1.25 !important;
}
.leading-\[1\.2\] {
    line-height: 1.2;
}
.leading-none {
    line-height: 1;
}
.leading-relaxed {
    line-height: 1.625;
}
.leading-snug {
    line-height: 1.375;
}
.leading-tight {
    line-height: 1.25;
}
.tracking-\[0\.12em\] {
    letter-spacing: 0.12em;
}
.tracking-\[0\.15em\] {
    letter-spacing: 0.15em;
}
.tracking-\[0\.1em\] {
    letter-spacing: 0.1em;
}
.tracking-\[0\.2em\] {
    letter-spacing: 0.2em;
}
.tracking-\[0\.3em\] {
    letter-spacing: 0.3em;
}
.tracking-tight {
    letter-spacing: -0.025em;
}
.tracking-tighter {
    letter-spacing: -0.05em;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.tracking-wider {
    letter-spacing: 0.05em;
}
.tracking-widest {
    letter-spacing: 0.1em;
}
.text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-400 {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-sitan-black {
    --tw-text-opacity: 1;
    color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
.text-sitan-blue {
    --tw-text-opacity: 1;
    color: rgb(33 150 243 / var(--tw-text-opacity, 1));
}
.text-sitan-blue-dark {
    --tw-text-opacity: 1;
    color: rgb(25 118 210 / var(--tw-text-opacity, 1));
}
.text-sitan-blue-dark\/0 {
    color: rgb(25 118 210 / 0);
}
.text-sitan-blue-dark\/10 {
    color: rgb(25 118 210 / 0.1);
}
.text-sitan-blue-dark\/100 {
    color: rgb(25 118 210 / 1);
}
.text-sitan-blue-dark\/15 {
    color: rgb(25 118 210 / 0.15);
}
.text-sitan-blue-dark\/20 {
    color: rgb(25 118 210 / 0.2);
}
.text-sitan-blue-dark\/25 {
    color: rgb(25 118 210 / 0.25);
}
.text-sitan-blue-dark\/30 {
    color: rgb(25 118 210 / 0.3);
}
.text-sitan-blue-dark\/35 {
    color: rgb(25 118 210 / 0.35);
}
.text-sitan-blue-dark\/40 {
    color: rgb(25 118 210 / 0.4);
}
.text-sitan-blue-dark\/45 {
    color: rgb(25 118 210 / 0.45);
}
.text-sitan-blue-dark\/5 {
    color: rgb(25 118 210 / 0.05);
}
.text-sitan-blue-dark\/50 {
    color: rgb(25 118 210 / 0.5);
}
.text-sitan-blue-dark\/55 {
    color: rgb(25 118 210 / 0.55);
}
.text-sitan-blue-dark\/60 {
    color: rgb(25 118 210 / 0.6);
}
.text-sitan-blue-dark\/65 {
    color: rgb(25 118 210 / 0.65);
}
.text-sitan-blue-dark\/70 {
    color: rgb(25 118 210 / 0.7);
}
.text-sitan-blue-dark\/75 {
    color: rgb(25 118 210 / 0.75);
}
.text-sitan-blue-dark\/80 {
    color: rgb(25 118 210 / 0.8);
}
.text-sitan-blue-dark\/85 {
    color: rgb(25 118 210 / 0.85);
}
.text-sitan-blue-dark\/90 {
    color: rgb(25 118 210 / 0.9);
}
.text-sitan-blue-dark\/95 {
    color: rgb(25 118 210 / 0.95);
}
.text-sitan-blue-light {
    --tw-text-opacity: 1;
    color: rgb(214 234 248 / var(--tw-text-opacity, 1));
}
.text-sitan-blue-light\/0 {
    color: rgb(214 234 248 / 0);
}
.text-sitan-blue-light\/10 {
    color: rgb(214 234 248 / 0.1);
}
.text-sitan-blue-light\/100 {
    color: rgb(214 234 248 / 1);
}
.text-sitan-blue-light\/15 {
    color: rgb(214 234 248 / 0.15);
}
.text-sitan-blue-light\/20 {
    color: rgb(214 234 248 / 0.2);
}
.text-sitan-blue-light\/25 {
    color: rgb(214 234 248 / 0.25);
}
.text-sitan-blue-light\/30 {
    color: rgb(214 234 248 / 0.3);
}
.text-sitan-blue-light\/35 {
    color: rgb(214 234 248 / 0.35);
}
.text-sitan-blue-light\/40 {
    color: rgb(214 234 248 / 0.4);
}
.text-sitan-blue-light\/45 {
    color: rgb(214 234 248 / 0.45);
}
.text-sitan-blue-light\/5 {
    color: rgb(214 234 248 / 0.05);
}
.text-sitan-blue-light\/50 {
    color: rgb(214 234 248 / 0.5);
}
.text-sitan-blue-light\/55 {
    color: rgb(214 234 248 / 0.55);
}
.text-sitan-blue-light\/60 {
    color: rgb(214 234 248 / 0.6);
}
.text-sitan-blue-light\/65 {
    color: rgb(214 234 248 / 0.65);
}
.text-sitan-blue-light\/70 {
    color: rgb(214 234 248 / 0.7);
}
.text-sitan-blue-light\/75 {
    color: rgb(214 234 248 / 0.75);
}
.text-sitan-blue-light\/80 {
    color: rgb(214 234 248 / 0.8);
}
.text-sitan-blue-light\/85 {
    color: rgb(214 234 248 / 0.85);
}
.text-sitan-blue-light\/90 {
    color: rgb(214 234 248 / 0.9);
}
.text-sitan-blue-light\/95 {
    color: rgb(214 234 248 / 0.95);
}
.text-sitan-brown-dark {
    --tw-text-opacity: 1;
    color: rgb(78 52 46 / var(--tw-text-opacity, 1));
}
.text-sitan-brown-dark\/0 {
    color: rgb(78 52 46 / 0);
}
.text-sitan-brown-dark\/10 {
    color: rgb(78 52 46 / 0.1);
}
.text-sitan-brown-dark\/100 {
    color: rgb(78 52 46 / 1);
}
.text-sitan-brown-dark\/15 {
    color: rgb(78 52 46 / 0.15);
}
.text-sitan-brown-dark\/20 {
    color: rgb(78 52 46 / 0.2);
}
.text-sitan-brown-dark\/25 {
    color: rgb(78 52 46 / 0.25);
}
.text-sitan-brown-dark\/30 {
    color: rgb(78 52 46 / 0.3);
}
.text-sitan-brown-dark\/35 {
    color: rgb(78 52 46 / 0.35);
}
.text-sitan-brown-dark\/40 {
    color: rgb(78 52 46 / 0.4);
}
.text-sitan-brown-dark\/45 {
    color: rgb(78 52 46 / 0.45);
}
.text-sitan-brown-dark\/5 {
    color: rgb(78 52 46 / 0.05);
}
.text-sitan-brown-dark\/50 {
    color: rgb(78 52 46 / 0.5);
}
.text-sitan-brown-dark\/55 {
    color: rgb(78 52 46 / 0.55);
}
.text-sitan-brown-dark\/60 {
    color: rgb(78 52 46 / 0.6);
}
.text-sitan-brown-dark\/65 {
    color: rgb(78 52 46 / 0.65);
}
.text-sitan-brown-dark\/70 {
    color: rgb(78 52 46 / 0.7);
}
.text-sitan-brown-dark\/75 {
    color: rgb(78 52 46 / 0.75);
}
.text-sitan-brown-dark\/80 {
    color: rgb(78 52 46 / 0.8);
}
.text-sitan-brown-dark\/85 {
    color: rgb(78 52 46 / 0.85);
}
.text-sitan-brown-dark\/90 {
    color: rgb(78 52 46 / 0.9);
}
.text-sitan-brown-dark\/95 {
    color: rgb(78 52 46 / 0.95);
}
.text-sitan-gray {
    --tw-text-opacity: 1;
    color: rgb(74 74 74 / var(--tw-text-opacity, 1));
}
.text-sitan-gray-dark {
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}
.text-sitan-gray-dark\/0 {
    color: rgb(51 51 51 / 0);
}
.text-sitan-gray-dark\/10 {
    color: rgb(51 51 51 / 0.1);
}
.text-sitan-gray-dark\/100 {
    color: rgb(51 51 51 / 1);
}
.text-sitan-gray-dark\/15 {
    color: rgb(51 51 51 / 0.15);
}
.text-sitan-gray-dark\/20 {
    color: rgb(51 51 51 / 0.2);
}
.text-sitan-gray-dark\/25 {
    color: rgb(51 51 51 / 0.25);
}
.text-sitan-gray-dark\/30 {
    color: rgb(51 51 51 / 0.3);
}
.text-sitan-gray-dark\/35 {
    color: rgb(51 51 51 / 0.35);
}
.text-sitan-gray-dark\/40 {
    color: rgb(51 51 51 / 0.4);
}
.text-sitan-gray-dark\/45 {
    color: rgb(51 51 51 / 0.45);
}
.text-sitan-gray-dark\/5 {
    color: rgb(51 51 51 / 0.05);
}
.text-sitan-gray-dark\/50 {
    color: rgb(51 51 51 / 0.5);
}
.text-sitan-gray-dark\/55 {
    color: rgb(51 51 51 / 0.55);
}
.text-sitan-gray-dark\/60 {
    color: rgb(51 51 51 / 0.6);
}
.text-sitan-gray-dark\/65 {
    color: rgb(51 51 51 / 0.65);
}
.text-sitan-gray-dark\/70 {
    color: rgb(51 51 51 / 0.7);
}
.text-sitan-gray-dark\/75 {
    color: rgb(51 51 51 / 0.75);
}
.text-sitan-gray-dark\/80 {
    color: rgb(51 51 51 / 0.8);
}
.text-sitan-gray-dark\/85 {
    color: rgb(51 51 51 / 0.85);
}
.text-sitan-gray-dark\/90 {
    color: rgb(51 51 51 / 0.9);
}
.text-sitan-gray-dark\/95 {
    color: rgb(51 51 51 / 0.95);
}
.text-sitan-gray-light {
    --tw-text-opacity: 1;
    color: rgb(245 245 245 / var(--tw-text-opacity, 1));
}
.text-sitan-gray-light\/0 {
    color: rgb(245 245 245 / 0);
}
.text-sitan-gray-light\/10 {
    color: rgb(245 245 245 / 0.1);
}
.text-sitan-gray-light\/100 {
    color: rgb(245 245 245 / 1);
}
.text-sitan-gray-light\/15 {
    color: rgb(245 245 245 / 0.15);
}
.text-sitan-gray-light\/20 {
    color: rgb(245 245 245 / 0.2);
}
.text-sitan-gray-light\/25 {
    color: rgb(245 245 245 / 0.25);
}
.text-sitan-gray-light\/30 {
    color: rgb(245 245 245 / 0.3);
}
.text-sitan-gray-light\/35 {
    color: rgb(245 245 245 / 0.35);
}
.text-sitan-gray-light\/40 {
    color: rgb(245 245 245 / 0.4);
}
.text-sitan-gray-light\/45 {
    color: rgb(245 245 245 / 0.45);
}
.text-sitan-gray-light\/5 {
    color: rgb(245 245 245 / 0.05);
}
.text-sitan-gray-light\/50 {
    color: rgb(245 245 245 / 0.5);
}
.text-sitan-gray-light\/55 {
    color: rgb(245 245 245 / 0.55);
}
.text-sitan-gray-light\/60 {
    color: rgb(245 245 245 / 0.6);
}
.text-sitan-gray-light\/65 {
    color: rgb(245 245 245 / 0.65);
}
.text-sitan-gray-light\/70 {
    color: rgb(245 245 245 / 0.7);
}
.text-sitan-gray-light\/75 {
    color: rgb(245 245 245 / 0.75);
}
.text-sitan-gray-light\/80 {
    color: rgb(245 245 245 / 0.8);
}
.text-sitan-gray-light\/85 {
    color: rgb(245 245 245 / 0.85);
}
.text-sitan-gray-light\/90 {
    color: rgb(245 245 245 / 0.9);
}
.text-sitan-gray-light\/95 {
    color: rgb(245 245 245 / 0.95);
}
.text-sitan-gray\/30 {
    color: rgb(74 74 74 / 0.3);
}
.text-sitan-gray\/60 {
    color: rgb(74 74 74 / 0.6);
}
.text-sitan-green {
    --tw-text-opacity: 1;
    color: rgb(46 125 50 / var(--tw-text-opacity, 1));
}
.text-sitan-green-light {
    --tw-text-opacity: 1;
    color: rgb(232 245 233 / var(--tw-text-opacity, 1));
}
.text-sitan-green-light\/0 {
    color: rgb(232 245 233 / 0);
}
.text-sitan-green-light\/10 {
    color: rgb(232 245 233 / 0.1);
}
.text-sitan-green-light\/100 {
    color: rgb(232 245 233 / 1);
}
.text-sitan-green-light\/15 {
    color: rgb(232 245 233 / 0.15);
}
.text-sitan-green-light\/20 {
    color: rgb(232 245 233 / 0.2);
}
.text-sitan-green-light\/25 {
    color: rgb(232 245 233 / 0.25);
}
.text-sitan-green-light\/30 {
    color: rgb(232 245 233 / 0.3);
}
.text-sitan-green-light\/35 {
    color: rgb(232 245 233 / 0.35);
}
.text-sitan-green-light\/40 {
    color: rgb(232 245 233 / 0.4);
}
.text-sitan-green-light\/45 {
    color: rgb(232 245 233 / 0.45);
}
.text-sitan-green-light\/5 {
    color: rgb(232 245 233 / 0.05);
}
.text-sitan-green-light\/50 {
    color: rgb(232 245 233 / 0.5);
}
.text-sitan-green-light\/55 {
    color: rgb(232 245 233 / 0.55);
}
.text-sitan-green-light\/60 {
    color: rgb(232 245 233 / 0.6);
}
.text-sitan-green-light\/65 {
    color: rgb(232 245 233 / 0.65);
}
.text-sitan-green-light\/70 {
    color: rgb(232 245 233 / 0.7);
}
.text-sitan-green-light\/75 {
    color: rgb(232 245 233 / 0.75);
}
.text-sitan-green-light\/80 {
    color: rgb(232 245 233 / 0.8);
}
.text-sitan-green-light\/85 {
    color: rgb(232 245 233 / 0.85);
}
.text-sitan-green-light\/90 {
    color: rgb(232 245 233 / 0.9);
}
.text-sitan-green-light\/95 {
    color: rgb(232 245 233 / 0.95);
}
.text-sitan-orange-dark {
    --tw-text-opacity: 1;
    color: rgb(251 140 0 / var(--tw-text-opacity, 1));
}
.text-sitan-orange-dark\/0 {
    color: rgb(251 140 0 / 0);
}
.text-sitan-orange-dark\/10 {
    color: rgb(251 140 0 / 0.1);
}
.text-sitan-orange-dark\/100 {
    color: rgb(251 140 0 / 1);
}
.text-sitan-orange-dark\/15 {
    color: rgb(251 140 0 / 0.15);
}
.text-sitan-orange-dark\/20 {
    color: rgb(251 140 0 / 0.2);
}
.text-sitan-orange-dark\/25 {
    color: rgb(251 140 0 / 0.25);
}
.text-sitan-orange-dark\/30 {
    color: rgb(251 140 0 / 0.3);
}
.text-sitan-orange-dark\/35 {
    color: rgb(251 140 0 / 0.35);
}
.text-sitan-orange-dark\/40 {
    color: rgb(251 140 0 / 0.4);
}
.text-sitan-orange-dark\/45 {
    color: rgb(251 140 0 / 0.45);
}
.text-sitan-orange-dark\/5 {
    color: rgb(251 140 0 / 0.05);
}
.text-sitan-orange-dark\/50 {
    color: rgb(251 140 0 / 0.5);
}
.text-sitan-orange-dark\/55 {
    color: rgb(251 140 0 / 0.55);
}
.text-sitan-orange-dark\/60 {
    color: rgb(251 140 0 / 0.6);
}
.text-sitan-orange-dark\/65 {
    color: rgb(251 140 0 / 0.65);
}
.text-sitan-orange-dark\/70 {
    color: rgb(251 140 0 / 0.7);
}
.text-sitan-orange-dark\/75 {
    color: rgb(251 140 0 / 0.75);
}
.text-sitan-orange-dark\/80 {
    color: rgb(251 140 0 / 0.8);
}
.text-sitan-orange-dark\/85 {
    color: rgb(251 140 0 / 0.85);
}
.text-sitan-orange-dark\/90 {
    color: rgb(251 140 0 / 0.9);
}
.text-sitan-orange-dark\/95 {
    color: rgb(251 140 0 / 0.95);
}
.text-sitan-orange-light {
    --tw-text-opacity: 1;
    color: rgb(255 243 224 / var(--tw-text-opacity, 1));
}
.text-sitan-orange-light\/0 {
    color: rgb(255 243 224 / 0);
}
.text-sitan-orange-light\/10 {
    color: rgb(255 243 224 / 0.1);
}
.text-sitan-orange-light\/100 {
    color: rgb(255 243 224 / 1);
}
.text-sitan-orange-light\/15 {
    color: rgb(255 243 224 / 0.15);
}
.text-sitan-orange-light\/20 {
    color: rgb(255 243 224 / 0.2);
}
.text-sitan-orange-light\/25 {
    color: rgb(255 243 224 / 0.25);
}
.text-sitan-orange-light\/30 {
    color: rgb(255 243 224 / 0.3);
}
.text-sitan-orange-light\/35 {
    color: rgb(255 243 224 / 0.35);
}
.text-sitan-orange-light\/40 {
    color: rgb(255 243 224 / 0.4);
}
.text-sitan-orange-light\/45 {
    color: rgb(255 243 224 / 0.45);
}
.text-sitan-orange-light\/5 {
    color: rgb(255 243 224 / 0.05);
}
.text-sitan-orange-light\/50 {
    color: rgb(255 243 224 / 0.5);
}
.text-sitan-orange-light\/55 {
    color: rgb(255 243 224 / 0.55);
}
.text-sitan-orange-light\/60 {
    color: rgb(255 243 224 / 0.6);
}
.text-sitan-orange-light\/65 {
    color: rgb(255 243 224 / 0.65);
}
.text-sitan-orange-light\/70 {
    color: rgb(255 243 224 / 0.7);
}
.text-sitan-orange-light\/75 {
    color: rgb(255 243 224 / 0.75);
}
.text-sitan-orange-light\/80 {
    color: rgb(255 243 224 / 0.8);
}
.text-sitan-orange-light\/85 {
    color: rgb(255 243 224 / 0.85);
}
.text-sitan-orange-light\/90 {
    color: rgb(255 243 224 / 0.9);
}
.text-sitan-orange-light\/95 {
    color: rgb(255 243 224 / 0.95);
}
.text-sitan-purple-dark {
    --tw-text-opacity: 1;
    color: rgb(142 36 170 / var(--tw-text-opacity, 1));
}
.text-sitan-purple-dark\/0 {
    color: rgb(142 36 170 / 0);
}
.text-sitan-purple-dark\/10 {
    color: rgb(142 36 170 / 0.1);
}
.text-sitan-purple-dark\/100 {
    color: rgb(142 36 170 / 1);
}
.text-sitan-purple-dark\/15 {
    color: rgb(142 36 170 / 0.15);
}
.text-sitan-purple-dark\/20 {
    color: rgb(142 36 170 / 0.2);
}
.text-sitan-purple-dark\/25 {
    color: rgb(142 36 170 / 0.25);
}
.text-sitan-purple-dark\/30 {
    color: rgb(142 36 170 / 0.3);
}
.text-sitan-purple-dark\/35 {
    color: rgb(142 36 170 / 0.35);
}
.text-sitan-purple-dark\/40 {
    color: rgb(142 36 170 / 0.4);
}
.text-sitan-purple-dark\/45 {
    color: rgb(142 36 170 / 0.45);
}
.text-sitan-purple-dark\/5 {
    color: rgb(142 36 170 / 0.05);
}
.text-sitan-purple-dark\/50 {
    color: rgb(142 36 170 / 0.5);
}
.text-sitan-purple-dark\/55 {
    color: rgb(142 36 170 / 0.55);
}
.text-sitan-purple-dark\/60 {
    color: rgb(142 36 170 / 0.6);
}
.text-sitan-purple-dark\/65 {
    color: rgb(142 36 170 / 0.65);
}
.text-sitan-purple-dark\/70 {
    color: rgb(142 36 170 / 0.7);
}
.text-sitan-purple-dark\/75 {
    color: rgb(142 36 170 / 0.75);
}
.text-sitan-purple-dark\/80 {
    color: rgb(142 36 170 / 0.8);
}
.text-sitan-purple-dark\/85 {
    color: rgb(142 36 170 / 0.85);
}
.text-sitan-purple-dark\/90 {
    color: rgb(142 36 170 / 0.9);
}
.text-sitan-purple-dark\/95 {
    color: rgb(142 36 170 / 0.95);
}
.text-sitan-purple-light {
    --tw-text-opacity: 1;
    color: rgb(243 229 245 / var(--tw-text-opacity, 1));
}
.text-sitan-purple-light\/0 {
    color: rgb(243 229 245 / 0);
}
.text-sitan-purple-light\/10 {
    color: rgb(243 229 245 / 0.1);
}
.text-sitan-purple-light\/100 {
    color: rgb(243 229 245 / 1);
}
.text-sitan-purple-light\/15 {
    color: rgb(243 229 245 / 0.15);
}
.text-sitan-purple-light\/20 {
    color: rgb(243 229 245 / 0.2);
}
.text-sitan-purple-light\/25 {
    color: rgb(243 229 245 / 0.25);
}
.text-sitan-purple-light\/30 {
    color: rgb(243 229 245 / 0.3);
}
.text-sitan-purple-light\/35 {
    color: rgb(243 229 245 / 0.35);
}
.text-sitan-purple-light\/40 {
    color: rgb(243 229 245 / 0.4);
}
.text-sitan-purple-light\/45 {
    color: rgb(243 229 245 / 0.45);
}
.text-sitan-purple-light\/5 {
    color: rgb(243 229 245 / 0.05);
}
.text-sitan-purple-light\/50 {
    color: rgb(243 229 245 / 0.5);
}
.text-sitan-purple-light\/55 {
    color: rgb(243 229 245 / 0.55);
}
.text-sitan-purple-light\/60 {
    color: rgb(243 229 245 / 0.6);
}
.text-sitan-purple-light\/65 {
    color: rgb(243 229 245 / 0.65);
}
.text-sitan-purple-light\/70 {
    color: rgb(243 229 245 / 0.7);
}
.text-sitan-purple-light\/75 {
    color: rgb(243 229 245 / 0.75);
}
.text-sitan-purple-light\/80 {
    color: rgb(243 229 245 / 0.8);
}
.text-sitan-purple-light\/85 {
    color: rgb(243 229 245 / 0.85);
}
.text-sitan-purple-light\/90 {
    color: rgb(243 229 245 / 0.9);
}
.text-sitan-purple-light\/95 {
    color: rgb(243 229 245 / 0.95);
}
.text-sitan-red {
    --tw-text-opacity: 1;
    color: rgb(224 48 46 / var(--tw-text-opacity, 1));
}
.text-sitan-red-light {
    --tw-text-opacity: 1;
    color: rgb(254 234 234 / var(--tw-text-opacity, 1));
}
.text-sitan-red-light\/0 {
    color: rgb(254 234 234 / 0);
}
.text-sitan-red-light\/10 {
    color: rgb(254 234 234 / 0.1);
}
.text-sitan-red-light\/100 {
    color: rgb(254 234 234 / 1);
}
.text-sitan-red-light\/15 {
    color: rgb(254 234 234 / 0.15);
}
.text-sitan-red-light\/20 {
    color: rgb(254 234 234 / 0.2);
}
.text-sitan-red-light\/25 {
    color: rgb(254 234 234 / 0.25);
}
.text-sitan-red-light\/30 {
    color: rgb(254 234 234 / 0.3);
}
.text-sitan-red-light\/35 {
    color: rgb(254 234 234 / 0.35);
}
.text-sitan-red-light\/40 {
    color: rgb(254 234 234 / 0.4);
}
.text-sitan-red-light\/45 {
    color: rgb(254 234 234 / 0.45);
}
.text-sitan-red-light\/5 {
    color: rgb(254 234 234 / 0.05);
}
.text-sitan-red-light\/50 {
    color: rgb(254 234 234 / 0.5);
}
.text-sitan-red-light\/55 {
    color: rgb(254 234 234 / 0.55);
}
.text-sitan-red-light\/60 {
    color: rgb(254 234 234 / 0.6);
}
.text-sitan-red-light\/65 {
    color: rgb(254 234 234 / 0.65);
}
.text-sitan-red-light\/70 {
    color: rgb(254 234 234 / 0.7);
}
.text-sitan-red-light\/75 {
    color: rgb(254 234 234 / 0.75);
}
.text-sitan-red-light\/80 {
    color: rgb(254 234 234 / 0.8);
}
.text-sitan-red-light\/85 {
    color: rgb(254 234 234 / 0.85);
}
.text-sitan-red-light\/90 {
    color: rgb(254 234 234 / 0.9);
}
.text-sitan-red-light\/95 {
    color: rgb(254 234 234 / 0.95);
}
.text-sitan-red\/10 {
    color: rgb(224 48 46 / 0.1);
}
.text-sitan-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-sitan-yellow-dark {
    --tw-text-opacity: 1;
    color: rgb(251 192 45 / var(--tw-text-opacity, 1));
}
.text-sitan-yellow-dark\/0 {
    color: rgb(251 192 45 / 0);
}
.text-sitan-yellow-dark\/10 {
    color: rgb(251 192 45 / 0.1);
}
.text-sitan-yellow-dark\/100 {
    color: rgb(251 192 45 / 1);
}
.text-sitan-yellow-dark\/15 {
    color: rgb(251 192 45 / 0.15);
}
.text-sitan-yellow-dark\/20 {
    color: rgb(251 192 45 / 0.2);
}
.text-sitan-yellow-dark\/25 {
    color: rgb(251 192 45 / 0.25);
}
.text-sitan-yellow-dark\/30 {
    color: rgb(251 192 45 / 0.3);
}
.text-sitan-yellow-dark\/35 {
    color: rgb(251 192 45 / 0.35);
}
.text-sitan-yellow-dark\/40 {
    color: rgb(251 192 45 / 0.4);
}
.text-sitan-yellow-dark\/45 {
    color: rgb(251 192 45 / 0.45);
}
.text-sitan-yellow-dark\/5 {
    color: rgb(251 192 45 / 0.05);
}
.text-sitan-yellow-dark\/50 {
    color: rgb(251 192 45 / 0.5);
}
.text-sitan-yellow-dark\/55 {
    color: rgb(251 192 45 / 0.55);
}
.text-sitan-yellow-dark\/60 {
    color: rgb(251 192 45 / 0.6);
}
.text-sitan-yellow-dark\/65 {
    color: rgb(251 192 45 / 0.65);
}
.text-sitan-yellow-dark\/70 {
    color: rgb(251 192 45 / 0.7);
}
.text-sitan-yellow-dark\/75 {
    color: rgb(251 192 45 / 0.75);
}
.text-sitan-yellow-dark\/80 {
    color: rgb(251 192 45 / 0.8);
}
.text-sitan-yellow-dark\/85 {
    color: rgb(251 192 45 / 0.85);
}
.text-sitan-yellow-dark\/90 {
    color: rgb(251 192 45 / 0.9);
}
.text-sitan-yellow-dark\/95 {
    color: rgb(251 192 45 / 0.95);
}
.text-sitan-yellow-light {
    --tw-text-opacity: 1;
    color: rgb(255 253 231 / var(--tw-text-opacity, 1));
}
.text-sitan-yellow-light\/0 {
    color: rgb(255 253 231 / 0);
}
.text-sitan-yellow-light\/10 {
    color: rgb(255 253 231 / 0.1);
}
.text-sitan-yellow-light\/100 {
    color: rgb(255 253 231 / 1);
}
.text-sitan-yellow-light\/15 {
    color: rgb(255 253 231 / 0.15);
}
.text-sitan-yellow-light\/20 {
    color: rgb(255 253 231 / 0.2);
}
.text-sitan-yellow-light\/25 {
    color: rgb(255 253 231 / 0.25);
}
.text-sitan-yellow-light\/30 {
    color: rgb(255 253 231 / 0.3);
}
.text-sitan-yellow-light\/35 {
    color: rgb(255 253 231 / 0.35);
}
.text-sitan-yellow-light\/40 {
    color: rgb(255 253 231 / 0.4);
}
.text-sitan-yellow-light\/45 {
    color: rgb(255 253 231 / 0.45);
}
.text-sitan-yellow-light\/5 {
    color: rgb(255 253 231 / 0.05);
}
.text-sitan-yellow-light\/50 {
    color: rgb(255 253 231 / 0.5);
}
.text-sitan-yellow-light\/55 {
    color: rgb(255 253 231 / 0.55);
}
.text-sitan-yellow-light\/60 {
    color: rgb(255 253 231 / 0.6);
}
.text-sitan-yellow-light\/65 {
    color: rgb(255 253 231 / 0.65);
}
.text-sitan-yellow-light\/70 {
    color: rgb(255 253 231 / 0.7);
}
.text-sitan-yellow-light\/75 {
    color: rgb(255 253 231 / 0.75);
}
.text-sitan-yellow-light\/80 {
    color: rgb(255 253 231 / 0.8);
}
.text-sitan-yellow-light\/85 {
    color: rgb(255 253 231 / 0.85);
}
.text-sitan-yellow-light\/90 {
    color: rgb(255 253 231 / 0.9);
}
.text-sitan-yellow-light\/95 {
    color: rgb(255 253 231 / 0.95);
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/5 {
    color: rgb(255 255 255 / 0.05);
}
.underline {
    text-decoration-line: underline;
}
.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
    opacity: 0;
}
.opacity-100 {
    opacity: 1;
}
.opacity-25 {
    opacity: 0.25;
}
.opacity-30 {
    opacity: 0.3;
}
.opacity-40 {
    opacity: 0.4;
}
.opacity-60 {
    opacity: 0.6;
}
.opacity-70 {
    opacity: 0.7;
}
.opacity-75 {
    opacity: 0.75;
}
.opacity-80 {
    opacity: 0.8;
}
.opacity-90 {
    opacity: 0.9;
}
.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-blue-500\/20 {
    --tw-shadow-color: rgb(59 130 246 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.outline {
    outline-style: solid;
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.brightness-90 {
    --tw-brightness: brightness(.9);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_0_10px_rgba\(0\2c 186\2c 242\2c 0\.12\)\] {
    --tw-drop-shadow: drop-shadow(0 0 10px rgba(0,186,242,0.12));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_4px_15px_rgba\(0\2c 0\2c 0\2c 0\.9\)\] {
    --tw-drop-shadow: drop-shadow(0 4px 15px rgba(0,0,0,0.9));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-2xl {
    --tw-backdrop-blur: blur(40px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
    --tw-backdrop-blur: blur(12px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[filter\] {
    transition-property: filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[opacity\2c transform\] {
    transition-property: opacity,transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.delay-100 {
    transition-delay: 100ms;
}
.delay-1000 {
    transition-delay: 1000ms;
}
.delay-200 {
    transition-delay: 200ms;
}
.delay-300 {
    transition-delay: 300ms;
}
.delay-500 {
    transition-delay: 500ms;
}
.delay-700 {
    transition-delay: 700ms;
}
.duration-200 {
    transition-duration: 200ms;
}
.duration-300 {
    transition-duration: 300ms;
}
.duration-500 {
    transition-duration: 500ms;
}
.duration-700 {
    transition-duration: 700ms;
}
.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.text-shadow {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.transform-gpu {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    perspective: 1000px;
}
.text-rendering-smooth {
    text-rendering: geometricPrecision;
    -moz-osx-font-smoothing: grayscale;
    font-variant-ligatures: none;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
}
/* SnapScroll: подавление hover-эффектов во время анимации скролла.
   pointer-events:none на body блокирует :hover на всех элементах,
   предотвращая моргание при попадании курсора на hover-элемент. */
html.is-snap-scrolling body {
    pointer-events: none;
}
/*--------------------------------------------------
  2) PREMIUM COMPONENTS (UI ENGINE)
--------------------------------------------------*/
/* Mobile viewport stability for full-screen sections:
   prevents jumpy scroll when browser UI expands/collapses. */
@media (max-width: 767px) {
    #section-hero.h-screen-full,
    #section-carousel.h-screen-full,
    .page-sitan #section-applications.h-screen-full {
        height: 100vh;
        min-height: 100vh !important;
    }

    @supports (height: 100svh) {
        #section-hero.h-screen-full,
        #section-carousel.h-screen-full,
        .page-sitan #section-applications.h-screen-full {
            height: 100svh;
            min-height: 100svh !important;
        }
    }
}
@media (min-width: 640px) {
    @media (max-width: 767px) {

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .sm\:flex-row {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex !important;
        } /* Единообразно с eco (text-xl) */

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .sm\:flex-row {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex !important;
        } /* Единообразно с eco (text-xl) */
    }
    .process-step-card .sm\:text-2xl {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
    
    .process-step-card .sm\:text-3xl {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
    
    .process-step-card .sm\:text-4xl {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
}
@media (min-width: 768px) {
    .contact-form-rhythm .md\:flex.flex-col > label[for] {
        margin-bottom: 0.75rem;
    }
    .contact-form-rhythm .md\:flex-col.flex > label[for] {
        margin-bottom: 0.75rem;
    }
    @media (max-width: 767px) {

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .md\:flex-row {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex !important;
        } /* Единообразно с eco (text-xl) */

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .md\:flex-row {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex !important;
        } /* Единообразно с eco (text-xl) */
    }
    .process-step-card .md\:text-2xl {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
    
    .process-step-card .md\:text-3xl {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
    
    .process-step-card .md\:text-4xl {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
}
@media (min-width: 1024px) {
    @media (max-width: 767px) {

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .lg\:flex-row {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex !important;
        } /* Единообразно с eco (text-xl) */

        /* Состояние покоя на мобильном */

        /* Мобильная добавка: border-color при touch */

        /* Тач-состояния всей группы */
        /* Перенесено в assets/css/interactions/_tech.css */

        /* Стилизация строки и центрирование */

        /* Группировка значения и юнита */
        .tech-row td .lg\:flex-row {
            align-items: center !important;
            justify-content: center !important;
            -moz-column-gap: 0.375rem !important;
                 column-gap: 0.375rem !important;
            display: flex !important;
        } /* Единообразно с eco (text-xl) */
    }
    .process-step-card .lg\:text-2xl {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
    
    .process-step-card .lg\:text-3xl {
        transform: none !important;
        transition: color 0.5s ease-out,
                    background-color 0.5s ease-out,
                    border-color 0.5s ease-out,
                    box-shadow 0.3s ease-out 0.1s;
    }
}
.selection\:bg-sitan-red *::-moz-selection {
    --tw-bg-opacity: 1;
    background-color: rgb(224 48 46 / var(--tw-bg-opacity, 1));
}
.selection\:bg-sitan-red *::selection {
    --tw-bg-opacity: 1;
    background-color: rgb(224 48 46 / var(--tw-bg-opacity, 1));
}
.selection\:text-white *::-moz-selection {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.selection\:text-white *::selection {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.selection\:bg-sitan-red::-moz-selection {
    --tw-bg-opacity: 1;
    background-color: rgb(224 48 46 / var(--tw-bg-opacity, 1));
}
.selection\:bg-sitan-red::selection {
    --tw-bg-opacity: 1;
    background-color: rgb(224 48 46 / var(--tw-bg-opacity, 1));
}
.selection\:text-white::-moz-selection {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.selection\:text-white::selection {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.after\:\!hidden::after {
    content: var(--tw-content);
    display: none !important;
}
@media (hover: hover) and (pointer: fine) {
    .hover\:scale-105:hover {
        --tw-scale-x: 1.05;
        --tw-scale-y: 1.05;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    .hover\:border-sitan-blue\/20:hover {
        border-color: rgb(33 150 243 / 0.2);
    }
    .hover\:border-sitan-blue\/50:hover {
        border-color: rgb(33 150 243 / 0.5);
    }
    .hover\:bg-gray-50:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
    }
    .hover\:bg-red-700:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
    }
    .hover\:bg-white:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    }
    .hover\:bg-opacity-90:hover {
        --tw-bg-opacity: 0.9;
    }
    .hover\:text-gray-600:hover {
        --tw-text-opacity: 1;
        color: rgb(75 85 99 / var(--tw-text-opacity, 1));
    }
    .hover\:text-sitan-blue-dark:hover {
        --tw-text-opacity: 1;
        color: rgb(25 118 210 / var(--tw-text-opacity, 1));
    }
    .hover\:text-sitan-red:hover {
        --tw-text-opacity: 1;
        color: rgb(224 48 46 / var(--tw-text-opacity, 1));
    }
    .hover\:underline:hover {
        text-decoration-line: underline;
    }
    .hover\:opacity-100:hover {
        opacity: 1;
    }
    .hover\:opacity-90:hover {
        opacity: 0.9;
    }
    .hover\:shadow-lg:hover {
        --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    .hover\:shadow-sm:hover {
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    .hover\:shadow-sitan-blue\/5:hover {
        --tw-shadow-color: rgb(33 150 243 / 0.05);
        --tw-shadow: var(--tw-shadow-colored);
    }
    .hover\:brightness-100:hover {
        --tw-brightness: brightness(1);
        filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    }
}
.focus\:border-\[3px\]:focus {
    border-width: 3px;
}
.focus\:border-sitan-blue:focus {
    --tw-border-opacity: 1;
    border-color: rgb(33 150 243 / var(--tw-border-opacity, 1));
}
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus\:ring-0:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.active\:scale-95:active {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.98\]:active {
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:border-\[3px\]:active {
    border-width: 3px;
}
.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
}
.disabled\:bg-gray-400:disabled {
    --tw-bg-opacity: 1;
    background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
@media (hover: hover) and (pointer: fine) {
    .group\/btn:hover .group-hover\/btn\:scale-110 {
        --tw-scale-x: 1.1;
        --tw-scale-y: 1.1;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    .group:hover .group-hover\:scale-110 {
        --tw-scale-x: 1.1;
        --tw-scale-y: 1.1;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    .group\/feat:hover .group-hover\/feat\:text-white {
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    }
    .group\/feat:hover .group-hover\/feat\:text-white\/70 {
        color: rgb(255 255 255 / 0.7);
    }
    .group:hover .group-hover\:text-sitan-blue {
        --tw-text-opacity: 1;
        color: rgb(33 150 243 / var(--tw-text-opacity, 1));
    }
}
.has-\[\:checked\]\:border-\[3px\]:has(:checked) {
    border-width: 3px;
}
.has-\[\:checked\]\:border-sitan-blue:has(:checked) {
    --tw-border-opacity: 1;
    border-color: rgb(33 150 243 / var(--tw-border-opacity, 1));
}
.has-\[\:checked\]\:bg-sitan-blue\/5:has(:checked) {
    background-color: rgb(33 150 243 / 0.05);
}
.has-\[\:checked\]\:ring-0:has(:checked) {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
@media (min-width: 640px) {
    .sm\:mt-8 {
        margin-top: 2rem;
    }
    .sm\:block {
        display: block;
    }
    .sm\:w-auto {
        width: auto;
    }
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sm\:flex-row {
        flex-direction: row;
    }
    .sm\:gap-12 {
        gap: 3rem;
    }
    .sm\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
    .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .sm\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .sm\:pl-6 {
        padding-left: 1.5rem;
    }
    .sm\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .sm\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .sm\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
    .sm\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .sm\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
    .sm\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
}
@media (min-width: 768px) {
    .md\:right-6 {
        right: 1.5rem;
    }
    .md\:top-20 {
        top: 5rem;
    }
    .md\:top-24 {
        top: 6rem;
    }
    .md\:top-6 {
        top: 1.5rem;
    }
    .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .md\:-mt-20 {
        margin-top: -5rem;
    }
    .md\:mb-0 {
        margin-bottom: 0px;
    }
    .md\:mb-10 {
        margin-bottom: 2.5rem;
    }
    .md\:mb-12 {
        margin-bottom: 3rem;
    }
    .md\:mb-14 {
        margin-bottom: 3.5rem;
    }
    .md\:mb-16 {
        margin-bottom: 4rem;
    }
    .md\:mb-2 {
        margin-bottom: 0.5rem;
    }
    .md\:mb-24 {
        margin-bottom: 6rem;
    }
    .md\:mb-28 {
        margin-bottom: 7rem;
    }
    .md\:mb-3 {
        margin-bottom: 0.75rem;
    }
    .md\:mb-4 {
        margin-bottom: 1rem;
    }
    .md\:mb-6 {
        margin-bottom: 1.5rem;
    }
    .md\:mb-8 {
        margin-bottom: 2rem;
    }
    .md\:mr-10 {
        margin-right: 2.5rem;
    }
    .md\:mt-0 {
        margin-top: 0px;
    }
    .md\:mt-10 {
        margin-top: 2.5rem;
    }
    .md\:mt-16 {
        margin-top: 4rem;
    }
    .md\:mt-20 {
        margin-top: 5rem;
    }
    .md\:mt-32 {
        margin-top: 8rem;
    }
    .md\:mt-4 {
        margin-top: 1rem;
    }
    .md\:mt-5 {
        margin-top: 1.25rem;
    }
    .md\:block {
        display: block;
    }
    .md\:inline {
        display: inline;
    }
    .md\:flex {
        display: flex;
    }
    .md\:table {
        display: table;
    }
    .md\:table-cell {
        display: table-cell;
    }
    .md\:table-header-group {
        display: table-header-group;
    }
    .md\:table-row-group {
        display: table-row-group;
    }
    .md\:table-row {
        display: table-row;
    }
    .md\:hidden {
        display: none;
    }
    .md\:aspect-\[4\/3\] {
        aspect-ratio: 4/3;
    }
    .md\:h-11 {
        height: 2.75rem;
    }
    .md\:h-8 {
        height: 2rem;
    }
    .md\:h-auto {
        height: auto;
    }
    .md\:min-h-\[110px\] {
        min-height: 110px;
    }
    .md\:min-h-\[140px\] {
        min-height: 140px;
    }
    .md\:min-h-\[150px\] {
        min-height: 150px;
    }
    .md\:min-h-\[180px\] {
        min-height: 180px;
    }
    .md\:min-h-\[3rem\] {
        min-height: 3rem;
    }
    .md\:w-14 {
        width: 3.5rem;
    }
    .md\:w-8 {
        width: 2rem;
    }
    .md\:w-\[260px\] {
        width: 260px;
    }
    .md\:w-auto {
        width: auto;
    }
    .md\:w-full {
        width: 100%;
    }
    .md\:min-w-\[240px\] {
        min-width: 240px;
    }
    .md\:min-w-\[300px\] {
        min-width: 300px;
    }
    .md\:max-w-md {
        max-width: 28rem;
    }
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:grid-cols-\[3rem_1fr\] {
        grid-template-columns: 3rem 1fr;
    }
    .md\:flex-row {
        flex-direction: row;
    }
    .md\:flex-col {
        flex-direction: column;
    }
    .md\:items-end {
        align-items: flex-end;
    }
    .md\:items-center {
        align-items: center;
    }
    .md\:justify-start {
        justify-content: flex-start;
    }
    .md\:justify-center {
        justify-content: center;
    }
    .md\:justify-between {
        justify-content: space-between;
    }
    .md\:gap-0 {
        gap: 0px;
    }
    .md\:gap-1 {
        gap: 0.25rem;
    }
    .md\:gap-14 {
        gap: 3.5rem;
    }
    .md\:gap-2\.5 {
        gap: 0.625rem;
    }
    .md\:gap-24 {
        gap: 6rem;
    }
    .md\:gap-4 {
        gap: 1rem;
    }
    .md\:gap-5 {
        gap: 1.25rem;
    }
    .md\:gap-6 {
        gap: 1.5rem;
    }
    .md\:gap-8 {
        gap: 2rem;
    }
    .md\:gap-x-6 {
        -moz-column-gap: 1.5rem;
             column-gap: 1.5rem;
    }
    .md\:rounded-\[2\.5rem\] {
        border-radius: 2.5rem;
    }
    .md\:rounded-\[2rem\] {
        border-radius: 2rem;
    }
    .md\:border-b-0 {
        border-bottom-width: 0px;
    }
    .md\:border-r {
        border-right-width: 1px;
    }
    .md\:p-0 {
        padding: 0px;
    }
    .md\:p-10 {
        padding: 2.5rem;
    }
    .md\:p-12 {
        padding: 3rem;
    }
    .md\:p-4 {
        padding: 1rem;
    }
    .md\:p-6 {
        padding: 1.5rem;
    }
    .md\:p-8 {
        padding: 2rem;
    }
    .md\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
    .md\:px-12 {
        padding-left: 3rem;
        padding-right: 3rem;
    }
    .md\:px-16 {
        padding-left: 4rem;
        padding-right: 4rem;
    }
    .md\:px-3 {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .md\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .md\:px-5 {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
    .md\:px-7 {
        padding-left: 1.75rem;
        padding-right: 1.75rem;
    }
    .md\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .md\:py-0 {
        padding-top: 0px;
        padding-bottom: 0px;
    }
    .md\:py-16 {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .md\:py-2\.5 {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
    }
    .md\:py-24 {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
    .md\:py-3 {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
    .md\:py-5 {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
    .md\:py-8 {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .md\:pb-10 {
        padding-bottom: 2.5rem;
    }
    .md\:pb-20 {
        padding-bottom: 5rem;
    }
    .md\:pb-24 {
        padding-bottom: 6rem;
    }
    .md\:pb-36 {
        padding-bottom: 9rem;
    }
    .md\:pb-40 {
        padding-bottom: 10rem;
    }
    .md\:pb-6 {
        padding-bottom: 1.5rem;
    }
    .md\:pt-0 {
        padding-top: 0px;
    }
    .md\:pt-1\.5 {
        padding-top: 0.375rem;
    }
    .md\:pt-12 {
        padding-top: 3rem;
    }
    .md\:pt-16 {
        padding-top: 4rem;
    }
    .md\:pt-32 {
        padding-top: 8rem;
    }
    .md\:pt-4 {
        padding-top: 1rem;
    }
    .md\:pt-6 {
        padding-top: 1.5rem;
    }
    .md\:pt-8 {
        padding-top: 2rem;
    }
    .md\:text-left {
        text-align: left;
    }
    .md\:text-center {
        text-align: center;
    }
    .md\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .md\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .md\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
    .md\:text-5xl {
        font-size: 3rem;
        line-height: 1;
    }
    .md\:text-8xl {
        font-size: 6rem;
        line-height: 1;
    }
    .md\:text-\[10px\] {
        font-size: 10px;
    }
    .md\:text-\[11px\] {
        font-size: 11px;
    }
    .md\:text-\[12px\] {
        font-size: 12px;
    }
    .md\:text-\[13px\] {
        font-size: 13px;
    }
    .md\:text-\[15rem\] {
        font-size: 15rem;
    }
    .md\:text-\[8px\] {
        font-size: 8px;
    }
    .md\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .md\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .md\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
    .md\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .md\:text-xs {
        font-size: 0.75rem;
        line-height: 1rem;
    }
    .md\:tracking-\[0\.15em\] {
        letter-spacing: 0.15em;
    }
}
@media (min-width: 1024px) {
    .lg\:mb-14 {
        margin-bottom: 3.5rem;
    }
    .lg\:mb-6 {
        margin-bottom: 1.5rem;
    }
    .lg\:inline {
        display: inline;
    }
    .lg\:w-auto {
        width: auto;
    }
    .lg\:max-w-lg {
        max-width: 32rem;
    }
    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:flex-row {
        flex-direction: row;
    }
    .lg\:items-center {
        align-items: center;
    }
    .lg\:gap-2 {
        gap: 0.5rem;
    }
    .lg\:gap-20 {
        gap: 5rem;
    }
    .lg\:gap-6 {
        gap: 1.5rem;
    }
    .lg\:space-x-14 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(3.5rem * var(--tw-space-x-reverse));
        margin-left: calc(3.5rem * calc(1 - var(--tw-space-x-reverse)));
    }
    .lg\:p-4 {
        padding: 1rem;
    }
    .lg\:p-6 {
        padding: 1.5rem;
    }
    .lg\:px-12 {
        padding-left: 3rem;
        padding-right: 3rem;
    }
    .lg\:px-20 {
        padding-left: 5rem;
        padding-right: 5rem;
    }
    .lg\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .lg\:py-2 {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    .lg\:py-3 {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
    .lg\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .lg\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .lg\:text-5xl {
        font-size: 3rem;
        line-height: 1;
    }
    .lg\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .lg\:text-xs {
        font-size: 0.75rem;
        line-height: 1rem;
    }
}

/*# sourceMappingURL=style.css.map */