/* Goal Labs — estilos compartidos para páginas secundarias (partners/creadores/analistas).
   Reusa los mismos tokens visuales que index.html (eyebrow, focus-ring, btn-primary, reveal),
   sin el cursor custom / GSAP-Lenis / preloader que son específicos de la home. */

html { scroll-behavior: smooth; background:#0a0a0a; }
body { font-family: 'Outfit', sans-serif; }
h1, h2, h3, .font-display { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; letter-spacing: -0.015em; }
.font-mono { font-family: 'DM Mono', ui-monospace, monospace; }

.eyebrow {
  font-family: 'DM Mono', ui-monospace, monospace;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.7rem;
  color: #8b8b86;
}

.focus-ring:focus-visible {
  outline: 2px solid #34d399;
  outline-offset: 3px;
  border-radius: 4px;
}

.btn-primary { transition: transform .25s cubic-bezier(.2,.7,.2,1), background-color .2s ease; position: relative; overflow: hidden; }
.btn-primary:hover { transform: translateY(-2px); }
.btn-primary:active { transform: translateY(0); }
.btn-primary::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.08) 50%, transparent 100%);
  transform: translateX(-100%); transition: transform 0.4s ease;
}
.btn-primary:hover::after { transform: translateX(100%); }

/* Scroll reveal (sin GSAP: IntersectionObserver simple en site-i18n.js) */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-d1 { transition-delay: 0.05s; }
.reveal-d2 { transition-delay: 0.10s; }
.reveal-d3 { transition-delay: 0.15s; }
.reveal-d4 { transition-delay: 0.20s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Subrayado animado en links de nav y footer */
nav a[role="listitem"], footer nav a, footer a { position: relative; }
nav a[role="listitem"]::after, footer a::after {
  content: ''; position: absolute; left: 0; bottom: -3px; width: 100%; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
nav a[role="listitem"]:hover::after, footer a:hover::after { transform: scaleX(1); }

/* Grano / textura sutil (misma que la home) */
.grain {
  position: fixed; inset: -150%; z-index: 9000; pointer-events: none; opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: grainNoise 8s steps(10) infinite;
}
@keyframes grainNoise {
  0%, 100% { transform: translate(0, 0); }
  10% { transform: translate(-5%, -10%); }
  20% { transform: translate(-15%, 5%); }
  30% { transform: translate(7%, -25%); }
  40% { transform: translate(-5%, 25%); }
  50% { transform: translate(-15%, 10%); }
  60% { transform: translate(15%, 0%); }
  70% { transform: translate(0%, 15%); }
  80% { transform: translate(3%, 35%); }
  90% { transform: translate(-10%, 10%); }
}
@media (prefers-reduced-motion: reduce) { .grain { animation: none; opacity: .03; transform: translate(0,0); inset: 0; } }

/* Cinta de fotos (misma que #fundador de la home) */
.glcinta{position:relative;width:100%;height:clamp(260px,36vw,400px);background:#09090b;overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.1)}
.glcinta-zoom{position:absolute;inset:clamp(10px,1.8%,16px);display:flex;flex-direction:column;gap:10px;animation:glcinta-breathe 26s ease-in-out infinite alternate}
.glcinta-row{height:calc((100% - 10px)/2);overflow:hidden;position:relative}
.glcinta-track{display:flex;height:100%;width:max-content;animation:glcinta-left var(--dur,50s) linear infinite}
.glcinta-rev .glcinta-track{animation-name:glcinta-right}
.glcinta-set{display:flex;gap:10px;padding-right:10px;height:100%}
.glcinta-set img{height:100%;width:auto;flex:none;display:block;border-radius:10px;filter:grayscale(35%) brightness(.9) contrast(1.1) saturate(.95)}
.glcinta-fade{position:absolute;top:0;bottom:0;width:clamp(50px,12%,140px);z-index:2;pointer-events:none}
.glcinta-fade-l{left:0;background:linear-gradient(90deg,#09090b,transparent)}
.glcinta-fade-r{right:0;background:linear-gradient(270deg,#09090b,transparent)}
.glcinta-vig{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(120% 120% at 50% 50%,transparent 60%,rgba(9,9,11,.45) 100%)}
@keyframes glcinta-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes glcinta-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes glcinta-breathe{from{transform:scale(1)}to{transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.glcinta-track,.glcinta-zoom{animation:none}}
