
/* ===== Theme ===== */
:root {
  --bg: #f4eee6;
  --ink: #191919;
  --muted: #6f6f6f;
  --dot: #191919;
}

.reel-section {
  background: var(--bg);
  padding: 72px 5%;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica,
    Arial, sans-serif;
  color: var(--ink);
}

/* ===== Layout (Desktop: text LEFT, video RIGHT) ===== */
.reel-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr; /* text left a bit narrower, video right wider */
  align-items: center;
  gap: 30%;
}

/* Order for desktop */
.reel-content {
  order: 2;
} /* text on the left */
.laptop {
  order: 1;
} /* video on the right */

/* ===== Laptop Mockup ===== */
.laptop {
  margin: 0;
  position: relative;
  width: 100%;
}

.laptop-body {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  background: #0d0f10;
  border-radius: 18px;
  border: 6px solid #2a2a2a;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25),
    inset 0 10px 12px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

.laptop-screen {
  position: absolute;
  inset: 14px 14px 24px;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
}

.reel-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #000;
  border: 0;
}

.laptop-base {
  position: relative;
  width: 92%;
  height: 14px;
  margin: 10px auto 0;
  background: #8a8a8a;
  border-radius: 0 0 14px 14px;
  box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.35),
    0 12px 20px rgba(0, 0, 0, 0.25);
}

.reel-caption {
  margin-top: 10px;
  text-align: center;
  font-size: 12px;
  line-height: 1.2;
  color: var(--muted);
}
.reel-caption span {
  letter-spacing: 0.02em;
}
.reel-caption em {
  display: block;
  font-style: italic;
  opacity: 0.9;
  margin-top: 4px;
}

/* ===== Text Column ===== */
.reel-content {
  width: 100%;
}

.feature-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.feature-list li {
  position: relative;
  padding-left: 22px;
}

.feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  background: var(--dot);
  border-radius: 50%;
}

.feature-list h3 {
  font-weight: 600;
  font-size: 20px;
  margin: 0 0 6px;
  letter-spacing: 0.01em;
}

.feature-list p {
  margin: 0;
  color: var(--muted);
  font-size: 15.5px;
  line-height: 1.6;
  max-width: 56ch;
}
h1 {
  text-align: center;
  font-size: xx-large;
  font-style: italic;
  font-family: "Courier New", Courier, monospace;
  font-weight: bold;
}
/* =========================
   Responsive Media Queries
   ========================= */

/* ≥1400px — large desktops */
@media (min-width: 1400px) {
  .reel-inner {
    max-width: 1280px;
    gap: 20%;
  }
  .feature-list h3 {
    font-size: 22px;
  }
  .feature-list p {
    font-size: 16.5px;
  }
}

/* 1200–1399px — desktops/laptops */
@media (max-width: 1399.98px) {
  .reel-inner {
    gap: 13%;
  }
}

/* 992–1199px — small desktops / large tablets */
@media (max-width: 1199.98px) {
  .reel-inner {
    grid-template-columns: 1fr 1fr; /* balance columns */
    gap: 40px;
  }
}

/* 768–991px — tablets (STACK: laptop UP, text DOWN) */
@media (max-width: 991.98px) {
  .reel-section {
    padding: 56px 6%;
  }
  .reel-inner {
    grid-template-columns: 1fr; /* stack */
    gap: 28px;
  }
  .laptop {
    order: 1;
  } /* laptop first on top */
  .reel-content {
    order: 2;
  } /* text second below */
  .feature-list {
    gap: 22px;
  }
  .feature-list h3 {
    font-size: 19px;
  }
  .feature-list p {
    font-size: 15px;
  }
}

/* 576–767px — big phones / small tablets */
@media (max-width: 767.98px) {
  .laptop-body {
    border-width: 5px;
    border-radius: 14px;
  }
  .laptop-screen {
    inset: 10px 10px 18px;
    border-radius: 10px;
  }
  .laptop-base {
    height: 12px;
  }
}

/* ≤575px — phones */
@media (max-width: 575.98px) {
  .reel-section {
    padding: 44px 5%;
  }
  .feature-list h3 {
    font-size: 18px;
  }
  .feature-list p {
    font-size: 14.5px;
  }
  .reel-caption {
    font-size: 11px;
  }
}

/* ≤380px — tiny phones */
@media (max-width: 380px) {
  .feature-list h3 {
    font-size: 17px;
  }
  .feature-list p {
    font-size: 14px;
  }
}

/* ---------- Expertise text (right column) ---------- */
.expertise {
  max-width: 46ch;
}
.expertise-intro {
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.45;
  color: var(--ink);
}
.exp-item {
  margin: 10px 0 16px;
}
.exp-line {
  margin: 0 0 6px;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink);
}
.exp-line strong {
  font-weight: 700;
}
.exp-desc {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--muted);
}

.reel-section h1 {
  text-align: center;
  font-size: clamp(28px, 4vw, 48px); /* responsive sizing */
  font-weight: 700;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica,
    Arial, sans-serif;
  color: var(--ink);
  letter-spacing: 0.5px;
  margin-bottom: 48px;
  position: relative;
}

/* Decorative underline */
.reel-section h1::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  background: var(--dot);
  margin: 14px auto 0;
  border-radius: 2px;
}

/* ===================== THEME TOKENS ===================== */
:root {
  --ink: #000000;
  --muted: #848696;
  --bg: #f5f5f5;
  --shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  --radius: 20px;
}

/* ===================== SECTION WRAPPER ===================== */
.team {
  background: var(--bg);
  padding: 120px 16px 80px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  row-gap: 28px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
    sans-serif;
}

/* ===================== TITLE ===================== */
.team__title {
  position: absolute;
  top: 32px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font: 900 7.5rem/1 "Arial Black", "Arial Bold", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  white-space: nowrap;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.35) 30%,
    rgb(255 255 255 / 0%) 76%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ===================== CAROUSEL ===================== */
.team__carousel {
  width: min(1200px, 100%);
  height: 450px;
  position: relative;
  perspective: 1000px;
}

.team__track {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.team__card {
  position: absolute;
  width: 480px;
  height: 380px;
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: pointer;
  outline: none;
}
.team__card:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.35), var(--shadow);
}

.team__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: inherit;
}

/* positions */
.team__card.center {
  z-index: 10;
  transform: scale(1.1) translateZ(0);
}
.team__card.left-1 {
  z-index: 5;
  transform: translateX(-200px) scale(0.9) translateZ(-100px);
  opacity: 0.9;
}
.team__card.left-2 {
  z-index: 1;
  transform: translateX(-400px) scale(0.8) translateZ(-300px);
  opacity: 0.7;
}
.team__card.right-1 {
  z-index: 5;
  transform: translateX(200px) scale(0.9) translateZ(-100px);
  opacity: 0.9;
}
.team__card.right-2 {
  z-index: 1;
  transform: translateX(400px) scale(0.8) translateZ(-300px);
  opacity: 0.7;
}
.team__card.hidden {
  opacity: 0;
  pointer-events: none;
}

.team__card:not(.center) img {
  filter: grayscale(100%);
}

/* arrows */
.team__arrow {
  position: absolute;
  inset-block-start: 50%;
  translate: 0 -50%;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 0;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 1.5rem;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
  z-index: 20;
}

.team__arrow:active {
  transform: translateY(-50%) scale(0.98);
}
.team__arrow--left {
  left: 18px;
  padding-right: 2px;
}
.team__arrow--right {
  right: 18px;
  padding-left: 2px;
}

/* member info */
.team__info {
  text-align: center;
}
.team__name {
  color: var(--ink);
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 8px;
  position: relative;
  display: inline-block;
}
.team__name::before,
.team__name::after {
  content: "";
  position: absolute;
  top: 100%;
  width: 100px;
  height: 2px;
  background: var(--ink);
}
.team__name::before {
  left: -120px;
}
.team__name::after {
  right: -120px;
}
.team__role {
  color: var(--muted);
  font-size: 1.5rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0;
}

/* dots */
.team__dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}
.team__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(8, 42, 123, 0.2);
  border: 0;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}
.team__dot.is-active {
  background: rgb(8, 42, 123);
  transform: scale(1.2);
}

/* ===================== MEDIA QUERIES ===================== */
@media (max-width: 1200px) {
  .team__title {
    font-size: 6rem;
  }
}

@media (max-width: 992px) {
  .team__title {
    font-size: 5.2rem;
  }
}

@media (max-width: 768px) {
  .team__title {
    font-size: 4.2rem;
  }

  .team__card {
    width: 200px;
    height: 280px;
  }
  .team__card.left-2 {
    transform: translateX(-250px) scale(0.8) translateZ(-300px);
  }
  .team__card.left-1 {
    transform: translateX(-120px) scale(0.9) translateZ(-100px);
  }
  .team__card.right-1 {
    transform: translateX(120px) scale(0.9) translateZ(-100px);
  }
  .team__card.right-2 {
    transform: translateX(250px) scale(0.8) translateZ(-300px);
  }

  .team__name {
    font-size: 2rem;
  }
  .team__role {
    font-size: 1.2rem;
  }
  .team__name::before,
  .team__name::after {
    width: 50px;
  }
  .team__name::before {
    left: -70px;
  }
  .team__name::after {
    right: -70px;
  }
}

@media (max-width: 480px) {
  .team__title {
    font-size: 3.2rem;
  }
  .team__carousel {
    height: 400px;
  }
  .team__card {
    width: 280px;
    height: 250px;
  }
  .team__card.left-2 {
    transform: translateX(-220px) scale(0.78) translateZ(-280px);
  }
  .team__card.right-2 {
    transform: translateX(220px) scale(0.78) translateZ(-280px);
  }
}
/* ====== Base / Reset ====== */
* { box-sizing: border-box; }
.heroVideo {
  --bg: #1f1f1f;            /* soft beige background like the reference */
  --radius: 14px;           /* rounded video corners */
  --shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  --frame-h: 560px;         /* default frame height on large desktop */
  background: var(--bg);
  padding: 48px 24px 64px;  /* room around the frame and caption */
}

.heroVideo__wrap {
  max-width: 1040px;        /* similar width and side margins as mock */
  margin: 0 auto;
  position: relative;
}

.heroVideo__frame {
  margin: 0;
  height: var(--frame-h);
  width: 100%;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: #000;         /* safe background while loading */
}

.heroVideo__media {
  height: 100%;
  width: 100%;
  display: block;
  object-fit: cover;        /* keep the tight crop like the screenshot */
  object-position: center;  /* tweak if you need a different focus */
}

/* tiny bottom-right credit like the screenshot */
.heroVideo__credit {
  position: relative;
  max-width: 1040px;
  margin: 10px auto 0;
  text-align: right;
  color: #141414;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  line-height: 1.1;
}
.heroVideo__credit span {
  font-size: 12px;
  letter-spacing: .06em;
  font-weight: 600;
  color: #f5f5f5;
}
.heroVideo__credit small {
  display: inline-block;
  margin-top: 2px;
  font-size: 11px;
  opacity: .7;
  color: #f5f5f5;
}

/* ====== Responsive Media Queries (“all frames”) ====== */

/* 1440px+ (large desktops) */
@media (min-width: 1440px) {
  .heroVideo { --frame-h: 620px; padding: 64px 32px 72px; }
  .heroVideo__wrap, .heroVideo__credit { max-width: 1200px; }
}

/* 1200–1439 */
@media (max-width: 1439.98px) and (min-width: 1200px) {
  .heroVideo { --frame-h: 580px; }
}

/* 992–1199 (laptops) */
@media (max-width: 1199.98px) and (min-width: 992px) {
  .heroVideo { --frame-h: 520px; }
  .heroVideo__wrap, .heroVideo__credit { max-width: 980px; }
}

/* 768–991 (tablets landscape) */
@media (max-width: 991.98px) and (min-width: 768px) {
  .heroVideo { --frame-h: 460px; padding: 40px 20px 56px; }
  .heroVideo__wrap, .heroVideo__credit { max-width: 820px; }
}

/* 576–767 (tablets portrait / large phones) */
@media (max-width: 767.98px) and (min-width: 576px) {
  .heroVideo { --frame-h: 380px; padding: 36px 18px 48px; }
  .heroVideo__wrap, .heroVideo__credit { max-width: 620px; }
  .heroVideo__credit span { font-size: 11px; }
  .heroVideo__credit small { font-size: 10px; }
}

/* 401–575 (phones) */
@media (max-width: 575.98px) and (min-width: 401px) {
  .heroVideo { --frame-h: 300px; padding: 28px 14px 40px; }
  .heroVideo__wrap, .heroVideo__credit { max-width: none; }
  .heroVideo__frame { border-radius: 12px; }
  .heroVideo__credit span { font-size: 10px; }
  .heroVideo__credit small { font-size: 9.5px; }
}

/* ≤400 (small phones) */
@media (max-width: 400px) {
  .heroVideo { --frame-h: 240px; padding: 24px 12px 32px; }
  .heroVideo__frame { border-radius: 10px; }
  .heroVideo__credit span { font-size: 9.5px; }
  .heroVideo__credit small { font-size: 9px; }
}

