.aps2-store {
  --aps2-red: #e60012;
  --aps2-red-dark: #b5000e;
  --aps2-cyan: #00d4ff;
  --aps2-ink: #111318;
  --aps2-muted: #656a75;
  --aps2-paper: #f5f6f8;
  --aps2-line: #e5e7eb;
  color: var(--aps2-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow: hidden;
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
}

.aps2-store *, .aps2-store *::before, .aps2-store *::after { box-sizing: border-box; }
.aps2-store h1, .aps2-store h2, .aps2-store h3, .aps2-store p { margin-top: 0; }
.aps2-store a { text-decoration: none; }
.aps2-store [hidden] { display: none !important; }
.aps2-hero, .aps2-section, .aps2-guide, .aps2-compare, .aps2-faq, .aps2-disclosure, .aps2-category-nav { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.aps2-hero {
  min-height: 610px;
  padding: 42px 0 64px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: center;
  gap: 56px;
}

.aps2-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--aps2-ink); font-weight: 900; font-size: 19px; letter-spacing: -.5px; margin-bottom: 58px; }
.aps2-brand > span:last-child span { color: var(--aps2-red); }
.aps2-brand__mark { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: var(--aps2-red); font-size: 13px; letter-spacing: -.5px; box-shadow: 0 8px 20px rgba(230,0,18,.22); }
.aps2-eyebrow, .aps2-kicker { display: block; color: var(--aps2-red); font-size: 12px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 14px; }
.aps2-hero h1 { max-width: 720px; font-size: clamp(39px, 3.2vw, 43px); line-height: 1.04; letter-spacing: -2.8px; font-weight: 950; margin-bottom: 24px; text-wrap: balance; }
.aps2-hero h1 em { color: var(--aps2-red); font-style: normal; }
.aps2-nowrap { white-space: nowrap; }
.aps2-hero__content > p { max-width: 600px; color: var(--aps2-muted); font-size: 19px; margin-bottom: 31px; }
.aps2-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.aps2-btn { min-height: 50px; padding: 13px 21px; border-radius: 13px; font-size: 14px; font-weight: 850; display: inline-flex; align-items: center; justify-content: center; gap: 12px; transition: transform .2s, box-shadow .2s, background .2s; }
.aps2-btn:hover { transform: translateY(-2px); }
.aps2-btn--primary { color: #fff !important; background: var(--aps2-red); box-shadow: 0 13px 28px rgba(230,0,18,.22); }
.aps2-btn--primary:hover { background: var(--aps2-red-dark); box-shadow: 0 16px 32px rgba(230,0,18,.28); }
.aps2-btn--ghost { color: var(--aps2-ink) !important; background: var(--aps2-paper); }
.aps2-trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; color: #555b66; font-size: 12px; font-weight: 700; }
.aps2-trust b { width: 17px; height: 17px; display: inline-grid; place-items: center; margin-right: 5px; border-radius: 50%; background: #e9f9ef; color: #12863d; font-size: 10px; }

.aps2-hero__visual { --aps2-mx: 0px; --aps2-my: 0px; --aps2-rx: 0deg; --aps2-ry: 0deg; position: relative; min-height: 480px; display: grid; place-items: center; isolation: isolate; perspective: 1100px; }
.aps2-hero__visual::before { content: ""; position: absolute; inset: 6% 0; border-radius: 48% 52% 45% 55%; background: radial-gradient(circle at 40% 35%, #fff 0 8%, #ffeaec 9% 34%, #ffd8dc 68%, #ffc3c9 100%); transform: rotate(-5deg); z-index: -3; }
.aps2-orbit { position: absolute; border: 1px solid rgba(230,0,18,.14); border-radius: 50%; z-index: -2; animation: aps2-orbit 16s linear infinite; }
.aps2-orbit--one { width: 102%; height: 58%; transform: rotate(22deg); }
.aps2-orbit--two { width: 72%; height: 94%; transform: rotate(53deg); animation-direction: reverse; animation-duration: 21s; }
.aps2-console-photo { position: relative; width: min(650px, 145%); transform-style: preserve-3d; transform: translate3d(var(--aps2-mx), var(--aps2-my), 0) rotateX(var(--aps2-rx)) rotateY(var(--aps2-ry)) rotate(-3deg); animation: aps2-console-float 5.5s ease-in-out infinite; transition: transform .18s ease-out; }
.aps2-console-photo img { position: relative; z-index: 2; display: block; width: 100%; height: auto; filter: drop-shadow(0 34px 26px rgba(27,11,15,.31)); }
.aps2-console-photo__glow { position: absolute; z-index: 0; inset: 22% 10% 8%; border-radius: 50%; background: rgba(230,0,18,.28); filter: blur(35px); animation: aps2-pulse 3.2s ease-in-out infinite; }
.aps2-console-photo__shine { position: absolute; z-index: 3; top: 19%; bottom: 14%; left: 17%; width: 13%; transform: skewX(-18deg) translateX(-260%); opacity: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); mix-blend-mode: screen; animation: aps2-shine 5.8s ease-in-out infinite 1.2s; pointer-events: none; }
.aps2-particle { position: absolute; z-index: -1; width: 9px; height: 9px; border-radius: 3px; background: var(--aps2-red); box-shadow: 0 0 18px rgba(230,0,18,.6); animation: aps2-particle 4s ease-in-out infinite; }
.aps2-particle--1 { left: 9%; top: 22%; }
.aps2-particle--2 { right: 8%; top: 17%; width: 6px; height: 6px; background: var(--aps2-cyan); animation-delay: -.9s; }
.aps2-particle--3 { right: 15%; bottom: 18%; width: 12px; height: 12px; animation-delay: -1.8s; }
.aps2-particle--4 { left: 18%; bottom: 12%; width: 7px; height: 7px; background: #ffbe0b; animation-delay: -2.6s; }
.aps2-float { position: absolute; min-width: 112px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.7); border-radius: 15px; color: #6e3036; background: rgba(255,255,255,.8); backdrop-filter: blur(9px); box-shadow: 0 14px 35px rgba(80,19,27,.13); font-size: 11px; line-height: 1.25; }
.aps2-float b { color: var(--aps2-ink); font-size: 14px; }
.aps2-float i { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-right: 3px; border-radius: 50%; color: #fff; background: var(--aps2-red); font-style: normal; font-size: 9px; }
.aps2-float--a { left: -9%; top: 11%; transform: rotate(-5deg); animation: aps2-card-float 4.4s ease-in-out infinite; }
.aps2-float--b { right: -15%; bottom: 8%; transform: rotate(5deg); animation: aps2-card-float 5s ease-in-out infinite -1.2s; }
.aps2-float--c { right: -7%; top: 9%; transform: rotate(4deg); animation: aps2-card-float 4.7s ease-in-out infinite -2.4s; }
@keyframes aps2-console-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -11px; } }
@keyframes aps2-orbit { to { rotate: 360deg; } }
@keyframes aps2-pulse { 0%, 100% { opacity: .55; transform: scale(.92); } 50% { opacity: .95; transform: scale(1.08); } }
@keyframes aps2-shine { 0%, 42% { opacity: 0; transform: skewX(-18deg) translateX(-260%); } 50% { opacity: .85; } 66%, 100% { opacity: 0; transform: skewX(-18deg) translateX(700%); } }
@keyframes aps2-particle { 0%, 100% { transform: translateY(0) rotate(0); opacity: .35; } 50% { transform: translateY(-18px) rotate(90deg); opacity: 1; } }
@keyframes aps2-card-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -9px; } }

.aps2-category-nav { position: sticky; top: 10px; z-index: 10; padding: 8px; display: flex; gap: 7px; overflow-x: auto; border: 1px solid rgba(225,227,231,.9); border-radius: 18px; background: rgba(255,255,255,.9); backdrop-filter: blur(12px); box-shadow: 0 15px 35px rgba(22,24,30,.08); scrollbar-width: none; }
.aps2-category-nav::-webkit-scrollbar { display: none; }
.aps2-category-nav button { appearance: none; border: 0; border-radius: 11px; padding: 10px 17px; color: #555b66; background: transparent; font: inherit; font-size: 13px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.aps2-category-nav button:hover, .aps2-category-nav button.is-active { color: #fff; background: var(--aps2-ink); }

.aps2-section { padding: 52px 0 90px; }
.aps2-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 38px; }
.aps2-section__heading h2, .aps2-guide h2, .aps2-faq h2 { margin-bottom: 10px; font-size: clamp(34px, 4vw, 52px); line-height: 1.05; letter-spacing: -2.6px; font-weight: 950; }
.aps2-section__heading p, .aps2-guide__intro > p, .aps2-faq > div:first-child p { color: var(--aps2-muted); margin-bottom: 0; }
.aps2-search { width: min(280px, 100%); min-height: 46px; display: flex; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid var(--aps2-line); border-radius: 13px; background: #fff; }
.aps2-search span:first-child { font-size: 22px; color: #777d87; transform: rotate(-15deg); }
.aps2-search input { width: 100%; border: 0 !important; outline: 0; box-shadow: none !important; padding: 0 !important; font: inherit; font-size: 13px; background: transparent; }
.aps2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px; }
.aps2-card { position: relative; min-width: 0; padding: 16px; border: 1px solid var(--aps2-line); border-radius: 22px; background: #fff; transition: transform .25s, box-shadow .25s, border-color .25s; }
.aps2-card:hover { transform: translateY(-6px); border-color: #d5d8de; box-shadow: 0 24px 55px rgba(28,31,38,.11); }
.aps2-card__top { position: absolute; z-index: 2; left: 28px; right: 28px; top: 28px; display: flex; align-items: center; justify-content: space-between; }
.aps2-card__number { color: rgba(17,19,24,.34); font-weight: 900; font-size: 12px; }
.aps2-card__badge { color: var(--aps2-ink); background: #fff; padding: 6px 9px; border-radius: 9px; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .6px; box-shadow: 0 5px 15px rgba(0,0,0,.08); }
.aps2-card__visual { height: 205px; display: grid; place-items: center; border-radius: 16px; margin-bottom: 22px; overflow: hidden; position: relative; }
.aps2-card__visual::before, .aps2-card__visual::after { content: ""; position: absolute; border-radius: 50%; opacity: .55; }
.aps2-card__visual::before { width: 120px; height: 120px; background: rgba(255,255,255,.7); right: -30px; top: -35px; }
.aps2-card__visual::after { width: 80px; height: 80px; border: 17px solid rgba(255,255,255,.6); left: -20px; bottom: -25px; }
.aps2-card__visual svg { width: 105px; height: 105px; fill: none; stroke: #171a20; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; position: relative; z-index: 1; filter: drop-shadow(0 12px 12px rgba(0,0,0,.09)); transition: transform .25s; }
.aps2-card:hover .aps2-card__visual svg { transform: scale(1.06) rotate(-2deg); }
.aps2-card__visual--proteccion { background: #ffeaec; }
.aps2-card__visual--almacenamiento { background: #e5f8ff; }
.aps2-card__visual--viaje { background: #f1edff; }
.aps2-card__visual--controles { background: #e8f9ee; }
.aps2-card__visual--chat { background: #fff2d9; }
.aps2-card__visual--energia { background: #fff6ce; }
.aps2-card__visual--organizacion { background: #e9eefc; }
.aps2-card__visual--consolas { background: #e2f4f1; }
.aps2-card__visual--juegos { background: #ffe5ec; }
.aps2-card__visual--audio { background: #e2f5ff; }
.aps2-card__visual--streaming { background: #e7e4ff; }
.aps2-card__visual--personalizacion { background: #ffe9d6; }
.aps2-card__category { color: var(--aps2-red); font-size: 10px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; }
.aps2-card h3 { margin: 7px 0 9px; font-size: 21px; line-height: 1.18; letter-spacing: -.6px; font-weight: 900; }
.aps2-card > p { min-height: 67px; margin-bottom: 16px; color: var(--aps2-muted); font-size: 13px; }
.aps2-card ul { list-style: none; margin: 0 0 20px !important; padding: 0 !important; display: grid; gap: 7px; }
.aps2-card li { display: flex; gap: 8px; color: #424751; font-size: 12px; }
.aps2-card li span { color: #12863d; font-weight: 900; }
.aps2-card__actions { display: grid; gap: 7px; }
.aps2-card__cta { position: relative; min-height: 45px; display: flex; align-items: center; justify-content: center; padding: 11px 40px; border-radius: 12px; color: #fff !important; background: var(--aps2-ink); text-align: center; font-size: 12px; font-weight: 850; transition: background .2s, transform .2s; }
.aps2-card__cta:hover { background: var(--aps2-red); }
.aps2-card__cta span { position: absolute; right: 15px; font-size: 17px; }
.aps2-card__more { min-height: 41px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid var(--aps2-red); border-radius: 11px; color: #fff !important; background: var(--aps2-red); font-size: 11px; font-weight: 850; transition: color .2s, border-color .2s, background .2s, transform .2s, box-shadow .2s; }
.aps2-card__more:hover { color: #fff !important; border-color: #00a650; background: #00a650; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(0,166,80,.2); }
.aps2-card.is-tilting { transform: perspective(900px) rotateX(var(--aps2-card-x, 0deg)) rotateY(var(--aps2-card-y, 0deg)) translateY(-6px); }
.aps2-reveal { opacity: 0; transform: translateY(28px); }
.aps2-reveal.is-visible { opacity: 1; transform: translateY(0); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.aps2-card.aps2-reveal.is-visible:hover { transform: translateY(-6px); }
.aps2-card.aps2-reveal.is-visible.is-tilting { transform: perspective(900px) rotateX(var(--aps2-card-x, 0deg)) rotateY(var(--aps2-card-y, 0deg)) translateY(-6px); }
.aps2-empty { grid-column: 1 / -1; padding: 40px; text-align: center; border-radius: 16px; color: var(--aps2-muted); background: var(--aps2-paper); }

.aps2-guide { display: grid; grid-template-columns: .86fr 1.14fr; gap: 70px; padding: 74px; border-radius: 32px; color: #fff; background: var(--aps2-ink); position: relative; overflow: hidden; }
.aps2-guide::before { content: "2"; position: absolute; right: -20px; bottom: -125px; font-size: 390px; line-height: 1; font-weight: 950; color: rgba(255,255,255,.025); }
.aps2-guide .aps2-kicker { color: #ff6470; }
.aps2-guide h2 { color: #fff; }
.aps2-guide__intro > p { color: #aeb3be; max-width: 410px; }
.aps2-guide__intro > a { display: inline-flex; gap: 12px; margin-top: 27px; color: #fff !important; font-size: 13px; font-weight: 850; border-bottom: 1px solid #656a75; padding-bottom: 4px; }
.aps2-steps { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 12px; position: relative; z-index: 1; }
.aps2-steps li { display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: start; padding: 20px; border: 1px solid #30343d; border-radius: 16px; background: #1a1d23; }
.aps2-steps li > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: var(--aps2-red); font-weight: 900; }
.aps2-steps b { display: block; margin: 1px 0 4px; font-size: 15px; }
.aps2-steps p { margin-bottom: 0; color: #aeb3be; font-size: 12px; }

.aps2-compare { padding: 105px 0; }
.aps2-compare__table { border: 1px solid var(--aps2-line); border-radius: 20px; overflow: hidden; }
.aps2-compare__row { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 20px; padding: 20px 24px; border-bottom: 1px solid var(--aps2-line); align-items: center; font-size: 13px; }
.aps2-compare__row:last-child { border-bottom: 0; }
.aps2-compare__row:nth-child(odd) { background: #fafafb; }
.aps2-compare__head { color: #787d87; background: var(--aps2-paper) !important; font-size: 10px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.aps2-compare__row b { font-size: 14px; }

.aps2-faq { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; padding: 80px 0 95px; border-top: 1px solid var(--aps2-line); }
.aps2-faq__items { border-top: 1px solid var(--aps2-line); }
.aps2-faq details { border-bottom: 1px solid var(--aps2-line); padding: 0 4px; }
.aps2-faq summary { list-style: none; position: relative; padding: 21px 40px 21px 0; cursor: pointer; font-size: 14px; font-weight: 850; }
.aps2-faq summary::-webkit-details-marker { display: none; }
.aps2-faq summary::after { content: "+"; position: absolute; right: 4px; top: 18px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--aps2-paper); font-size: 18px; }
.aps2-faq details[open] summary::after { content: "−"; color: #fff; background: var(--aps2-red); }
.aps2-faq details p { padding: 0 44px 21px 0; margin: 0; color: var(--aps2-muted); font-size: 13px; }
.aps2-disclosure { margin-bottom: 70px; padding: 18px 20px; display: grid; grid-template-columns: 30px 1fr; gap: 13px; align-items: start; border: 1px solid #dce8ff; border-radius: 15px; background: #f3f7ff; }
.aps2-disclosure > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #3064ce; font-family: Georgia, serif; font-weight: 800; }
.aps2-disclosure p { margin: 1px 0 0; color: #4c5872; font-size: 11px; }
.aps2-store .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 960px) {
  .aps2-hero { grid-template-columns: 1fr; padding-top: 28px; text-align: center; gap: 20px; }
  .aps2-brand { margin-bottom: 38px; }
  .aps2-hero__content > p { margin-inline: auto; }
  .aps2-hero__actions, .aps2-trust { justify-content: center; }
  .aps2-hero__visual { min-height: 390px; }
  .aps2-grid { grid-template-columns: repeat(2, 1fr); }
  .aps2-guide { grid-template-columns: 1fr; gap: 38px; padding: 52px; }
  .aps2-faq { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 640px) {
  .aps2-hero, .aps2-section, .aps2-guide, .aps2-compare, .aps2-faq, .aps2-disclosure, .aps2-category-nav { width: min(100% - 24px, 1180px); }
  .aps2-hero { min-height: auto; padding-bottom: 44px; }
  .aps2-hero h1 { font-size: 37px; letter-spacing: -2.4px; }
  .aps2-hero__content > p { font-size: 16px; }
  .aps2-hero__actions { display: grid; }
  .aps2-trust { display: grid; justify-content: start; text-align: left; width: max-content; margin-inline: auto; }
  .aps2-hero__visual { min-height: 300px; }
  .aps2-console-photo { width: 108%; }
  .aps2-float { transform: scale(.83) !important; }
  .aps2-float--c { display: none; }
  .aps2-section { padding: 38px 0 62px; }
  .aps2-section__heading { display: grid; }
  .aps2-search { width: 100%; }
  .aps2-grid { grid-template-columns: 1fr; }
  .aps2-card__visual { height: 190px; }
  .aps2-card > p { min-height: auto; }
  .aps2-guide { padding: 34px 24px; border-radius: 24px; }
  .aps2-guide h2, .aps2-section__heading h2, .aps2-faq h2 { font-size: 36px; letter-spacing: -2px; }
  .aps2-compare { padding: 72px 0; }
  .aps2-compare__row { grid-template-columns: 1fr; gap: 5px; padding: 17px; }
  .aps2-compare__row span::before { display: inline; color: #8a8f98; font-size: 10px; font-weight: 900; text-transform: uppercase; }
  .aps2-compare__row span:nth-child(2)::before { content: "Prioriza: "; }
  .aps2-compare__row span:nth-child(3)::before { content: "Después: "; }
  .aps2-compare__head { display: none; }
  .aps2-faq { padding: 65px 0; }
  .aps2-disclosure { margin-bottom: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  .aps2-console-photo, .aps2-orbit, .aps2-particle, .aps2-console-photo__glow, .aps2-console-photo__shine, .aps2-float { animation: none; }
  .aps2-store *, .aps2-store *::before, .aps2-store *::after { scroll-behavior: auto !important; transition: none !important; }
}
