:root{--bg-color: #050505;--rail-bg: #000000;--console-bg: #050505;--text-main: #ffffff;--text-muted: #888888;--accent: #00f0ff;--accent-secondary: #ff0055;--font-main: "Inter", sans-serif;--font-display: "Outfit", sans-serif;--console-width: 320px}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-main);-webkit-font-smoothing:antialiased;overflow-x:hidden}#ds-page{width:100%;min-height:100vh}#ds-layout{display:block}#ds-dotnav{position:fixed;top:50%;left:2rem;transform:translateY(-50%);z-index:1000;display:flex;gap:1rem;height:auto}#ds-dotnav-track{width:2px;background:#ffffff1a;border-radius:2px;position:relative;display:flex;flex-direction:column}#ds-dotnav-progress{width:100%;background:var(--accent);border-radius:2px;position:absolute;top:0;left:0;transition:height .3s;height:0%}.ds-dots-container{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}.ds-dot{background:transparent;border:1px solid rgba(255,255,255,.2);width:12px;height:12px;border-radius:50%;padding:0;cursor:pointer;position:relative;transition:all .3s cubic-bezier(.2,.8,.2,1)}.ds-dot:hover{border-color:var(--accent);background:#00f0ff33;transform:scale(1.2)}.ds-dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow);transform:scale(1.3)}.ds-dot-tooltip{position:absolute;left:25px;top:50%;transform:translateY(-50%) translate(-10px);background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:4px 10px;border-radius:4px;font-size:.75rem;font-family:var(--font-display);color:#fff;opacity:0;pointer-events:none;border:1px solid rgba(255,255,255,.1);transition:all .2s;white-space:nowrap}.ds-dot:hover .ds-dot-tooltip{opacity:1;transform:translateY(-50%) translate(0)}#ds-rail{background:var(--rail-bg);position:relative;z-index:10;width:100%}#ds-rail-inner{position:relative;width:100%}.ds-container{max-width:1000px;margin:0 auto;padding:0 2rem}@media (max-width: 768px){#ds-dotnav{top:auto;bottom:1rem;left:1rem;right:1rem;width:auto;transform:none;flex-direction:row;justify-content:center;align-items:center;background:#000000d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.8rem 1.5rem;border-radius:50px;border:1px solid rgba(255,255,255,.15);box-shadow:0 10px 30px #00000080;z-index:1000}#ds-dotnav-track{display:none}.ds-dots-container{flex-direction:row;gap:1.2rem}.ds-dot{width:14px;height:14px}.ds-dot-tooltip{display:none}#ds-hero-title{font-size:2.8rem!important;letter-spacing:-1px;margin-bottom:1rem;line-height:1.1}#ds-hero-title span{font-size:.9rem;letter-spacing:1px;display:block;margin-top:.5rem}#ds-hero-subtitle{font-size:1rem;padding:0 1rem;line-height:1.4}#ds-hero-content{margin-top:5vh;padding:2rem 1rem;width:92%;background:#000000a6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}#ds-hero-ctas{flex-direction:column;gap:1rem;width:100%}#ds-hero-ctas button{width:100%;margin:0}.ds-pinned-section{height:350vh}div[id$=-stage]{padding:1rem;height:100vh;display:flex;justify-content:center}.ds-pin-split-layout{display:flex;flex-direction:column;width:100%;height:100%;gap:1rem;justify-content:center}.ds-pin-right{order:1;width:100%;height:240px;display:flex;justify-content:center;align-items:center;margin-bottom:1rem;z-index:10}.ds-visuals-container{width:220px;height:220px;position:relative}.ds-pin-left{order:2;width:100%;position:relative}.ds-pin-left .section-title{text-align:center!important;font-size:1.8rem;margin-bottom:1rem}.ds-steps-container{height:200px;width:100%;position:relative}.ds-step{text-align:center;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 1rem}.ds-step-title{font-size:1.6rem;margin-bottom:.5rem}.ds-step-copy{font-size:1rem;line-height:1.4;max-width:100%}.section-title{font-size:2rem;-webkit-hyphens:auto;hyphens:auto}}#ds-nav{position:absolute;top:0;right:0;width:100%;padding:2rem;display:flex;justify-content:flex-end;z-index:50;pointer-events:none}#ds-nav-links{pointer-events:auto}#ds-nav a{color:#fff;text-decoration:none;margin-left:2rem;font-weight:500;transition:color .3s}#ds-nav a:hover{color:var(--accent)}#ds-hero{height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}#ds-hero-scene{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ds-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}#ds-hero-bg{background:radial-gradient(circle at center,#111,#000 70%)}#ds-hero-content{position:relative;z-index:20;text-align:center;mix-blend-mode:normal;margin-top:15vh;background:#0006;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:3rem 4rem;box-shadow:0 4px 30px #00000080;max-width:900px}#ds-hero-title{font-family:var(--font-display);font-size:5rem;line-height:.9;letter-spacing:-2px;margin-bottom:1.5rem;background:linear-gradient(180deg,#fff,#888);-webkit-background-clip:text;-webkit-text-fill-color:transparent}#ds-hero-title span{font-size:.4em;display:block;margin-top:.5rem;letter-spacing:2px;color:#666;-webkit-text-fill-color:#888}#ds-hero-subtitle{color:#ccc;font-size:1.1rem;margin-bottom:2.5rem}.ds-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-size:cover;background-position:center bottom;will-change:transform}#ds-hero-bg{background-image:url(/img/Fondo.png);background-size:cover}#ds-hero-shapes{background-image:url(/img/Middle.png);background-size:cover}#ds-hero-frame{background-image:url(/img/Front.png);background-size:contain;background-repeat:no-repeat;background-position:center bottom;z-index:5}#ds-hero-subbg{background:linear-gradient(to bottom,transparent 60%,#050505 100%);z-index:4}#ds-hero-fog{position:absolute;left:0;right:0;bottom:-2px;height:150px;background:#050505;z-index:6;pointer-events:none}.ds-section{padding:8rem 0;min-height:80vh;position:relative}.section-title{font-family:var(--font-display);font-size:2.5rem;margin-bottom:3rem;color:#fff}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.ds-card{background:#0a0a0a;border:1px solid #222;padding:2rem;border-radius:12px;transition:transform .3s,border-color .3s}.ds-card:hover{transform:translateY(-5px);border-color:var(--accent)}.ds-card h3{font-size:1.25rem;margin-bottom:.5rem;font-family:var(--font-display)}.ds-card p{color:#888;font-size:.9rem;line-height:1.5}.ds-pinned-section{padding:0;height:300vh;position:relative}div[id$=-track]{height:100%;position:relative}div[id$=-stage]{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background:#050505;padding:2rem;width:100%}.ds-pin-split-layout{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:1000px;gap:4rem;align-items:center}.ds-pin-left{position:relative}.ds-pin-right{display:flex;justify-content:center;align-items:center}.ds-steps-container{position:relative;width:100%;height:300px}.ds-step{position:absolute;top:0;left:0;width:100%;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;text-align:left}.ds-step.active{opacity:1;transform:translateY(0)}.ds-step-badges{font-size:.8rem;color:var(--accent);margin-bottom:1rem;font-weight:700;letter-spacing:2px;display:inline-block;border:1px solid var(--accent);padding:4px 8px;border-radius:4px}.ds-step-title{font-size:2.5rem;font-family:var(--font-display);margin-bottom:1rem;line-height:1.1}.ds-step-copy{font-size:1.1rem;color:var(--text-muted);max-width:400px}.ds-visuals-container{position:relative;width:300px;height:300px}.ds-visual-item{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transform:scale(.8) rotate(-10deg);transition:all .6s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;justify-content:center}.ds-visual-item.active{opacity:1;transform:scale(1) rotate(0)}.visual-shape{position:relative}.shape-circle{width:180px;height:180px;border-radius:50%;border:2px solid var(--accent);box-shadow:0 0 30px #00f0ff33;display:flex;align-items:center;justify-content:center}.shape-circle:after{content:"";width:100px;height:100px;background:var(--accent);border-radius:50%;opacity:.2;animation:pulse 2s infinite}.shape-stack{display:flex;flex-direction:column;gap:10px;width:150px}.shape-stack span{height:30px;background:#222;border:1px solid #444;border-radius:4px;width:100%;transition:width .3s}.ds-visual-item.active .shape-stack span:nth-child(1){width:80%;background:var(--accent);border-color:var(--accent)}.ds-visual-item.active .shape-stack span:nth-child(2){width:100%}.ds-visual-item.active .shape-stack span:nth-child(3){width:60%}.shape-rec{width:180px;height:120px;border:2px solid white;border-radius:12px;position:relative;display:flex;align-items:center;justify-content:center}.rec-dot{position:absolute;top:10px;right:15px;width:10px;height:10px;background:red;border-radius:50%;box-shadow:0 0 10px red;animation:blink 1s infinite}.rec-frame{width:40px;height:40px;border:2px solid #555;transform:rotate(45deg)}.shape-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:160px;height:160px}.shape-grid span{background:#222;border:1px solid #333;border-radius:8px}.ds-visual-item.active .shape-grid span{animation:glowGrid 1s forwards}.ds-visual-item.active .shape-grid span:nth-child(1){animation-delay:.1s;background:var(--accent)}.ds-visual-item.active .shape-grid span:nth-child(2){animation-delay:.2s}.ds-visual-item.active .shape-grid span:nth-child(3){animation-delay:.3s}.ds-visual-item.active .shape-grid span:nth-child(4){animation-delay:.4s;background:var(--accent-secondary)}@keyframes pulse{0%{transform:scale(.8);opacity:.2}50%{transform:scale(1.1);opacity:.5}to{transform:scale(.8);opacity:.2}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@media (max-width: 768px){.ds-pin-split-layout{grid-template-columns:1fr;gap:2rem;text-align:center}.ds-pin-left{text-align:center}.ds-step{text-align:center;display:flex;flex-direction:column;align-items:center}}.ds-scene{display:none;text-align:center;width:100%;max-width:800px}.ds-scene.active{display:block;animation:fadeIn .5s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ds-frame{background:#111;border:1px solid #333;margin:0 auto 2rem;position:relative;overflow:hidden;border-radius:8px;display:flex;align-items:center;justify-content:center}.ds-frame--overlay{aspect-ratio:16/9;background:linear-gradient(45deg,#1a1a1a,#000)}.ds-frame--storyboard{aspect-ratio:4/3;display:flex;gap:1rem;padding:2rem;align-items:center;justify-content:center}.ds-frame--h{aspect-ratio:16/9;background:#080808}.ds-ui-bar{position:absolute;top:10px;left:10px;background:var(--accent-secondary);color:#fff;padding:2px 8px;font-size:.7rem;border-radius:4px}.ds-ui-chip{background:#333;padding:.5rem 1rem;border-radius:4px;font-size:.8rem}#ds-reel{width:100%;aspect-ratio:16/9;background:#080808;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}#ds-reel-player{display:flex;flex-direction:column;align-items:center;gap:1rem}.play-icon{font-size:4rem;color:#fff;opacity:.8;cursor:pointer;transition:transform .2s}.play-icon:hover{transform:scale(1.1)}#ds-reel-cta{position:absolute;bottom:2rem}#ds-portfolio-tabs{display:flex;gap:1rem;margin-bottom:2rem;overflow-x:auto;padding-bottom:.5rem}.ds-tab{background:transparent;border:1px solid #333;color:#888;padding:.5rem 1.5rem;border-radius:50px;cursor:pointer;transition:all .3s}.ds-tab.active,.ds-tab:hover{border-color:var(--accent);color:#fff}.ds-work-card{background:#111;border-radius:8px;overflow:hidden}.ds-work-thumb{aspect-ratio:16/9;background:#222}.ds-work-title{padding:1rem;font-weight:600}#ds-contact{display:flex;flex-direction:column;gap:1rem;align-items:center}#ds-contact-email{font-size:1.2rem;font-weight:700}.copyright{margin-top:4rem;text-align:center;color:#444;font-size:.8rem}.btn-primary{background:#fff;color:#000;border:none;padding:1rem 2rem;font-weight:700;border-radius:4px;cursor:pointer;margin:0 5px;transition:transform .2s}.btn-secondary{background:transparent;border:1px solid white;color:#fff;padding:1rem 2rem;font-weight:700;border-radius:4px;cursor:pointer;margin:0 5px}
