/* Tetra — страница TETRA TRUST.
   Класс .is-pulsing на .section_tt-hero ставит tetra-trust.js после старта hero;
   .is-paused — пока hero вне экрана (пульс стоит). */

/* ===== HERO — shield pulse (Figma 12255:6, цикл 3s) =====
   Волна яркости изнутри наружу: каждый щит поднимает opacity в ~3.2 раза
   от базовой и возвращается; базовые значения заданы в Webflow (.is-1…6).
   Проценты и изинги — из get_motion_context, без изменений.
   База 0.45…0.1, пик ×2 (не выше 0.9).
   2026-10-14 (фидбэк Bobby): не «красный-белый-красный как флаг», а пульс белый → красный:
   SVG — сплошной красный штрих; в покое он белый через filter saturate(0) brightness(4),
   на пике фильтр снят → красный. */
.section_tt-hero.is-pulsing .tt-hero_shield { animation: 3s linear infinite; }
.section_tt-hero.is-pulsing .tt-hero_shield.is-1 { animation-name: tt-shield-pulse-1; }
.section_tt-hero.is-pulsing .tt-hero_shield.is-2 { animation-name: tt-shield-pulse-2; }
.section_tt-hero.is-pulsing .tt-hero_shield.is-3 { animation-name: tt-shield-pulse-3; }
.section_tt-hero.is-pulsing .tt-hero_shield.is-4 { animation-name: tt-shield-pulse-4; }
.section_tt-hero.is-pulsing .tt-hero_shield.is-5 { animation-name: tt-shield-pulse-5; }
.section_tt-hero.is-pulsing .tt-hero_shield.is-6 { animation-name: tt-shield-pulse-6; }
.section_tt-hero.is-paused .tt-hero_shield { animation-play-state: paused; }
/* база в покое и при reduced-motion (перекрывает значения из Webflow) */
.section_tt-hero .tt-hero_shield.is-1 { opacity: 0.45; filter: saturate(0) brightness(4); }
.section_tt-hero .tt-hero_shield.is-2 { opacity: 0.36; filter: saturate(0) brightness(4); }
.section_tt-hero .tt-hero_shield.is-3 { opacity: 0.28; filter: saturate(0) brightness(4); }
.section_tt-hero .tt-hero_shield.is-4 { opacity: 0.21; filter: saturate(0) brightness(4); }
.section_tt-hero .tt-hero_shield.is-5 { opacity: 0.15; filter: saturate(0) brightness(4); }
.section_tt-hero .tt-hero_shield.is-6 { opacity: 0.1; filter: saturate(0) brightness(4); }

@keyframes tt-shield-pulse-1 { 0% { opacity: 0.45; filter: saturate(0) brightness(4); } 5% { animation-timing-function: ease-out; opacity: 0.45; filter: saturate(0) brightness(4); } 16.667% { animation-timing-function: ease-in-out; opacity: 0.9; filter: none; } 48.333% { opacity: 0.45; filter: saturate(0) brightness(4); } 100% { opacity: 0.45; filter: saturate(0) brightness(4); } }
@keyframes tt-shield-pulse-2 { 0% { opacity: 0.36; filter: saturate(0) brightness(4); } 12.333% { animation-timing-function: ease-out; opacity: 0.36; filter: saturate(0) brightness(4); } 24% { animation-timing-function: ease-in-out; opacity: 0.72; filter: none; } 55.667% { opacity: 0.36; filter: saturate(0) brightness(4); } 100% { opacity: 0.36; filter: saturate(0) brightness(4); } }
@keyframes tt-shield-pulse-3 { 0% { opacity: 0.28; filter: saturate(0) brightness(4); } 19.667% { animation-timing-function: ease-out; opacity: 0.28; filter: saturate(0) brightness(4); } 31.333% { animation-timing-function: ease-in-out; opacity: 0.56; filter: none; } 63% { opacity: 0.28; filter: saturate(0) brightness(4); } 100% { opacity: 0.28; filter: saturate(0) brightness(4); } }
@keyframes tt-shield-pulse-4 { 0% { opacity: 0.21; filter: saturate(0) brightness(4); } 27% { animation-timing-function: ease-out; opacity: 0.21; filter: saturate(0) brightness(4); } 38.667% { animation-timing-function: ease-in-out; opacity: 0.42; filter: none; } 70.333% { opacity: 0.21; filter: saturate(0) brightness(4); } 100% { opacity: 0.21; filter: saturate(0) brightness(4); } }
@keyframes tt-shield-pulse-5 { 0% { opacity: 0.15; filter: saturate(0) brightness(4); } 34.333% { animation-timing-function: ease-out; opacity: 0.15; filter: saturate(0) brightness(4); } 46% { animation-timing-function: ease-in-out; opacity: 0.3; filter: none; } 77.667% { opacity: 0.15; filter: saturate(0) brightness(4); } 100% { opacity: 0.15; filter: saturate(0) brightness(4); } }
@keyframes tt-shield-pulse-6 { 0% { opacity: 0.1; filter: saturate(0) brightness(4); } 41.667% { animation-timing-function: ease-out; opacity: 0.1; filter: saturate(0) brightness(4); } 53.333% { animation-timing-function: ease-in-out; opacity: 0.2; filter: none; } 85% { opacity: 0.1; filter: saturate(0) brightness(4); } 100% { opacity: 0.1; filter: saturate(0) brightness(4); } }

/* ===== CANADA — фоновое видео проявляется поверх фото, когда пошло ===== */
.section_tt-canada .tt-canada_video {
  opacity: 0;
  transition: opacity 0.8s ease;
}
.section_tt-canada .tt-canada_video.is-playing { opacity: 1; }

/* ===== TESTIMONIAL — Swiper-стили грузятся позже webflow.css и ставят слайду
   display:block; возвращаем колонку (цитата сверху, автор внизу) ===== */
.tt-testimonial_slider .tt-testimonial_slide.swiper-slide { display: flex; }

/* ===== CTA (общий компонент с Home) — на Trust заголовок крупнее здания
   (фидбэк Sep 28, T8; Figma 12310:35410 — 72/76 Book, мобилка — 44).
   Файл грузится только на Trust, поэтому Home не затрагивается. ===== */
.cta_heading {
  max-width: 33.4375rem;
  font-size: 4.5rem;
  line-height: 4.75rem;
  font-weight: 450;
  letter-spacing: -0.1125rem;
}
@media screen and (max-width: 991px) {
  .cta_heading { font-size: 3.5rem; line-height: 3.75rem; letter-spacing: -0.0875rem; }
}
@media screen and (max-width: 479px) {
  .cta_heading {
    max-width: 19.7rem;
    font-size: 2.6474rem;
    line-height: 2.7937rem;
    letter-spacing: -0.0662rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .section_tt-hero .tt-hero_shield { animation: none !important; }
  .section_tt-canada .tt-canada_video { display: none; }
}

