@charset "UTF-8";
/*
Theme Name: InLight Films
Description: Тема для сайта InLight Films с портфолио видео и фото
Version: 1.0
Author: Your Name
*/
/* Font Faces */
@font-face {
  font-family: "Ginger";
  src: url("../fonts/Ginger.woff") format("woff"), url("../fonts/Ginger.ttf") format("truetype"), url("../fonts/Ginger.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  font-stretch: normal;
  font-variation-settings: normal;
}
/* Reset and base styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Отключаем выделение текста глобально для галереи */
.portfolio-grid-photo {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.portfolio-grid-photo * {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

.container, .canvas, .item {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

/* Color variables */
/* Простые адаптивные размеры текста */
:root {
  --text-small:1.5vh;
  --text-base:2vh;
  --text-large:2vh;
  --text-xl:3vh;
  --text-2xl:4vh;
  --text-3xl:5vh;
  --text-4xl:6vh;
  --text-5xl:9vh;
  --text-title:13vh;
  /* Gallery CSS Variables */
  --border-radius:0px;
  --vignette-size:0px;
  --hover-scale:1.05;
  --page-vignette-size:300px;
  --page-vignette-color:rgba(0, 0, 0, 0.7);
  --page-vignette-strong-size:225px;
  --page-vignette-strong-color:rgba(0, 0, 0, 0.85);
  --page-vignette-extreme-size:80px;
  --page-vignette-extreme-color:rgba(0, 0, 0, 1);
  --top-vignette-strength:0.3;
  --top-vignette-fade-start:50%;
  --top-vignette-fade-end:80%;
  /* 404 Page Variables */
  --error-animation-duration:0.8s;
  --error-animation-easing:cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* Header animation variables */
  --header-transition-duration:0.4s;
  --header-transition-easing:cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --header-blur-amount:15px;
  --header-saturate-amount:180%;
  /* Portfolio animation variables */
  --portfolio-animation-duration:0.8s;
  --portfolio-animation-easing:cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --portfolio-stagger-delay:0.15s;
}

body {
  font-family: "DM Sans", sans-serif;
  font-size: var(--text-base);
  line-height: 1.6;
  color: #dadada;
  background: #0f0f0f;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Ginger", sans-serif;
}

h1 {
  font-size: var(--text-4xl);
}

h2 {
  font-size: var(--text-3xl);
}

h3 {
  font-size: var(--text-2xl);
}

h4 {
  font-size: var(--text-xl);
}

h5 {
  font-size: var(--text-large);
}

h6 {
  font-size: var(--text-base);
}

#hero, #about, #utp, #portfolio, #team, #reviews, #faq, #contact {
  padding: 0 70px;
}

/* Кнопки - стили */
.btn {
  color: white;
  text-decoration: none;
  border: 2px solid #f1e1c7;
  border-radius: 50px;
  padding: 10px 50px;
  background: rgba(241, 225, 199, 0.3294117647);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  display: inline-block;
  font-family: "DM Sans", sans-serif;
  font-weight: 500;
  text-align: center;
  box-shadow: 0 8px 25px rgba(241, 225, 199, 0.3019607843);
}
.btn:hover {
  border-color: #f1e1c7;
  background: rgba(255, 255, 255, 0.1019607843);
  transform: translateY(-2px);
}

.btn-portfolio {
  font-size: var(--text-base);
  padding: 10px 30px;
  margin-top: 20px;
}
.btn-portfolio:hover {
  background: rgba(241, 225, 199, 0.1921568627);
  border-color: #f1e1c7;
}

/* Header styles */
#header {
  background: transparent;
  color: white;
  padding: 1rem 70px;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  transition: transform var(--header-transition-duration) var(--header-transition-easing), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-backdrop-filter 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform var(--header-transition-duration) var(--header-transition-easing), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), backdrop-filter 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform var(--header-transition-duration) var(--header-transition-easing), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), backdrop-filter 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-backdrop-filter 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  /* Анимация скрытия/показа */
  /* Адаптация для WordPress admin bar */
  /* Стили для хедера при скролле */
}
#header.header-hidden {
  transform: translateY(-100%) !important;
  pointer-events: none;
  opacity: 0;
}
#header.header-visible {
  transform: translateY(0) !important;
  pointer-events: auto;
  opacity: 1;
}
#header .social {
  display: flex;
  align-items: center;
  gap: 20px;
}
#header .social a {
  transition: all 0.3s ease;
}
#header .social a svg {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}
#header .social a:hover {
  transform: scale(1.1);
}
#header .social a:hover svg {
  filter: none;
}

body.admin-bar #header {
  top: 32px;
  /* Высота admin bar по умолчанию */
}

#header.scrolled {
  background: rgba(15, 15, 15, 0.6784313725);
  -webkit-backdrop-filter: blur(var(--header-blur-amount)) saturate(var(--header-saturate-amount));
  backdrop-filter: blur(var(--header-blur-amount)) saturate(var(--header-saturate-amount));
  box-shadow: 0 4px 32px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255, 255, 255, 0.05);
  padding: 0.8rem 70px;
}
#header.scrolled .logo-text {
  font-size: calc(var(--text-large) * 0.9);
  transition: font-size 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#header.scrolled .custom-logo-link img {
  max-height: 50px;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#header.scrolled .nav-menu li a {
  transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
#header.scrolled .nav-menu li a:hover {
  transform: translateY(-1px);
}
#header.scrolled .header-content {
  align-items: center;
}
#header.scrolled .nav {
  display: flex;
  gap: 20px;
}
#header.scrolled .nav .nav-menu {
  display: flex;
  flex-direction: row;
  gap: 20px;
}
#header .header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#header .logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
#header .logo a {
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
#header .logo .logo-text {
  font-size: var(--text-large);
  font-weight: 600;
  letter-spacing: 1px;
  transition: font-size 0.3s ease;
}
#header .logo .custom-logo-link {
  display: flex;
  align-items: center;
}
#header .logo .custom-logo-link img {
  max-height: 60px;
  width: auto;
  transition: all 0.3s ease;
}
#header .header-right {
  display: flex;
  align-items: center;
  gap: 2rem;
}
#header .nav-menu {
  display: flex;
  list-style: none;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  gap: 20px;
  transition: gap 0.3s ease;
  margin: 0;
  padding: 0;
}
#header .nav-menu a {
  color: white;
  text-decoration: none;
  letter-spacing: 1px;
  transition: color 0.3s;
  position: relative;
  padding-bottom: 5px;
}
#header .nav-menu a:hover {
  color: #f1e1c7;
}
#header .nav-menu a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #f1e1c7;
  transition: width 1s ease;
}
#header .nav-menu a:hover::after {
  width: 100%;
}
#header .mobile-menu-toggle {
  display: none;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
  flex-direction: column;
  gap: 4px;
}
#header .mobile-menu-toggle span {
  width: 25px;
  height: 3px;
  background: white;
  transition: 0.3s;
}

/* Hero Section */
#hero {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* Адаптация для WordPress admin bar */
}

body.admin-bar #hero {
  height: calc(100vh - 32px);
  /* Вычитаем высоту admin bar */
}

#hero .hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  /* Fallback изображение для случаев когда видео не воспроизводится */
  /* Fallback для браузеров без поддержки видео */
}
#hero .hero-background video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: opacity 0.3s ease;
}
#hero .hero-background .hero-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#hero .hero-background .hero-preview .hero-preview-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: opacity 0.5s ease;
}
#hero .hero-background #vimeo-player {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s ease;
}
#hero .hero-background #vimeo-player.loaded {
  opacity: 1;
}
#hero .hero-background #vimeo-player iframe {
  width: 100vw;
  height: 56.25vw;
  /* 16:9 aspect ratio */
  min-height: 100vh;
  min-width: 177.77vh;
  /* 16:9 aspect ratio */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
}
#hero .hero-background img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  z-index: 1;
}
#hero .hero-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgb(85, 78, 66), #3f3a32);
  opacity: 0.6;
  z-index: 3;
}
#hero .hero-background::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4901960784);
  /* Небольшое затемнение поверх видео */
  z-index: 1;
}
#hero .hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  /* Увеличиваем z-index чтобы быть поверх затемнения */
}
#hero .hero-text {
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#hero .hero-text .hero-contact-mobile {
  display: none;
}
#hero .hero-title {
  display: flex;
  flex-direction: column;
  font-variation-settings: "opsz" 12;
  letter-spacing: 4px;
  margin-bottom: 0.5rem;
  line-height: 0.9;
}
#hero .hero-title .hero-name-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  font-size: var(--text-title);
}
#hero .hero-title .hero-name-first {
  display: block;
  margin-bottom: 0.5rem;
}
#hero .hero-title .hero-name-last {
  display: block;
}
#hero .hero-title .hero-name-sub {
  color: white;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  font-size: var(--text-base);
  text-transform: none;
  line-height: normal;
  letter-spacing: normal;
  margin-top: 20px;
}
#hero .hero-description {
  font-size: var(--text-large);
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto;
  opacity: 0.7;
}
#hero .hero-social {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: auto;
  padding: 0 0 2rem 0;
}
#hero .hero-contact {
  text-align: left;
}
#hero .hero-contact .contact-info {
  font-size: var(--text-base);
  opacity: 0.8;
}
#hero .hero-contact .contact-info a {
  color: white;
  text-decoration: none;
  border-bottom: 1px solid #f1e1c7;
  transition: color 0.3s;
}
#hero .hero-contact .contact-info a:hover {
  color: #f1e1c7;
}
#hero .scroll-indicator {
  cursor: pointer;
  transition: all 0.5s ease;
  opacity: 1;
  transform: translateY(0);
}
#hero .scroll-indicator.fade-out {
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
}
#hero .scroll-indicator:hover {
  transform: scale(1.05);
}
#hero .scroll-indicator:hover .scroll-arrow {
  animation: pulse-glow 1.5s infinite;
  border-color: rgba(241, 225, 199, 0.5);
  background: rgba(241, 225, 199, 0.1);
}
#hero .scroll-indicator:hover .scroll-arrow svg {
  stroke: #f1e1c7;
  filter: drop-shadow(0 0 8px rgba(241, 225, 199, 0.6));
}
#hero .scroll-indicator .scroll-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  animation: float 3s ease-in-out infinite;
}
#hero .scroll-indicator .scroll-arrow svg {
  width: 24px;
  height: 24px;
  stroke: white;
  stroke-width: 2;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
}
@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 15px rgba(241, 225, 199, 0.2);
  }
  50% {
    box-shadow: 0 0 25px rgba(241, 225, 199, 0.4);
  }
}
@keyframes arrow-bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-5px);
  }
  60% {
    transform: translateY(-2px);
  }
}
/* About Section */
#about {
  padding: 100px 70px 0 70px;
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  flex-direction: column;
  gap: 40px;
}
#about .about-content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
#about .about-content h2 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-transform: uppercase;
  font-family: "Ginger", sans-serif;
  font-size: var(--text-4xl);
  font-variation-settings: "opsz" 12;
  letter-spacing: 4px;
  line-height: 1.1;
}
#about .about-content p {
  width: 80%;
}
#about .about-social {
  display: flex;
  align-items: center;
  gap: 20px;
}
#about .about-social .btn-portfolio {
  margin-top: 0px;
  line-height: normal;
}
#about .about-social .about-social-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: white;
  text-decoration: none;
  letter-spacing: 1px;
  transition: color 0.3s;
  position: relative;
  padding-bottom: 5px;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
  padding-top: 5px;
}
#about .about-social .about-social-link img {
  width: 24px;
}
#about .about-social .about-social-link:hover {
  color: #f1e1c7;
}
#about .about-social .about-social-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #f1e1c7;
  transition: width 1s ease;
}
#about .about-social .about-social-link:hover::after {
  width: 100%;
}

#utp {
  padding: 0px;
  position: relative;
  transition: opacity 0.6s ease;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#utp .utp-content {
  position: relative;
  display: flex;
  align-items: center;
  gap: 230px;
  height: 73vh;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-origin: center;
  will-change: transform, border-radius, padding;
  opacity: 0;
  transform: translateY(80px) scale(0.95);
  transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#utp .utp-content.animate-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#utp .utp-content .utp-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Затемнение поверх картинки */
}
#utp .utp-content .utp-image video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: scale(1.1);
}
#utp .utp-content .utp-image .utp-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#utp .utp-content .utp-image .utp-preview .utp-preview-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: scale(1.1);
}
#utp .utp-content .utp-image #utp-vimeo-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#utp .utp-content .utp-image #utp-vimeo-player.loaded {
  opacity: 1;
}
#utp .utp-content .utp-image #utp-vimeo-player iframe {
  width: 100vw;
  height: 56.25vw;
  /* 16:9 aspect ratio */
  min-height: 100vh;
  min-width: 177.77vh;
  /* 16:9 aspect ratio */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.1);
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#utp .utp-content .utp-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3725490196);
  z-index: 3;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#utp .utp-content .utp-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: rgb(8, 8, 8) 0px 0px 0px 0px inset, rgb(8, 8, 8) 0px 0px 0px 0px;
  border-radius: 0px;
  will-change: box-shadow, border-radius;
}

.utp-btn-container {
  display: flex;
  justify-content: center;
}
.utp-btn-container .utp-btn {
  padding: 10px 50px;
  margin-top: 0;
}

/* Main content */
.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Footer styles */
.footer {
  background: #1a1a1a;
  color: white;
  padding: 2rem 0;
  text-align: center;
}
.footer .footer-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 auto;
  padding: 0 70px;
  gap: 2rem;
  margin-bottom: 2rem;
}
.footer .footer-bottom {
  border-top: 1px solid #333;
  padding-top: 1rem;
  margin: 0 auto;
  padding: 20px 70px;
}

/* Title Animation - Hero and About sections only */
.animated-title {
  font-size: 75px;
  text-transform: uppercase;
  position: relative;
}
.animated-title span {
  color: white;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 80%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 80%);
  transform: translateY(-50px);
  opacity: 0;
  transition: all 0.3s ease;
}
.animated-title.animate span {
  animation-name: titleAnimation;
  animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
}

/* Hero section animations */
#hero .animated-title span:first-child {
  animation-delay: 0.05s;
}
#hero .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.1s;
}

/* About section animations */
#about .animated-title span:nth-child(1) {
  animation-delay: 0.15s;
}
#about .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.2s;
}
#about .animated-title span:nth-child(3) {
  animation-delay: 0.25s;
}

/* UTP section animations */
#utp .animated-title span:nth-child(1) {
  animation-delay: 0.3s;
}
#utp .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.35s;
}

.video-portfolio-section h2 {
  padding: 0 70px;
}

/* Portfolio section animations */
#portfolio {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 0;
}
#portfolio h2 {
  font-variation-settings: "opsz" 12;
}
#portfolio .animated-title span:nth-child(1) {
  animation-delay: 0.4s;
}
#portfolio .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.45s;
}

/* Portfolio Grid Video Support */
.portfolio-item-video {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
}
.portfolio-item-video .video-container {
  position: relative;
  width: 100%;
  height: 100%;
}
.portfolio-item-video .video-container .portfolio-vimeo {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 0;
  display: flex;
}
.portfolio-item-video .video-container .video-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.portfolio-item-video .video-container .video-preview .play-button {
  transition: all 0.3s ease;
  opacity: 0.9;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}
.portfolio-item-video .video-container .video-preview .play-button svg {
  transition: transform 0.3s ease;
}
.portfolio-item-video .video-container .video-preview:hover .play-button {
  opacity: 1;
  transform: scale(1.1);
}
.portfolio-item-video .video-container .video-preview:hover .play-button svg {
  transform: scale(1.05);
}
.portfolio-item-video .video-container.playing .video-preview {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.portfolio-item-video .video-container.playing .portfolio-vimeo {
  display: block;
}
.portfolio-item-video .no-video {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(255, 255, 255, 0.5);
  font-size: var(--text-small);
  background: rgba(255, 255, 255, 0.05);
  border: 2px dashed rgba(255, 255, 255, 0.2);
}

/* Portfolio Grid Styles */
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  padding: 0px 70px;
}
.portfolio-grid .portfolio-item {
  overflow: hidden;
  transition: all 0.3s ease;
  width: 100%;
  min-width: 100%;
  box-sizing: border-box;
  opacity: 0;
  transform: translateY(60px) scale(0.9);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.portfolio-grid .portfolio-item.animate-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.portfolio-grid .portfolio-item:hover {
  transform: translateY(-5px) scale(1.02);
}
.portfolio-grid .portfolio-item .portfolio-item-video {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
  min-width: 100%;
  box-sizing: border-box;
}
.portfolio-grid .portfolio-item .portfolio-item-video .video-container {
  width: 100%;
  height: 100%;
  position: relative;
  min-width: 100%;
  min-height: 100%;
}
.portfolio-grid .portfolio-item .portfolio-item-video .video-container iframe.portfolio-vimeo {
  width: 100%;
  height: 100%;
  border: none;
  -o-object-fit: cover;
  object-fit: cover;
  min-width: 100%;
  min-height: 100%;
}
.portfolio-grid .portfolio-item .portfolio-item-video .video-container iframe.hidden-video {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.portfolio-grid .portfolio-item .portfolio-item-video .video-container .video-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 5;
}
.portfolio-grid .portfolio-item .portfolio-item-video .video-container .video-preview:hover {
  opacity: 0.9;
  transform: scale(1.02);
}
.portfolio-grid .portfolio-item .portfolio-item-video .video-container .video-preview .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.portfolio-grid .portfolio-item .portfolio-item-video .video-container .video-preview .play-button:hover {
  transform: translate(-50%, -50%) scale(1.1);
}
.portfolio-grid .portfolio-item .portfolio-item-video .video-container .video-preview .play-button svg {
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}
.portfolio-grid .portfolio-item .portfolio-item-content {
  padding: 20px;
  text-align: center;
}
.portfolio-grid .portfolio-item .portfolio-item-content h4 {
  color: white;
  margin: 0;
  font-size: var(--text-lg);
  font-weight: 600;
  line-height: 1.3;
}

/* Portfolio Top Section */
.portfolio-top {
  display: flex;
  flex-direction: column;
  gap: 80px;
  width: 100%;
  max-width: 100%;
  margin: 0;
}
.portfolio-top .portfolio-top-item {
  display: flex;
  flex-direction: row;
  gap: 70px;
  width: 100%;
  opacity: 0;
  transform: translateY(80px) scale(0.95);
  transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.portfolio-top .portfolio-top-item.animate-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.portfolio-top .portfolio-top-item.animate-in .portfolio-top-content {
  opacity: 1;
  transform: translateX(0);
}
.portfolio-top .portfolio-top-item.animate-in .portfolio-top-content h3, .portfolio-top .portfolio-top-item.animate-in .portfolio-top-content p {
  opacity: 1;
  transform: translateY(0);
}
.portfolio-top .portfolio-top-item.animate-in .portfolio-top-video {
  opacity: 1;
  transform: translateX(0) scale(1);
}
.portfolio-top .portfolio-top-item.animate-in .portfolio-top-video .video-container {
  transform: scale(1);
}
.portfolio-top .portfolio-top-item .portfolio-top-content {
  max-width: 600px;
  width: 45%;
  margin: 0 auto;
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.3s;
}
.portfolio-top .portfolio-top-item .portfolio-top-content h3 {
  margin-bottom: 20px;
  font-size: var(--text-2xl);
  line-height: 1.2;
  color: white;
  font-family: "Ginger", sans-serif;
  font-variation-settings: "opsz" 12;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.5s;
}
.portfolio-top .portfolio-top-item .portfolio-top-content p {
  font-size: 2.1vh;
  line-height: 1.6;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.8);
  font-family: "DM Sans", sans-serif;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.7s;
}
.portfolio-top .portfolio-top-item .portfolio-top-video {
  width: 100%;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  opacity: 0;
  transform: translateX(30px) scale(0.9);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.4s;
}
.portfolio-top .portfolio-top-item .portfolio-top-video .video-container {
  height: 100%;
  width: 100%;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  transform: scale(0.95);
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.6s;
}
.portfolio-top .portfolio-top-item .portfolio-top-video .video-container iframe.portfolio-vimeo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border: none;
  border-radius: 12px;
}
.portfolio-top .portfolio-top-item .portfolio-top-video .video-container .video-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.portfolio-top .portfolio-top-item .portfolio-top-video .video-container .video-preview:hover {
  opacity: 0.9;
  transform: scale(1.02);
}
.portfolio-top .portfolio-top-item .portfolio-top-video .video-container .video-preview .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.portfolio-top .portfolio-top-item .portfolio-top-video .video-container .video-preview .play-button:hover {
  background: rgba(241, 225, 199, 0.9);
  transform: translate(-50%, -50%) scale(1.1);
}
.portfolio-top .portfolio-top-item .portfolio-top-video .video-container .video-preview .play-button::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 25px solid white;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  margin-left: 8px;
}
.portfolio-top .portfolio-top-item .no-video {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(255, 255, 255, 0.5);
  font-size: var(--text-base);
  background: rgba(255, 255, 255, 0.05);
  border: 2px dashed rgba(255, 255, 255, 0.2);
  border-radius: 12px;
}

/* Team section animations */
#team .animated-title span:nth-child(1) {
  animation-delay: 0.5s;
}
#team .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.55s;
}

/* Reviews section animations */
#reviews {
  padding: 50px 0;
  background: #0f0f0f;
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 40px;
}
#reviews .animated-title span:nth-child(1) {
  animation-delay: 0.6s;
}
#reviews .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.65s;
}
#reviews h2 {
  padding: 0 70px;
  font-variation-settings: "opsz" 12;
}
#reviews .reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2vw;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 70px;
}
#reviews .review-item {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  padding: 2vh 1.5vw;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(60px) scale(0.9);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#reviews .review-item.animate-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#reviews .review-item:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
#reviews .review-item .review-header {
  display: flex;
  align-items: center;
  gap: 1vw;
  margin-bottom: 1.5vh;
}
#reviews .review-item .review-header .review-image {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
#reviews .review-item .review-header .review-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#reviews .review-item .review-header .review-title {
  flex: 1;
}
#reviews .review-item .review-header .review-title h4 {
  color: white;
  font-size: var(--text-lg);
  font-weight: 600;
  margin: 0 0 0.5vh 0;
  line-height: 1.2;
}
#reviews .review-item .review-header .review-title p {
  color: rgba(255, 255, 255, 0.7);
  font-size: var(--text-sm);
  margin: 0;
  line-height: 1.3;
}
#reviews .review-item .review-description p {
  color: rgba(255, 255, 255, 0.9);
  font-size: var(--text-base);
  line-height: 1.5;
  margin: 0;
  font-style: italic;
}
#reviews .review-item .review-description .review-button {
  margin-top: 15px;
}
#reviews .review-item .review-description .review-button .btn-review {
  display: inline-block;
  color: white;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  border-bottom: 2px solid #f1e1c7;
  cursor: pointer;
}
#reviews .review-item .review-description .review-button .btn-review:hover {
  color: #f1e1c7;
}
#reviews .review-hover-image {
  position: fixed;
  top: 0;
  left: 0;
  height: 260px;
  max-width: 1000px;
  pointer-events: none;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s ease;
  overflow: hidden;
}
#reviews .review-hover-image.visible {
  opacity: 0;
}
#reviews .review-hover-image img {
  height: inherit;
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

/* Reviews Section */
/* FAQ Section */
#faq {
  padding: 8vh 0;
  background: #0f0f0f;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
#faq h2 {
  text-align: center;
  padding: 0 70px;
  font-variation-settings: "opsz" 12;
}
#faq .faq-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2vw;
}
#faq .faq-list {
  display: flex;
  flex-direction: column;
  gap: 2vh;
}
#faq .faq-item {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 0;
  transform: translateY(60px) scale(0.9);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#faq .faq-item.animate-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#faq .faq-item:hover {
  border-color: rgba(241, 225, 199, 0.3);
  background: rgba(241, 225, 199, 0.05);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 25px rgba(241, 225, 199, 0.1);
}
#faq .faq-item.active {
  border-color: rgba(241, 225, 199, 0.5);
  background: rgba(241, 225, 199, 0.08);
  box-shadow: 0 12px 35px rgba(241, 225, 199, 0.15);
}
#faq .faq-item.active .faq-question .faq-toggle {
  background: rgba(241, 225, 199, 0.2);
  border-color: rgba(241, 225, 199, 0.4);
}
#faq .faq-item.active .faq-question .faq-toggle .faq-icon svg {
  color: #f1e1c7;
}
#faq .faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3vh 3vw;
  cursor: pointer;
  transition: all 0.3s ease;
}
#faq .faq-question h3 {
  font-family: "DM Sans", sans-serif;
  font-size: var(--text-large);
  font-variation-settings: "opsz" 12;
  color: white;
  margin: 0;
  flex: 1;
  line-height: 1.3;
  transition: color 0.3s ease;
}
#faq .faq-question .faq-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
  margin-left: 2vw;
}
#faq .faq-question .faq-toggle .faq-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}
#faq .faq-question .faq-toggle .faq-icon svg {
  width: 24px;
  height: 24px;
  color: white;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
#faq .faq-question:hover h3 {
  color: #f1e1c7;
}
#faq .faq-question:hover .faq-toggle {
  background: rgba(241, 225, 199, 0.1);
  border-color: rgba(241, 225, 199, 0.3);
}
#faq .faq-question:hover .faq-toggle .faq-icon {
  color: #f1e1c7;
}
#faq .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
}
#faq .faq-answer .faq-answer-content {
  padding: 0 3vw 3vh 3vw;
}
#faq .faq-answer .faq-answer-content p {
  font-family: "DM Sans", sans-serif;
  font-size: var(--text-small);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  transition: color 0.3s ease;
}
#faq .faq-item.active .faq-answer {
  max-height: 500px;
  opacity: 1;
}
#faq .faq-item.active .faq-answer .faq-answer-content p {
  color: rgba(255, 255, 255, 0.9);
}
#faq .animated-title span:nth-child(1) {
  animation-delay: 0.7s;
}
#faq .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.75s;
}
#faq .animated-title span:nth-child(3) {
  animation-delay: 1.6s;
}

/* FAQ section animations */
#contact h2 {
  text-align: center;
  font-variation-settings: "opsz" 12;
}
#contact .animated-title span:nth-child(1) {
  animation-delay: 0.8s;
}
#contact .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.85s;
}

/* Contact section animations */
/* Portfolio pages animations - slower and with delays */
#video-portfolio .page-header .animated-title span:nth-child(1), #photo-portfolio .page-header .animated-title span:nth-child(1) {
  animation-delay: 0.15s;
}

#video-portfolio .page-header .animated-title span:nth-child(2), #photo-portfolio .page-header .animated-title span:nth-child(2) {
  color: #f1e1c7;
  animation-delay: 0.3s;
}

#video-portfolio .page-header .animated-title.animate span, #photo-portfolio .page-header .animated-title.animate span {
  animation-duration: 0.8s;
  /* Slower animation */
}

@keyframes titleAnimation {
  0% {
    transform: translateY(-50px);
    opacity: 0;
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 80%);
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 80%);
  }
  50% {
    transform: translateY(0);
    opacity: 1;
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 15%);
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 15%);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0%);
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0%);
  }
}
/* Logo Animation Styles */
#logo-animation {
  padding: 40px 0;
  overflow: hidden;
  position: relative;
}
#logo-animation .logo-slider-container {
  position: relative;
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
}
#logo-animation .logo-row {
  display: flex;
  align-items: center;
  gap: 60px;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  white-space: nowrap;
}
#logo-animation .logo-row img {
  height: 50px;
  width: auto;
  -o-object-fit: contain;
  object-fit: contain;
  filter: grayscale(100%) brightness(0.8);
  transition: filter 0.3s ease;
}
#logo-animation .logo-row img:hover {
  filter: grayscale(0%) brightness(1);
}

/* Portfolio More Button */
.portfolio-more {
  text-align: center;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--portfolio-animation-duration) var(--portfolio-animation-easing), transform var(--portfolio-animation-duration) var(--portfolio-animation-easing);
}
.portfolio-more.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Gallery Styles */
.photo-portfolio-section {
  margin-top: 50px;
  /* Анимация появления секции */
  opacity: 0;
  transform: translateY(50px);
  transition: opacity var(--portfolio-animation-duration) var(--portfolio-animation-easing), transform var(--portfolio-animation-duration) var(--portfolio-animation-easing);
}
.photo-portfolio-section.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.photo-portfolio-section h2 {
  padding: 0 70px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity var(--portfolio-animation-duration) var(--portfolio-animation-easing), transform var(--portfolio-animation-duration) var(--portfolio-animation-easing);
}
.photo-portfolio-section h2.animate-in {
  opacity: 1;
  transform: translateY(0);
}
.photo-portfolio-section .portfolio-grid-photo {
  position: relative;
  width: 100%;
  height: 80vh;
  overflow: hidden;
  background: #0f0f0f;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity var(--portfolio-animation-duration) var(--portfolio-animation-easing), transform var(--portfolio-animation-duration) var(--portfolio-animation-easing);
  /* Отключаем выделение текста при перетаскивании */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  /* Верхняя виньетка поверх всего контента */
  /* Дополнительная виньетка как отдельный элемент для гарантии */
  /* Простая тестовая виньетка для проверки */
}
.photo-portfolio-section .portfolio-grid-photo.animate-in {
  opacity: 1;
  transform: scale(1);
}
.photo-portfolio-section .portfolio-grid-photo .container {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: grab;
  /* Отключаем выделение для контейнера */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.photo-portfolio-section .portfolio-grid-photo .container:active {
  cursor: grabbing;
}
.photo-portfolio-section .portfolio-grid-photo .canvas {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  /* Отключаем выделение для canvas */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.photo-portfolio-section .portfolio-grid-photo .canvas .item {
  position: absolute;
  border-radius: var(--border-radius, 0px);
  overflow: hidden;
  cursor: pointer;
}
.photo-portfolio-section .portfolio-grid-photo .canvas .item:hover .item-image-container img {
  transform: scale(var(--hover-scale, 1.05));
}
.photo-portfolio-section .portfolio-grid-photo .canvas .item .item-image-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.photo-portfolio-section .portfolio-grid-photo .canvas .item .item-image-container img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.photo-portfolio-section .portfolio-grid-photo .overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.95);
  opacity: 0;
  pointer-events: none;
  z-index: 999999;
  transition: opacity 0.3s ease;
}
.photo-portfolio-section .portfolio-grid-photo .overlay.active {
  pointer-events: auto;
}
.photo-portfolio-section .portfolio-grid-photo .project-title {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10001;
  pointer-events: none;
}
.photo-portfolio-section .portfolio-grid-photo .project-title p {
  color: #ffffff;
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  overflow: hidden;
}
.photo-portfolio-section .portfolio-grid-photo .page-vignette-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
}
.photo-portfolio-section .portfolio-grid-photo .page-vignette-container .page-vignette, .photo-portfolio-section .portfolio-grid-photo .page-vignette-container .page-vignette-strong, .photo-portfolio-section .portfolio-grid-photo .page-vignette-container .page-vignette-extreme {
  display: none;
  /* Скрываем круги-виньетки */
}
.photo-portfolio-section .portfolio-grid-photo::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at center, transparent 0%, transparent 30%, rgba(15, 15, 15, 0.2) 60%, rgba(15, 15, 15, 0.4) 100%);
  pointer-events: none;
  z-index: 15;
  opacity: 1;
}
.photo-portfolio-section .portfolio-grid-photo .top-vignette {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at center, transparent 0%, transparent 40%, rgba(15, 15, 15, 0.15) 70%, rgba(15, 15, 15, 0.3) 100%);
  pointer-events: none;
  z-index: 15;
  opacity: 1;
}
.photo-portfolio-section .portfolio-grid-photo .test-vignette {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(15, 15, 15, 0.25) 0%, transparent 25%, transparent 75%, rgba(15, 15, 15, 0.25) 100%);
  pointer-events: none;
  z-index: 16;
  opacity: 1;
}

/* Expanded item styles */
.expanded-item {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100000;
  cursor: pointer;
  border-radius: var(--border-radius, 0px);
  overflow: hidden;
  max-width: 95vw;
  max-height: 95vh;
}
.expanded-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
  -o-object-position: center;
  object-position: center;
}

/* Mobile Portfolio Slider */
.portfolio-mobile-slider {
  display: none;
  width: 100%;
  margin-top: 30px;
}
.portfolio-mobile-slider .mobile-slider-container {
  position: relative;
  width: 100%;
  min-height: 25vh;
  max-height: 65vh;
  height: 50vh;
  overflow: hidden;
  border-radius: 15px;
  background: #0f0f0f;
  transition: height 0.4s ease;
}
.portfolio-mobile-slider .mobile-slider-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.portfolio-mobile-slider .mobile-slider-track .mobile-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  position: relative;
}
.portfolio-mobile-slider .mobile-slider-track .mobile-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}
.portfolio-mobile-slider .mobile-slider-track .mobile-slide.active {
  z-index: 2;
}
.portfolio-mobile-slider .mobile-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
}
.portfolio-mobile-slider .mobile-slider-arrow:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: translateY(-50%) scale(1.1);
}
.portfolio-mobile-slider .mobile-slider-arrow:active {
  transform: translateY(-50%) scale(0.95);
}
.portfolio-mobile-slider .mobile-slider-arrow svg {
  width: 24px;
  height: 24px;
}
.portfolio-mobile-slider .mobile-slider-arrow svg path {
  stroke: white;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.portfolio-mobile-slider .mobile-slider-arrow.mobile-slider-prev {
  left: 15px;
}
.portfolio-mobile-slider .mobile-slider-arrow.mobile-slider-next {
  right: 15px;
}

/* Gallery controls */
.gallery-controls {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 100001;
}

.gallery-close-btn, .gallery-nav-btn {
  position: absolute;
  background: rgba(0, 0, 0, 0.7);
  border: none;
  color: white;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: all;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.gallery-close-btn svg, .gallery-nav-btn svg {
  width: 100%;
  height: 100%;
  max-width: 24px;
  max-height: 24px;
}

.gallery-close-btn:hover, .gallery-nav-btn:hover {
  background: rgba(0, 0, 0, 0.9);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.gallery-close-btn {
  top: 20px;
  right: 20px;
}
.gallery-close-btn svg {
  max-width: 12px;
  max-height: 12px;
}

.gallery-nav-btn {
  top: 50%;
  transform: translateY(-50%);
}
.gallery-nav-btn.gallery-prev-btn {
  left: 20px;
}
.gallery-nav-btn.gallery-next-btn {
  right: 20px;
}

.gallery-counter {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  pointer-events: none;
}

/* Caption clone styles removed - no text elements needed */
/* SplitType animation styles */
.split-line, .split-word, .split-char {
  overflow: hidden;
}

/* Body overflow control for expanded gallery */
body.gallery-expanded {
  overflow: hidden;
  /* Убираем position: fixed чтобы не сбрасывать скролл */
}

/* Альтернативный способ блокировки скролла */
html.gallery-expanded {
  overflow: hidden;
  background: #000000 !important;
  /* Полностью черный фон */
}

/* Скрываем все элементы кроме галереи при открытом фото */
body.gallery-expanded {
  background: #000000 !important;
  /* Полностью черный фон */
}
body.gallery-expanded * {
  visibility: hidden;
}
body.gallery-expanded .expanded-item {
  visibility: visible;
}
body.gallery-expanded .expanded-item * {
  visibility: visible;
}
body.gallery-expanded .overlay {
  visibility: visible;
}
body.gallery-expanded .gallery-controls {
  visibility: visible;
}
body.gallery-expanded .gallery-controls * {
  visibility: visible;
}

/* Footer Styles */
.footer {
  background: #0f0f0f;
  color: white;
  padding: 60px 0 0px;
  margin-top: auto;
}

.footer-content {
  margin: 0 auto;
  padding: 0 20px;
}

/* Remove underlines from footer links */
.footer a {
  text-decoration: none;
  color: inherit;
}
.footer a:hover {
  text-decoration: none;
}

/* Contact Section */
.footer-contact-section {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.contact-card {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #1a1a1a;
  padding: 16px 20px;
  border-radius: 12px;
  transition: all 0.3s ease;
  cursor: pointer;
}
.contact-card:hover {
  background: #2a2a2a;
  transform: translateY(-2px);
}
.contact-card .contact-icon {
  width: 40px;
  height: 40px;
  background: #2a2a2a;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  flex-shrink: 0;
}
.contact-card .contact-text {
  font-size: 16px;
  font-weight: 500;
  color: white;
  flex-grow: 1;
}
.contact-card .contact-arrow {
  color: white;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.contact-card:hover .contact-arrow {
  opacity: 1;
}

/* Social Section */
.footer-social-section {
  display: flex;
  gap: 20px;
}

.social-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #1a1a1a;
  padding: 16px 20px;
  border-radius: 12px;
  transition: all 0.3s ease;
  cursor: pointer;
  min-width: 160px;
}
.social-card:hover {
  background: #2a2a2a;
  transform: translateY(-2px);
}

.social-icon {
  width: 40px;
  height: 40px;
  background: #2a2a2a;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  flex-shrink: 0;
}

.social-text {
  font-size: 16px;
  font-weight: 500;
  color: white;
  flex-grow: 1;
}

.social-arrow {
  color: white;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.social-card:hover .social-arrow {
  opacity: 1;
}

/* Bottom Footer */
.footer-bottom {
  border-top: 1px solid #333;
  padding-top: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.footer-bottom .logo img {
  max-height: 60px;
  width: auto;
  transition: all 0.3s ease;
}

.footer-legal {
  display: flex;
  align-items: flex-end;
  gap: 30px;
}
.footer-legal .footer-legal-links {
  display: flex;
  gap: 30px;
}
.footer-legal a {
  color: #999;
  font-size: 14px;
  transition: all 0.3s ease;
  position: relative;
  padding-bottom: 2px;
}
.footer-legal a:hover {
  color: white;
}
.footer-legal a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #f1e1c7;
  transition: width 0.6s ease;
}
.footer-legal a:hover::after {
  width: 100%;
}

.copyright {
  font-size: 14px;
  color: #999;
}

.attribution {
  display: flex;
  gap: 20px;
  align-items: center;
}

.license {
  font-size: 12px;
  color: #999;
  font-weight: 600;
  letter-spacing: 1px;
}

.powered-by {
  font-size: 12px;
  color: #999;
}
.powered-by a {
  color: #999;
  text-decoration: underline;
}
.powered-by a:hover {
  color: white;
}

/* Services Section */
#services {
  padding: 50px 0;
  background: #0f0f0f;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
#services h2 {
  padding: 0 70px;
  font-variation-settings: "opsz" 12;
}
#services .services-container {
  display: flex;
  flex-wrap: wrap;
  height: 80vh;
  max-width: 100vw;
  margin: 0;
  overflow: hidden;
}
#services .service-block {
  position: relative;
  width: 50%;
  height: 50%;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.4s ease;
  opacity: 0;
  transform: translateY(60px) scale(0.9);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#services .service-block.animate-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#services .service-block:hover {
  transform: scale(1.02);
}
#services .service-block:hover .service-overlay {
  opacity: 0;
}
#services .service-block:hover .service-detailed-overlay {
  opacity: 1;
}
#services .service-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#services .service-background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  filter: brightness(0.7);
  transition: filter 0.3s ease;
}
#services .service-block:hover .service-background img {
  filter: brightness(0.8);
}
#services .service-placeholder {
  width: 100%;
  height: 100%;
  background: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #dadada;
  font-size: var(--text-base);
  border: 2px dashed #333;
}
#services .service-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 4vh 4vw;
  color: white;
  transition: all 0.4s ease;
}
#services .service-detailed-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  display: flex;
  align-items: center;
  padding: 4vh 4vw;
  color: white;
  background: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 0;
  transition: all 0.4s ease;
}
#services .service-tag {
  font-family: "DM Sans", sans-serif;
  font-size: var(--text-base);
  font-weight: 600;
  letter-spacing: 2px;
  opacity: 0.8;
  display: flex;
  align-items: center;
  gap: 0.5vw;
}
#services .service-tag .service-icon {
  font-size: 1.2em;
  color: #f1e1c7;
}
#services .service-content {
  align-self: flex-start;
  text-align: left;
  max-width: 80%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: inherit;
}
#services .service-title {
  font-family: "Ginger", sans-serif;
  font-size: var(--text-3xl);
  font-weight: 700;
  margin-bottom: 1vh;
  line-height: 1.1;
  width: 85%;
}
#services .service-description {
  font-family: "DM Sans", sans-serif;
  font-size: var(--text-base);
  line-height: 1.5;
  opacity: 0.9;
  max-width: 90%;
}
#services .service-detailed-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: left;
  max-width: 90%;
}
#services .service-detailed-title {
  font-family: "Ginger", sans-serif;
  font-size: var(--text-3xl);
  font-variation-settings: "opsz" 12;
  margin-bottom: 2vh;
  line-height: 1.1;
  display: flex;
  align-items: center;
  gap: 1vw;
}
#services .service-detailed-title .service-icon {
  font-size: 1.5em;
  color: #f1e1c7;
}
#services .service-detailed-description {
  font-family: "DM Sans", sans-serif;
  font-size: var(--text-base);
  line-height: 1.6;
  opacity: 0.9;
}
#services .service-detailed-description ul, #services .service-detailed-description ol {
  margin: 1vh 0;
  padding-left: 2vw;
}
#services .service-detailed-description ul li, #services .service-detailed-description ol li {
  margin-bottom: 0.5vh;
}
#services .service-detailed-description h1, #services .service-detailed-description h2, #services .service-detailed-description h3, #services .service-detailed-description h4, #services .service-detailed-description h5, #services .service-detailed-description h6 {
  font-family: "Ginger", sans-serif;
  margin: 1vh 0 0.5vh 0;
  font-weight: 600;
}
#services .service-detailed-description h3 {
  font-size: var(--text-xl);
}
#services .service-detailed-description h4 {
  font-size: var(--text-large);
}
#services .service-detailed-description strong, #services .service-detailed-description b {
  font-weight: 600;
}
#services .service-detailed-description em, #services .service-detailed-description i {
  font-style: italic;
}
#services .service-detailed-description a {
  color: #f1e1c7;
  text-decoration: underline;
}
#services .service-detailed-description a:hover {
  color: #fbf7f0;
}
#services .service-detailed-description p {
  margin-bottom: 1vh;
}
#services .service-detailed-description p:last-child {
  margin-bottom: 0;
}
#services .service-features {
  text-align: left;
}
#services .service-features h4 {
  font-family: "Ginger", sans-serif;
  font-size: var(--text-large);
  font-weight: 600;
  margin-bottom: 1vh;
  color: #f1e1c7;
}
#services .service-features .features-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#services .service-features .features-list li {
  display: flex;
  align-items: center;
  margin-bottom: 0.5vh;
  font-size: 1.6vh;
}
#services .service-features .features-list li .feature-icon {
  color: #f1e1c7;
  font-size: 0.8em;
  margin-right: 1vw;
  min-width: 1.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
#services .service-features .features-list li .feature-icon svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

/* Team Section */
#team {
  padding: 8vh 0;
  background: #0f0f0f;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
#team h2 {
  padding: 0 70px;
  font-variation-settings: "opsz" 12;
  line-height: 1;
  text-align: center;
}
#team .team-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4vw;
  margin: 0 70px;
}
#team .team-member {
  position: relative;
  width: calc(33.333% - 2.67vw);
  height: 60vh;
  overflow: hidden;
  opacity: 0;
  transform: translateY(60px) scale(0.9);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#team .team-member.animate-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#team .team-member-image {
  width: 100%;
  height: 100%;
  position: relative;
}
#team .team-member-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
  transition: filter 0.3s ease;
}
#team .team-member-image .team-placeholder {
  width: 100%;
  height: 100%;
  background: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #dadada;
  font-size: var(--text-base);
  border: 2px dashed #333;
}
#team .team-member-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  padding: 2vh 2vw;
  z-index: 2;
}
#team .team-member-info .team-accent {
  width: 60px;
  height: 2px;
  background: #f1e1c7;
  margin-bottom: 1.5vh;
}
#team .team-member-info h3 {
  font-family: "Ginger", sans-serif;
  font-size: var(--text-2xl);
  color: white;
  margin-bottom: 0.5vh;
  font-variation-settings: "opsz" 12;
}
#team .team-member-info .team-member-position {
  font-family: "DM Sans", sans-serif;
  font-size: var(--text-base);
  color: #dadada;
  line-height: 1.4;
}
#team .team-member-info .team-member-basic {
  transition: all 0.3s ease;
}
#team .team-member-info .team-member-description {
  display: none;
  transition: all 0.3s ease;
}
#team .team-member-info .team-member-description p {
  font-family: "DM Sans", sans-serif;
  font-size: var(--text-sm);
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
  margin: 0;
}

/* Simple Archive Gallery Styles */
#photo-portfolio .page-header, #video-portfolio .page-header {
  padding: 260px 70px 0 70px;
}

#photo-portfolio .page-header h1, #video-portfolio .page-header h1 {
  font-size: var(--text-title);
  text-transform: uppercase;
}

.photo-gallery-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 40px 70px;
  margin: 0 auto;
  justify-content: center;
}

.gallery-item {
  position: relative;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  aspect-ratio: 1;
  width: calc(25% - 15px);
  flex: 0 0 calc(25% - 15px);
}
.gallery-item:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.gallery-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.gallery-item:hover img {
  transform: scale(1.1);
}

/* Lightbox Styles */
.lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lightbox-container {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: width 0.3s ease, height 0.3s ease;
}

.lightbox-image-container {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  width: 100%;
}

.lightbox-image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
  transition: opacity 0.2s ease;
  -o-object-position: center;
  object-position: center;
}

.lightbox-close, .lightbox-prev, .lightbox-next {
  position: absolute;
  background: rgba(0, 0, 0, 0.7);
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
  z-index: 10001;
}

.lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover {
  background: rgba(0, 0, 0, 0.9);
}

.lightbox-close {
  top: 10px;
  right: 10px;
}

.lightbox-prev {
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.lightbox-next {
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.lightbox-counter {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  font-family: var(--secondary-font);
  font-size: 16px;
  background: rgba(0, 0, 0, 0.7);
  padding: 10px 20px;
  border-radius: 25px;
  z-index: 10001;
}

/* ========================================
   BURGER MENU
   ======================================== */
.burger {
  width: 40px;
  height: 20px;
  position: relative;
  color: #ffffff;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  z-index: 1001;
}

.burger__line {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transition: transform 0.3s ease-in-out;
}

.burger::before, .burger::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
}
.burger::before {
  top: 0;
}
.burger::after {
  top: calc(100% - 2px);
}

.burger--active .burger__line {
  transform: scale(0);
  transition: transform 0.3s ease-in-out;
}
.burger--active::before {
  transform: rotate(45deg);
  top: 50%;
  transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
}
.burger--active::after {
  transform: rotate(-45deg);
  top: 50%;
  transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
}

.burger-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.95);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  z-index: 5;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.burger-menu .burger-menu__nav ul li {
  list-style-type: none;
}

.burger-menu--active {
  opacity: 1;
  visibility: visible;
}

.burger-menu__content {
  text-align: center;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.burger-menu__nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.burger-menu__item {
  margin: 20px 0;
}

.burger-menu__link {
  color: white;
  text-decoration: none;
  font-size: 2rem;
  font-weight: 300;
  transition: color 0.3s ease-in-out;
}
.burger-menu__link:hover {
  color: #f1e1c7;
}

/* ========================================
   EVEREST FORMS STYLES
   ======================================== */
body .iti__country-list, div.evf-container .everest-form .iti__country-list {
  background-color: #1a1a1a !important;
}

.evf-field-phone .iti .iti__country-list .iti__country.iti__active {
  background-color: #313131 !important;
}

/* Form Container */
.everest-forms {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px;
}
.everest-forms .evf-container {
  background: transparent;
}
.everest-forms .evf-container .everest-form {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.everest-forms .evf-container .everest-form .evf-field-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row {
  display: flex;
  flex-wrap: unset;
  gap: 30px;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row textarea {
  resize: vertical !important;
  min-height: 200px !important;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid {
  flex: 1;
  padding: 0;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid .evf-field {
  margin: 0px;
  position: relative;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid .evf-field .input-text {
  width: 100%;
  height: 76px;
  margin: 0px;
  padding: 24px 30px 24px 74px !important;
  background: #2d2d2d;
  border: 1px solid #444444;
  border-radius: 8px;
  color: #ffffff;
  font-size: 16px;
  font-family: "DM Sans", sans-serif;
  transition: all 0.3s ease;
  box-sizing: border-box;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid .evf-field .input-text::-moz-placeholder {
  color: #cccccc;
  opacity: 1;
  line-height: 27px;
  /* Выравниваем по центру поля */
  vertical-align: middle;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid .evf-field .input-text::-moz-placeholder, .everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid .evf-field .input-text::placeholder {
  color: #cccccc;
  opacity: 1;
  line-height: 27px;
  /* Выравниваем по центру поля */
  vertical-align: middle;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid .evf-field .input-text:focus {
  outline: none;
  border-color: #f1e1c7;
  background: #333333;
  box-shadow: 0 0 0 2px rgba(241, 225, 199, 0.2);
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid .evf-field .input-text:hover {
  border-color: #555555;
}
.everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid.evf-grid-2 {
  flex: 1;
  padding: 0;
  margin: 0;
}
.everest-forms .evf-container .everest-form .evf-submit-container .everest-forms-submit-button {
  color: white;
  text-decoration: none;
  border: 2px solid rgba(255, 255, 255, 0.3019607843);
  border-radius: 50px;
  padding: 14px 70px;
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  display: inline-block;
  font-family: "DM Sans", sans-serif;
  font-weight: 500;
  text-align: center;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-sizing: border-box;
}
.everest-forms .evf-container .everest-form .evf-submit-container .everest-forms-submit-button:hover {
  border-color: #f1e1c7;
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(241, 225, 199, 0.3);
}
.everest-forms .evf-container .everest-form .evf-submit-container .everest-forms-submit-button:active {
  transform: translateY(0);
}

.evf-field-label {
  display: none;
  /* Скрываем стандартные лейблы */
}

/* Input Fields */
/* Textarea */
textarea.input-text {
  height: 76px;
  min-height: 76px;
  resize: vertical;
  padding: 24px 30px 24px 74px;
  line-height: 24px;
  /* Центрируем текст по вертикали */
  display: flex;
  align-items: center;
}
textarea.input-text::-moz-placeholder {
  line-height: 24px;
  vertical-align: middle;
}
textarea.input-text::-moz-placeholder, textarea.input-text::placeholder {
  line-height: 24px;
  vertical-align: middle;
}

/* Field Icons */
.evf-field {
  position: relative;
  /* Name field icon */
  /* Email field icon */
  /* Message field icon */
}
.evf-field::before {
  content: "";
  position: absolute;
  left: 30px;
  top: 28px;
  /* Фиксированная позиция относительно поля ввода */
  width: 20px;
  height: 20px;
  z-index: 2;
  pointer-events: none;
}
.evf-field[data-field-id=fullname]::before {
  background-image: url("http://localhost/inlightfilms/wp-content/uploads/2025/09/user.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.evf-field[data-field-id=email]::before {
  background-image: url("http://localhost/inlightfilms/wp-content/uploads/2025/09/mail.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.evf-field[data-field-id=message]::before {
  background-image: url("http://localhost/inlightfilms/wp-content/uploads/2025/09/text.svg");
  background-size: contain;
  background-repeat: no-repeat;
  top: 27px;
  /* Такая же позиция как у других иконок */
  transform: none;
}

/* Phone field special styling */
.evf-field-phone .iti {
  width: 100%;
}
.evf-field-phone .iti .iti__selected-flag .iti__flag {
  margin-right: 8px;
}
.evf-field-phone .iti .iti__country-list {
  background: #2d2d2d;
  border: 1px solid #444444;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.evf-field-phone .iti .iti__country-list .iti__country {
  color: #ffffff;
  padding: 12px 16px;
}
.evf-field-phone .iti .iti__country-list .iti__country:hover {
  background: #333333;
}
.evf-field-phone .iti .iti__country-list .iti__country.iti__active {
  background: #f1e1c7;
}
.evf-field-phone .evf-smart-phone-field {
  border-left: none;
  border-radius: 0 8px 8px 0;
  padding-left: 24px;
  height: 76px;
}

/* Honeypot field - hide it */
.evf-honeypot-container {
  display: none;
}

/* Error Messages */
.evf-field-error {
  color: #ff6b6b;
  font-size: 14px;
  margin-top: 8px;
  display: block;
  position: relative;
  z-index: 1;
}

/* Стили для сообщений об ошибках валидации */
.evf-field .evf-error, .evf-field .evf-field-error, .evf-field .evf-error-message {
  color: #ff6b6b;
  font-size: 14px;
  margin-top: 8px;
  display: block;
  position: relative;
  z-index: 1;
  padding-left: 0;
}

/* Success Messages */
.evf-success-message {
  background: rgba(241, 225, 199, 0.1);
  border: 1px solid #f1e1c7;
  border-radius: 8px;
  color: #f1e1c7;
  padding: 16px;
  margin-bottom: 20px;
  text-align: center;
}

.burger-menu .burger-menu__nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
.burger-menu .burger-menu__nav li a {
  color: white;
  text-decoration: none;
  font-size: var(--text-2xl);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 10px 20px;
}

.burger-menu__social {
  display: flex;
  align-items: center;
  gap: 20px;
}
.burger-menu__social a {
  transition: all 0.3s ease;
}
.burger-menu__social a svg {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}
.burger-menu__social a:hover {
  transform: scale(1.1);
}
.burger-menu__social a:hover svg {
  filter: none;
}

/* ========================================
   UNIFIED MEDIA QUERIES
   ======================================== */
@media (max-width: 3000px) and (min-width: 1500px) {
  .animated-title {
    font-size: 100px;
  }
}
/* Large Desktop (1200px and up) */
@media (min-width: 1200px) {
  .burger {
    display: none;
  }
  /* Portfolio */
  .portfolio-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
  }
  /* Portfolio Top */
  .portfolio-top {
    padding: 0 70px;
  }
  .portfolio-top .portfolio-top-item .portfolio-top-video {
    height: 54vh;
  }
  /* Reviews */
  #reviews .reviews-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
  }
  /* Gallery */
  .photo-gallery-grid {
    gap: 20px;
  }
}
@media (max-width: 1200px) {
  .portfolio-top {
    padding: 0 70px;
  }
  .portfolio-top .portfolio-top-item {
    flex-direction: column;
  }
  .portfolio-top .portfolio-top-item .portfolio-top-video {
    height: 54vh;
  }
  .portfolio-top .portfolio-top-item .portfolio-top-content {
    width: 100%;
    max-width: none;
  }
}
/* Desktop (1024px and up) */
@media (min-width: 1024px) {
  .burger, .social, .burger-menu__social {
    display: none;
  }
  .portfolio-top .portfolio-top-item .portfolio-top-video {
    height: 63.6vh;
  }
}
/* Tablet (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  /* Header */
  #header .header-content {
    flex-direction: row;
    align-items: center;
  }
  #header .header-content .nav {
    display: flex;
    width: auto;
  }
  #header .header-content .nav .nav-menu {
    display: none;
  }
  #header .header-content .social {
    display: none;
  }
  #services .service-features .features-list li {
    font-size: 1.5vh;
  }
  #hero .hero-title .hero-name-container {
    font-size: var(--text-5xl);
  }
  /* Portfolio */
  .portfolio-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
  }
  /* Portfolio Top */
  .portfolio-top .portfolio-top-item .portfolio-top-video {
    height: 60vh;
    max-height: 500px;
  }
  /* Reviews */
  #reviews .reviews-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  /* Gallery */
  .photo-gallery-grid {
    gap: 15px;
  }
}
/* Tablet and Mobile (max-width: 1024px) */
@media (max-width: 1024px) {
  /* Portfolio Gallery - Hide desktop version, show mobile slider */
  .portfolio-grid-photo {
    display: none !important;
  }
  /* Show social icons in burger menu */
  .burger-menu__social {
    display: flex;
  }
  .portfolio-mobile-slider {
    display: block !important;
  }
  .portfolio-top {
    padding: 0 70px;
  }
  .portfolio-top .portfolio-top-item {
    flex-direction: column;
  }
}
/* Tablet specific styles (768px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
  #portfolio .animated-title {
    font-size: 8vh;
  }
  /* UTP */
  #utp .utp-content {
    height: 42vh;
  }
  #utp .utp-content .utp-image #utp-vimeo-player iframe {
    width: 100vw;
    min-height: 50vh;
    min-width: 100vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.1);
    -o-object-fit: cover;
    object-fit: cover;
  }
  .portfolio-mobile-slider .mobile-slider-container {
    min-height: 30vh;
    max-height: 70vh;
    height: 60vh;
    border-radius: 20px;
  }
  .portfolio-mobile-slider .mobile-slider-arrow {
    width: 56px;
    height: 56px;
  }
  .portfolio-mobile-slider .mobile-slider-arrow svg {
    width: 28px;
    height: 28px;
  }
  .portfolio-mobile-slider .mobile-slider-arrow.mobile-slider-prev {
    left: 20px;
  }
  .portfolio-mobile-slider .mobile-slider-arrow.mobile-slider-next {
    right: 20px;
  }
  .archive-page-video .portfolio-top {
    padding: 0 70px;
  }
  /* Team Grid для планшетов - 2 карточки в строке */
  #team .team-grid {
    gap: 30px;
  }
  #team .team-grid .team-member {
    display: flex;
    height: auto;
    justify-content: space-between;
    flex: 0 0 calc(50% - 15px);
  }
  #team .team-grid .team-member-info {
    padding: 1.5vh 3vw;
  }
}
/* Mobile specific adjustments (max-width: 768px) */
@media (max-width: 768px) {
  .photo-portfolio-section .portfolio-grid-photo .canvas .item {
    border-radius: 12px !important;
  }
  /* Common sections padding */
  #hero, #about, #utp, #portfolio, #team, #reviews, #faq, #contact {
    padding: 0 20px;
  }
  .archive-page-video .portfolio-top {
    padding: 0;
  }
  #header {
    padding: 0;
  }
  #header .header-content {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 20px;
  }
  #header .header-content .nav {
    display: flex;
  }
  #header .header-content .nav .nav-menu {
    display: none;
  }
  #header .header-content .social {
    display: none;
  }
  #header.scrolled {
    padding: 0;
  }
  /* Hero */
  #hero .hero-content {
    text-align: center;
  }
  #hero .hero-content .hero-text {
    margin-top: 7rem;
  }
  #hero .hero-content .hero-text .hero-contact-mobile {
    display: flex;
    justify-content: center;
    margin-top: 30px;
  }
  #hero .hero-content .hero-text .hero-title {
    font-size: 3.4rem;
    letter-spacing: 2px;
    margin-bottom: 1rem;
  }
  #hero .hero-content .hero-text .hero-title .hero-name-container {
    flex-direction: column;
    gap: 10px;
    font-size: 3.4rem;
  }
  #hero .hero-content .hero-social {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  #hero .hero-content .hero-social .hero-contact {
    display: none;
  }
  #hero .hero-background video {
    -o-object-position: center 20%;
    object-position: center 20%;
  }
  #hero .scroll-indicator .scroll-arrow {
    width: 50px;
    height: 50px;
  }
  #hero .scroll-indicator .scroll-arrow svg {
    width: 20px;
    height: 20px;
  }
  #hero .animated-title {
    font-size: 60px;
  }
  /* About */
  #about {
    padding: 100px 20px 0 20px;
  }
  #about .about-content h2 {
    font-size: var(--text-3xl);
  }
  #about .about-content p {
    width: 100%;
  }
  /* UTP */
  #utp {
    padding: 50px 0px;
  }
  #utp .utp-content {
    height: 26vh;
  }
  #utp .utp-content .utp-image #utp-vimeo-player iframe {
    width: 100vw;
    height: 60vh;
    min-height: 60vh;
    min-width: 100vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.1);
    -o-object-fit: cover;
    object-fit: cover;
  }
  /* Portfolio */
  #portfolio .animated-title {
    font-size: var(--text-4xl);
  }
  #portfolio .portfolio-top {
    gap: 60px;
    padding: 0px;
  }
  #portfolio .portfolio-top .portfolio-top-item {
    gap: 25px;
    flex-direction: column;
  }
  #portfolio .portfolio-top .portfolio-top-item .portfolio-top-content {
    max-width: none;
    width: unset;
  }
  #portfolio .portfolio-top .portfolio-top-item .portfolio-top-content h3 {
    font-size: var(--text-2xl);
  }
  #portfolio .portfolio-top .portfolio-top-item .portfolio-top-content p {
    font-size: var(--text-base);
  }
  #portfolio .portfolio-top .portfolio-top-item .portfolio-top-video {
    width: 100%;
    max-height: none;
  }
  #portfolio .portfolio-grid {
    display: none;
  }
  .photo-portfolio-section h2 {
    padding: 0 20px;
  }
  .portfolio-grid-photo {
    height: 60vh;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  /* Services */
  #services .animated-title {
    font-size: var(--text-3xl);
    padding: 0 20px;
  }
  #services .services-container {
    flex-wrap: unset;
    flex-direction: column;
    height: unset;
  }
  #services .services-container .service-block {
    width: 100%;
    height: 350px;
  }
  #services .services-container .service-overlay {
    padding: 2vh 3vw;
  }
  #services .services-container .service-title {
    font-size: var(--text-2xl);
  }
  #services .services-container .service-content {
    max-width: 95%;
  }
  #services .services-container .service-detailed-title {
    font-size: var(--text-2xl);
  }
  #services .services-container .service-detailed-content {
    max-width: 95%;
  }
  /* Team */
  #team .animated-title {
    font-size: var(--text-3xl);
    padding: 0;
    text-align: center;
  }
  #team .team-grid {
    margin: 0;
    gap: 30px;
  }
  #team .team-grid .team-member {
    display: flex;
    height: auto;
    justify-content: space-between;
    flex: 0 0 47%;
  }
  #team .team-grid .team-member-info {
    padding: 1.5vh 3vw;
  }
  /* Reviews */
  #reviews {
    padding: 6vh 0;
  }
  #reviews .animated-title {
    font-size: var(--text-3xl);
  }
  #reviews .reviews-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 0 20px;
  }
  #reviews .review-item {
    padding: 30px 20px;
    padding: 2.5vh 2vw;
  }
  #reviews .review-item .review-header {
    gap: 2vw;
    margin-bottom: 2vh;
  }
  #reviews .review-item .review-header .review-image {
    width: 45px;
    height: 45px;
  }
  #reviews .review-item .review-header .review-title h4 {
    font-size: var(--text-base);
  }
  #reviews .review-item .review-header .review-title p {
    font-size: var(--text-xs);
  }
  #reviews .review-item .review-description p {
    font-size: var(--text-sm);
  }
  #reviews .review-item .review-text {
    font-size: var(--text-base);
  }
  #reviews .review-item .review-author {
    font-size: var(--text-small);
  }
  #reviews .review-hover-image {
    width: 250px;
    height: 150px;
  }
  /* FAQ */
  #faq {
    padding: 6vh 0;
    gap: 0px;
  }
  #faq .animated-title {
    font-size: var(--text-3xl);
  }
  #faq .faq-container {
    padding: 0 20px;
  }
  #faq .faq-list {
    gap: 1.5vh;
    margin-top: 4vh;
  }
  #faq .faq-question {
    font-size: var(--text-base);
    padding: 15px 20px;
    padding: 2.5vh 4vw;
  }
  #faq .faq-question h3 {
    font-size: var(--text-base);
  }
  #faq .faq-question .faq-toggle {
    width: 45px;
    height: 45px;
    margin-left: 3vw;
  }
  #faq .faq-question .faq-toggle .faq-icon {
    font-size: 20px;
  }
  #faq .faq-answer {
    font-size: var(--text-small);
  }
  #faq .faq-answer .faq-answer-content {
    padding: 0 4vw 2.5vh 4vw;
  }
  #faq .faq-answer .faq-answer-content p {
    font-size: var(--text-small);
  }
  /* Contact */
  #contact .animated-title {
    font-size: var(--text-3xl);
  }
  /* Gallery */
  .photo-gallery-grid {
    gap: 10px;
    padding: 20px 10px;
  }
  .photo-gallery-grid .gallery-item {
    width: calc(50% - 5px);
    flex: 0 0 calc(50% - 5px);
  }
  .lightbox-close, .lightbox-prev, .lightbox-next {
    width: 40px;
    height: 40px;
  }
  .lightbox-close {
    top: 10px;
  }
  .lightbox-prev {
    left: 10px;
  }
  .lightbox-next {
    right: 10px;
  }
  .lightbox-counter {
    bottom: 10px;
    font-size: 14px;
    padding: 8px 16px;
  }
  /* Gallery controls mobile styles */
  .gallery-close-btn, .gallery-nav-btn {
    width: 45px;
    height: 45px;
  }
  .gallery-close-btn svg, .gallery-nav-btn svg {
    max-width: 20px;
    max-height: 20px;
  }
  .gallery-close-btn {
    top: 15px;
    right: 15px;
  }
  .gallery-close-btn svg {
    max-width: 10px;
    max-height: 10px;
  }
  .gallery-nav-btn.gallery-prev-btn {
    left: 15px;
  }
  .gallery-nav-btn.gallery-next-btn {
    right: 15px;
  }
  .gallery-counter {
    bottom: 15px;
    padding: 6px 12px;
    font-size: 12px;
  }
  /* Footer */
  .footer {
    padding: 40px 0 20px;
  }
  .footer .footer-content {
    flex-direction: column;
    gap: 30px;
    text-align: center;
    padding: 0 20px;
  }
  .footer .footer-content a {
    width: 100%;
  }
  .footer .footer-contact-section {
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
  }
  .footer .footer-social-section {
    flex-direction: row;
    width: 100%;
    gap: 15px;
  }
  .footer .contact-card, .footer .social-card {
    min-width: auto;
    width: 100%;
  }
  .footer .footer-bottom {
    flex-direction: column;
    align-items: center;
    gap: 15px;
    padding: 20px;
  }
  .footer .footer-separator {
    display: none;
  }
  .footer .footer-legal {
    justify-content: space-between;
  }
  .footer .attribution {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
  /* Clients */
  .clients-section {
    padding: 20px 0;
  }
  .clients-section .clients-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .clients-section .logo-row {
    gap: 30px;
  }
  /* Logo Animation */
  #logo-animation {
    padding: 20px 0;
  }
  #logo-animation .logo-slider-container {
    height: 60px;
  }
  #logo-animation .logo-row {
    gap: 40px;
  }
  #logo-animation .logo-row img {
    height: 35px;
  }
  /* Form */
  .everest-forms {
    padding: 30px 0px;
  }
  .everest-forms .evf-container .everest-form .evf-field-container .evf-frontend-row {
    gap: 20px;
  }
  .evf-frontend-row {
    flex-direction: column;
    gap: 0;
  }
  .evf-frontend-grid {
    margin-bottom: 20px;
  }
  .input-text {
    height: 60px;
    padding: 18px 20px 18px 60px;
    font-size: 16px;
  }
  .input-text::-moz-placeholder {
    line-height: 60px;
  }
  .input-text::-moz-placeholder, .input-text::placeholder {
    line-height: 60px;
  }
  .evf-field::before {
    left: 20px;
    top: 30px;
  }
  .evf-field[data-field-id=message]::before {
    top: 30px;
  }
  .everest-forms-submit-button {
    padding: 12px 30px;
    font-size: 14px;
  }
  .btn-portfolio {
    margin-top: 0px;
    line-height: normal;
  }
  /* Archive */
  #photo-portfolio.archive-page-photo .page-header, #video-portfolio.archive-page-video .page-header {
    padding: 150px 20px 50px 20px;
  }
  #photo-portfolio.archive-page-photo .page-header h1, #video-portfolio.archive-page-video .page-header h1 {
    font-size: var(--text-4xl);
  }
  #photo-portfolio.archive-page-photo .page-header {
    padding: 150px 20px 30px 20px !important;
  }
  #video-portfolio.archive-page-video .video-portfolio-section .portfolio-grid {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  #video-portfolio.archive-page-video .video-portfolio-section .portfolio-grid .portfolio-item {
    margin: 0 auto;
    width: unset;
    min-width: unset;
  }
  #video-portfolio.archive-page-video .video-portfolio-section .portfolio-grid .portfolio-item .portfolio-item-content {
    padding: 0;
  }
}
/* Small Mobile (max-width: 480px) */
@media (max-width: 480px) {
  /* Hero */
  #hero .scroll-indicator .scroll-arrow {
    width: 45px;
    height: 45px;
  }
  #hero .scroll-indicator .scroll-arrow svg {
    width: 18px;
    height: 18px;
  }
  #hero .animated-title {
    font-size: 35px;
  }
  /* Portfolio */
  #portfolio .animated-title {
    font-size: var(--text-3xl);
    padding: 0;
  }
  #portfolio .portfolio-top .portfolio-top-item {
    gap: 0;
  }
  /* UTP */
  #utp {
    padding: 0px;
  }
  #utp .btn {
    padding: 12px 25px;
    font-size: var(--text-base);
  }
  #utp .utp-content {
    height: 19vh;
  }
  #utp .utp-content .utp-image #utp-vimeo-player iframe {
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    min-width: 100vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.1);
    -o-object-fit: cover;
    object-fit: cover;
  }
  /* Portfolio */
  #portfolio {
    gap: 20px;
  }
  .portfolio-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    margin: 20px 0;
  }
  .portfolio-grid .portfolio-item .portfolio-item-video {
    height: 30vh;
  }
  .portfolio-grid-photo {
    height: 50vh;
    gap: 8px;
  }
  /* Portfolio Top */
  .portfolio-top {
    gap: 40px;
  }
  .portfolio-top .portfolio-top-item {
    gap: 20px;
  }
  .portfolio-top .portfolio-top-item .portfolio-top-content h3 {
    font-size: var(--text-xl);
  }
  .portfolio-top .portfolio-top-item .portfolio-top-content p {
    font-size: var(--text-small);
  }
  .portfolio-top .portfolio-top-item .portfolio-top-video {
    height: 40vh;
    max-height: 300px;
  }
  .portfolio-top .portfolio-top-item .portfolio-top-video .video-container .video-preview .play-button {
    width: 80px;
    height: 80px;
  }
  .portfolio-top .portfolio-top-item .portfolio-top-video .video-container .video-preview .play-button::before {
    border-left: 20px solid white;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    margin-left: 6px;
  }
  /* Services */
  #services {
    gap: 20px;
  }
  #services .services-container {
    height: auto;
    flex-direction: column;
  }
  #services .services-container .service-block {
    width: 100%;
    height: 50vh;
  }
  #team {
    gap: 20px;
  }
  #team .animated-title {
    font-size: var(--text-3xl);
    padding: 0;
  }
  #reviews {
    gap: 20px;
  }
  #reviews .animated-title {
    font-size: var(--text-3xl);
    padding: 0 20px;
  }
  /* FAQ */
  #faq {
    gap: 20px;
  }
  #faq .animated-title {
    font-size: var(--text-3xl);
    padding: 0;
  }
  #faq .faq-list {
    margin-top: 0;
  }
  #faq .faq-question {
    font-size: var(--text-small);
    padding: 12px 15px;
    padding: 2vh 4vw;
  }
  #faq .faq-question h3 {
    font-size: var(--text-small);
  }
  #faq .faq-question .faq-toggle {
    width: 40px;
    height: 40px;
  }
  #faq .faq-question .faq-toggle .faq-icon {
    font-size: 18px;
  }
  #faq .faq-answer .faq-answer-content {
    padding: 0 4vw 2vh 4vw;
  }
  /* Archive */
  #photo-portfolio.archive-page-photo .page-header, #video-portfolio.archive-page-video .page-header {
    padding: 120px 20px 50px 20px;
  }
  #photo-portfolio.archive-page-photo .page-header h1 {
    font-size: var(--text-3xl);
  }
  #video-portfolio.archive-page-video .page-header h1 {
    font-size: var(--text-3xl);
  }
  #video-portfolio.archive-page-video .video-portfolio-section .portfolio-grid {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  #video-portfolio.archive-page-video .video-portfolio-section .portfolio-grid .portfolio-item {
    margin: 0 auto;
  }
  /* Gallery */
  .photo-gallery-grid {
    gap: 20px;
    padding: 15px 20px;
    margin-bottom: 100px;
  }
  .photo-gallery-grid .gallery-item {
    width: calc(100% - 0px);
    flex: 0 0 calc(100% - 0px);
  }
  .lightbox-close, .lightbox-prev, .lightbox-next {
    width: 35px;
    height: 35px;
  }
  .lightbox-close {
    top: 10px;
  }
  .lightbox-prev {
    left: 10px;
  }
  .lightbox-next {
    right: 10px;
  }
  .lightbox-counter {
    bottom: 10px;
    font-size: 12px;
    padding: 6px 12px;
  }
  /* Gallery controls small mobile styles */
  .gallery-close-btn, .gallery-nav-btn {
    width: 40px;
    height: 40px;
  }
  .gallery-close-btn svg, .gallery-nav-btn svg {
    max-width: 18px;
    max-height: 18px;
  }
  .gallery-close-btn {
    top: 10px;
    right: 10px;
  }
  .gallery-close-btn svg {
    max-width: 9px;
    max-height: 9px;
  }
  .gallery-nav-btn.gallery-prev-btn {
    left: 10px;
  }
  .gallery-nav-btn.gallery-next-btn {
    right: 10px;
  }
  .gallery-counter {
    bottom: 10px;
    padding: 4px 10px;
    font-size: 11px;
  }
  /* Team */
  #team .team-grid .team-member {
    flex: 0 0 100%;
  }
  /* Footer */
  .footer {
    padding: 30px 0 15px;
  }
  .contact-card, .social-card {
    padding: 14px 16px;
  }
  .contact-icon, .social-icon {
    width: 32px;
    height: 32px;
  }
  .contact-text, .social-text {
    font-size: 14px;
  }
  /* Logo Animation */
  #logo-animation .logo-row {
    gap: 30px;
  }
  #logo-animation .logo-row img {
    height: 30px;
  }
  #contact {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  #contact .animated-title {
    font-size: var(--text-3xl);
    padding: 0;
  }
  #contact .contact-info .everest-forms .evf-container .everest-form {
    align-items: center;
  }
  #contact .contact-info .everest-forms .evf-container .everest-form .evf-field-container {
    width: 100%;
  }
  /* Form */
  .everest-forms {
    padding: 0px;
    margin: 0px;
  }
  .input-text {
    height: 50px;
    padding: 15px 16px 15px 50px;
  }
  .input-text::-moz-placeholder {
    line-height: 50px;
  }
  .input-text::-moz-placeholder, .input-text::placeholder {
    line-height: 50px;
  }
  .evf-field::before {
    left: 16px;
    top: 25px;
  }
  .evf-field[data-field-id=message]::before {
    top: 25px;
  }
  .everest-forms-submit-button {
    padding: 10px 25px;
    font-size: 13px;
  }
  .footer-bottom .footer-legal {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
}
/* ========================================
   404 Error Page Styles
======================================== */
.error-section {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.error-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.error-background video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.error-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(15, 15, 15, 0.9) 0%, rgba(15, 15, 15, 0.7) 50%, rgba(15, 15, 15, 0.9) 100%);
  z-index: -1;
}

.error-content {
  text-align: center;
  max-width: 800px;
  padding: 40px 20px;
  animation: fadeInUp var(--error-animation-duration) var(--error-animation-easing);
}

.error-number {
  margin-bottom: 30px;
}

.error-title {
  font-size: clamp(8rem, 15vw, 20rem);
  font-family: "Ginger", sans-serif;
  color: #f1e1c7;
  line-height: 0.8;
  margin: 0;
  text-shadow: 0 0 30px rgba(241, 225, 199, 0.3);
  animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
  from {
    text-shadow: 0 0 30px rgba(241, 225, 199, 0.3);
  }
  to {
    text-shadow: 0 0 40px rgba(241, 225, 199, 0.6), 0 0 60px rgba(241, 225, 199, 0.3);
  }
}
.error-message {
  margin-bottom: 40px;
}

.error-subtitle {
  font-size: clamp(2rem, 4vw, 3rem);
  font-family: "Ginger", sans-serif;
  color: white;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.error-description {
  font-size: var(--text-large);
  color: #dadada;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

.error-actions {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Responsive Design */
@media (max-width: 768px) {
  .error-actions {
    flex-direction: column;
    align-items: center;
  }
  .error-actions .btn {
    width: 100%;
    max-width: 300px;
    justify-content: center;
  }
}
@media (max-width: 480px) {
  .error-content {
    padding: 20px 15px;
  }
}
/*# sourceMappingURL=main.css.map */