/* ═══════════════════════════════════════════
   CLIENTS TICKER — portafolio.html
═══════════════════════════════════════════ */
.clients-ticker{
  background:var(--dark);
  padding:0;
  border-top:1px solid rgba(200,104,30,0.12);
  border-bottom:1px solid rgba(200,104,30,0.12);
  overflow:hidden;
  user-select:none;
}
.ticker-track{
  overflow:hidden;
  white-space:nowrap;
  padding:14px 0;
}
.ticker-inner{
  display:inline-flex;
  align-items:center;
  will-change:transform;
}
.ticker-fwd  .ticker-inner{ animation:tickerFwd 280s linear infinite; }
.ticker-rev  .ticker-inner{ animation:tickerRev 280s linear infinite; }
.ticker-fwd2 .ticker-inner{ animation:tickerFwd 220s linear infinite; }
@keyframes tickerFwd{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@keyframes tickerRev{
  from{transform:translateX(-50%)}
  to{transform:translateX(0)}
}
.clients-ticker:hover .ticker-inner{ animation-play-state:paused; }
.ticker-item{
  font-family:'Gucina',sans-serif;
  font-size:clamp(12px,1.1vw,18px);
  font-weight:700;text-transform:uppercase;
  color:rgba(245,239,230,0.35);
  letter-spacing:-.01em;
  white-space:nowrap;
  padding:0 24px;
  text-decoration:none;
  transition:color .2s;
}
.ticker-item:hover{ color:var(--orange); }
.ticker-dot{
  color:var(--orange);
  font-size:clamp(12px,1.2vw,18px);
  opacity:.5;
  flex-shrink:0;
}

/* ═══════════════════════════════════════════
   (legacy — kept for backwards compat)
═══════════════════════════════════════════ */
.clients-section{
  padding:100px 60px 120px;
  background:var(--dark);
  border-top:1px solid rgba(200,104,30,0.1);
}
.clients-inner{ max-width:1200px; margin:0 auto; }

.clients-header{ margin-bottom:56px; }
.clients-eyebrow{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--orange);font-weight:600;margin:0 0 12px;
  display:flex;align-items:center;gap:10px;
}
.clients-eyebrow::before{content:'';width:18px;height:1px;background:var(--orange);}
.clients-heading{
  font-family:'Gucina',sans-serif;
  font-size:clamp(36px,4.5vw,64px);
  font-weight:700;text-transform:uppercase;
  color:var(--off-white);margin:0;line-height:1.05;
}
.clients-heading em{ color:var(--orange); font-style:normal; }

.clients-grid{ display:flex; flex-direction:column; }

.client-card{
  display:flex;align-items:center;gap:20px;
  padding:22px 0;
  border-bottom:1px solid rgba(245,239,230,0.07);
  text-decoration:none;
  position:relative;
  transition:padding-left .3s ease;
  overflow:hidden;
}
.client-card::before{
  content:'';
  position:absolute;left:0;top:0;bottom:0;width:0;
  background:var(--orange);
  transition:width .3s ease;
}
.client-card:hover{ padding-left:16px; }
.client-card:hover::before{ width:3px; }
.client-card:hover .client-name{ color:var(--off-white); }
.client-card:hover .client-arrow{ transform:translateX(4px); opacity:1; }

.client-num{
  font-size:12px;color:rgba(245,239,230,0.2);
  font-weight:500;letter-spacing:.05em;
  min-width:32px;flex-shrink:0;
}
.client-name{
  font-family:'Gucina',sans-serif;
  font-size:clamp(20px,2.8vw,36px);
  font-weight:700;text-transform:uppercase;
  color:rgba(245,239,230,0.75);
  letter-spacing:-.01em;
  flex:1;
  transition:color .25s;
}
.client-cat{
  font-size:12px;color:rgba(245,239,230,0.3);
  letter-spacing:.08em;text-transform:uppercase;
  font-weight:500;flex-shrink:0;
}
.client-arrow{
  width:20px;height:20px;stroke:var(--orange);
  flex-shrink:0;opacity:0.4;
  transition:transform .25s, opacity .25s;
}

/* ═══════════════════════════════════════════
   CLIENTE.HTML — single client page
═══════════════════════════════════════════ */
.cliente-hero{
  padding:0;
  background:var(--dark);
  position:relative;
  overflow:hidden;
  min-height:52vh;
  display:flex;align-items:flex-end;
  border-bottom:1px solid rgba(200,104,30,0.12);
}
.cliente-hero::before{
  content:'';
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 60% 40%, rgba(200,104,30,.07) 0%, transparent 70%),
    linear-gradient(to bottom, rgba(6,5,4,.5) 0%, rgba(6,5,4,0) 40%, rgba(6,5,4,.9) 100%);
  z-index:1;
}
.cliente-hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.18;
  filter:blur(2px);
  transform:scale(1.05);
}
.cliente-hero-inner{
  position:relative;z-index:2;
  width:100%;max-width:1200px;margin:0 auto;
  padding:160px 60px 64px;
}

.cliente-back{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;color:rgba(245,239,230,0.35);
  text-decoration:none;letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:48px;
  transition:color .2s;
}
.cliente-back:hover{ color:var(--orange); }
.cliente-back svg{ flex-shrink:0; }

.cliente-eyebrow{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange);font-weight:600;margin:0 0 20px;
  display:flex;align-items:center;gap:10px;
}
.cliente-eyebrow::before{content:'';width:24px;height:1px;background:var(--orange);}

.cliente-name{
  font-family:'Gucina',sans-serif;
  font-size:clamp(36px,4.5vw,72px);
  font-weight:700;text-transform:uppercase;
  color:var(--off-white);letter-spacing:-.02em;
  line-height:1.05;margin:0 0 20px;
}
.cliente-count{
  font-size:13px;color:rgba(245,239,230,0.3);
  letter-spacing:.08em;text-transform:uppercase;margin:0;
}

.cliente-section-header{ margin-bottom:32px; }
.cliente-section-title{ font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange,#e07840);margin:0; }

.cliente-grid-section{
  padding:60px 60px 120px;
  background:var(--dark);
  max-width:1200px;margin:0 auto;
}
.cliente-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:20px;
}

.cvcard{
  position:relative;border-radius:12px;overflow:hidden;
  cursor:pointer;aspect-ratio:16/9;background:#111;
  transition:transform .3s;
}
.cvcard.portrait{ aspect-ratio:9/16; max-height:480px; }
.cvcard:hover{ transform:scale(1.02); }
.cvcard-thumb{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform .4s;
}
.cvcard:hover .cvcard-thumb{ transform:scale(1.05); }
.cvcard-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,5,4,.85) 0%,rgba(6,5,4,.15) 60%,transparent 100%);
}
.cvcard-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:52px;height:52px;border-radius:50%;
  background:rgba(200,104,30,.85);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;
}
.cvcard:hover .cvcard-play{ background:var(--orange);transform:translate(-50%,-50%) scale(1.1); }
.cvcard-play svg{ width:20px;height:20px;fill:#fff;margin-left:3px; }
.cvcard-info{
  position:absolute;bottom:0;left:0;right:0;padding:16px 20px;
}
.cvcard-cat{
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--orange);font-weight:600;margin-bottom:4px;
}
.cvcard-title{
  font-size:16px;font-weight:700;color:var(--off-white);
  line-height:1.3;
}

.cliente-empty{
  text-align:center;padding:80px 20px;color:rgba(245,239,230,0.4);
}
.cliente-empty p{ font-size:18px;margin-bottom:24px; }

/* ── Mobile ── */
@media(max-width:768px){
  .clients-section{ padding:80px 24px 100px; }
  .client-cat{ display:none; }
  .cliente-hero{ min-height:40vh; }
  .cliente-hero-inner{ padding:120px 24px 48px; }
  .cliente-grid-section{ padding:40px 24px 80px; }
  .cliente-grid{ grid-template-columns:1fr; }
  .cvcard.portrait{ aspect-ratio:16/9; }
}
