/* ============================================================
   MEDIA LEADMON — RESPONSIVE
   Mobile-first: base → 480 → 768 → 1024 → 1280
   ============================================================ */

/* ---- BASE (mobile < 480px) ---- */
.nav__links { display: none; }
.nav__phone  { display: none; }
.nav__toggle { display: flex; }
.site-header { padding: 1.1rem 1.25rem; }
.site-header.scrolled { padding: .875rem 1.25rem; }
.mobile-menu { padding-left: 1rem; padding-right: 1rem; }
.mobile-menu::before { inset: .65rem; border-radius: 24px; }
.mobile-menu__close { top: 1.15rem; right: 1.15rem; }
.mobile-menu__links { width: min(100%, 330px); }
.section-pad { padding: 3rem 0; }
.section-header { margin-bottom: 2rem; }

.hero__bottom { flex-direction: column; align-items: flex-start; gap: 2rem; }
.hero__tagline { max-width: 100%; }
.hero__cta { flex-direction: column; align-items: stretch; width: 100%; }
.hero__cta .btn-primary,
.hero__cta .btn-ghost { width: 100%; justify-content: center; }
.hero__lemon { right:-260px; top:7rem; width:390px; opacity:.1; }

.services__grid { grid-template-columns: 1fr; }
.service-card__img-wrap { height: 150px; }
.service-card__body { padding: 1.35rem; }
.service-card__tags { gap: .3rem; margin-top: .35rem; }
.metrics__grid  { grid-template-columns: 1fr 1fr; }
.metrics__grid { margin-bottom: 3rem; }
.metric-item { padding: 1.75rem 1.35rem; min-height: 210px; }
.metric-num { font-size: clamp(2.3rem, 11vw, 3rem); }
.metric-suffix { font-size: clamp(1.05rem, 5vw, 1.35rem); }
.metric-item__value { margin-bottom: .45rem; }
.metric-item__label { font-size: 1rem; line-height: 1.35; margin-bottom: .35rem; }
.metric-item__desc { font-size: .82rem; line-height: 1.55; }
.metric-item__hint { margin-top: .75rem; font-size: 9px; }
.cases__grid    { grid-template-columns: 1fr; }
.case-card--featured { grid-column: span 1; }
.case-card--video { grid-column: span 1; }
.case-card__media--video { height:auto; aspect-ratio:16 / 9; }
.process__lemon { right:-260px; top:7rem; width:420px; opacity:.08; }
.eureka-modal__panel {
  grid-template-columns:1fr; gap:1.25rem; max-height:88vh; overflow:auto;
}
.eureka-modal__copy { padding-right:3.25rem; }
.eureka-modal__visual img { width:min(420px,100%); max-height:none; }
.team__carousel {
  width:100%;
  margin-right:0;
  gap:1rem;
  padding:0 0 1rem;
}
.team__controls { display:none; }
.team__carousel-wrap::before,
.team__carousel-wrap::after { display:none; }
.team-card { flex-basis:100%; }
.team-card__meta { text-align:left; padding:.7rem .25rem 0; }
.team-card__name { font-size:1.45rem; }
.team__dots { justify-content:flex-start; }

.testimonials__slider {
  grid-template-columns: repeat(4, 100%);
}
.testimonials__nav { display:none; }
.testimonials__dots { display:flex; justify-content:flex-start; }

.contact__layout { grid-template-columns: 1fr; gap: 2.25rem; }
.contact .container { padding-left: 1rem; padding-right: 1rem; }
.contact__info { padding-left:.25rem; padding-right:.25rem; }
.contact__form-wrap { padding:1.45rem; }
.contact-form { gap:1rem; }
.form-input { padding:.82rem .95rem; }
.form-textarea { min-height:112px; }
.footer__top { flex-direction: column; align-items: flex-start; gap: 2rem; }
.footer__bottom { flex-direction: column; align-items: flex-start; gap: 1rem; }
.footer__nav { gap: 1.25rem; }
.clients-strip { text-align:left; margin-top:0; }
.clients-strip__label { font-size: .95rem; line-height:1.6; margin-bottom:2rem; text-align:left; }
.clients-strip__logos { justify-content:flex-start; gap:2.25rem; }
.client-logo-img { height:92px; max-width:min(300px, 86vw); }

.process-step { grid-template-columns: 1fr; gap: .75rem; }
.process-step__num { font-size: var(--fs-xl); }

.whatsapp-float { width: 52px; height: 52px; border-radius: 26px; bottom: 1.5rem; right: 1.5rem; }
.scroll-top { bottom: 5.65rem; right: calc(1.5rem + 4px); }

/* ---- SM ≥ 480px ---- */
@media (min-width: 480px) {
  .hero__cta { flex-direction: row; flex-wrap: wrap; }
  .hero__cta .btn-primary,
  .hero__cta .btn-ghost { width: auto; }
}

/* ---- MD ≥ 768px ---- */
@media (min-width: 768px) {
  .nav__phone { display: flex; }
  .site-header { padding: 1.4rem 2rem; }
  .site-header.scrolled { padding: 1rem 2rem; }

  .hero__bottom { flex-direction: row; align-items: flex-end; }
  .hero__lemon { right:-260px; top:9vh; width:520px; opacity:.14; }

  .services__grid { grid-template-columns: repeat(2, 1fr); }
  .service-card__img-wrap { height: 190px; }
  .service-card__body { padding: 2rem; }
  .service-card__tags { gap: .35rem; margin-top: .45rem; }
  .clients-strip { text-align:center; margin-top:-.75rem; }
  .clients-strip__label { text-align:center; }
  .clients-strip__logos { justify-content:center; }
  .metrics__grid { margin-bottom: 3.5rem; }
  .metric-item { padding: 2.75rem 2rem; min-height: 0; }
  .metric-num { font-size: clamp(2.8rem,5vw,4.5rem); }
  .metric-suffix { font-size: clamp(1.4rem,2.5vw,2.2rem); }
  .metric-item__value { margin-bottom: .6rem; }
  .metric-item__label { font-size: var(--fs-md); line-height: inherit; margin-bottom: .4rem; }
  .metric-item__desc { font-size: var(--fs-sm); line-height: 1.6; }
  .metric-item__hint { margin-top: 1rem; font-size: 10px; }
  .cases__grid    { grid-template-columns: repeat(2, 1fr); }
  .case-card--featured { grid-column: span 2; }
  .case-card--video { grid-column: span 2; }
  .case-card__media--video { height:320px; aspect-ratio:auto; }
  .process__lemon { right:-260px; width:520px; opacity:.1; }
  .team__carousel {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    width:100%;
    margin-right:0;
    gap:1.25rem;
    padding:0;
    overflow:visible;
    scroll-snap-type:none;
  }
  .team__controls {
    display:none;
    margin:0;
  }
  .team__dots { display:none; }
  .team__carousel-wrap::before,
  .team__carousel-wrap::after { display:none; }
  .team-card { flex:initial; }
  .team-card__meta { text-align:center; padding:.8rem .5rem 0; }

  .testimonials__slider {
    grid-template-columns: repeat(4, calc(50% - .75rem));
  }
  .testimonials__nav { display:flex; }
  .testimonials__dots { display:none; justify-content:center; }

  .contact__layout { grid-template-columns: 1fr 1fr; }
  .contact .container { padding-left: clamp(1.25rem, 4vw, 3rem); padding-right: clamp(1.25rem, 4vw, 3rem); }
  .contact__info { padding-left:0; padding-right:0; }
  .contact__form-wrap { padding:2.5rem; }
  .contact-form { gap:1.25rem; }
  .form-input { padding:.875rem 1rem; }
  .form-textarea { min-height:120px; }

  .process-step { grid-template-columns: 72px 1fr; gap: 2rem; }
  .process-step__num { font-size: var(--fs-2xl); }

  .footer__top { flex-direction: row; align-items: center; }
  .footer__bottom { flex-direction: row; justify-content: space-between; }
}

/* ---- LG ≥ 1024px ---- */
@media (min-width: 1024px) {
  .nav__links  { display: flex; }
  .nav__toggle { display: none; }

  .services__grid { grid-template-columns: repeat(3, 1fr); }
  .metrics__grid  { grid-template-columns: repeat(4, 1fr); }
  .cases__grid    { grid-template-columns: repeat(3, 1fr); }
  .case-card--featured { grid-column: span 2; }
  .team__carousel { grid-template-columns:repeat(3, 1fr); gap:1.35rem; }
}

/* ---- XL ≥ 1280px ---- */
@media (min-width: 1280px) {
  .team__carousel { grid-template-columns:repeat(3, 1fr); gap:1.5rem; }
}

/* ---- Touch: remove hover-only effects ---- */
@media (hover: none) {
  .service-card__glow { display: none; }
  .service-card.is-mobile-active .service-card__glow {
    display:block; width:260px; height:260px;
    left:50%; top:0; transform:translate(-50%,-35%);
    opacity:.36;
  }
  .process-step::before { display: block; }
  .service-card:hover,
  .case-card:hover,
  .team-card:hover { transform: none; }
  .case-card.is-mobile-active { transform:none; }
}

/* ---- Print ---- */
@media print {
  #loader, #cursor, .site-header, .marquee-section, .hero__scroll-hint,
  .whatsapp-float { display: none; }
  body { background: #fff; color: #000; }
}
