@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');}
/* =========================================================
   Nick Miranda Films — styles
   Inspirado na clareza da Apple + escuridão do Frame.io
   ========================================================= */

:root {
  --bg: #08090c;
  --bg-soft: #0e1015;
  --surface: #14161d;
  --surface-2: #1b1e28;
  --line: rgba(255, 255, 255, 0.08);
  --line-strong: rgba(255, 255, 255, 0.16);
  --text: #f4f5f7;
  --text-dim: #9a9fb0;
  --text-faint: #5c6070;
  --accent: #5b6cff;    /* azul */
  --accent-2: #9a5cff;  /* roxo */
  --accent-3: #ff5cae;  /* rosa */
  --radius: 18px;
  --radius-lg: 28px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --maxw: 1240px;
  --pad: clamp(20px, 5vw, 80px);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
em { font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; }

::selection { background: var(--accent); color: #fff; }

/* ---------- Cursor glow ---------- */
.cursor-glow {
  position: fixed;
  top: 0; left: 0;
  width: 480px; height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(91,108,255,0.18), transparent 60%);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.4s ease;
  mix-blend-mode: screen;
}
@media (hover: hover) and (pointer: fine) {
  .cursor-glow.is-active { opacity: 1; }
}

/* ---------- Navigation ---------- */
.nav {
  position: sticky;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: rgba(8, 9, 12, 0.82);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--line);
  transition: background 0.4s var(--ease);
}
.nav.is-scrolled {
  background: rgba(8, 9, 12, 0.94);
}
.nav__inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 18px var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.nav__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.01em;
}
.nav__logo-mark {
  height: 28px;
  width: auto;
  display: block;
}
.nav__logo-thin { color: var(--text-dim); font-weight: 400; }
.nav__links {
  display: flex;
  gap: 34px;
  margin-left: auto;
  margin-right: 8px;
}
.nav__links a {
  font-size: 14px;
  color: var(--text-dim);
  position: relative;
  transition: color 0.3s ease;
}
.nav__links a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -6px;
  width: 100%; height: 1px;
  background: var(--text);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s var(--ease);
}
.nav__links a:hover { color: var(--text); }
.nav__links a:hover::after { transform: scaleX(1); }
.nav__cta {
  font-size: 14px;
  font-weight: 500;
  padding: 9px 18px;
  border-radius: 100px;
  background: var(--text);
  color: var(--bg);
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.nav__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(255,255,255,0.15);
}
.nav__burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
.nav__burger span {
  width: 22px; height: 2px;
  background: var(--text);
  transition: transform 0.35s var(--ease), opacity 0.35s var(--ease);
}
.nav__burger.is-open span:first-child { transform: translateY(3.5px) rotate(45deg); }
.nav__burger.is-open span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

/* ---------- Mobile menu ---------- */
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(8,9,12,0.97);
  backdrop-filter: blur(20px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s var(--ease);
}
.mobile-menu.is-open { opacity: 1; pointer-events: auto; }
.mobile-menu a { font-size: 28px; font-weight: 500; }
.mobile-menu__cta { color: var(--accent); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 500;
  padding: 14px 26px;
  border-radius: 100px;
  cursor: pointer;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), background 0.35s var(--ease);
  border: 1px solid transparent;
  white-space: nowrap;
}
.btn--primary {
  background: var(--text);
  color: var(--bg);
}
.btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(255,255,255,0.18);
}
.btn--ghost {
  background: transparent;
  border-color: var(--line-strong);
  color: var(--text);
}
.btn--ghost:hover {
  background: rgba(255,255,255,0.06);
  transform: translateY(-3px);
}
.btn--lg { font-size: 17px; padding: 18px 34px; }
.btn__play { font-size: 11px; }
.btn__wa { display: inline-flex; align-items: center; }

/* ---------- Reveal animations ---------- */
.reveal, .reveal-scale {
  opacity: 0;
  transition: opacity 0.9s var(--ease) var(--d, 0s), transform 0.9s var(--ease) var(--d, 0s);
}
.reveal { transform: translateY(34px); }
.reveal-scale { transform: scale(0.96); }
.reveal.is-in, .reveal-scale.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-scale { opacity: 1; transform: none; transition: none; }
  .nav__logo-mark { animation: none; }
  .clients__track { animation: none; }
}

/* ---------- Hero ---------- */
.hero {
  position: relative;
  min-height: calc(100svh - 67px); /* desconta a altura da barra fixa */
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 var(--pad);
  overflow: hidden;
}
.hero__bg { position: absolute; inset: 0; z-index: 0; }
.hero__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero__overlay {
  position: absolute; inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(6,7,11,0.92) 0%, rgba(6,7,11,0.55) 42%, rgba(6,7,11,0.25) 100%),
    linear-gradient(to top, rgba(6,7,11,0.95) 0%, rgba(6,7,11,0.1) 45%, rgba(6,7,11,0.35) 100%),
    radial-gradient(ellipse 80% 60% at 78% 12%, rgba(91,108,255,0.18), transparent 60%),
    radial-gradient(ellipse 70% 55% at 12% 92%, rgba(255,92,174,0.13), transparent 60%);
}
.hero__grain {
  position: absolute; inset: -50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.04;
  z-index: 1;
  pointer-events: none;
}
.hero__content { position: relative; z-index: 2; max-width: 1120px; }
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 22px;
}
.hero__eyebrow::before {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--accent), var(--accent-3));
}
.hero__slogan {
  margin-bottom: 40px;
  line-height: 0;
}
.hero__slogan img {
  width: min(512px, 69vw);
  height: auto;
  display: block;
}
.hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }
.hero__scroll {
  position: absolute;
  bottom: 40px;
  left: var(--pad);
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-faint);
  z-index: 2;
}
.hero__scroll-line {
  width: 60px; height: 1px;
  background: linear-gradient(90deg, var(--text-faint), transparent);
  position: relative;
  overflow: hidden;
}
.hero__scroll-line::after {
  content: "";
  position: absolute; inset: 0;
  width: 24px;
  background: var(--text);
  animation: scrollLine 2.2s var(--ease) infinite;
}
@keyframes scrollLine {
  0% { transform: translateX(-24px); }
  100% { transform: translateX(60px); }
}

/* ---------- Hero sound toggle ---------- */
.hero__sound {
  position: absolute;
  bottom: 40px; right: var(--pad);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 16px 10px 13px;
  border-radius: 100px;
  border: 1px solid var(--line-strong);
  background: rgba(8, 9, 12, 0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: transform 0.35s var(--ease), background 0.35s var(--ease), border-color 0.35s var(--ease);
}
.hero__sound:hover { transform: translateY(-2px); background: rgba(8, 9, 12, 0.7); border-color: var(--text); }
.hero__sound-icon { display: inline-flex; }
/* Estado padrão: mudo — mostra o "X", esconde as ondas */
.hero__sound-wave { opacity: 0; }
.hero__sound-mute { opacity: 1; }
.hero__sound.is-on .hero__sound-wave { opacity: 1; }
.hero__sound.is-on .hero__sound-mute { opacity: 0; }

/* ---------- Section head ---------- */
.section-head { max-width: var(--maxw); margin: 0 auto; padding: clamp(70px,10vw,130px) var(--pad) clamp(40px,5vw,64px); }
.section-head--center { text-align: center; }
.section-head__eyebrow {
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 18px;
}
.section-head__title {
  font-size: clamp(30px, 5.2vw, 60px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.05;
  max-width: 820px;
}
.section-head--center .section-head__title { margin: 0 auto; }

/* ---------- Reel (Trabalhos) ---------- */
.work { padding-bottom: clamp(50px,7vw,100px); }
.reel {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}
.reel__frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 40px 120px rgba(0,0,0,0.6);
}
.reel__player {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #05060a;
}
.reel__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  background: #05060a;
}
.reel__poster-img {
  position: absolute; inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.reel__cover {
  position: absolute; inset: 0;
  z-index: 3;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  color: var(--text);
  background:
    radial-gradient(circle at 50% 44%, rgba(91,108,255,0.30), transparent 58%),
    linear-gradient(to top, rgba(5,6,10,0.88), rgba(5,6,10,0.28));
  transition: opacity 0.6s var(--ease), visibility 0.6s var(--ease);
}
.reel__player.is-playing .reel__cover { opacity: 0; visibility: hidden; }
.reel__play {
  position: relative;
  width: 92px; height: 92px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: grid; place-items: center;
  transition: transform 0.4s var(--ease), background 0.4s var(--ease);
}
.reel__cover:hover .reel__play { transform: scale(1.08); background: rgba(255,255,255,0.2); }
.reel__play-icon { font-size: 24px; margin-left: 4px; color: #fff; }
.reel__play-ring {
  position: absolute; inset: -1px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.4);
  animation: pulseRing 2.6s ease-out infinite;
}
@keyframes pulseRing {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(1.7); opacity: 0; }
}
.reel__meta { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.reel__meta-title { font-weight: 700; letter-spacing: 0.16em; font-size: 14px; }
.reel__meta-sub { color: var(--text-dim); font-size: 13px; letter-spacing: 0.02em; }

/* ---------- Services ---------- */
.services { padding-bottom: clamp(50px,7vw,100px); }
.services__list { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad); }
.services .section-head { padding-top: clamp(20px, 3vw, 40px); padding-bottom: clamp(24px, 3vw, 40px); }
.service {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  align-items: center;
  gap: 22px;
  padding: 20px 0;
  border-top: 1px solid var(--line);
  transition: padding 0.4s var(--ease);
}
.service:last-child { border-bottom: 1px solid var(--line); }
.service:hover { padding-left: 12px; }
.service__num { font-size: 13px; color: var(--text-faint); font-variant-numeric: tabular-nums; }
.service__text h3 { font-size: clamp(18px, 2.1vw, 24px); font-weight: 600; letter-spacing: -0.02em; margin-bottom: 3px; }
.service__text p { color: var(--text-dim); font-size: 14px; max-width: 60ch; }
.service__icon {
  font-size: 22px;
  color: var(--text-faint);
  transition: color 0.4s var(--ease), transform 0.4s var(--ease);
}
.service:hover .service__icon { color: var(--accent); transform: scale(1.2); }

/* ---------- Stats ---------- */
.stats {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(36px,5vw,64px) var(--pad);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.stat { text-align: center; }
.stat__num {
  display: block;
  font-size: clamp(30px, 4vw, 50px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1;
  background: linear-gradient(180deg, #fff, #8b90a6);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.stat__num::after { content: "+"; -webkit-text-fill-color: var(--accent); }
.stat__label { display: block; margin-top: 10px; font-size: 13px; color: var(--text-dim); }

/* ---------- About ---------- */
.about {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(50px,8vw,120px) var(--pad);
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}
.about__visual { position: relative; }
.about__portrait {
  aspect-ratio: 3/4;
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  background: linear-gradient(160deg, #1a1b26, #07070c);
  position: relative;
  overflow: hidden;
}
.about__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}
.about__badge {
  position: absolute;
  bottom: 22px; left: 22px;
  background: rgba(8,9,12,0.7);
  backdrop-filter: blur(14px);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 18px;
}
.about__badge span { display: block; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-dim); }
.about__badge strong { font-size: 18px; font-weight: 600; }
.about__title { font-size: clamp(28px, 4vw, 50px); font-weight: 600; letter-spacing: -0.03em; line-height: 1.08; margin-bottom: 26px; }
.about__text { color: var(--text-dim); font-size: 17px; line-height: 1.65; margin-bottom: 18px; max-width: 56ch; }
.about .btn { margin-top: 14px; }

/* ---------- Clients ---------- */
.clients {
  padding: clamp(40px,6vw,90px) 0;
  text-align: center;
  border-top: 1px solid var(--line);
  overflow: hidden;
}
.clients__label { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 40px; padding: 0 var(--pad); }
.clients__marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.clients__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: clientsMarquee 36s linear infinite;
}
.clients__marquee:hover .clients__track { animation-play-state: paused; }
.clients__track span {
  display: inline-flex;
  align-items: center;
  font-size: clamp(20px, 3vw, 34px);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text-faint);
  white-space: nowrap;
  transition: color 0.4s var(--ease);
}
.clients__track span:hover { color: var(--text); }
.clients__track span::after {
  content: "•";
  color: var(--accent);
  font-size: 0.42em;
  margin: 0 0.95em;
  vertical-align: middle;
}
@keyframes clientsMarquee { to { transform: translateX(-50%); } }

/* ---------- CTA ---------- */
.cta {
  position: relative;
  margin: clamp(40px,6vw,80px) var(--pad) 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  text-align: center;
  padding: clamp(70px, 12vw, 160px) var(--pad);
}
.cta__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 50% 0%, rgba(91,108,255,0.32), transparent 60%),
    radial-gradient(ellipse 60% 60% at 15% 100%, rgba(154,92,255,0.26), transparent 60%),
    radial-gradient(ellipse 55% 60% at 90% 90%, rgba(255,92,174,0.22), transparent 60%),
    linear-gradient(160deg, #101120, #07070c);
}
.cta__content { position: relative; z-index: 2; }
.cta__title { font-size: clamp(38px, 7vw, 92px); font-weight: 600; letter-spacing: -0.035em; line-height: 1; margin-bottom: 24px; }
.cta__sub { font-size: clamp(16px, 2vw, 20px); color: var(--text-dim); margin-bottom: 40px; max-width: 480px; margin-inline: auto; }
.cta__socials { display: flex; gap: 28px; justify-content: center; margin-top: 44px; flex-wrap: wrap; }
.cta__socials a { font-size: 14px; color: var(--text-dim); transition: color 0.3s ease; }
.cta__socials a:hover { color: var(--text); }

/* ---------- Footer ---------- */
.footer {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(50px,7vw,90px) var(--pad) 50px;
}
.footer__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--line);
}
.footer__logo { height: 96px; width: auto; display: block; }
.footer__right { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; text-align: right; }
.footer__top p { color: var(--text-dim); font-size: 14px; }
.footer__social { display: flex; gap: 20px; flex-wrap: wrap; justify-content: flex-end; }
.footer__social a { font-size: 14px; color: var(--text-dim); transition: color 0.3s ease; }
.footer__social a:hover { color: var(--text); }
@media (max-width: 600px) {
  .footer__right { align-items: flex-start; text-align: left; }
  .footer__social { justify-content: flex-start; }
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
  font-size: 13px;
  color: var(--text-faint);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .nav__links, .nav__cta { display: none; }
  .nav__burger { display: flex; }
  .work__grid { grid-template-columns: 1fr; }
  .work-card--large { grid-row: span 1; min-height: 380px; }
  .work-card--wide { grid-column: span 1; }
  .about { grid-template-columns: 1fr; }
  .about__visual { max-width: 420px; }
  .stats { grid-template-columns: repeat(2, 1fr); gap: 40px 20px; }
  .clients__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .service { grid-template-columns: 40px 1fr; }
  .service__icon { display: none; }
  .hero__actions .btn { flex: 1; justify-content: center; }
}
