*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#070708;--text:#f4f1f7;--muted:#99949f;--violet:#8b35ff;--violet2:#c46bff;--line:rgba(255,255,255,.11)}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.noise{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(139,53,255,.14),transparent 68%);pointer-events:none;transform:translate(-50%,-50%);z-index:1}
.nav{height:82px;position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(7,7,8,.58);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}
.logo,.footer-logo{font:700 19px "Space Grotesk";letter-spacing:-1px}.logo span,.footer-logo span{color:var(--violet2)}.logo i,.footer-logo i{font:400 7px "DM Sans";color:#777;margin-left:2px}
.nav-links{display:flex;gap:34px;font-size:13px;color:#aaa}.nav-links a:hover{color:white}
.nav-cta{font-size:13px;border:1px solid var(--line);padding:11px 17px;border-radius:30px}.nav-cta span{color:var(--violet2)}
.menu{display:none;background:none;border:0}.menu span{display:block;width:24px;height:1px;background:white;margin:6px}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:120px 8vw 80px;overflow:hidden}
.hero-content{position:relative;z-index:4;width:min(58vw,1000px);max-width:1000px}

.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(circle at 55% 45%,black,transparent 75%)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}.orb-one{width:500px;height:500px;background:#5e13c8;right:-100px;top:20%;opacity:.25}.orb-two{width:280px;height:280px;background:#b42fff;left:20%;bottom:-160px;opacity:.16}
.eyebrow{font-size:11px;letter-spacing:2.5px;color:#aaa;margin-bottom:28px}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a952ff;box-shadow:0 0 15px #a952ff;margin-right:9px}
h1,h2,h3{font-family:"Space Grotesk",sans-serif}h1{font-size:clamp(58px,7.4vw,132px);line-height:.82;letter-spacing:-.075em;font-weight:600}h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.7);background:linear-gradient(90deg,#b36cff,#f0d9ff);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:0}
.hero-copy{max-width:520px;color:#aaa;line-height:1.6;font-size:16px;margin:35px 0 28px}
.hero-actions{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 20px;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.3px;border:1px solid var(--line);cursor:pointer}.btn span{font-size:18px}.btn-primary{background:#f4f1f7;color:#0a0a0b;border-color:#f4f1f7}.btn-primary:hover{background:#c66cff;color:white;border-color:#c66cff}.btn-ghost{background:rgba(255,255,255,.03)}.btn-ghost:hover{background:rgba(255,255,255,.09)}
.hero-meta{position:absolute;bottom:35px;left:8vw;right:8vw;display:flex;justify-content:space-between;color:#68636d;font-size:9px;letter-spacing:1.5px}.scroll-mark{position:absolute;right:4vw;bottom:35px;color:#777;font-size:9px;writing-mode:vertical-rl;letter-spacing:2px}.scroll-mark span{color:#b56cff}
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:17px 0;white-space:nowrap}.marquee-track{display:inline-flex;gap:28px;align-items:center;animation:marquee 24s linear infinite;font:600 13px "Space Grotesk";letter-spacing:2px}.marquee b{color:var(--violet2);font-size:10px}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:145px 8vw}.section-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px;align-items:end;margin-bottom:70px}.section-number{font-size:10px;letter-spacing:2px;color:#807b86}.section-head h2,.contact h2{font-size:clamp(48px,6.2vw,90px);line-height:.9;letter-spacing:-.065em}.section-head h2 span,.contact h2 span{color:transparent;-webkit-text-stroke:1px #7e7884}.section-head p{color:#88838d;font-size:14px;line-height:1.6;max-width:280px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{min-height:330px;padding:25px;border-right:1px solid var(--line);position:relative;transition:.35s}.service-card:last-child{border-right:0}.service-card:hover{background:linear-gradient(145deg,rgba(139,53,255,.12),transparent)}.service-card>span{font-size:10px;color:#6e6973}.service-card h3{font-size:25px;margin-top:70px}.service-card p{font-size:13px;line-height:1.6;color:#85808a;margin-top:15px;max-width:220px}.service-card b{position:absolute;bottom:24px;right:24px;color:#b36cff;font-size:20px}
.works{background:#09090a}.work-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:16px}.work-card{min-height:540px;position:relative;overflow:hidden;background:#111}.work-placeholder{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 70% 35%,rgba(185,83,255,.4),transparent 28%),linear-gradient(135deg,#1c1327,#0c0c0e 65%)}.work-b .work-placeholder{background:radial-gradient(circle at 30% 30%,rgba(91,62,255,.42),transparent 30%),linear-gradient(145deg,#151129,#09090b)}.work-c .work-placeholder{background:radial-gradient(circle at 60% 60%,rgba(222,64,255,.34),transparent 30%),linear-gradient(145deg,#211021,#09090b)}.work-placeholder small{font-size:9px;letter-spacing:2px;color:#aaa}.work-placeholder strong{font:600 clamp(42px,5vw,76px)/.82 "Space Grotesk";letter-spacing:-.07em}.work-info{position:absolute;bottom:0;left:0;right:0;padding:18px 22px;display:flex;justify-content:space-between;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:11px}.work-info span{color:#aaa}.work-info b{color:#c46bff}
.packs{background:#f2eef5;color:#0a090c}.packs .section-number{color:#77717b}.packs .section-head h2 span{color:transparent;-webkit-text-stroke:1px #77717b}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pack{position:relative;background:#e8e2eb;padding:32px;min-height:510px;border:1px solid #d7cedb}.pack.featured{background:#0b0a0c;color:#f7f2f8;border-color:#0b0a0c;transform:translateY(-15px)}.featured-tag{position:absolute;top:0;right:0;background:#a84eff;color:white;font-size:8px;letter-spacing:1.4px;padding:8px 12px}.pack-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:17px}.featured .pack-top{border-color:#29252b}.pack-top span{font:700 20px "Space Grotesk"}.pack-top small{font-size:8px;color:#85808a;letter-spacing:1.4px}.price{font:600 clamp(37px,4vw,58px) "Space Grotesk";letter-spacing:-.07em;margin:38px 0}.price small{font:500 11px "DM Sans";letter-spacing:1px}.pack ul{list-style:none;border-top:1px solid rgba(0,0,0,.12)}.featured ul{border-color:#29252b}.pack li{font-size:13px;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.08)}.featured li{border-color:#29252b;color:#c2bdc6}.pack>a{display:inline-block;margin-top:28px;font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
.manifesto{padding:150px 8vw;background:radial-gradient(circle at 70% 40%,rgba(116,36,190,.18),transparent 30%),#070708}.manifesto-inner{position:relative}.manifesto-inner>span{font-size:10px;letter-spacing:2px;color:#777}.manifesto h2{font-size:clamp(46px,7vw,105px);line-height:.88;letter-spacing:-.07em;margin-top:28px}.manifesto h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #8f8795}.circle-btn{position:absolute;right:8%;bottom:0;width:130px;height:130px;border:1px solid #4c4650;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:10px;letter-spacing:1.5px;transition:.3s}.circle-btn span{color:#bc68ff;font-size:18px;margin-top:5px}.circle-btn:hover{background:#9b42ee;border-color:#9b42ee}
.contact{display:grid;grid-template-columns:1.15fr .85fr;gap:100px}.contact-copy h2{margin:25px 0}.contact-copy p{color:#89838e;max-width:390px;line-height:1.6}.contact-form{display:flex;flex-direction:column;gap:22px;padding-top:15px}.contact-form label{font-size:10px;letter-spacing:1.5px;color:#77717b}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:9px;background:transparent;border:0;border-bottom:1px solid #333037;padding:13px 0;color:white;font:14px "DM Sans";outline:none}.contact-form textarea{height:90px;resize:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#a04cff}.contact-form .btn{align-self:flex-start;margin-top:8px}
footer{border-top:1px solid var(--line);padding:30px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#68636d;font-size:9px;letter-spacing:1.5px}.footer-logo{color:#eee;font-size:16px}.footer-logo span{color:#b967ff}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}

/* Portfolio de reels V2 */
.work-filters{display:flex;gap:8px;flex-wrap:wrap;margin:-28px 0 35px}
.filter{background:transparent;border:1px solid #2d2930;color:#88818c;padding:9px 15px;font:600 9px "DM Sans";letter-spacing:1.4px;cursor:pointer;border-radius:30px;transition:.25s}
.filter:hover,.filter.active{background:#f4f1f7;color:#09090a;border-color:#f4f1f7}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.video-card{min-width:0}
.video-wrap{position:relative;aspect-ratio:9/14;overflow:hidden;background:#111;border:1px solid #211d24}
.video-wrap video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.video-card:hover video{transform:scale(1.025)}
.video-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.48),transparent 35%);pointer-events:none}
.play-btn,.sound-btn{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.45);backdrop-filter:blur(8px);color:#fff;cursor:pointer}
.play-btn{left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;font-size:16px;padding-left:3px}
.sound-btn{right:12px;bottom:12px;width:35px;height:35px;border-radius:50%;font-size:13px}
.video-info{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 2px 3px}
.video-info small{font-size:10px;letter-spacing:1.7px;color:#a75bff}
.video-info h3{font-size:24px;letter-spacing:-.04em;margin:6px 0 4px}
.video-info p{font-size:11px;color:#77717d}
.video-info>b{font-size:18px;color:#b765ff;padding-top:7px}
.video-card.hidden{display:none}
@media(max-width:900px){.video-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.video-grid{grid-template-columns:1fr 1fr;gap:12px}.video-info h3{font-size:17px}.video-info p{font-size:9px}.play-btn{width:45px;height:45px}.work-filters{margin-top:-12px}}
.work-filters .filter{white-space:nowrap}
@media(max-width:700px){.work-filters{gap:6px}.filter{font-size:8px;padding:8px 11px}.video-grid{grid-template-columns:1fr 1fr}.video-info{padding-top:9px}.video-info h3{font-size:15px;line-height:1.05}.video-info small{font-size:9px}}
/* Artistas y clubes: conservar el formato horizontal original */
.video-card.landscape .video-wrap{aspect-ratio:16/9;background:#050506}
.video-card.landscape .video-wrap video{object-fit:contain;background:#050506}


/* V7 — mobile-first hardening for Android + iPhone */
@media screen and (max-width:900px), screen and (max-device-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .cursor-glow{display:none}
  .nav{height:70px;padding:0 5vw}
  .logo{font-size:17px}
  .nav-links,.nav-cta{display:none}
  .menu{display:block;position:relative;z-index:40;padding:6px;margin-right:-6px;cursor:pointer}
  .menu span{transition:.25s ease}
  .menu.active span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu.active span:nth-child(2){opacity:0}
  .menu.active span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .nav-links.open{position:fixed;display:flex;top:70px;left:0;right:0;flex-direction:column;gap:0;padding:12px 6vw 22px;background:rgba(7,7,8,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:35}
  .nav-links.open a{display:block;padding:15px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.07)}
  .nav-links.open a:last-child{border-bottom:0}

  .hero{min-height:100svh;padding:105px 6vw 70px;align-items:center}
  .hero-content{width:100%;max-width:none}
  .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:22px}
  h1{font-size:clamp(48px,13vw,72px);line-height:.86;letter-spacing:-.07em}
  .hero-copy{font-size:13px;max-width:390px;margin:28px 0 24px}
  .hero-actions{flex-wrap:wrap}
  .btn{font-size:12px;padding:13px 17px}
  .hero-meta,.scroll-mark{display:none}

  .section{padding:100px 6vw}
  .section-head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:42px;align-items:start}
  .section-number{font-size:9px}
  .section-head h2,.contact h2{font-size:clamp(44px,12.5vw,68px);line-height:.9}
  .section-head p{font-size:13px;line-height:1.55;max-width:100%}

  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:245px;padding:24px 20px;border-right:0!important;border-bottom:1px solid var(--line)}
  .service-card:last-child{border-bottom:0}
  .service-card h3{font-size:24px;margin-top:48px}
  .service-card p{font-size:13px;max-width:280px}

  .work-filters{margin:-10px 0 30px;gap:7px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:2px 0 9px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .work-filters::-webkit-scrollbar{display:none}
  .filter{flex:0 0 auto;font-size:8px;padding:9px 12px}
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .video-card{min-width:0}
  .video-card.landscape{grid-column:1 / -1}
  .video-wrap{aspect-ratio:9/14}
  .video-card.landscape .video-wrap{aspect-ratio:16/9}
  .video-info{padding:9px 1px 2px}
  .video-info small{font-size:8px;letter-spacing:1.4px}
  .video-info h3{font-size:15px;line-height:1.05;margin:5px 0 3px}
  .video-info p{font-size:9px}
  .video-info>b{font-size:14px;padding-top:5px}
  .play-btn{width:43px;height:43px;font-size:14px}
  .sound-btn{right:8px;bottom:8px;width:31px;height:31px;font-size:11px}

  .packs .section-head{margin-bottom:38px}
  .pack-grid{grid-template-columns:1fr;gap:12px}
  .pack{min-height:auto;padding:26px}
  .pack.featured{transform:none}
  .price{font-size:48px;margin:28px 0}
  .pack li{font-size:12px}

  .manifesto{padding:105px 6vw}
  .manifesto h2{font-size:clamp(45px,12vw,62px)}
  .circle-btn{position:relative;right:auto;margin:42px 0 0;width:105px;height:105px}

  .contact{grid-template-columns:1fr;gap:50px}
  .contact-form{padding-top:0}
  footer{grid-template-columns:1fr;gap:14px;padding:28px 6vw}
}

/* Same layout when a mobile browser reports a desktop CSS viewport. */
.mobile-device .cursor-glow{display:none}
@media screen and (min-width:901px){
  .mobile-device .nav{height:70px;padding:0 5vw}
  .mobile-device .nav-links,.mobile-device .nav-cta{display:none}
  .mobile-device .menu{display:block;position:relative;z-index:40;padding:6px;margin-right:-6px}
  .mobile-device .nav-links.open{position:fixed;display:flex;top:70px;left:0;right:0;flex-direction:column;gap:0;padding:12px 6vw 22px;background:rgba(7,7,8,.97);border-bottom:1px solid var(--line);z-index:35}
  .mobile-device .nav-links.open a{padding:15px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.07)}
  .mobile-device .hero{min-height:100svh;padding:105px 6vw 70px;align-items:center}
  .mobile-device .hero-content{width:100%;max-width:none}
  .mobile-device h1{font-size:clamp(48px,13vw,72px);line-height:.86}
  .mobile-device .hero-copy{font-size:13px;max-width:390px;margin:28px 0 24px}
  .mobile-device .hero-meta,.mobile-device .scroll-mark{display:none}
  .mobile-device .section{padding:100px 6vw}
  .mobile-device .section-head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:42px;align-items:start}
  .mobile-device .section-head h2,.mobile-device .contact h2{font-size:clamp(44px,12.5vw,68px);line-height:.9}
  .mobile-device .section-head p{font-size:13px;max-width:100%}
  .mobile-device .service-grid{grid-template-columns:1fr}
  .mobile-device .service-card{min-height:245px;padding:24px 20px;border-right:0!important;border-bottom:1px solid var(--line)}
  .mobile-device .service-card h3{font-size:24px;margin-top:48px}
  .mobile-device .work-filters{margin:-10px 0 30px;gap:7px;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 9px;scrollbar-width:none}
  .mobile-device .filter{flex:0 0 auto;font-size:8px;padding:9px 12px}
  .mobile-device .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .mobile-device .video-card.landscape{grid-column:1 / -1}
  .mobile-device .video-card.landscape .video-wrap{aspect-ratio:16/9}
  .mobile-device .video-info h3{font-size:15px;line-height:1.05}
  .mobile-device .packs .pack-grid{grid-template-columns:1fr}
  .mobile-device .pack.featured{transform:none}
  .mobile-device .manifesto{padding:105px 6vw}
  .mobile-device .contact{grid-template-columns:1fr;gap:50px}
  .mobile-device footer{grid-template-columns:1fr;gap:14px;padding:28px 6vw}
}

/* V8 — cinematic hero + mobile performance */
.hero{isolation:isolate;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:grayscale(1);transform:scale(1.01)}
.hero-video-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,5,6,.92) 0%,rgba(5,5,6,.72) 45%,rgba(5,5,6,.50) 100%),linear-gradient(0deg,rgba(5,5,6,.82) 0%,rgba(5,5,6,.15) 55%,rgba(5,5,6,.62) 100%)}
.hero-grid{opacity:.24}
.hero-orb{opacity:.45}
.video-card{content-visibility:auto;contain-intrinsic-size:700px}
@media(max-width:700px){
  .hero-video-overlay{background:linear-gradient(90deg,rgba(5,5,6,.88),rgba(5,5,6,.64)),linear-gradient(0deg,rgba(5,5,6,.84),rgba(5,5,6,.22))}
  .hero-video{object-position:center center}
  .video-card{contain-intrinsic-size:520px}
}
@media(prefers-reduced-motion:reduce){
  .hero-video{display:none}
  .reveal{opacity:1;transform:none;transition:none}
}

/* V9 — servicios compactos en mobile */
@media screen and (max-width:700px){
  #servicios.section{padding-top:58px;padding-bottom:58px}
  #servicios .section-head{gap:8px;margin-bottom:22px}
  #servicios .section-number{font-size:8px}
  #servicios .section-head h2{font-size:clamp(34px,9vw,48px);line-height:.92}
  #servicios .section-head p{display:none}
  #servicios .service-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  #servicios .service-card{
    min-height:0;
    height:112px;
    padding:18px 16px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  #servicios .service-card>span{position:absolute;top:15px;left:16px;font-size:8px}
  #servicios .service-card h3{font-size:19px;margin:15px 30px 0 0;line-height:1}
  #servicios .service-card p{font-size:10.5px;line-height:1.35;max-width:82%;margin:7px 0 0;color:#77727d}
  #servicios .service-card b{bottom:17px;right:16px;font-size:17px}
}
@media screen and (min-width:701px) and (max-width:900px){
  #servicios .service-card{min-height:190px}
}

@media screen and (min-width:901px){
  .mobile-device #servicios{padding-top:58px;padding-bottom:58px}
  .mobile-device #servicios .section-head{gap:8px;margin-bottom:22px}
  .mobile-device #servicios .section-head p{display:none}
  .mobile-device #servicios .service-grid{grid-template-columns:1fr}
  .mobile-device #servicios .service-card{min-height:112px;height:112px;padding:18px 16px;display:flex;flex-direction:column;justify-content:center}
  .mobile-device #servicios .service-card>span{position:absolute;top:15px;left:16px;font-size:8px}
  .mobile-device #servicios .service-card h3{font-size:19px;margin:15px 30px 0 0;line-height:1}
  .mobile-device #servicios .service-card p{font-size:10.5px;line-height:1.35;max-width:82%;margin:7px 0 0}
  .mobile-device #servicios .service-card b{bottom:17px;right:16px;font-size:17px}
}
