/* ------------------------- */
/* ----- BASE STYLES ----- */
/* ------------------------- */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body { 
   width: 100%;         
   max-width: 100vw;    
   overflow-x: hidden;    
}

html {
  scroll-behavior: smooth;
}
 
 body { 
  font-family: var(--font-family-base);
  background-color: var(--color-background);
  color: var(--color-text-primary);
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: none;
  color: inherit;
}

ul, ol {
  list-style: none;
}

img {
  max-width: 100%;
  display: block;
}

video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
  display: block;
  /* box-shadow: 0px 8.64px 34.57px 0px rgba(0, 0, 0, 0.1); */ /* Убрана тень */
}

.washing-machine {
  position: absolute !important;
  width: 50% !important;
  max-width: 500px;
  height: auto;
  bottom: 10%;
  right: 10%;
  z-index: 1 !important;
  transform: rotate(2deg);
  box-shadow: 0px 8.64px 34.57px 0px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, z-index 0.3s ease, right 0.3s ease;
}

.washing-machine:hover {
  transform: rotate(2deg) scale(1.1);
  right: 0%;
}

.numbers__gif {
  width: 300px;
  margin-left: -100px;
  height: auto;
}

h1, h2, h3, p {
  line-height: 1.2;
}

/* ------------------------- */
/* --- SHARED STYLES --- */
/* ------------------------- */

.main {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxxl);
  padding-top: 108px; /* Добавляем верхний отступ для компенсации фиксированного хедера */
  padding-bottom: 40px; /* Добавляем нижний отступ */
}

.section {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}

/* Секции с отступами (текстовые блоки) */
.section--padded {
  padding-left: 24px;
  padding-right: 36px;
  max-width: 600px;
  margin: 0 auto;
}

.section--padded-maximised {
  padding-left: 24px;
  padding-right: 36px;
}

/* Секции с полной шириной (видео, изображения) */
.section--full-width {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

/* ------------------------- */
/* ------- HEADER ------- */
/* ------------------------- */

.header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: var(--spacing-md) var(--spacing-xl);
  background: rgba(255, 255, 255, 0.8);
  z-index: 1000;
  transition: box-shadow 0.3s ease, height 0.3s ease, padding 0.3s ease;
  height: 108px;
}

.header.scrolled {
  box-shadow: none;
  backdrop-filter: blur(54px);
  height: 60px;
  padding-top: var(--spacing-md);
  padding-bottom: var(--spacing-md);
}

.header__avatar {
  width: 84px;
  height: 84px;
  border-radius: var(--border-radius-md);
  transition: width 0.3s ease, height 0.3s ease, border-radius 0.3s ease;
}

.header.scrolled .header__avatar {
  width: 36px;
  height: 36px;
  border-radius: 8px;
}

.header__nav {
  display: flex;
  gap: var(--spacing-xl);
  align-items: flex-end;
}

.header__nav-link {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-link);
  font-weight: var(--font-weight-semibold);
  color: var(--color-accent-link);
  transition: color 0.3s ease;
}

.header__nav-link:hover {
  color: var(--color-accent);
}

/* ------------------------- */
/* --------- HERO --------- */
/* ------------------------- */

.hero {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}

.hero__header {
  display: flex;
  flex-direction: column;
}

.hero__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.hero__subtitle {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.hero__company {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
}

.hero__company-info {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}

.hero__company-icon {
  width: 43px;
  height: 47px;
}

.hero__description,
.hero__achievement,
.hero__investment-note {
  font-family: var(--font-family-base);
  font-size: var(--font-size-p-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.24;
}

.hero__achievement {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-bold);
}

.hero__investment {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.hero__investment-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.hero__investment-vector {
  width: 290.63px;
  height: 73.1px;
}


.hero__contacts {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
  font-family: var(--font-family-base);
  font-size: var(--font-size-p-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.24;
}

a.hero__button,
.hero__button {
  display: inline-block;
  padding: var(--spacing-md) var(--spacing-xl);
  background-color: var(--color-accent);
  color: #fff;
  border-radius: var(--border-radius-md);
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

a.hero__button:hover,
.hero__button:hover {
  background-color: var(--color-accent-link);
}

.hero__contacts a {
  color: var(--color-accent-link);
  transition: color 0.3s ease;
  font-weight: var(--font-weight-semibold);
}

.hero__contacts a:hover {
  color: var(--color-accent);
}

@media (max-width: 600px) {
  .hero__contacts {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__button {
    width: 100%;
    text-align: center;
    margin-bottom: var(--spacing-sm);
  }

  .hero__contacts-link-wrapper {
    text-align: left;
    margin-top: -16px;
  }
}

/* ------------------------- */
/* ---- QUOTE SECTION ---- */
/* ------------------------- */

.quote-section {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}

.quote-section__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.quote-section__quote {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-p-medium);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
  margin-top: -12px;
}

.quote-section__quote--highlight {
  color: var(--color-accent);
}

.quote-section__video {
  width: 100%;
  max-width: 375px;
  border-radius: var(--border-radius-md);
}

/* ------------------------- */
/* ---- WORK EXAMPLE ---- */
/* ------------------------- */

.work-example {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}

.work-example__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.work-example__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.work-example__title--highlight {
  color: var(--color-accent);
}

.work-example__subtitle,
.work-example__description {
  font-family: var(--font-family-base);
  font-size: var(--font-size-p-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.24;
}

.work-example__image {
  width: 100%;
  height: 100%;
  max-width: none;  /* Убираем ограничение ширины */
  object-fit: cover;
  border-radius: var(--border-radius-md);
}

.work-example__video {
  width: 100%;
  position: relative;
  z-index: 2;
  max-width: 375px;
  border-radius: var(--border-radius-md);
  box-shadow: 0px 8.8px 35.21px 0px rgba(0, 0, 0, 0.1);
}

.work-example__scroll-container {
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.work-example__scroll-container::-webkit-scrollbar {
  display: none;                 /* Скрывает полосу прокрутки в Chrome/Safari */
}

.work-example__scroll-image {
  min-width: 781px;
  object-fit: cover;
  height: auto;
  width: 100%;
  /* box-shadow: 0px 8.8px 35.21px 0px rgba(0, 0, 0, 0.1); */ /* Убрана тень */
}

.work-example__gallery {
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
  overflow-y: hidden;
  height: 500px;  /* Увеличено с 400px до 500px */
}

.work-example__gallery::-webkit-scrollbar {
  display: none;                 /* Скрывает полосу прокрутки в Chrome/Safari */
}

.work-example__gallery-image {
  min-width: 712px;  /* Изменено с 817px на 712px */
  object-fit: cover;
  border-radius: var(--border-radius-md);
  /* box-shadow: 0px 8.64px 34.57px 0px rgba(0, 0, 0, 0.1); */ /* Убрана тень */
  flex-shrink: 0;
  height: auto;
  width: 100%;
}

.work-example__gallery-image--overlay {
  margin-top: 20px;
  left: 20px;
  width: 312px;
  height: 115px;
  /* box-shadow: 0px 8.64px 34.57px 0px rgba(0, 0, 0, 0.1); */ /* Убрана тень */
}

/* ------------------------- */
/* ------- TESTING ------- */
/* ------------------------- */

.testing {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}

.testing__header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.testing__title {
  font-family: var(--font-family-base);
  font-size: var(--font-size-p-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.24;
}

.testing__subtitle {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.testing__subtitle--highlight {
  color: var(--color-accent);
}

.testing__video {
  border-radius: var(--border-radius-md);
  max-width: 375px;
}

.testing__stats {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.testing__stat-item {
  display: flex;
  flex-direction: column;
}

.testing__stat-title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-p-bold);
  font-weight: var(--font-weight-bold);
  line-height: 1.24;
}

.testing__stat-details {
  font-family: var(--font-family-base);
  font-size: var(--font-size-p-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.24;
}

/* ------------------------- */
/* - INVESTMENT SUMMARY - */
/* ------------------------- */

.investment-summary {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}

.investment-summary__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.investment-summary__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-bold);
  color: var(--color-accent);
  line-height: 1;
}

.investment-summary__description {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.investment-summary__currency {
  font-family: var(--font-family-base);
}

/* Контейнер управляет высотой всей галереи */ 
.investment-summary__image-container{ 
  height: 60vh;
  overflow-x: auto; 
  overflow-y: hidden; 
  -webkit-overflow-scrolling: touch; 
  scrollbar-width: none; 
  -ms-overflow-style: none; 
} 
.investment-summary__image-container::-webkit-scrollbar{ display:none; } 

/* Горизонтальный трек, ширина = сумме картинок */ 
.wipe-container{ 
  height: 100%;
  display: inline-flex;     
  width: max-content; 
  gap: 0px; 
  align-items: center;      
} 

/* КАРТИНКА: во всю высоту контейнера */ 
.investment-summary__image{ 
  width: auto; 
  height: 100%;
  max-width: none !important; 
  flex: 0 0 auto;           
  display: block; 
  object-fit: contain;      
  object-position: center; 
}

/* ------------------------- */
/* --- CONTACT SECTION --- */
/* ------------------------- */

.contact-section {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxl);
}

.contact-section__intro {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.contact-section__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: 1.15;
}

.contact-section__title--highlight {
  color: var(--color-accent);
}

.contact-section__description {
  font-family: var(--font-family-base);
  font-size: var(--font-size-p-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.24;
}

.contact-section__links {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.contact-section__links-title {
  font-family: var(--font-family-base);
  font-size: var(--font-size-p-medium);
  font-weight: var(--font-weight-semibold);
  line-height: 1.24;
}

.contact-section__nav {
  display: flex;
  gap: var(--spacing-xl);
  align-items: center;
}

.contact-section__nav-link {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--color-accent-link);
  transition: color 0.3s ease;
}

.contact-section__nav-link:hover {
  color: var(--color-accent);
}


/* ------------------------- */
/* -------- FOOTER -------- */
/* ------------------------- */

.footer {
  font-family: var(--font-family-base);
  font-size: 23px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.24;
  margin-top: 28px;
}

.wipe-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
}

.wipe-container img {
  width: auto;
  height: 100%;  /* Уже правильно - занимает всю высоту */
  object-fit: contain;  /* Можно изменить на cover для заполнения */
  flex-shrink: 0;
}

/* Специфичный стиль для изображения с src="ux-process-screen2.png" */
.work-example__scroll-image[src="./assets/images/ux-process-screen2.png"] {
  min-width: 1024px;
}
