
:root {
  --color-primary: #f8d0e3;
  --color-secondary: #c9e6ff;
  --color-accent: #e1d4f0;
  --color-text: #4a4a4a;
  --color-text-light: #767676;
  --color-background: #ffffff;
  --color-border: #e6e6e6;
  --color-error: #f44336;
  --color-success: #4caf50;
  --gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 50%, var(--color-accent) 100%);
  --shadow-small: 0 2px 5px rgba(0, 0, 0, 0.05);
  --shadow-medium: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-large: 0 10px 30px rgba(0, 0, 0, 0.12);
  --border-radius-small: 4px;
  --border-radius-medium: 8px;
  --border-radius-large: 16px;
  --font-family: 'Poppins', sans-serif;
  --transition-fast: 0.2s ease;
  --transition-medium: 0.3s ease;
  --transition-slow: 0.5s ease;
  --spacing-xxs: 4px;
  --spacing-xs: 8px;
  --spacing-sm: 16px;
  --spacing-md: 24px;
  --spacing-lg: 32px;
  --spacing-xl: 48px;
  --spacing-xxl: 64px;
  --content-width: 1200px;
  --content-width-narrow: 900px;
}

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

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family);
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--color-text);
  background-color: var(--color-background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

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

a {
  color: var(--color-text);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover, a:focus {
  color: color-mix(in srgb, var(--color-primary) 80%, black);
}

ul, ol {
  list-style: none;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  outline: none;
}

button {
  cursor: pointer;
  background: none;
  border: none;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: var(--spacing-sm);
  color: var(--color-text);
}

h1 {
  font-size: 3.6rem;
}

h2 {
  font-size: 3rem;
}

h3 {
  font-size: 2.4rem;
}

h4 {
  font-size: 2rem;
}

h5 {
  font-size: 1.8rem;
}

h6 {
  font-size: 1.6rem;
}

p {
  margin-bottom: var(--spacing-md);
}

@media (max-width: 768px) {
  h1 {
    font-size: 2.8rem;
  }

  h2 {
    font-size: 2.4rem;
  }

  h3 {
    font-size: 2rem;
  }
}


.fm-header,
.fm-footer,
section {
  width: 100%;
}

.fm-header__wrapper,
.fm-navigation__wrapper,
.fm-intro__wrapper,
.fm-advantages__wrapper,
.fm-services__wrapper,
.fm-about__wrapper,
.fm-testimonials__wrapper,
.fm-contact__wrapper,
.fm-footer__wrapper,
.fm-page-header__wrapper,
.fm-service-detailed__wrapper,
.fm-service-cases__wrapper,
.fm-cta__wrapper,
.fm-about-intro__wrapper,
.fm-timeline__wrapper,
.fm-values__wrapper,
.fm-team__wrapper,
.fm-achievements__wrapper,
.fm-contact-page__wrapper,
.fm-legal__wrapper,
.fm-thanks__wrapper,
.fm-services-brief__wrapper {
  width: 100%;
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--spacing-md);
}

section {
  padding: var(--spacing-xl) 0;
}


.fm-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}



.fm-header {
  position: relative;
  background-color: var(--color-background);
  box-shadow: var(--shadow-small);
  z-index: 100;
}

.fm-header__top {
  padding: var(--spacing-sm) 0;
  border-bottom: 1px solid var(--color-border);
}

.fm-header__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

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

.fm-header__phone, 
.fm-header__hours {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  font-size: 1.4rem;
}

.fm-header__phone i, 
.fm-header__hours i {
  color: color-mix(in srgb, var(--color-primary) 70%, black);
}

.fm-header__brand {
  display: flex;
  align-items: center;
}

.fm-header__logo {
  display: block;
}

.fm-header__logo img {
  height: 60px;
  width: auto;
}


.fm-navigation {
  padding: var(--spacing-sm) 0;
}

.fm-navigation__wrapper {
  display: flex;
  justify-content: center;
}

.fm-navigation__toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 21px;
}

.fm-navigation__toggle span {
  height: 3px;
  width: 100%;
  background-color: var(--color-text);
  border-radius: 3px;
  transition: all var(--transition-medium);
}

.fm-navigation__list {
  display: flex;
  gap: var(--spacing-md);
}

.fm-navigation__link {
  position: relative;
  font-weight: 500;
  padding: var(--spacing-xs) 0;
}

.fm-navigation__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--gradient-primary);
  transition: width var(--transition-medium);
}

.fm-navigation__link:hover::after,
.fm-navigation__link:focus::after,
.fm-navigation__link--active::after {
  width: 100%;
}

.fm-navigation__link--active {
  font-weight: 600;
}

@media (max-width: 768px) {
  .fm-header__contact {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-xs);
  }

  .fm-navigation__toggle {
    display: flex;
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    z-index: 101;
  }

  .fm-navigation__toggle.active span:first-child {
    transform: translateY(9px) rotate(45deg);
  }

  .fm-navigation__toggle.active span:nth-child(2) {
    opacity: 0;
  }

  .fm-navigation__toggle.active span:last-child {
    transform: translateY(-9px) rotate(-45deg);
  }

  .fm-navigation__list {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--color-background);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-lg);
    transform: translateY(-100%);
    transition: transform var(--transition-medium);
    z-index: 100;
  }

  .fm-navigation__list.active {
    transform: translateY(0);
  }

  .fm-navigation__link {
    font-size: 2rem;
  }
}


.fm-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border-radius: var(--border-radius-small);
  font-weight: 600;
  text-align: center;
  transition: all var(--transition-fast);
  cursor: pointer;
  white-space: nowrap;
}

.fm-button--primary {
  background: var(--gradient-primary);
  color: var(--color-text);
  border: none;
}

.fm-button--primary:hover,
.fm-button--primary:focus {
  background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 90%, black) 0%, color-mix(in srgb, var(--color-secondary) 90%, black) 50%, color-mix(in srgb, var(--color-accent) 90%, black) 100%);
  color: var(--color-text);
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

.fm-button--outline {
  background-color: transparent;
  border: 2px solid var(--color-primary);
  color: var(--color-text);
}

.fm-button--outline:hover,
.fm-button--outline:focus {
  background-color: var(--color-primary);
  color: var(--color-text);
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

.fm-button--text {
  background-color: transparent;
  border: none;
  color: var(--color-text);
  padding: 8px 16px;
}

.fm-button--text:hover,
.fm-button--text:focus {
  color: color-mix(in srgb, var(--color-primary) 80%, black);
  transform: translateY(-2px);
}

.fm-button--small {
  padding: 8px 16px;
  font-size: 1.4rem;
}

.fm-button--full {
  width: 100%;
}


.fm-intro {
  padding: var(--spacing-xxl) 0;
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-primary));
}

.fm-intro__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

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

.fm-intro__title {
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: var(--spacing-md);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fm-intro__description {
  font-size: 1.8rem;
  margin-bottom: var(--spacing-lg);
}

.fm-intro__actions {
  display: flex;
  gap: var(--spacing-md);
  margin-top: var(--spacing-md);
}

.fm-intro__image {
  border-radius: var(--border-radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-large);
  position: relative;
}

.fm-intro__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-intro__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform var(--transition-medium);
}

.fm-intro__image:hover img {
  transform: scale(1.05);
}

@media (max-width: 992px) {
  .fm-intro__wrapper {
    grid-template-columns: 1fr;
  }
  
  .fm-intro__image {
    order: -1;
  }
  
  .fm-intro__title {
    font-size: 3.2rem;
  }
}

@media (max-width: 576px) {
  .fm-intro__actions {
    flex-direction: column;
  }
}


.fm-advantages {
  padding: var(--spacing-xxl) 0;
}

.fm-advantages__title {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.fm-advantages__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-xxl);
}

.fm-advantage-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--spacing-lg);
  border-radius: var(--border-radius-medium);
  background-color: var(--color-background);
  box-shadow: var(--shadow-medium);
  transition: transform var(--transition-medium);
}

.fm-advantage-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-large);
}

.fm-advantage-card__icon {
  font-size: 3rem;
  margin-bottom: var(--spacing-md);
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  color: var(--color-text);
}

.fm-advantage-card__title {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: var(--spacing-xs);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fm-advantage-card__description {
  font-size: 1.5rem;
  color: var(--color-text-light);
  margin-bottom: 0;
}

.fm-advantages__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

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

.fm-advantages__image {
  border-radius: var(--border-radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-large);
  position: relative;
}

.fm-advantages__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-advantages__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform var(--transition-medium);
}

.fm-advantages__image:hover img {
  transform: scale(1.05);
}

@media (max-width: 992px) {
  .fm-advantages__grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
  
  .fm-advantages__content {
    grid-template-columns: 1fr;
  }
  
  .fm-advantages__image {
    order: -1;
  }
}


.fm-services {
  padding: var(--spacing-xxl) 0;
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-secondary));
}

.fm-services__title {
  text-align: center;
  margin-bottom: var(--spacing-xs);
}

.fm-services__subtitle {
  text-align: center;
  margin-bottom: var(--spacing-xl);
  font-size: 1.8rem;
  color: var(--color-text-light);
}

.fm-services__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-xl);
}

.fm-service-card {
  background-color: var(--color-background);
  border-radius: var(--border-radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
  transition: transform var(--transition-medium), box-shadow var(--transition-medium);
}

.fm-service-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-large);
}

.fm-service-card__image {
  height: 250px;
  overflow: hidden;
  position: relative;
}

.fm-service-card__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-service-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-medium);
}

.fm-service-card:hover .fm-service-card__image img {
  transform: scale(1.1);
}

.fm-service-card__content {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.fm-service-card__title {
  margin-bottom: var(--spacing-xs);
}

.fm-service-card__description {
  color: var(--color-text-light);
  margin-bottom: var(--spacing-md);
}

.fm-service-card__price {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fm-services__action {
  display: flex;
  justify-content: center;
  margin-top: var(--spacing-xl);
}

@media (max-width: 992px) {
  .fm-services__grid {
    grid-template-columns: 1fr;
  }
}


.fm-about {
  padding: var(--spacing-xxl) 0;
}

.fm-about__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

.fm-about__description {
  text-align: center;
  max-width: 800px;
  margin: 0 auto var(--spacing-xl);
  font-size: 1.8rem;
}

.fm-team-member {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-xl);
  align-items: center;
}

.fm-team-member:nth-child(even) {
  direction: rtl;
}

.fm-team-member__info {
  direction: ltr;
}

.fm-team-member__name {
  margin-bottom: var(--spacing-xs);
}

.fm-team-member__position {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-text-light);
  margin-bottom: var(--spacing-md);
}

.fm-team-member__description {
  color: var(--color-text);
}

.fm-team-member__image {
  border-radius: var(--border-radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-large);
  position: relative;
}

.fm-team-member__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-team-member__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform var(--transition-medium);
}

.fm-team-member__image:hover img {
  transform: scale(1.05);
}

.fm-about__action {
  display: flex;
  justify-content: center;
  margin-top: var(--spacing-lg);
}

@media (max-width: 992px) {
  .fm-team-member,
  .fm-team-member:nth-child(even) {
    grid-template-columns: 1fr;
    direction: ltr;
  }
  
  .fm-team-member__image {
    order: -1;
  }
}


.fm-testimonials {
  padding: var(--spacing-xxl) 0;
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-accent));
}

.fm-testimonials__title {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.fm-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
}

.fm-testimonial {
  background-color: var(--color-background);
  border-radius: var(--border-radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
  transition: transform var(--transition-medium);
}

.fm-testimonial:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-large);
}

.fm-testimonial__content {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.fm-testimonial__rating {
  color: #ffc107;
  font-size: 1.8rem;
  margin-bottom: var(--spacing-sm);
}

.fm-testimonial__text {
  font-style: italic;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
}

.fm-testimonial__author {
  margin-top: auto;
}

.fm-testimonial__name {
  font-weight: 600;
  margin-bottom: var(--spacing-xxs);
}

.fm-testimonial__company {
  font-size: 1.4rem;
  color: var(--color-text-light);
}

@media (max-width: 992px) {
  .fm-testimonials__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .fm-testimonials__grid {
    grid-template-columns: 1fr;
  }
}


.fm-contact {
  padding: var(--spacing-xxl) 0;
}

.fm-contact__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: start;
}

.fm-contact__info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.fm-contact__title {
  margin-bottom: var(--spacing-md);
}

.fm-contact__description {
  margin-bottom: var(--spacing-lg);
  font-size: 1.8rem;
}

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

.fm-contact__item {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-md);
}

.fm-contact__item i {
  font-size: 2rem;
  color: var(--color-primary);
  margin-top: 3px;
}

.fm-contact__form-container {
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-primary));
  border-radius: var(--border-radius-medium);
  padding: var(--spacing-xl);
  box-shadow: var(--shadow-medium);
}

@media (max-width: 992px) {
  .fm-contact__content {
    grid-template-columns: 1fr;
  }
}


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

.fm-form__group {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.fm-form__label {
  font-size: 1.4rem;
  font-weight: 500;
}

.fm-form__input,
.fm-form__textarea,
.fm-form__select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-small);
  background-color: var(--color-background);
  transition: border-color var(--transition-fast);
}

.fm-form__input:focus,
.fm-form__textarea:focus,
.fm-form__select:focus {
  border-color: var(--color-primary);
}

.fm-form__textarea {
  resize: vertical;
  min-height: 120px;
}

.fm-form__checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.fm-form__group--checkbox {
  flex-direction: row;
  align-items: flex-start;
  gap: var(--spacing-sm);
}

.fm-form__checkbox-label {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1.5;
}

.fm-form__checkbox-label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-small);
  background-color: var(--color-background);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.fm-form__checkbox-label::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 3px;
  width: 6px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity var(--transition-fast);
}

.fm-form__checkbox:checked + .fm-form__checkbox-label::before {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.fm-form__checkbox:checked + .fm-form__checkbox-label::after {
  opacity: 1;
}

.fm-form__checkbox:focus + .fm-form__checkbox-label::before {
  box-shadow: 0 0 0 3px rgba(248, 208, 227, 0.3);
}

.fm-form__actions {
  margin-top: var(--spacing-sm);
}


.fm-footer {
  background-color: color-mix(in srgb, var(--color-background) 90%, var(--color-text));
  color: var(--color-text);
  padding-top: var(--spacing-xl);
}

.fm-footer__main {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 2fr;
  gap: var(--spacing-xl);
  padding-bottom: var(--spacing-xl);
}

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

.fm-footer__logo {
  display: block;
  margin-bottom: var(--spacing-sm);
}

.fm-footer__logo img {
  height: 60px;
  width: auto;
}

.fm-footer__description {
  font-size: 1.4rem;
  margin-bottom: 0;
}

.fm-footer__heading {
  margin-bottom: var(--spacing-md);
  font-size: 1.8rem;
}

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

.fm-footer__links a {
  transition: color var(--transition-fast);
  font-size: 1.4rem;
}

.fm-footer__links a:hover,
.fm-footer__links a:focus {
  color: var(--color-primary);
}

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

.fm-footer__contact-list li {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-sm);
  font-size: 1.4rem;
}

.fm-footer__contact-list i {
  font-size: 1.6rem;
  color: var(--color-primary);
  margin-top: 3px;
}

.fm-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-md) 0;
  border-top: 1px solid var(--color-border);
  font-size: 1.4rem;
}

.fm-footer__legal {
  display: flex;
  gap: var(--spacing-md);
}

.fm-footer__legal a {
  transition: color var(--transition-fast);
}

.fm-footer__legal a:hover,
.fm-footer__legal a:focus {
  color: var(--color-primary);
}

@media (max-width: 992px) {
  .fm-footer__main {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl) var(--spacing-md);
  }
  
  .fm-footer__company {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .fm-footer__main {
    grid-template-columns: 1fr;
  }
  
  .fm-footer__company {
    grid-column: span 1;
  }
  
  .fm-footer__bottom {
    flex-direction: column;
    gap: var(--spacing-md);
    text-align: center;
  }
  
  .fm-footer__legal {
    flex-direction: column;
    gap: var(--spacing-sm);
  }
}


.fm-cookie-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--color-background);
  box-shadow: var(--shadow-large);
  z-index: 1000;
  padding: var(--spacing-md);
  transform: translateY(100%);
  transition: transform var(--transition-medium);
}

.fm-cookie-consent--visible {
  transform: translateY(0);
}

.fm-cookie-consent__content {
  max-width: var(--content-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
}

.fm-cookie-consent__text {
  font-size: 1.4rem;
}

.fm-cookie-consent__text p {
  margin-bottom: 0;
}

.fm-cookie-consent__actions {
  display: flex;
  gap: var(--spacing-sm);
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .fm-cookie-consent__content {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .fm-cookie-consent__actions {
    width: 100%;
    justify-content: center;
    margin-top: var(--spacing-sm);
  }
}


.fm-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1001;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-medium), visibility var(--transition-medium);
}

.fm-modal--open {
  opacity: 1;
  visibility: visible;
}

.fm-modal__content {
  background-color: var(--color-background);
  border-radius: var(--border-radius-medium);
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--shadow-large);
  transform: scale(0.9);
  transition: transform var(--transition-medium);
}

.fm-modal--open .fm-modal__content {
  transform: scale(1);
}

.fm-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-md) var(--spacing-lg);
  border-bottom: 1px solid var(--color-border);
}

.fm-modal__title {
  margin-bottom: 0;
}

.fm-modal__close {
  font-size: 2.4rem;
  line-height: 1;
  cursor: pointer;
  background: none;
  border: none;
  color: var(--color-text-light);
  transition: color var(--transition-fast);
}

.fm-modal__close:hover,
.fm-modal__close:focus {
  color: var(--color-text);
}

.fm-modal__body {
  padding: var(--spacing-lg);
}

.fm-modal__footer {
  padding: var(--spacing-md) var(--spacing-lg);
  border-top: 1px solid var(--color-border);
  display: flex;
  justify-content: flex-end;
}


.fm-cookie-settings {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  margin-top: var(--spacing-md);
}

.fm-cookie-settings__item {
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-small);
  padding: var(--spacing-md);
}

.fm-cookie-settings__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-sm);
}

.fm-cookie-settings__title-group {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.fm-cookie-settings__title {
  margin-bottom: 0;
  font-size: 1.6rem;
}

.fm-cookie-settings__badge {
  font-size: 1.2rem;
  padding: 2px 8px;
  background-color: var(--color-primary);
  border-radius: var(--border-radius-small);
}

.fm-cookie-settings__toggle {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
}

.fm-cookie-settings__toggle input {
  opacity: 0;
  width: 0;
  height: 0;
}

.fm-cookie-settings__toggle label {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-border);
  border-radius: 24px;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.fm-cookie-settings__toggle label::before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  border-radius: 50%;
  transition: transform var(--transition-fast);
}

.fm-cookie-settings__toggle input:checked + label {
  background-color: var(--color-primary);
}

.fm-cookie-settings__toggle input:checked + label::before {
  transform: translateX(26px);
}

.fm-cookie-settings__toggle input:disabled + label {
  opacity: 0.6;
  cursor: not-allowed;
}

.fm-cookie-settings__description {
  font-size: 1.4rem;
  color: var(--color-text-light);
  margin-bottom: 0;
}

.fm-cookie-manage {
  margin-top: var(--spacing-xl);
  padding: var(--spacing-lg);
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-primary));
  border-radius: var(--border-radius-medium);
  text-align: center;
}

.fm-cookie-manage h3 {
  margin-bottom: var(--spacing-md);
}


.fm-page-header {
  padding: var(--spacing-xxl) 0;
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-primary));
  text-align: center;
}

.fm-page-header__title {
  font-size: 4rem;
  margin-bottom: var(--spacing-md);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fm-page-header__description {
  font-size: 1.8rem;
  max-width: 800px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .fm-page-header__title {
    font-size: 3.2rem;
  }
}


.fm-service-detailed {
  padding: var(--spacing-xxl) 0;
}

.fm-service-detailed--alt {
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-secondary));
}

.fm-service-detailed__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

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

.fm-service-detailed__title {
  margin-bottom: var(--spacing-xs);
}

.fm-service-detailed__price {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: var(--spacing-md);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fm-service-detailed__description {
  font-size: 1.8rem;
  margin-bottom: var(--spacing-md);
}

.fm-service-detailed__subtitle {
  font-size: 2rem;
  margin-top: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
}

.fm-service-detailed__features,
.fm-service-detailed__benefits {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  padding-left: var(--spacing-md);
}

.fm-service-detailed__features li,
.fm-service-detailed__benefits li {
  position: relative;
  padding-left: var(--spacing-md);
}

.fm-service-detailed__features li::before,
.fm-service-detailed__benefits li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gradient-primary);
}

.fm-service-detailed__action {
  margin-top: var(--spacing-lg);
}

.fm-service-detailed__image {
  border-radius: var(--border-radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-large);
  position: relative;
}

.fm-service-detailed__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-service-detailed__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform var(--transition-medium);
}

.fm-service-detailed__image:hover img {
  transform: scale(1.05);
}

@media (max-width: 992px) {
  .fm-service-detailed__content {
    grid-template-columns: 1fr;
  }
  
  .fm-service-detailed__image {
    order: -1;
  }
}


.fm-service-cases {
  padding: var(--spacing-xxl) 0;
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-accent));
}

.fm-service-cases__title {
  text-align: center;
  margin-bottom: var(--spacing-xs);
}

.fm-service-cases__subtitle {
  text-align: center;
  margin-bottom: var(--spacing-xl);
  font-size: 1.8rem;
  color: var(--color-text-light);
}

.fm-service-cases__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-lg);
}

.fm-case-card {
  background-color: var(--color-background);
  border-radius: var(--border-radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
  transition: transform var(--transition-medium);
}

.fm-case-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-large);
}

.fm-case-card__content {
  padding: var(--spacing-lg);
}

.fm-case-card__title {
  margin-bottom: var(--spacing-md);
  font-size: 2rem;
}

.fm-case-card__description {
  color: var(--color-text-light);
  margin-bottom: var(--spacing-sm);
}

.fm-case-card__result {
  margin-bottom: var(--spacing-md);
}

.fm-case-card__metric {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-md);
}

.fm-case-card__metric-value {
  font-size: 2.4rem;
  font-weight: 700;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fm-case-card__metric-label {
  font-size: 1.4rem;
  color: var(--color-text-light);
}

@media (max-width: 992px) {
  .fm-service-cases__grid {
    grid-template-columns: 1fr;
  }
}


.fm-cta {
  padding: var(--spacing-xxl) 0;
}

.fm-cta__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

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

.fm-cta__title {
  font-size: 3rem;
  margin-bottom: var(--spacing-md);
}

.fm-cta__description {
  font-size: 1.8rem;
  margin-bottom: var(--spacing-lg);
}

.fm-cta__action {
  margin-top: var(--spacing-md);
}

.fm-cta__image {
  border-radius: var(--border-radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-large);
  position: relative;
}

.fm-cta__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-cta__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform var(--transition-medium);
}

.fm-cta__image:hover img {
  transform: scale(1.05);
}

@media (max-width: 992px) {
  .fm-cta__wrapper {
    grid-template-columns: 1fr;
  }
  
  .fm-cta__image {
    order: -1;
  }
}


.fm-about-intro {
  padding: var(--spacing-xxl) 0;
}

.fm-about-intro__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

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

.fm-about-intro__title {
  margin-bottom: var(--spacing-md);
}

.fm-about-intro__description {
  font-size: 1.8rem;
  margin-bottom: var(--spacing-md);
}

.fm-about-intro__image {
  border-radius: var(--border-radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-large);
  position: relative;
}

.fm-about-intro__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-about-intro__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform var(--transition-medium);
}

.fm-about-intro__image:hover img {
  transform: scale(1.05);
}

@media (max-width: 992px) {
  .fm-about-intro__wrapper {
    grid-template-columns: 1fr;
  }
  
  .fm-about-intro__image {
    order: -1;
  }
}


.fm-timeline {
  padding: var(--spacing-xxl) 0;
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-secondary));
}

.fm-timeline__title {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.fm-timeline__container {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
}

.fm-timeline__container::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  background: var(--gradient-primary);
  transform: translateX(-50%);
}

.fm-timeline__item {
  position: relative;
  margin-bottom: var(--spacing-xl);
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.fm-timeline__item:nth-child(even) {
  justify-content: flex-start;
}

.fm-timeline__marker {
  position: absolute;
  top: 0;
  left: 50%;
  width: 20px;
  height: 20px;
  background: var(--gradient-primary);
  border-radius: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.fm-timeline__content {
  width: 45%;
  background-color: var(--color-background);
  border-radius: var(--border-radius-medium);
  padding: var(--spacing-lg);
  box-shadow: var(--shadow-medium);
  position: relative;
  transition: transform var(--transition-medium);
}

.fm-timeline__content:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-large);
}

.fm-timeline__content::before {
  content: '';
  position: absolute;
  top: 10px;
  width: 0;
  height: 0;
  border-style: solid;
}

.fm-timeline__item:nth-child(odd) .fm-timeline__content::before {
  left: -10px;
  border-width: 10px 10px 10px 0;
  border-color: transparent var(--color-background) transparent transparent;
}

.fm-timeline__item:nth-child(even) .fm-timeline__content::before {
  right: -10px;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent var(--color-background);
}

.fm-timeline__date {
  display: inline-block;
  padding: var(--spacing-xs) var(--spacing-sm);
  background: var(--gradient-primary);
  border-radius: var(--border-radius-small);
  font-weight: 600;
  margin-bottom: var(--spacing-sm);
}

.fm-timeline__heading {
  margin-bottom: var(--spacing-sm);
}

.fm-timeline__description {
  color: var(--color-text-light);
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .fm-timeline__container::before {
    left: 20px;
  }
  
  .fm-timeline__item,
  .fm-timeline__item:nth-child(even) {
    justify-content: flex-start;
    padding-left: 60px;
  }
  
  .fm-timeline__marker {
    left: 20px;
  }
  
  .fm-timeline__content {
    width: 100%;
  }
  
  .fm-timeline__item:nth-child(odd) .fm-timeline__content::before,
  .fm-timeline__item:nth-child(even) .fm-timeline__content::before {
    left: -10px;
    border-width: 10px 10px 10px 0;
    border-color: transparent var(--color-background) transparent transparent;
    right: auto;
  }
}


.fm-values {
  padding: var(--spacing-xxl) 0;
}

.fm-values__title {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.fm-values__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
}

.fm-value-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--spacing-lg);
  border-radius: var(--border-radius-medium);
  background-color: var(--color-background);
  box-shadow: var(--shadow-medium);
  transition: transform var(--transition-medium);
}

.fm-value-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-large);
}

.fm-value-card__icon {
  font-size: 3rem;
  margin-bottom: var(--spacing-md);
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  color: var(--color-text);
}

.fm-value-card__title {
  margin-bottom: var(--spacing-sm);
}

.fm-value-card__description {
  color: var(--color-text-light);
  margin-bottom: 0;
}

@media (max-width: 992px) {
  .fm-values__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .fm-values__grid {
    grid-template-columns: 1fr;
  }
}


.fm-team {
  padding: var(--spacing-xxl) 0;
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-accent));
}

.fm-team__title {
  text-align: center;
  margin-bottom: var(--spacing-xs);
}

.fm-team__subtitle {
  text-align: center;
  margin-bottom: var(--spacing-xl);
  font-size: 1.8rem;
  color: var(--color-text-light);
}

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

.fm-team-card {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--spacing-xl);
  background-color: var(--color-background);
  border-radius: var(--border-radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
  transition: transform var(--transition-medium);
}

.fm-team-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-large);
}

.fm-team-card__image {
  height: 100%;
  position: relative;
}

.fm-team-card__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-team-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fm-team-card__content {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.fm-team-card__name {
  margin-bottom: var(--spacing-xs);
}

.fm-team-card__position {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-text-light);
  margin-bottom: var(--spacing-md);
}

.fm-team-card__description {
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
}

.fm-team-card__quote {
  font-style: italic;
  color: var(--color-text);
  position: relative;
  padding-left: var(--spacing-md);
  border-left: 3px solid var(--color-primary);
  margin-top: auto;
  margin-bottom: 0;
}

@media (max-width: 992px) {
  .fm-team-card {
    grid-template-columns: 1fr;
  }
  
  .fm-team-card__image {
    height: 300px;
  }
}


.fm-achievements {
  padding: var(--spacing-xxl) 0;
}

.fm-achievements__title {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.fm-achievements__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

.fm-achievements__image {
  border-radius: var(--border-radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-large);
  position: relative;
}

.fm-achievements__image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0.2;
  z-index: 1;
}

.fm-achievements__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform var(--transition-medium);
}

.fm-achievements__image:hover img {
  transform: scale(1.05);
}

.fm-achievements__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.fm-achievement {
  display: flex;
  gap: var(--spacing-md);
  align-items: flex-start;
}

.fm-achievement__icon {
  font-size: 2.4rem;
  color: var(--color-primary);
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  color: var(--color-text);
}

.fm-achievement__content {
  flex-grow: 1;
}

.fm-achievement__title {
  font-size: 2.4rem;
  margin-bottom: var(--spacing-xs);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.fm-achievement__description {
  color: var(--color-text-light);
  margin-bottom: 0;
}

@media (max-width: 992px) {
  .fm-achievements__content {
    grid-template-columns: 1fr;
  }
  
  .fm-achievements__image {
    order: -1;
  }
}


.fm-contact-page {
  padding: var(--spacing-xxl) 0;
}

.fm-contact-page__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
}

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

.fm-contact-page__title {
  margin-bottom: var(--spacing-lg);
}

.fm-contact-page__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.fm-contact-page__item {
  display: flex;
  gap: var(--spacing-md);
}

.fm-contact-page__icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  font-size: 2rem;
  flex-shrink: 0;
}

.fm-contact-page__text {
  flex-grow: 1;
}

.fm-contact-page__text h3 {
  margin-bottom: var(--spacing-xs);
}

.fm-contact-page__text p {
  color: var(--color-text-light);
  margin-bottom: 0;
}

.fm-contact-page__map {
  margin-top: var(--spacing-lg);
}

.fm-contact-page__map h3 {
  margin-bottom: var(--spacing-md);
}

.fm-contact-page__map-container {
  height: 400px;
  border-radius: var(--border-radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
}

.fm-contact-page__form-container {
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-primary));
  border-radius: var(--border-radius-medium);
  padding: var(--spacing-xl);
  box-shadow: var(--shadow-medium);
  align-self: start;
}

.fm-contact-page__form-title {
  margin-bottom: var(--spacing-xs);
}

.fm-contact-page__form-subtitle {
  margin-bottom: var(--spacing-lg);
  color: var(--color-text-light);
}

@media (max-width: 992px) {
  .fm-contact-page__content {
    grid-template-columns: 1fr;
  }
}


.fm-legal {
  padding: var(--spacing-xl) 0 var(--spacing-xxl);
}

.fm-legal__wrapper {
  max-width: var(--content-width-narrow);
}

.fm-legal__content {
  background-color: var(--color-background);
  border-radius: var(--border-radius-medium);
  padding: var(--spacing-xl);
  box-shadow: var(--shadow-medium);
}

.fm-legal__content h2 {
  margin-top: var(--spacing-xl);
  margin-bottom: var(--spacing-md);
  font-size: 2.4rem;
}

.fm-legal__content h2:first-child {
  margin-top: 0;
}

.fm-legal__content p {
  margin-bottom: var(--spacing-md);
}

.fm-legal__content ul, 
.fm-legal__content ol {
  margin-bottom: var(--spacing-md);
  padding-left: var(--spacing-lg);
}

.fm-legal__content ul li, 
.fm-legal__content ol li {
  margin-bottom: var(--spacing-sm);
}

.fm-legal__content ul {
  list-style-type: disc;
}

.fm-legal__content ol {
  list-style-type: decimal;
}

.fm-legal__updated {
  margin-top: var(--spacing-xl);
  text-align: right;
  font-style: italic;
  color: var(--color-text-light);
}


.fm-thanks {
  padding: var(--spacing-xxl) 0;
  text-align: center;
}

.fm-thanks__wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.fm-thanks__icon {
  font-size: 8rem;
  color: var(--color-success);
  margin-bottom: var(--spacing-lg);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

.fm-thanks__title {
  font-size: 3.6rem;
  margin-bottom: var(--spacing-md);
}

.fm-thanks__description {
  font-size: 1.8rem;
  margin-bottom: var(--spacing-lg);
}

.fm-thanks__contact {
  margin-bottom: var(--spacing-xl);
}

.fm-thanks__actions {
  display: flex;
  justify-content: center;
  gap: var(--spacing-md);
}

@media (max-width: 576px) {
  .fm-thanks__actions {
    flex-direction: column;
  }
}


.fm-services-brief {
  padding: var(--spacing-xxl) 0;
  background-color: color-mix(in srgb, var(--color-background) 95%, var(--color-secondary));
}

.fm-services-brief__title {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.fm-services-brief__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-lg);
}

.fm-services-brief__item {
  background-color: var(--color-background);
  border-radius: var(--border-radius-medium);
  padding: var(--spacing-lg);
  box-shadow: var(--shadow-medium);
  text-align: center;
  transition: transform var(--transition-medium);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.fm-services-brief__item:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-large);
}

.fm-services-brief__icon {
  font-size: 3rem;
  margin-bottom: var(--spacing-md);
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  color: var(--color-text);
}

.fm-services-brief__name {
  margin-bottom: var(--spacing-sm);
}

.fm-services-brief__description {
  color: var(--color-text-light);
  margin-bottom: var(--spacing-md);
}

.fm-services-brief__price {
  font-size: 1.8rem;
  font-weight: 700;
  margin-top: auto;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@media (max-width: 992px) {
  .fm-services-brief__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .fm-services-brief__grid {
    grid-template-columns: 1fr;
  }
}


.iti {
  width: 100%;
}


.choices {
  margin-bottom: 0;
}

.choices__inner {
  min-height: 44px;
  padding: 7px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-small) !important;
  background-color: var(--color-background);
  transition: border-color var(--transition-fast);
}

.choices__inner:focus {
  border-color: var(--color-primary);
}

.choices__list--dropdown {
  border-radius: var(--border-radius-small);
  box-shadow: var(--shadow-medium);
}

.choices__list--dropdown .choices__item--selectable.is-highlighted {
  background-color: var(--color-primary);
}

.choices__list--multiple .choices__item {
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
}

.choices__list--multiple .choices__item.is-highlighted {
  background-color: color-mix(in srgb, var(--color-primary) 80%, black);
  border: 1px solid color-mix(in srgb, var(--color-primary) 80%, black);
}