/* ── SFONDO GIALLO + TESTO BIANCO ─────────────────── */
html, body {
  background-color: #FFBA08 !important;
  touch-action: pan-y;
}
#mxd-page-content {
  background: transparent !important;
}
/* hamburger e logo bianchi */
.hamburger__base {
  background-color: #fff !important;
}
.hamburger__line {
  background-color: #161616 !important;
}
.mxd-logo__text {
  color: #fff !important;
}
.mxd-logo__image {
  filter: brightness(0) invert(1) !important;
}

/* ── Nav e bottone fissi sopra la statement animata ─── */
.mxd-nav__wrap {
  z-index: 9999 !important;
  pointer-events: none;
}
/* Ripristina click su hamburger e overlay menu */
.mxd-nav__hamburger,
.mxd-menu__wrapper,
.mxd-menu__base,
.mxd-menu__contain {
  pointer-events: auto;
}
.fcg-contact-btn {
  z-index: 99999 !important;
}

/* ── CURSOR ─────────────────────────────────────── */
@media (hover: hover) and (pointer: fine) {
  * { cursor: none !important; }
  .custom-cursor {
    position: fixed; top: 0; left: 0;
    width: 22px; height: 22px; border-radius: 50%;
    background: #fff; mix-blend-mode: difference;
    pointer-events: none; z-index: 2147483647;
    transform: translate3d(-9999px,-9999px,0) scale(1);
    will-change: transform;
  }
  .custom-cursor.is-hover {
    transform: translate3d(var(--cx,-9999px),var(--cy,-9999px),0) scale(0.70);
  }
}

/* ════════════════════════════════════════════════════
   CHI SIAMO — DESIGN CUSTOM (giallo)
════════════════════════════════════════════════════ */

/* ── ABOUT BLOCK (storia) ─────────────────────────── */
.fcg-about-block-section { padding: 0 !important; }
.fcg-about-block {
  padding: 0;
}
.fcg-about-block__grid {
  display: grid;
  padding: clamp(5rem, 8vw, 12rem) 0;
  grid-template-columns: 4fr 8fr;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
}
.fcg-about-block__title {
  font-size: clamp(2.5rem, 5vw, 6.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.95;
  color: #fff;
  margin: 0;
}
.fcg-about-block__body {
  font-size: clamp(2.5rem, 4.5vw, 4.8rem);
  font-family: 'Jost', sans-serif !important;
  color: #fff;
  line-height: 1.3;
  max-width: 38ch;
  margin-left: auto;
}
.fcg-about-block__body p { color: #fff; font-family: 'Jost', sans-serif !important; font-size: inherit; line-height: inherit; }
.fcg-about-block__body p + p { margin-top: 1em; }
.fcg-statement-wrapper {
  height: 300vh;
}
.fcg-statement-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
}
.fcg-about-block__statement {
  display: block;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  font-size: clamp(3.5rem, 10vw, 25rem);
  font-weight: 700;
  font-family: 'Jost', sans-serif !important;
  letter-spacing: -0.04em !important;
  line-height: 0.9;
  color: #fff;
  max-width: 100%;
  text-align: left;
  text-transform: uppercase;
}
/* scroll animation — pinned zoom (solo desktop) */
.fcg-statement-wrapper {
  position: relative;
}
@media (min-width: 768px) {
  .fcg-about-block__statement {
    will-change: transform;
  }
}

/* ── TEAM ─────────────────────────────────────────── */
.fcg-about-team-section { padding: 0 !important; }
.fcg-about-team-block {
  padding: clamp(5rem, 8vw, 12rem) 0;
}
.fcg-about-team__intro {
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
  margin-bottom: clamp(4rem, 6vw, 8rem);
}
.fcg-about-team__intro-title {
  font-size: clamp(2.5rem, 5vw, 6.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.95;
  color: #fff;
  margin: 0;
}
.fcg-about-team__intro-body {
  font-size: clamp(2rem, 2.5vw, 2.8rem);
  font-family: 'Jost', sans-serif !important;
  color: #fff;
  line-height: 1.5;
  max-width: 44ch;
  margin-left: auto;
}
.fcg-about-team__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 3rem);
}

/* team card */
.fcg-team-card {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fcg-team-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.fcg-team-card:nth-child(2) { transition-delay: 0.12s; }
.fcg-team-card:nth-child(3) { transition-delay: 0.24s; }

.fcg-team-card__photo {
  width: 100%; aspect-ratio: 3/4;
  border-radius: 50px;
  overflow: hidden; margin-bottom: 1.5rem;
  background: rgba(255,255,255,.06);
  clip-path: inset(0 0 100% 0 round 50px);
  transition: clip-path 0.9s cubic-bezier(0.65, 0, 0.35, 1);
}
.fcg-team-card.is-visible .fcg-team-card__photo {
  clip-path: inset(0 0 0% 0 round 50px);
}
.fcg-team-card__photo img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 0.7s ease;
}
.fcg-team-card:hover .fcg-team-card__photo img { transform: scale(1.05); }

.fcg-team-card__meta {
  padding-top: 1.2rem;
  text-align: center;
}
.fcg-team-card__name {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 700; letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff; margin: 0 0 0.4rem;
}
.fcg-team-card__role {
  font-size: 1.5rem; letter-spacing: 3px;
  font-weight: 500;
  text-transform: uppercase; color: rgba(255,255,255,.8);
}

/* ── VALUES ───────────────────────────────────────── */
.fcg-about-val-section { padding: 0 !important; }
.fcg-val-block {
  padding-bottom: clamp(5rem, 8vw, 12rem);
}
.fcg-val-row {
  opacity: 0.22;
  transition: opacity 0.9s ease;
}
.fcg-val-row.is-bright,
.fcg-val-row:hover { opacity: 1; }
.fcg-val-row__inner {
  display: grid;
  padding: clamp(3rem, 5vw, 6.5rem) 0;
  grid-template-columns: 4fr 8fr;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
}
.fcg-val-row__title {
  font-size: clamp(2rem, 3.5vw, 4.5rem);
  font-weight: 700; letter-spacing: -0.03em;
  line-height: 1.0; color: #fff; margin: 0;
}
.fcg-val-row__text {
  font-size: clamp(2rem, 2.5vw, 2.8rem);
  font-family: 'Jost', sans-serif !important;
  color: #fff; line-height: 1.5;
  max-width: 44ch;
  margin-left: auto;
}
.fcg-val-row__text p { color: #fff; font-family: 'Jost', sans-serif !important; font-size: inherit; line-height: inherit; }
.fcg-val-row__text p + p { margin-top: 1em; }

/* ── VALORI - HOVER IMAGE FIX (icone quadrate) ────── */
.fcg-val-block .hover-reveal__content {
  width: 420px !important;
  height: 420px !important;
}
.fcg-val-block .hover-reveal__image {
  object-fit: contain !important;
  transform: none !important;
}

/* ── VALORI - IMMAGINI SU MOBILE ──────────────────── */
@media (max-width: 1199px) {
  .fcg-val-block .mxd-cpb-list__item {
    display: flex !important;
    flex-direction: column !important;
  }
  .fcg-val-block .mxd-cpb-list__item > .mxd-cpb-list__divider:first-child { order: 1; }
  .fcg-val-block .mxd-cpb-list__item > .fcg-val-row__inner { order: 2; padding-bottom: 1.5rem; }
  .fcg-val-block .mxd-cpb-list__item > .hover-reveal__content {
    order: 3;
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 260px !important;
    margin: 0 0 2.5rem !important;
  }
  .fcg-val-block .mxd-cpb-list__item > .mxd-cpb-list__divider:last-child { order: 5; }
  .fcg-val-block .mxd-cpb-list__item .hover-reveal__image {
    transform: none !important;
  }
}

/* ── PHOTO BOX (parallax) ─────────────────────────── */
.fcg-about-photo-section { padding: 0 0 clamp(5rem, 8vw, 12rem) !important; }
.fcg-about-photo-box {
  border-radius: 50px;
  overflow: hidden;
  height: clamp(320px, 52vw, 700px);
  position: relative;
  isolation: isolate;
}
.fcg-about-photo-box__img {
  position: absolute;
  top: -20%;
  left: 0;
  width: 100%;
  height: 140%;
  object-fit: cover;
  will-change: transform;
  display: block;
}

/* ── RESPONSIVE ──────────────────────────────────── */

/* ─ Tablet (≤ 991px) ──────────────────────────────── */
@media (max-width: 991px) {
  /* grid → colonna singola */
  .fcg-about-block__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .fcg-about-team__intro { grid-template-columns: 1fr; gap: 2rem; }
  .fcg-about-team__grid { grid-template-columns: repeat(2, 1fr); gap: 2.5rem; }
  .fcg-val-row__inner { grid-template-columns: 1fr; gap: 1.5rem; padding-top: 2.5rem; }

  /* titoli di sezione — riduzione leggera */
  .fcg-about-block__title,
  .fcg-about-team__intro-title { font-size: clamp(3rem, 6vw, 5.5rem); }
  .fcg-val-row__title { font-size: clamp(2.8rem, 6vw, 4rem); }

  /* body text — allineato agli standard home (p.t-large ≈ 1.9rem su mobile) */
  .fcg-about-block__body { font-size: clamp(1.8rem, 2.8vw, 2.8rem); max-width: 100%; margin-left: 0; }
  .fcg-about-team__intro-body,
  .fcg-val-row__text { font-size: clamp(1.7rem, 2.3vw, 2.2rem); max-width: 100%; margin-left: 0; }
}

/* ─ Mobile (≤ 767px) ──────────────────────────────── */
@media (max-width: 767px) {
  /* statement hero — niente animazione su mobile, flusso normale */
  .fcg-statement-wrapper { height: auto; }
  .fcg-statement-sticky {
    position: relative;
    height: auto;
    padding: 7rem 0 4rem;
    align-items: flex-start;
  }
  .fcg-about-block__statement { font-size: 17vw; line-height: 0.92; }

  /* titoli di sezione */
  .fcg-about-block__title,
  .fcg-about-team__intro-title { font-size: clamp(2.8rem, 8vw, 4rem); }
  .fcg-val-row__title { font-size: clamp(2.6rem, 7.5vw, 3.5rem); }

  /* body text — standard home: p.t-large = 1.9rem su mobile */
  .fcg-about-block__body,
  .fcg-about-team__intro-body,
  .fcg-val-row__text { font-size: 1.9rem !important; line-height: 1.65 !important; max-width: 100%; margin-left: 0; }

  /* team: 1 colonna */
  .fcg-about-team__grid { grid-template-columns: 1fr; gap: 3rem; }
  .fcg-team-card__photo { border-radius: 36px; aspect-ratio: 4/5; clip-path: inset(0 0 100% 0 round 36px); }
  .fcg-team-card.is-visible .fcg-team-card__photo { clip-path: inset(0 0 0% 0 round 36px); }
  .fcg-team-card__name { font-size: clamp(2rem, 6vw, 2.8rem) !important; }
  .fcg-team-card__role { font-size: clamp(1.4rem, 4vw, 1.8rem) !important; letter-spacing: 2px; }

  /* val rows */
  .fcg-val-row__inner { padding-top: 2rem; padding-bottom: 1rem; gap: 1rem; }
  .fcg-val-block .mxd-cpb-list__item > .hover-reveal__content {
    height: 220px !important; margin: 0 0 2rem !important; border-radius: 24px;
  }

  /* photo box */
  .fcg-about-photo-box { border-radius: 32px; height: 340px; }

  /* contact btn */
  .fcg-contact-btn {
    padding: 14px 26px !important; font-size: 15px !important;
    bottom: 15px !important; right: 0.8rem !important;
  }

  /* footer images */
  #fcg-img-montagne,
  #fcg-nuvole { width: 50% !important; bottom: 5% !important; left: 68% !important; }
}

/* ─ Small mobile (≤ 480px) ────────────────────────── */
@media (max-width: 480px) {
  .fcg-about-block__statement { font-size: 16vw; }

  .fcg-about-block__title,
  .fcg-about-team__intro-title { font-size: clamp(2.5rem, 8.5vw, 3.5rem); }
  .fcg-val-row__title { font-size: clamp(2.4rem, 8vw, 3.2rem); }

  /* body text leggermente più compatto sui telefoni piccoli */
  .fcg-about-block__body,
  .fcg-about-team__intro-body,
  .fcg-val-row__text { font-size: 1.7rem !important; line-height: 1.6 !important; }

  .fcg-team-card__name { font-size: clamp(1.8rem, 7vw, 2.2rem) !important; }
  .fcg-about-photo-box { height: 240px; border-radius: 24px; }
  .fcg-contact-btn {
    padding: 12px 20px !important; font-size: 14px !important;
    bottom: 24px !important; right: 1.5rem !important;
  }
}