{"id":726,"date":"2026-05-14T19:14:27","date_gmt":"2026-05-14T17:14:27","guid":{"rendered":"https:\/\/vortexmedia.agency\/?page_id=726"},"modified":"2026-05-14T19:19:50","modified_gmt":"2026-05-14T17:19:50","slug":"sobre-nosotros-ingles","status":"publish","type":"page","link":"https:\/\/vortexmedia.agency\/es\/sobre-nosotros-ingles\/","title":{"rendered":"sobre nosotros ingles"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"726\" class=\"elementor elementor-726\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a07b024 e-flex e-con-boxed e-con e-parent\" data-id=\"a07b024\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f473fbf elementor-widget__width-inherit elementor-widget elementor-widget-shortcode\" data-id=\"f473fbf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>About Us \u2014 Vortex Media | Communications Agency<\/title>\r\n<meta name=\"description\" content=\"Conoce Vortex Media: una agencia de comunicaci\u00f3n estrat\u00e9gica en Espa\u00f1a especializada en consultor\u00eda, branding, comunicaci\u00f3n deportiva y contenidos. Descubre nuestra filosof\u00eda y por qu\u00e9 trabajamos diferente.\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.13.0\/gsap.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.13.0\/ScrollTrigger.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.13.0\/ScrollToPlugin.min.js\"><\/script>\r\n<script type=\"application\/ld+json\">\r\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Organization\",\"name\":\"Vortex Media\",\"url\":\"https:\/\/vortexmedia.agency\",\"description\":\"Agencia de comunicaci\u00f3n estrat\u00e9gica especializada en consultor\u00eda, branding, comunicaci\u00f3n deportiva y gesti\u00f3n de contenidos.\",\"areaServed\":\"ES\",\"sameAs\":[]}\r\n<\/script>\r\n<style>\r\n*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}\r\n:root{\r\n  --white:#ffffff;--off-white:#f8f8fa;--light-gray:#eeeff2;--mid-gray:#dcdde2;\r\n  --text-primary:#0a0a0f;--text-secondary:#3a3a4a;--text-muted:#8a8a9a;\r\n  --accent:#0055ff;--accent-rgb:0,85,255;--accent-light:#eef3ff;--accent-hover:#003ecc;\r\n  --surface-alt:#f4f5f8;\r\n  --font-heading:'Space Grotesk',-apple-system,sans-serif;\r\n  --font-body:'Inter',-apple-system,sans-serif;\r\n}\r\nhtml{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}\r\nbody{font-family:var(--font-body);background:var(--white);color:var(--text-primary);overflow-x:hidden;line-height:1.6}\r\na{text-decoration:none;color:inherit}\r\n::-webkit-scrollbar{width:5px}\r\n::-webkit-scrollbar-track{background:var(--light-gray)}\r\n::-webkit-scrollbar-thumb{background:var(--mid-gray);border-radius:3px}\r\n\/*\u2550\u2550\u2550 HERO \u2550\u2550\u2550*\/\r\n.hero{\r\n  min-height:80vh;display:flex;align-items:center;\r\n  padding:8rem 6% 5rem;position:relative;overflow:hidden;\r\n}\r\n.hero::before{\r\n  content:'';position:absolute;top:-150px;right:-200px;\r\n  width:700px;height:700px;border-radius:50%;\r\n  background:radial-gradient(circle,rgba(var(--accent-rgb),.04) 0%,transparent 70%);\r\n  pointer-events:none;\r\n}\r\n.hero-inner{max-width:1300px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:center}\r\n.hero-tag{font-size:.7rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}\r\n.hero h1{\r\n  font-family:var(--font-heading);font-size:clamp(2.2rem,4.5vw,3.5rem);\r\n  font-weight:700;line-height:1.08;margin-bottom:1.5rem;color:var(--text-primary);\r\n}\r\n.hero-lead{font-size:1.1rem;color:var(--text-secondary);line-height:1.85;max-width:560px}\r\n.breadcrumb{font-size:.75rem;color:var(--text-muted);margin-bottom:1.5rem}\r\n.breadcrumb a{color:var(--accent);transition:opacity .3s}\r\n.breadcrumb a:hover{opacity:.7}\r\n.breadcrumb span{margin:0 .4rem}\r\n\/* Hero animated visual \u2014 constellation *\/\r\n.hero-visual{position:relative;max-width:560px;width:100%;justify-self:end}\r\n.hero-visual svg{width:100%;height:100%}\r\n\/*\u2550\u2550\u2550 SECTION \u2550\u2550\u2550*\/\r\n.section{padding:7rem 6%}\r\n.section-inner{max-width:1300px;margin:0 auto}\r\n.section-tag{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;display:block}\r\n.section-title{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;line-height:1.1;margin-bottom:.6rem;max-width:700px}\r\n.section-desc{font-size:1.05rem;color:var(--text-secondary);line-height:1.85;max-width:680px;margin-bottom:2rem}\r\n\/*\u2550\u2550\u2550 STORY \u2014 text + visual \u2550\u2550\u2550*\/\r\n.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:stretch;margin-top:1rem}\r\n.story-col{display:flex;flex-direction:column;justify-content:center}\r\n.story-col p{font-size:.95rem;color:var(--text-secondary);line-height:1.85;margin-bottom:1.2rem}\r\n.story-quote{\r\n  font-family:var(--font-heading);font-size:1.4rem;font-weight:600;\r\n  line-height:1.4;color:var(--text-primary);margin:2rem 0;\r\n  padding-left:1.5rem;border-left:3px solid var(--accent);\r\n}\r\n.story-visual{border-radius:24px;overflow:hidden;position:relative;display:flex;align-items:stretch}\r\n.story-visual svg{width:100%;height:100%;min-height:100%}\r\n\/*\u2550\u2550\u2550 VALUES \u2014 horizontal scroll \u2550\u2550\u2550*\/\r\n.values-section{padding:7rem 6%;background:var(--surface-alt);overflow:hidden}\r\n.values-header{max-width:1300px;margin:0 auto 3rem;display:flex;justify-content:space-between;align-items:flex-end}\r\n.values-header-text h2{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;line-height:1.1;margin-bottom:.6rem}\r\n.values-header-text p{font-size:1rem;color:var(--text-secondary)}\r\n.values-hint{\r\n  display:flex;align-items:center;gap:.5rem;\r\n  font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);\r\n  flex-shrink:0;\r\n}\r\n.values-hint svg{width:20px;height:20px;animation:hintSlide 1.5s ease-in-out infinite}\r\n@keyframes hintSlide{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}\r\n.values-track-outer{\r\n  overflow-x:auto;cursor:grab;-webkit-overflow-scrolling:touch;\r\n  scrollbar-width:none;padding-bottom:1rem;\r\n}\r\n.values-track-outer::-webkit-scrollbar{display:none}\r\n.values-track-outer:active{cursor:grabbing}\r\n.values-track{\r\n  display:flex;gap:1.5rem;\r\n  padding:0 max(calc((100vw - 1300px)\/2),5%) 1rem;\r\n  width:max-content;\r\n}\r\n.value-card{\r\n  min-width:320px;max-width:320px;border-radius:20px;\r\n  background:var(--white);border:1px solid var(--light-gray);\r\n  padding:2.5rem 2rem;flex-shrink:0;\r\n  transition:all .4s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;\r\n}\r\n.value-card:hover{border-color:rgba(var(--accent-rgb),.15);transform:translateY(-4px);box-shadow:0 16px 50px rgba(0,0,0,.06)}\r\n.value-card-number{\r\n  font-family:var(--font-heading);font-size:3rem;font-weight:700;\r\n  color:var(--light-gray);margin-bottom:1rem;line-height:1;\r\n  transition:all .5s cubic-bezier(.23,1,.32,1);\r\n}\r\n.value-card:hover .value-card-number{\r\n  color:var(--accent);\r\n  text-shadow:0 0 20px rgba(var(--accent-rgb),.3),0 0 40px rgba(var(--accent-rgb),.15),0 0 60px rgba(var(--accent-rgb),.08);\r\n}\r\n.value-card h3{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;margin-bottom:.6rem}\r\n.value-card p{font-size:.88rem;color:var(--text-secondary);line-height:1.75}\r\n.value-card-icon{\r\n  position:absolute;top:2rem;right:2rem;width:40px;height:40px;\r\n  border-radius:12px;background:var(--accent-light);\r\n  display:flex;align-items:center;justify-content:center;\r\n}\r\n.value-card-icon svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.8}\r\n.values-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}\r\n.values-dot{width:8px;height:8px;border-radius:50%;background:var(--mid-gray);cursor:pointer;transition:all .3s}\r\n.values-dot.active{background:var(--accent);width:24px;border-radius:4px}\r\n\/*\u2550\u2550\u2550 PHILOSOPHY \u2014 big text with parallax visual \u2550\u2550\u2550*\/\r\n.philosophy{padding:7rem 6%;background:var(--white);overflow:hidden}\r\n.philosophy-inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:stretch}\r\n.philosophy-visual{position:relative;border-radius:24px;overflow:hidden;display:flex;align-items:stretch}\r\n.philosophy-visual svg{width:100%;height:100%;min-height:100%}\r\n.philosophy-text{display:flex;flex-direction:column;justify-content:center}\r\n.philosophy-text h2{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;line-height:1.1;margin-bottom:1.5rem}\r\n.philosophy-text p{font-size:.95rem;color:var(--text-secondary);line-height:1.85;margin-bottom:1rem}\r\n\/*\u2550\u2550\u2550 PRINCIPLES \u2014 3 col \u2550\u2550\u2550*\/\r\n.principles{padding:7rem 6%;background:var(--surface-alt)}\r\n.principles-inner{max-width:1300px;margin:0 auto}\r\n.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}\r\n.principle-card{\r\n  padding:2.5rem 2rem;border-radius:20px;background:var(--white);\r\n  border:1px solid var(--light-gray);transition:all .4s cubic-bezier(.23,1,.32,1);\r\n  position:relative;\r\n}\r\n.principle-card:hover{border-color:rgba(var(--accent-rgb),.15);transform:translateY(-4px);box-shadow:0 16px 50px rgba(0,0,0,.05)}\r\n.principle-icon{\r\n  width:48px;height:48px;border-radius:14px;\r\n  background:var(--accent-light);display:flex;align-items:center;justify-content:center;\r\n  margin-bottom:1.5rem;\r\n}\r\n.principle-icon svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.8}\r\n.principle-card h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin-bottom:.6rem}\r\n.principle-card p{font-size:.88rem;color:var(--text-secondary);line-height:1.75}\r\n\/*\u2550\u2550\u2550 NUMBERS \u2550\u2550\u2550*\/\r\n.numbers{padding:5rem 6%;background:var(--text-primary);color:var(--white);overflow:hidden}\r\n.numbers-inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:3rem;text-align:center}\r\n.number-item{position:relative}\r\n.number-value{\r\n  font-family:var(--font-heading);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:700;\r\n  color:var(--accent);margin-bottom:.5rem;\r\n}\r\n.number-label{font-size:.82rem;color:rgba(255,255,255,.5);letter-spacing:.05em}\r\n\/*\u2550\u2550\u2550 DIFF \u2014 what makes us different \u2550\u2550\u2550*\/\r\n.diff-section{padding:7rem 6%;background:var(--white)}\r\n.diff-inner{max-width:1300px;margin:0 auto}\r\n.diff-header{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:stretch;margin-bottom:4rem}\r\n.diff-header-text{display:flex;flex-direction:column;justify-content:center}\r\n.diff-header-text h2{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;line-height:1.1;margin-bottom:1.2rem}\r\n.diff-header-text p{font-size:.95rem;color:var(--text-secondary);line-height:1.85;margin-bottom:1rem}\r\n.diff-visual{border-radius:24px;overflow:hidden;justify-self:end;display:flex;align-items:stretch}\r\n.diff-visual svg{width:100%;height:100%;min-height:100%}\r\n.diff-items{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}\r\n.diff-item{\r\n  display:flex;gap:1.2rem;align-items:flex-start;\r\n  padding:1.5rem;border-radius:16px;border:1px solid var(--light-gray);\r\n  transition:all .4s cubic-bezier(.23,1,.32,1);\r\n}\r\n.diff-item:hover{border-color:rgba(var(--accent-rgb),.12);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.03)}\r\n.diff-item-dot{\r\n  flex-shrink:0;width:8px;height:8px;margin-top:.4rem;\r\n  background:var(--accent);border-radius:50%;\r\n}\r\n.diff-item h4{font-family:var(--font-heading);font-size:.95rem;font-weight:700;margin-bottom:.25rem}\r\n.diff-item p{font-size:.85rem;color:var(--text-secondary);line-height:1.7}\r\n\/*\u2550\u2550\u2550 CTA \u2550\u2550\u2550*\/\r\n.cta-section{\r\n  min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;\r\n  text-align:center;padding:7rem 6%;background:var(--surface-alt);position:relative;overflow:hidden;\r\n}\r\n.cta-section::before{\r\n  content:'';position:absolute;width:600px;height:600px;border-radius:50%;\r\n  background:rgba(var(--accent-rgb),.04);filter:blur(100px);\r\n  bottom:-150px;left:50%;transform:translateX(-50%);pointer-events:none;\r\n}\r\n.cta-tag{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}\r\n.cta-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.08;max-width:600px;margin-bottom:1.2rem}\r\n.cta-desc{font-size:1.05rem;color:var(--text-secondary);max-width:520px;line-height:1.7;margin-bottom:2.5rem}\r\n.cta-btn{\r\n  display:inline-flex;align-items:center;gap:.7rem;\r\n  background:var(--accent);color:var(--white);padding:1.1rem 2.5rem;\r\n  border-radius:14px;font-weight:700;font-size:1.02rem;\r\n  transition:all .4s;position:relative;overflow:hidden;\r\n}\r\n.cta-btn::before{\r\n  content:'';position:absolute;inset:0;\r\n  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);\r\n  transform:translateX(-100%);transition:transform .6s;\r\n}\r\n.cta-btn:hover::before{transform:translateX(100%)}\r\n.cta-btn:hover{transform:translateY(-3px);box-shadow:0 15px 50px rgba(var(--accent-rgb),.25)}\r\n.cta-btn svg{width:18px;height:18px;transition:transform .3s}\r\n.cta-btn:hover svg{transform:translateX(4px)}\r\n.cta-sub{margin-top:1rem;font-size:.78rem;color:var(--text-muted)}\r\n\r\n\/*\u2550\u2550\u2550 REVEAL \u2550\u2550\u2550*\/\r\n.reveal-up{opacity:0;transform:translateY(50px)}\r\n.reveal-right{opacity:0;transform:translateX(50px)}\r\n.reveal-left{opacity:0;transform:translateX(-50px)}\r\n.reveal-scale{opacity:0;transform:scale(.92)}\r\n\/*\u2550\u2550\u2550 RESPONSIVE \u2550\u2550\u2550*\/\r\n@media(max-width:1024px){\r\n  .hero-inner{grid-template-columns:1fr;gap:2.5rem}\r\n  .hero-visual{max-width:380px;justify-self:start}\r\n  .story-grid{grid-template-columns:1fr;gap:2.5rem}\r\n  .story-visual{max-height:320px;min-height:240px}\r\n  .philosophy-inner{grid-template-columns:1fr;gap:2.5rem}\r\n  .philosophy-visual{max-width:100%;min-height:280px;max-height:360px}\r\n  .diff-header{grid-template-columns:1fr;gap:2.5rem}\r\n  .diff-visual{max-width:100%;justify-self:start;min-height:220px;max-height:300px}\r\n  .diff-items{grid-template-columns:1fr}\r\n  .principles-grid{grid-template-columns:1fr 1fr}\r\n  .numbers-inner{grid-template-columns:repeat(2,1fr);gap:2rem}\r\n  .values-header{flex-direction:column;align-items:flex-start;gap:1rem}\r\n  .section{padding:5rem 5%}\r\n  .values-section{padding:5rem 5%}\r\n  .philosophy{padding:5rem 5%}\r\n  .principles{padding:5rem 5%}\r\n  .diff-section{padding:5rem 5%}\r\n  .cta-section{padding:5rem 5%}\r\n}\r\n@media(max-width:768px){\r\n  .hero{min-height:auto;padding:6rem 5% 3.5rem}\r\n  .hero-inner{gap:2rem}\r\n  .hero-visual{max-width:100%}\r\n  .hero h1{font-size:clamp(1.8rem,7vw,2.4rem)}\r\n  .hero-lead{font-size:1rem}\r\n  .hero-tag{margin-bottom:1rem}\r\n  .breadcrumb{margin-bottom:1rem}\r\n  .section{padding:4rem 5%}\r\n  .section-tag{margin-bottom:.6rem}\r\n  .section-title{font-size:clamp(1.5rem,6vw,2.2rem);margin-bottom:.4rem}\r\n  .story-grid{gap:2rem;margin-top:.8rem}\r\n  .story-visual{max-height:280px;min-height:200px;border-radius:16px}\r\n  .story-quote{font-size:1.15rem;margin:1.5rem 0}\r\n  .story-col p{font-size:.9rem;margin-bottom:1rem}\r\n  .values-section{padding:4rem 0}\r\n  .values-header{padding:0 5%;margin-bottom:2rem}\r\n  .values-header-text h2{font-size:clamp(1.5rem,6vw,2rem)}\r\n  .values-hint{display:none}\r\n  .value-card{min-width:270px;max-width:270px;padding:2rem 1.5rem}\r\n  .value-card-number{font-size:2.5rem}\r\n  .philosophy{padding:4rem 5%}\r\n  .philosophy-inner{gap:2rem}\r\n  .philosophy-visual{max-height:300px;min-height:220px;border-radius:16px}\r\n  .philosophy-text h2{font-size:clamp(1.5rem,6vw,2.2rem);margin-bottom:1rem}\r\n  .philosophy-text p{font-size:.9rem}\r\n  .principles{padding:4rem 5%}\r\n  .principles-grid{grid-template-columns:1fr;gap:1.2rem;margin-top:2rem}\r\n  .principle-card{padding:2rem 1.5rem;border-radius:16px}\r\n  .principle-icon{width:42px;height:42px;margin-bottom:1rem}\r\n  .numbers{padding:3.5rem 5%}\r\n  .numbers-inner{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}\r\n  .number-value{font-size:clamp(2rem,8vw,2.8rem)}\r\n  .number-label{font-size:.75rem}\r\n  .diff-section{padding:4rem 5%}\r\n  .diff-header{gap:2rem;margin-bottom:2.5rem}\r\n  .diff-header-text h2{font-size:clamp(1.5rem,6vw,2.2rem)}\r\n  .diff-visual{max-height:240px;min-height:180px;border-radius:16px}\r\n  .diff-items{gap:1rem}\r\n  .diff-item{padding:1.2rem;border-radius:12px}\r\n  .diff-item h4{font-size:.9rem}\r\n  .diff-item p{font-size:.82rem}\r\n  .cta-section{min-height:auto;padding:4rem 5%}\r\n  .cta-title{font-size:clamp(1.6rem,5.5vw,2.2rem)}\r\n  .cta-desc{font-size:.95rem}\r\n  .cta-btn{padding:.95rem 2rem;font-size:.95rem;border-radius:12px}\r\n  .footer{flex-direction:column;gap:.8rem;text-align:center;padding:2rem 5%}\r\n}\r\n@media(max-width:480px){\r\n  .hero{padding:5.5rem 4% 3rem}\r\n  .hero h1{font-size:1.7rem}\r\n  .section{padding:3.5rem 4%}\r\n  .story-visual{max-height:220px;min-height:160px}\r\n  .philosophy-visual{max-height:240px;min-height:180px}\r\n  .diff-visual{max-height:180px;min-height:140px}\r\n  .value-card{min-width:250px;max-width:250px;padding:1.8rem 1.3rem}\r\n  .principles-grid{gap:1rem}\r\n  .principle-card{padding:1.5rem 1.2rem}\r\n  .numbers-inner{gap:1.5rem 1rem}\r\n  .cta-title{font-size:1.5rem}\r\n  .cta-btn{width:100%;justify-content:center}\r\n}\r\n<\/style>\r\n<\/head>\r\n<body>\r\n<!-- \u2550\u2550\u2550 HERO \u2550\u2550\u2550 -->\r\n<section class=\"hero\">\r\n  <div class=\"hero-inner\">\r\n    <div>\r\n      <div class=\"breadcrumb reveal-up\"><a href=\"\/\">Home<\/a><span>\u203a<\/span>About Us<\/div>\r\n      <div class=\"hero-tag reveal-up\">About Us<\/div>\r\n      <h1 class=\"reveal-up\">Vortex Media tells you what you need to hear.<\/h1>\r\n      <p class=\"hero-lead reveal-up\">Vortex Media was born from a simple conviction: most businesses and athletes have a communications problem \u2014 often as a result from a lack of strategy. That's where we put our focus at.<\/p>\r\n    <\/div>\r\n    <div class=\"hero-visual reveal-right\" id=\"hero-visual\">\r\n      <svg viewBox=\"0 0 560 480\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"background:linear-gradient(135deg,#eef3ff 0%,#f0e8ff 50%,#e8f8ff 100%);border-radius:24px\" id=\"constellation-svg\">\r\n        <!-- Animated constellation \u2014 dots and connections generated by JS -->\r\n      <\/svg>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n<!-- \u2550\u2550\u2550 STORY \u2550\u2550\u2550 -->\r\n<div class=\"section\" style=\"background:var(--surface-alt)\">\r\n  <div class=\"section-inner\">\r\n    <span class=\"section-tag reveal-up\">Our story<\/span>\r\n    <h2 class=\"section-title reveal-up\">Your reputation is at stake.<\/h2>\r\n    <div class=\"story-grid\">\r\n      <div class=\"story-col\">\r\n        <p class=\"reveal-up\">Before Vortex Media, we spent years working at agencies where the priority was billing quickly, not doing things properly. Recycled proposals, generic strategies and polished presentations that didn't move the needle.<\/p>\r\n        <p class=\"reveal-up\">We grew tired of it. So we decided to build an agency where honesty was the foundation, not a tagline. Where an uncomfortable diagnosis is worth more than a proposal that sounds brilliant but doesn't deliver.<\/p>\r\n        <div class=\"story-quote reveal-up\">\r\n          If your communications aren't connected to your business strategy, you're shouting into the void.\r\n        <\/div>\r\n        <p class=\"reveal-up\">Every project we take on is treated with as much care as if it was the only one.<\/p>\r\n      <\/div>\r\n      <div class=\"story-visual reveal-right\">\r\n        <svg viewBox=\"0 0 480 520\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" preserveAspectRatio=\"xMidYMid meet\" style=\"background:linear-gradient(135deg,#eef3ff 0%,#f0e8ff 50%,#e8f8ff 100%);border-radius:24px\">\r\n          <!-- Visual: Noise\/chaos filtering into clarity \u2014 represents breaking from mediocrity -->\r\n          <!-- LEFT SIDE: scattered noise (old way) -->\r\n          <rect x=\"40\" y=\"80\" width=\"55\" height=\"6\" rx=\"3\" fill=\"rgba(0,85,255,.04)\" transform=\"rotate(-12,67,83)\"\/>\r\n          <rect x=\"50\" y=\"120\" width=\"70\" height=\"5\" rx=\"2\" fill=\"rgba(0,85,255,.05)\" transform=\"rotate(8,85,122)\"\/>\r\n          <rect x=\"35\" y=\"155\" width=\"45\" height=\"5\" rx=\"2\" fill=\"rgba(0,85,255,.03)\" transform=\"rotate(-5,57,157)\"\/>\r\n          <rect x=\"60\" y=\"190\" width=\"60\" height=\"5\" rx=\"2\" fill=\"rgba(0,85,255,.04)\" transform=\"rotate(15,90,192)\"\/>\r\n          <rect x=\"40\" y=\"230\" width=\"50\" height=\"6\" rx=\"3\" fill=\"rgba(0,85,255,.05)\" transform=\"rotate(-8,65,233)\"\/>\r\n          <rect x=\"55\" y=\"265\" width=\"65\" height=\"5\" rx=\"2\" fill=\"rgba(0,85,255,.03)\" transform=\"rotate(10,87,267)\"\/>\r\n          <rect x=\"30\" y=\"305\" width=\"55\" height=\"5\" rx=\"2\" fill=\"rgba(0,85,255,.04)\" transform=\"rotate(-15,57,307)\"\/>\r\n          <rect x=\"50\" y=\"340\" width=\"48\" height=\"5\" rx=\"2\" fill=\"rgba(0,85,255,.05)\" transform=\"rotate(6,74,342)\"\/>\r\n          <rect x=\"38\" y=\"380\" width=\"58\" height=\"5\" rx=\"2\" fill=\"rgba(0,85,255,.03)\" transform=\"rotate(-3,67,382)\"\/>\r\n          <rect x=\"55\" y=\"415\" width=\"42\" height=\"5\" rx=\"2\" fill=\"rgba(0,85,255,.04)\" transform=\"rotate(12,76,417)\"\/>\r\n          <!-- Scattered dots (chaos) -->\r\n          <circle cx=\"70\" cy=\"100\" r=\"3\" fill=\"rgba(0,85,255,.06)\"\/>\r\n          <circle cx=\"110\" cy=\"140\" r=\"2\" fill=\"rgba(0,85,255,.04)\"\/>\r\n          <circle cx=\"45\" cy=\"200\" r=\"2.5\" fill=\"rgba(0,85,255,.05)\"\/>\r\n          <circle cx=\"95\" cy=\"250\" r=\"2\" fill=\"rgba(0,85,255,.03)\"\/>\r\n          <circle cx=\"55\" cy=\"350\" r=\"3\" fill=\"rgba(0,85,255,.05)\"\/>\r\n          <circle cx=\"100\" cy=\"400\" r=\"2\" fill=\"rgba(0,85,255,.04)\"\/>\r\n          <!-- FUNNEL \/ FILTER \u2014 center convergence -->\r\n          <path d=\"M150,60 L240,230 L240,520\" fill=\"none\" stroke=\"rgba(0,85,255,.06)\" stroke-width=\"1\" stroke-dasharray=\"4,6\"\/>\r\n          <path d=\"M150,460 L240,290 L240,230\" fill=\"none\" stroke=\"rgba(0,85,255,.06)\" stroke-width=\"1\" stroke-dasharray=\"4,6\"\/>\r\n          <!-- Convergence point -->\r\n          <circle cx=\"240\" cy=\"260\" r=\"18\" fill=\"rgba(0,85,255,.03)\" stroke=\"rgba(0,85,255,.08)\" stroke-width=\"1.5\"\/>\r\n          <circle cx=\"240\" cy=\"260\" r=\"8\" fill=\"rgba(0,85,255,.06)\"\/>\r\n          <circle cx=\"240\" cy=\"260\" r=\"3\" fill=\"rgba(0,85,255,.12)\"\/>\r\n          <!-- RIGHT SIDE: clear, aligned output (new way) -->\r\n          <rect x=\"310\" y=\"140\" width=\"120\" height=\"4\" rx=\"2\" fill=\"rgba(0,85,255,.1)\"\/>\r\n          <rect x=\"310\" y=\"170\" width=\"100\" height=\"4\" rx=\"2\" fill=\"rgba(0,85,255,.08)\"\/>\r\n          <rect x=\"310\" y=\"200\" width=\"130\" height=\"4\" rx=\"2\" fill=\"rgba(0,85,255,.1)\"\/>\r\n          <rect x=\"310\" y=\"260\" width=\"125\" height=\"4\" rx=\"2\" fill=\"rgba(0,85,255,.12)\"\/>\r\n          <rect x=\"310\" y=\"290\" width=\"110\" height=\"4\" rx=\"2\" fill=\"rgba(0,85,255,.1)\"\/>\r\n          <rect x=\"310\" y=\"320\" width=\"120\" height=\"4\" rx=\"2\" fill=\"rgba(0,85,255,.08)\"\/>\r\n          <rect x=\"310\" y=\"380\" width=\"115\" height=\"4\" rx=\"2\" fill=\"rgba(0,85,255,.1)\"\/>\r\n          <!-- Accent highlight on key lines -->\r\n          <rect x=\"310\" y=\"258\" width=\"125\" height=\"8\" rx=\"4\" fill=\"rgba(0,85,255,.04)\"\/>\r\n          <!-- Arrow from center to right -->\r\n          <path d=\"M258,260 L295,260\" fill=\"none\" stroke=\"rgba(0,85,255,.12)\" stroke-width=\"1.5\" stroke-linecap=\"round\"\/>\r\n          <polygon points=\"295,256 303,260 295,264\" fill=\"rgba(0,85,255,.12)\"\/>\r\n          <!-- Labels -->\r\n          <text x=\"75\" y=\"460\" text-anchor=\"middle\" font-family=\"Space Grotesk,sans-serif\" font-size=\"7\" font-weight=\"600\" fill=\"rgba(0,85,255,.1)\" letter-spacing=\"2\">RUIDO<\/text>\r\n          <text x=\"240\" y=\"300\" text-anchor=\"middle\" font-family=\"Space Grotesk,sans-serif\" font-size=\"7\" font-weight=\"600\" fill=\"rgba(0,85,255,.12)\" letter-spacing=\"2\">FILTRO<\/text>\r\n          <text x=\"370\" y=\"430\" text-anchor=\"middle\" font-family=\"Space Grotesk,sans-serif\" font-size=\"7\" font-weight=\"600\" fill=\"rgba(0,85,255,.14)\" letter-spacing=\"2\">ESTRATEGIA<\/text>\r\n          <!-- Decorative connection lines (right side alignment guides) -->\r\n          <line x1=\"300\" y1=\"130\" x2=\"300\" y2=\"400\" stroke=\"rgba(0,85,255,.04)\" stroke-width=\"1\"\/>\r\n          <!-- Small quality marks on right side -->\r\n          <circle cx=\"445\" cy=\"140\" r=\"3\" fill=\"rgba(0,85,255,.08)\"\/>\r\n          <circle cx=\"420\" cy=\"170\" r=\"2.5\" fill=\"rgba(0,85,255,.06)\"\/>\r\n          <circle cx=\"450\" cy=\"200\" r=\"3\" fill=\"rgba(0,85,255,.08)\"\/>\r\n          <circle cx=\"445\" cy=\"260\" r=\"3.5\" fill=\"rgba(0,85,255,.1)\"\/>\r\n          <circle cx=\"430\" cy=\"290\" r=\"2.5\" fill=\"rgba(0,85,255,.07)\"\/>\r\n          <circle cx=\"440\" cy=\"320\" r=\"3\" fill=\"rgba(0,85,255,.06)\"\/>\r\n        <\/svg>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n<!-- \u2550\u2550\u2550 VALUES \u2014 Horizontal slide \u2550\u2550\u2550 -->\r\n<section class=\"values-section\" id=\"valores\">\r\n  <div class=\"values-header\">\r\n    <div class=\"values-header-text\">\r\n      <span class=\"section-tag reveal-up\">Values<\/span>\r\n      <h2 class=\"reveal-up\">What guides us every day<\/h2>\r\n      <p class=\"reveal-up\">These aren't empty words. They're decisions we make daily.<\/p>\r\n    <\/div>\r\n    <div class=\"values-hint reveal-up\">\r\n      Scroll\r\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"values-track-outer\" id=\"values-scroller\">\r\n    <div class=\"values-track\" id=\"values-track\">\r\n      <div class=\"value-card reveal-up\">\r\n        <div class=\"value-card-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg><\/div>\r\n        <div class=\"value-card-number\">01<\/div>\r\n        <h3>Honesty<\/h3>\r\n        <p>If something isn't working, we'll tell you. If your idea isn't viable, we'll explain why with data. We'd rather make you uncomfortable today than watch you fail tomorrow. The truth is always more useful than an easy yes.<\/p>\r\n      <\/div>\r\n      <div class=\"value-card reveal-up\">\r\n        <div class=\"value-card-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 12h-4l-3 9L9 3l-3 9H2\"\/><\/svg><\/div>\r\n        <div class=\"value-card-number\">02<\/div>\r\n        <h3>Data-driven decisions<\/h3>\r\n        <p>Gut feelings are fine as a starting point. But decisions are made with data. Every recommendation we make is backed by real analysis \u2014 not by what \"usually works\" or the latest trends.<\/p>\r\n      <\/div>\r\n      <div class=\"value-card reveal-up\">\r\n        <div class=\"value-card-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z\"\/><\/svg><\/div>\r\n        <div class=\"value-card-number\">03<\/div>\r\n        <h3>Vision<\/h3>\r\n        <p>Communication should drive measurable impact. We align it with sales, product, company culture, and customer experience. That requires an in-depth understanding of your business \u2014 because without true understanding, communication loses its effectiveness<\/p>\r\n      <\/div>\r\n      <div class=\"value-card reveal-up\">\r\n        <div class=\"value-card-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><polyline points=\"16 11 18 13 22 9\"\/><\/svg><\/div>\r\n        <div class=\"value-card-number\">04<\/div>\r\n        <h3>Genuine commitment<\/h3>\r\n        <p>We don't vanish after the plan is delivered. We support the execution, adjust what isn't working and celebrate what is. Your success is ours.<\/p>\r\n      <\/div>\r\n      <div class=\"value-card reveal-up\">\r\n        <div class=\"value-card-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg><\/div>\r\n        <div class=\"value-card-number\">05<\/div>\r\n        <h3>Excellence without excuses<\/h3>\r\n        <p>Every project goes out as it were for our own portfolio. There's no such thing as \"good enough\". It either meets the standard or it doesn't. We hold ourselves to a higher bar than any client ever would.<\/p>\r\n      <\/div>\r\n      <div class=\"value-card reveal-up\">\r\n        <div class=\"value-card-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\/><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"\/><line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"\/><\/svg><\/div>\r\n        <div class=\"value-card-number\">06<\/div>\r\n        <h3>Full transparency<\/h3>\r\n        <p>We share real metrics, not just the ones that look good on a slide. If a campaign underperforms, we own it and dig into the problem. That's how trust is built.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"values-dots\" id=\"values-dots\"><\/div>\r\n<\/section>\r\n<!-- \u2550\u2550\u2550 PHILOSOPHY \u2550\u2550\u2550 -->\r\n<section class=\"philosophy\">\r\n  <div class=\"philosophy-inner\">\r\n    <div class=\"philosophy-visual reveal-left\">\r\n      <svg viewBox=\"0 0 480 520\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" preserveAspectRatio=\"xMidYMid meet\" style=\"background:linear-gradient(135deg,#eef3ff 0%,#f0e8ff 50%,#e8f8ff 100%);border-radius:24px\" id=\"orbit-svg\">\r\n        <!-- Orbital system -->\r\n        <ellipse cx=\"240\" cy=\"260\" rx=\"170\" ry=\"55\" fill=\"none\" stroke=\"rgba(0,85,255,.06)\" stroke-width=\"1\" transform=\"rotate(-25,240,260)\"\/>\r\n        <ellipse cx=\"240\" cy=\"260\" rx=\"170\" ry=\"55\" fill=\"none\" stroke=\"rgba(100,0,255,.05)\" stroke-width=\"1\" transform=\"rotate(35,240,260)\"\/>\r\n        <ellipse cx=\"240\" cy=\"260\" rx=\"170\" ry=\"55\" fill=\"none\" stroke=\"rgba(0,85,255,.04)\" stroke-width=\"1\" transform=\"rotate(95,240,260)\"\/>\r\n        <ellipse cx=\"240\" cy=\"260\" rx=\"120\" ry=\"35\" fill=\"none\" stroke=\"rgba(0,85,255,.04)\" stroke-width=\"1\" transform=\"rotate(10,240,260)\"\/>\r\n        <!-- Center -->\r\n        <circle cx=\"240\" cy=\"260\" r=\"50\" fill=\"rgba(0,85,255,.03)\" stroke=\"rgba(0,85,255,.07)\" stroke-width=\"1\"\/>\r\n        <circle cx=\"240\" cy=\"260\" r=\"28\" fill=\"rgba(0,85,255,.04)\"\/>\r\n        <circle cx=\"240\" cy=\"260\" r=\"10\" fill=\"rgba(0,85,255,.08)\"\/>\r\n        <!-- Orbiting dots \u2014 animated by JS -->\r\n        <circle r=\"5\" fill=\"rgba(0,85,255,.15)\" id=\"orb1\"\/>\r\n        <circle r=\"4\" fill=\"rgba(100,0,255,.12)\" id=\"orb2\"\/>\r\n        <circle r=\"4\" fill=\"rgba(0,85,255,.1)\" id=\"orb3\"\/>\r\n        <circle r=\"3\" fill=\"rgba(100,0,255,.08)\" id=\"orb4\"\/>\r\n        <text x=\"240\" y=\"265\" text-anchor=\"middle\" font-family=\"Space Grotesk,sans-serif\" font-size=\"10\" font-weight=\"700\" fill=\"rgba(0,85,255,.1)\">VM<\/text>\r\n      <\/svg>\r\n    <\/div>\r\n    <div class=\"philosophy-text\">\r\n      <span class=\"section-tag reveal-up\">PHILOSOPHY<\/span>\r\n      <h2 class=\"reveal-up\">We don't believe in superficial communication.<\/h2>\r\n      <p class=\"reveal-up\">Communicating isn't about posting pretty content or chasing follower counts. It's about building a coherent narrative that bridges what you are with what your audience needs to hear. Every action has a purpose. Every message has a direction.<\/p>\r\n      <p class=\"reveal-up\">We work with those who understand that communications are an investment, and that results are measured in perception, positioning and business impact \u2014 not vanity metrics.<\/p>\r\n      <p class=\"reveal-up\">If you're looking for an agency that tells you everything's fine and publishes nice content without measuring anything, we are not what you need. But if you want your communications to drive your business where you actually want it to be \u2014 then yes, let's talk.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n<!-- \u2550\u2550\u2550 PRINCIPLES \u2550\u2550\u2550 -->\r\n<section class=\"principles\">\r\n  <div class=\"principles-inner\">\r\n    <span class=\"section-tag reveal-up\" style=\"text-align:center\">WORKING PRINCIPLES<\/span>\r\n    <h2 class=\"section-title reveal-up\" style=\"text-align:center;margin:0 auto 1rem\">How we operate<\/h2>\r\n    <p class=\"section-desc reveal-up\" style=\"text-align:center;margin:0 auto\">These aren't sales promises. We implement internal rules to follow on every project.<\/p>\r\n    <div class=\"principles-grid\">\r\n      <div class=\"principle-card reveal-up\">\r\n        <div class=\"principle-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg><\/div>\r\n        <h3>Diagnosis before proposal<\/h3>\r\n        <p>We never present a plan without conducting a proper diagnosis first. We don't sell solutions to problems we haven't verified.<\/p>\r\n      <\/div>\r\n      <div class=\"principle-card reveal-up\">\r\n        <div class=\"principle-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"\/><\/svg><\/div>\r\n        <h3>Meaningful metrics<\/h3>\r\n        <p>We don't report impressions or reach without context. We measure what actually impacts your business: leads, perception, conversion, real positioning.<\/p>\r\n      <\/div>\r\n      <div class=\"principle-card reveal-up\">\r\n        <div class=\"principle-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75\"\/><\/svg><\/div>\r\n        <h3>Team<\/h3>\r\n        <p>Your project is overseen by experienced professionals. Every account is managed by people with direct experience in communications leadership \u2014 no recycled templates.<\/p>\r\n      <\/div>\r\n      <div class=\"principle-card reveal-up\">\r\n        <div class=\"principle-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg><\/div>\r\n        <h3>Realistic timelines<\/h3>\r\n        <p>If something takes six weeks, we say six weeks. We don't promise impossible deadlines to win the project and then ask for extensions.<\/p>\r\n      <\/div>\r\n      <div class=\"principle-card reveal-up\">\r\n        <div class=\"principle-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z\"\/><\/svg><\/div>\r\n        <h3>Constant communication<\/h3>\r\n \u00a0 \u00a0 \u00a0 \u00a0<p>We don't disappear between meetings. We maintain an open channel with you and your team. No last-minute surprises.<\/p>\r\n      <\/div>\r\n      <div class=\"principle-card reveal-up\">\r\n        <div class=\"principle-icon\"><svg viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z\"\/><polyline points=\"14 2 14 8 20 8\"\/><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"\/><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"\/><\/svg><\/div>\r\n        <h3>Everything documented<\/h3>\r\n        <p>Every decision, every change, every deliverable is documented. If tomorrow you wanted to work with another agency, you'd take everything with you.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n<!-- \u2550\u2550\u2550 DIFFERENTIATORS \u2550\u2550\u2550 -->\r\n<section class=\"diff-section\">\r\n  <div class=\"diff-inner\">\r\n    <div class=\"diff-header\">\r\n      <div class=\"diff-header-text\">\r\n        <span class=\"section-tag reveal-up\">WHAT SETS US APART<\/span>\r\n        <h2 class=\"reveal-up\">Why we are different<\/h2>\r\n        <p class=\"reveal-up\">We don't say this to sell. We say it because after years in the industry, we know what most agencies get wrong \u2014 and we built Vortex Media to avoid repeating it.<\/p>\r\n      <\/div>\r\n      <div class=\"diff-visual reveal-right\">\r\n        <svg viewBox=\"0 0 420 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" preserveAspectRatio=\"xMidYMid meet\" style=\"background:linear-gradient(135deg,#f0e8ff 0%,#eef3ff 50%,#e8f8ff 100%);border-radius:24px\">\r\n          <!-- Shield \/ quality visualization -->\r\n          <path d=\"M210,45 L340,95 L340,180 Q340,250 210,275 Q80,250 80,180 L80,95 Z\" fill=\"none\" stroke=\"rgba(0,85,255,.08)\" stroke-width=\"1.5\"\/>\r\n          <path d=\"M210,70 L315,110 L315,175 Q315,235 210,255 Q105,235 105,175 L105,110 Z\" fill=\"rgba(0,85,255,.02)\" stroke=\"rgba(0,85,255,.05)\" stroke-width=\"1\"\/>\r\n          <!-- Inner checkmark -->\r\n          <polyline points=\"175,165 200,190 250,130\" fill=\"none\" stroke=\"rgba(0,85,255,.12)\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n          <!-- Radiating trust lines -->\r\n          <line x1=\"210\" y1=\"35\" x2=\"210\" y2=\"15\" stroke=\"rgba(0,85,255,.06)\" stroke-width=\"1\"\/>\r\n          <line x1=\"355\" y1=\"95\" x2=\"380\" y2=\"82\" stroke=\"rgba(0,85,255,.05)\" stroke-width=\"1\"\/>\r\n          <line x1=\"65\" y1=\"95\" x2=\"40\" y2=\"82\" stroke=\"rgba(0,85,255,.05)\" stroke-width=\"1\"\/>\r\n          <line x1=\"355\" y1=\"195\" x2=\"385\" y2=\"205\" stroke=\"rgba(0,85,255,.04)\" stroke-width=\"1\"\/>\r\n          <line x1=\"65\" y1=\"195\" x2=\"35\" y2=\"205\" stroke=\"rgba(0,85,255,.04)\" stroke-width=\"1\"\/>\r\n          <circle cx=\"210\" cy=\"15\" r=\"3\" fill=\"rgba(0,85,255,.08)\"\/>\r\n          <circle cx=\"380\" cy=\"82\" r=\"2.5\" fill=\"rgba(0,85,255,.06)\"\/>\r\n          <circle cx=\"40\" cy=\"82\" r=\"2.5\" fill=\"rgba(0,85,255,.06)\"\/>\r\n          <!-- Label -->\r\n          <text x=\"210\" y=\"305\" text-anchor=\"middle\" font-family=\"Space Grotesk,sans-serif\" font-size=\"8\" font-weight=\"600\" fill=\"rgba(0,85,255,.1)\" letter-spacing=\"3\">CONFIANZA<\/text>\r\n        <\/svg>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"diff-items\">\r\n      <div class=\"diff-item reveal-up\">\r\n        <div class=\"diff-item-dot\"><\/div>\r\n        <div>\r\n          <h4>Strategy first, execution second<\/h4>\r\n          <p>We never start executing without a clear understanding of the why. That saves both you and us time, money and frustration.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"diff-item reveal-up\">\r\n        <div class=\"diff-item-dot\"><\/div>\r\n        <div>\r\n          <h4>No lock-in contracts<\/h4>\r\n          <p>We earn your trust month by month. If you're not happy, you leave. Simple as that. It forces us to deliver results consistently.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"diff-item reveal-up\">\r\n        <div class=\"diff-item-dot\"><\/div>\r\n        <div>\r\n          <h4>Reporting<\/h4>\r\n          <p>We share real metrics, not the ones that look good in a presentation. If something isn't working, we flag it before you even notice.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"diff-item reveal-up\">\r\n        <div class=\"diff-item-dot\"><\/div>\r\n        <div>\r\n          <h4>Direct communication<\/h4>\r\n          <p>You don't speak to an account manager who then speaks to a creative who then speaks to a strategist. You speak directly with the person working on your account.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n<!-- \u2550\u2550\u2550 CTA \u2550\u2550\u2550 -->\r\n<section class=\"cta-section\" id=\"contacto\">\r\n  <span class=\"cta-tag reveal-up\">SHALL WE BEGIN?<\/span>\r\n  <h2 class=\"cta-title reveal-up\">Tell us what you need.<\/h2>\r\n  <p class=\"cta-desc reveal-up\">A 30-minute conversation can change the direction of your business. No obligation, no empty slide decks.<\/p>\r\n  <a href=\"https:\/\/vortexmedia.agency\/contact\/\" class=\"cta-btn reveal-scale\">\r\n    Schedule a meeting\r\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\r\n  <\/a>\r\n  <p class=\"cta-sub reveal-up\">Response within 48 hours<\/p>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550 JS \u2550\u2550\u2550 -->\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded',()=>{\r\n  gsap.registerPlugin(ScrollTrigger,ScrollToPlugin);\r\n  \/\/ Reveals\r\n  gsap.utils.toArray('.reveal-up').forEach((el,i)=>{\r\n    gsap.to(el,{opacity:1,y:0,duration:.9,ease:'power3.out',scrollTrigger:{trigger:el,start:'top 87%'},delay:(i%5)*.06});\r\n  });\r\n  gsap.utils.toArray('.reveal-right').forEach(el=>{\r\n    gsap.to(el,{opacity:1,x:0,duration:1,ease:'power3.out',scrollTrigger:{trigger:el,start:'top 85%'}});\r\n  });\r\n  gsap.utils.toArray('.reveal-left').forEach(el=>{\r\n    gsap.to(el,{opacity:1,x:0,duration:1,ease:'power3.out',scrollTrigger:{trigger:el,start:'top 85%'}});\r\n  });\r\n  gsap.utils.toArray('.reveal-scale').forEach(el=>{\r\n    gsap.to(el,{opacity:1,scale:1,duration:.8,ease:'back.out(1.5)',scrollTrigger:{trigger:el,start:'top 87%'}});\r\n  });\r\n  \/\/ \u2500\u2500\u2500 Hero constellation animation \u2500\u2500\u2500\r\n  const consSvg=document.getElementById('constellation-svg');\r\n  if(consSvg){\r\n    const ns='http:\/\/www.w3.org\/2000\/svg';\r\n    const cx=280,cy=240;\r\n    const nodes=[];\r\n    const nodeCount=18;\r\n    for(let i=0;i<nodeCount;i++){\r\n      const angle=Math.random()*Math.PI*2;\r\n      const dist=60+Math.random()*160;\r\n      const x=cx+Math.cos(angle)*dist;\r\n      const y=cy+Math.sin(angle)*dist;\r\n      const r=2+Math.random()*4;\r\n      const circle=document.createElementNS(ns,'circle');\r\n      circle.setAttribute('cx',x);\r\n      circle.setAttribute('cy',y);\r\n      circle.setAttribute('r',r);\r\n      circle.setAttribute('fill','rgba(0,85,255,'+(0.05+Math.random()*0.12)+')');\r\n      consSvg.appendChild(circle);\r\n      nodes.push({el:circle,ox:x,oy:y,r,speed:.3+Math.random()*.7,phase:Math.random()*Math.PI*2});\r\n    }\r\n    for(let i=0;i<nodes.length;i++){\r\n      for(let j=i+1;j<nodes.length;j++){\r\n        const dx=nodes[i].ox-nodes[j].ox;\r\n        const dy=nodes[i].oy-nodes[j].oy;\r\n        const dist=Math.sqrt(dx*dx+dy*dy);\r\n        if(dist<140){\r\n          const line=document.createElementNS(ns,'line');\r\n          line.setAttribute('x1',nodes[i].ox);\r\n          line.setAttribute('y1',nodes[i].oy);\r\n          line.setAttribute('x2',nodes[j].ox);\r\n          line.setAttribute('y2',nodes[j].oy);\r\n          line.setAttribute('stroke','rgba(0,85,255,'+(0.03+Math.random()*0.04)+')');\r\n          line.setAttribute('stroke-width','1');\r\n          consSvg.insertBefore(line,consSvg.firstChild);\r\n        }\r\n      }\r\n    }\r\n    let t=0;\r\n    function animateConstellation(){\r\n      t+=0.01;\r\n      nodes.forEach(n=>{\r\n        const nx=n.ox+Math.sin(t*n.speed+n.phase)*8;\r\n        const ny=n.oy+Math.cos(t*n.speed*0.7+n.phase)*6;\r\n        n.el.setAttribute('cx',nx);\r\n        n.el.setAttribute('cy',ny);\r\n      });\r\n      requestAnimationFrame(animateConstellation);\r\n    }\r\n    animateConstellation();\r\n  }\r\n  \/\/ \u2500\u2500\u2500 Orbital animation (philosophy) \u2500\u2500\u2500\r\n  const orbSvg=document.getElementById('orbit-svg');\r\n  if(orbSvg){\r\n    const orbs=[\r\n      {el:document.getElementById('orb1'),angle:0,rx:170,ry:55,rot:-25,speed:.008,cY:260},\r\n      {el:document.getElementById('orb2'),angle:2.1,rx:170,ry:55,rot:35,speed:.006,cY:260},\r\n      {el:document.getElementById('orb3'),angle:4.2,rx:170,ry:55,rot:95,speed:.01,cY:260},\r\n      {el:document.getElementById('orb4'),angle:1,rx:120,ry:35,rot:10,speed:.012,cY:260}\r\n    ];\r\n    function animateOrbs(){\r\n      orbs.forEach(o=>{\r\n        o.angle+=o.speed;\r\n        const cosR=Math.cos(o.rot*Math.PI\/180),sinR=Math.sin(o.rot*Math.PI\/180);\r\n        const lx=o.rx*Math.cos(o.angle),ly=o.ry*Math.sin(o.angle);\r\n        const x=240+lx*cosR-ly*sinR;\r\n        const y=o.cY+lx*sinR+ly*cosR;\r\n        o.el.setAttribute('cx',x);\r\n        o.el.setAttribute('cy',y);\r\n      });\r\n      requestAnimationFrame(animateOrbs);\r\n    }\r\n    animateOrbs();\r\n  }\r\n  \/\/ \u2500\u2500\u2500 Values horizontal scroll \u2014 drag \u2500\u2500\u2500\r\n  const scroller=document.getElementById('values-scroller');\r\n  const track=document.getElementById('values-track');\r\n  if(scroller&&track){\r\n    let isDragging=false,startX=0,scrollLeft=0;\r\n    scroller.addEventListener('mousedown',e=>{isDragging=true;startX=e.pageX-scroller.offsetLeft;scrollLeft=scroller.scrollLeft;scroller.style.cursor='grabbing'});\r\n    document.addEventListener('mouseup',()=>{isDragging=false;if(scroller)scroller.style.cursor='grab'});\r\n    scroller.addEventListener('mousemove',e=>{if(!isDragging)return;e.preventDefault();const x=e.pageX-scroller.offsetLeft;scroller.scrollLeft=scrollLeft-(x-startX)*1.2});\r\n    scroller.addEventListener('touchstart',e=>{startX=e.touches[0].pageX-scroller.offsetLeft;scrollLeft=scroller.scrollLeft},{passive:true});\r\n    scroller.addEventListener('touchmove',e=>{const x=e.touches[0].pageX-scroller.offsetLeft;scroller.scrollLeft=scrollLeft-(x-startX)},{passive:true});\r\n    \/\/ Dots\r\n    const dotsContainer=document.getElementById('values-dots');\r\n    const cards=track.querySelectorAll('.value-card');\r\n    cards.forEach((_,i)=>{\r\n      const dot=document.createElement('div');\r\n      dot.className='values-dot'+(i===0?' active':'');\r\n      dot.addEventListener('click',()=>{\r\n        const cardW=cards[0].offsetWidth+24;\r\n        scroller.scrollTo({left:cardW*i,behavior:'smooth'});\r\n      });\r\n      dotsContainer.appendChild(dot);\r\n    });\r\n    const allDots=dotsContainer.querySelectorAll('.values-dot');\r\n    scroller.addEventListener('scroll',()=>{\r\n      const cardW=cards[0].offsetWidth+24;\r\n      const idx=Math.round(scroller.scrollLeft\/cardW);\r\n      allDots.forEach((d,i)=>d.classList.toggle('active',i===idx));\r\n    });\r\n  }\r\n  \/\/ \u2500\u2500\u2500 Stats counter \u2500\u2500\u2500\r\n  document.querySelectorAll('.number-value[data-target]').forEach(el=>{\r\n    const target=parseInt(el.dataset.target);\r\n    const suffix=el.dataset.suffix||'';\r\n    ScrollTrigger.create({\r\n      trigger:el,start:'top 85%',once:true,\r\n      onEnter:()=>{\r\n        gsap.to({val:0},{val:target,duration:2,ease:'power2.out',\r\n          onUpdate:function(){el.textContent=Math.round(this.targets()[0].val)+suffix}\r\n        });\r\n      }\r\n    });\r\n  });\r\n  \/\/ \u2500\u2500\u2500 Parallax on visuals \u2500\u2500\u2500\r\n  gsap.utils.toArray('.hero-visual,.philosophy-visual').forEach(v=>{\r\n    gsap.fromTo(v,{y:20},{y:-20,ease:'none',scrollTrigger:{trigger:v,start:'top bottom',end:'bottom top',scrub:1}});\r\n  });\r\n});\r\n<\/script>\r\n<\/body>\r\n<\/html><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-726","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/pages\/726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/comments?post=726"}],"version-history":[{"count":7,"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/pages\/726\/revisions"}],"predecessor-version":[{"id":734,"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/pages\/726\/revisions\/734"}],"wp:attachment":[{"href":"https:\/\/vortexmedia.agency\/es\/wp-json\/wp\/v2\/media?parent=726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}