/* Ellis Media — Elementor extras: hero slider, team, faq */

.hero__slider { position: relative; overflow: hidden; }
.hero__slides { position: relative; aspect-ratio: 4/5; }
.hero__slide {
  position: absolute; inset: 0; opacity: 0;
  transform: scale(1.04);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.hero__slide.is-active { opacity: 1; transform: scale(1); }
.hero__slide img { width: 100%; height: 100%; object-fit: cover; }
.hero__slider-dots { display: flex; gap: 8px; margin-top: 16px; }
.hero__slider-dot {
  width: 32px; height: 3px; background: rgba(17,17,17,0.12); border: none; padding: 0; cursor: pointer;
}
.hero__slider-dot.is-active { background: #FF5A2A; width: 48px; }

.team { padding: var(--section) var(--pad); }
.team__head { max-width: 1440px; margin: 0 auto 48px; }
.team__title {
  font-family: var(--font-display);
  font-size: clamp(48px, 10vw, 120px);
  font-weight: 800; letter-spacing: -0.04em; line-height: 0.9; text-transform: uppercase;
}
.team__intro { max-width: 640px; margin-top: 20px; font-size: 18px; color: var(--text-muted); }
.team__grid {
  max-width: 1440px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: clamp(24px, 4vw, 40px);
}
.team-card { border-top: 2px solid var(--text); padding-top: 24px; }
.team-card__photo img { width: 100%; aspect-ratio: 3/4; object-fit: cover; margin-bottom: 20px; }
.team-card__name { font-family: var(--font-display); font-size: 24px; font-weight: 700; margin-bottom: 6px; }
.team-card__role { font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--blue); margin-bottom: 12px; }
.team-card__bio { font-size: 17px; color: var(--text-muted); line-height: 1.65; margin-bottom: 16px; }
.team-card__socials { display: flex; flex-wrap: wrap; gap: 12px; }
.team-card__socials a { font-size: 13px; font-weight: 600; color: var(--orange); }

.faq { padding: var(--section) var(--pad); background: var(--white); border-top: 2px solid var(--text); }
.faq__head { max-width: 900px; margin: 0 auto 40px; }
.faq__title {
  font-family: var(--font-display);
  font-size: clamp(40px, 8vw, 80px);
  font-weight: 800; letter-spacing: -0.04em; text-transform: uppercase;
}
.faq__list { max-width: 900px; margin: 0 auto; }
.faq__item { border-bottom: 1px solid var(--border); padding: 20px 0; }
.faq__question {
  font-family: var(--font-display); font-size: 20px; font-weight: 700; cursor: pointer; list-style: none;
}
.faq__question::-webkit-details-marker { display: none; }
.faq__answer { margin-top: 12px; font-size: 17px; color: var(--text-muted); line-height: 1.7; }

.case__logo { margin-bottom: 16px; max-width: 120px; }
.case__logo img { width: 100%; height: auto; }

.elementor-editor-active .reveal { opacity: 1 !important; transform: none !important; }
