/* Páginas de servicio de nivel congreso: Software a medida y Marketing digital y SEO */
.pro { --pro-oscuro:#12041f; --pro-acento:#c8a4ff; --pro-v:#743cf0; --pro-linea:#e6dcf3; --pro-suave:#5f5470; color:var(--ink); background:#fcfaff; overflow:clip; }
.pro-ancho { width:min(1240px,100%); margin-inline:auto; padding-inline:clamp(20px,4vw,48px); }
.pro h1,.pro h2,.pro h3 { font-family:var(--brand-sans); }
.pro-ey { margin:0; color:var(--pro-v); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

/* Portada */
.pro-hero { position:relative; padding:clamp(36px,5vw,64px) 0 0; color:#f6f1ff; background:radial-gradient(ellipse 60% 70% at 85% 10%,rgba(133,72,245,.45),transparent 70%),radial-gradient(ellipse 45% 55% at 5% 100%,rgba(93,48,221,.3),transparent 70%),var(--pro-oscuro); }
.pro-hero::before { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(200,164,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(200,164,255,.05) 1px,transparent 1px); background-size:56px 56px; mask-image:radial-gradient(ellipse 80% 80% at 70% 30%,#000,transparent 80%); }
.pro-hero>* { position:relative; }
.pro-hero-in { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(24px,4vw,56px); align-items:center; padding-bottom:clamp(36px,5vw,64px); }
.pro .migas { margin:0 0 30px; color:#b7a9cb; font-size:13px; }
.pro .migas a { color:#b7a9cb; text-decoration:none; }
.pro .migas a:hover { color:#fff; text-decoration:underline; }
.pro-hero .pro-ey { color:var(--pro-acento); }
.pro h1 { margin:16px 0 0; font-size:clamp(38px,4.5vw,64px); line-height:1; letter-spacing:-.045em; font-weight:800; color:#fff; }
.pro h1 em { display:block; margin-top:6px; color:#a998c2; font-style:normal; }
.pro-lead { max-width:58ch; margin:24px 0 0; color:#cfc3e0; font-size:clamp(16px,1.4vw,19px); line-height:1.6; }
.pro-acc { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.pro-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 26px; border:1px solid transparent; border-radius:999px; background:#fff; color:#17062d; font-size:15px; font-weight:800; text-decoration:none; transition:transform .2s ease,background .2s ease,color .2s ease; }
.pro-btn:hover { transform:translateY(-2px); background:var(--pro-acento); }
.pro-btn2 { border-color:rgba(255,255,255,.28); background:transparent; color:#fff; }
.pro-btn2:hover { background:rgba(255,255,255,.1); }
.pro-btn:focus-visible,.pro a:focus-visible,.pro summary:focus-visible { outline:3px solid var(--pro-acento); outline-offset:3px; }
.pro-tira { display:grid; grid-template-columns:repeat(4,1fr); margin-block:0; padding-block:0; list-style:none; border-top:1px solid rgba(200,164,255,.18); }
.pro-tira li { padding:20px 18px 22px; border-left:1px solid rgba(200,164,255,.18); color:#ded3ec; font-size:14px; font-weight:700; line-height:1.35; }
.pro-tira li:first-child { padding-left:0; border-left:0; }

/* Visuales */
.pro-visual { margin:0; }
.pro-visual svg { display:block; width:100%; height:auto; overflow:visible; }
.pro-visual text { fill:#e8def5; font:700 15px var(--brand-sans,Arial,sans-serif); }
.capa { animation:pro-flota 6s calc(var(--i)*-.8s) ease-in-out infinite; }
.capa .guia { fill:none; stroke:#c8a4ff; stroke-opacity:.6; stroke-dasharray:3 4; }
@keyframes pro-flota { 50% { transform:translateY(-7px); } }
.anillo { fill:none; stroke:#c8a4ff; stroke-opacity:.3; stroke-dasharray:4 8; transform-origin:300px 200px; animation:pro-gira 60s linear infinite; }
.anillo.a2 { animation-direction:reverse; animation-duration:44s; }
.anillo.a3 { stroke-opacity:.5; animation-duration:30s; }
.rayo { stroke:#c8a4ff; stroke-opacity:.4; stroke-dasharray:4 7; animation:pro-corre 1.6s linear infinite; }
.nucleo { filter:drop-shadow(0 0 24px rgba(133,72,245,.75)); }
.pro-visual-mkt text { font-size:19px; }
.pro-visual .nt { fill:#fff; font-size:17px; font-weight:800; }
.nodo circle { fill:#c8a4ff; transform-box:fill-box; transform-origin:center; animation:pro-late 3s calc(var(--i)*.5s) ease-in-out infinite; }
@keyframes pro-gira { to { transform:rotate(360deg); } }
@keyframes pro-corre { to { stroke-dashoffset:-22; } }
@keyframes pro-late { 50% { transform:scale(1.45); } }

/* Secciones */
.pro-sec { padding:clamp(56px,8vw,112px) 0; }
.pro-tinte { background:#f4eefc; }
.pro-cab { max-width:780px; margin-bottom:clamp(30px,4vw,52px); }
.pro h2 { margin:12px 0 0; font-size:clamp(30px,3.7vw,50px); line-height:1.05; letter-spacing:-.04em; font-weight:800; color:inherit; }
.pro h3 { margin:0; font-size:21px; line-height:1.2; letter-spacing:-.02em; font-weight:800; color:inherit; }

/* Índice de capacidades */
.pro-indice { margin:0; padding:0; list-style:none; border-top:1px solid var(--pro-linea); }
.pro-indice li { display:grid; grid-template-columns:70px minmax(0,1fr) minmax(0,1.2fr) minmax(0,.9fr); gap:24px; align-items:baseline; padding:26px 12px; border-bottom:1px solid var(--pro-linea); transition:background .25s ease,padding .25s ease; }
.pro-indice li:hover { padding-inline:24px; background:#fff; }
.pro-n { color:var(--pro-v); font-size:13px; font-weight:800; }
.pro-indice h3 { font-size:clamp(20px,1.9vw,25px); }
.pro-indice h3 a { color:inherit; text-decoration:none; }
.pro-indice h3 a:hover { color:var(--pro-v); }
.pro-indice h3 a span { margin-left:7px; color:var(--pro-v); font-size:.75em; }
.pro-indice p { margin:0; color:var(--pro-suave); font-size:15.5px; line-height:1.55; }
.pro-tags { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.pro-tags span { padding:4px 11px; border:1px solid var(--pro-linea); border-radius:999px; background:#fff; color:#4b3a63; font-size:12px; font-weight:700; }

/* Fases */
.pro-fases { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.pro-fases::before { content:''; position:absolute; top:21px; left:22px; right:12%; height:2px; background:linear-gradient(90deg,var(--pro-v),#c8a4ff); }
.pro-fases li { position:relative; display:flex; flex-direction:column; }
.pro-paso { display:grid; place-items:center; width:44px; height:44px; margin-bottom:20px; border-radius:50%; background:var(--pro-v); box-shadow:0 0 0 6px #f4eefc; color:#fff; font-weight:800; }
.pro-fases h3 { font-size:18px; }
.pro-fases p { flex:1; margin:8px 0 16px; color:var(--pro-suave); font-size:14.5px; line-height:1.5; }
.pro-fases small { padding:11px 13px; border-radius:12px; background:#fff; color:#2b1546; font-size:13px; font-weight:700; line-height:1.35; }
.pro-fases small b { display:block; margin-bottom:2px; color:var(--pro-v); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }

/* Por qué */
.pro-oscuro { color:#f6f1ff; background:radial-gradient(ellipse 50% 70% at 0 0,rgba(133,72,245,.35),transparent 70%),var(--pro-oscuro); }
.pro-oscuro .pro-ey { color:var(--pro-acento); }
.pro-bento { display:grid; grid-template-columns:1.25fr 1fr 1fr; grid-template-rows:auto auto; gap:14px; margin:0; padding:0; list-style:none; }
.pro-bento li { padding:26px; border:1px solid rgba(200,164,255,.2); border-radius:20px; background:rgba(255,255,255,.05); }
.pro-bento .pro-grande { grid-row:span 2; display:flex; flex-direction:column; justify-content:flex-end; min-height:320px; background:linear-gradient(150deg,#743cf0,#3c1b9c); border-color:transparent; }
.pro-bento .pro-grande h3 { font-size:clamp(26px,2.6vw,36px); line-height:1.08; letter-spacing:-.03em; }
.pro-bento .pro-grande p { color:#eadffa; font-size:16px; }
.pro-bento li:nth-child(4) { grid-column:span 2; }
.pro-bento p { margin:10px 0 0; color:#c9bdd9; font-size:15px; line-height:1.55; }

/* Para quién */
.pro-para { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:0; padding:0; list-style:none; }
.pro-para li { padding:28px 26px; border:1px solid var(--pro-linea); border-top:3px solid var(--pro-v); border-radius:6px 6px 20px 20px; background:#fff; }
.pro-para p { margin:10px 0 0; color:var(--pro-suave); font-size:15px; line-height:1.55; }

/* Preguntas */
.pro-faq { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(24px,5vw,72px); }
.pro-faq h2 { margin-top:0; }
.pro-faq details { border-bottom:1px solid #dcd0ec; }
.pro-faq summary { display:flex; justify-content:space-between; gap:18px; padding:20px 0; font-size:17px; font-weight:800; cursor:pointer; list-style:none; }
.pro-faq summary::-webkit-details-marker { display:none; }
.pro-faq summary::after { content:'+'; flex:none; color:var(--pro-v); font-size:22px; line-height:1; transition:transform .2s ease; }
.pro-faq details[open] summary::after { transform:rotate(45deg); }
.pro-faq details p { margin:0 0 20px; max-width:62ch; color:var(--pro-suave); font-size:15.5px; line-height:1.6; }

/* Software: producto real en pantalla grande */
.pro-show { padding:clamp(48px,6vw,88px) 0 clamp(56px,8vw,112px); color:#fff; background:linear-gradient(180deg,var(--pro-oscuro),#1c0838 60%,#fcfaff 60%); }
.pro-show .pro-ey { color:var(--pro-acento); }
.pro-show .pro-cab { color:#fff; }
.pro-sub { margin:14px 0 0; max-width:60ch; color:inherit; opacity:.78; font-size:17px; line-height:1.55; }
.pro-marco { margin:0; overflow:hidden; border:1px solid rgba(200,164,255,.3); border-radius:18px; background:#17062d; box-shadow:0 40px 100px rgba(23,6,45,.45); transform-origin:center top; }
.pro-js .pro-marco { transform:perspective(1400px) rotateX(calc((1 - var(--s,1))*12deg)) scale(calc(.84 + var(--s,1)*.16)); transition:transform .2s ease-out; }
.pro-barra { display:flex; gap:6px; padding:12px 14px; background:#21103c; }
.pro-barra i { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.2); }
.pro-vid { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:#21103c; }
.pro-nota { margin:12px 0 0; color:#7a6b8c; font-size:12.5px; text-align:right; }
.pro-bento-v .pro-vidcard { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); grid-template-rows:1fr auto auto 1fr; column-gap:32px; padding:14px; }
.pro-vidcard>div { grid-row:1/-1; overflow:hidden; border-radius:12px; }
.pro-vidcard h3 { grid-row:2; font-size:clamp(24px,2.6vw,34px); line-height:1.1; letter-spacing:-.03em; }
.pro-vidcard p { grid-row:3; }

/* Marketing: página clara y editorial, distinta a Software */
.pro-mkt { background:#fcfaff; }
.mk-hero { --y:0; position:relative; min-height:calc(100vh - 78px); display:flex; flex-direction:column; justify-content:center; overflow:hidden; padding-top:48px; color:#17062d; background:radial-gradient(ellipse 55% 60% at 50% 40%,#fff 0,transparent 70%),linear-gradient(135deg,#ead9ff,#f8f1ff 45%,#dcc6ff); }
.mk-centro { position:relative; z-index:2; width:min(760px,100%); margin-inline:auto; padding:0 20px; text-align:center; }
.mk-hero .migas { margin-bottom:22px; color:#6e607c; }
.mk-hero .migas a { color:#6e607c; }
.mk-hero .migas a:hover { color:#17062d; }
.pro-mkt h1 { color:#17062d; font-size:clamp(40px,5.6vw,84px); line-height:.98; }
.pro-mkt h1 em { display:block; margin-top:8px; color:#743cf0; font-family:var(--brand-serif); font-weight:400; font-style:italic; letter-spacing:-.03em; }
.mk-lead { max-width:58ch; margin:22px auto 0; color:#4b3a63; font-size:clamp(16px,1.35vw,18px); line-height:1.6; }
.mk-hero .pro-acc { justify-content:center; }
.mk-hero .pro-btn { background:#743cf0; color:#fff; }
.mk-hero .pro-btn:hover { background:#17062d; }
.mk-hero .pro-btn2 { border-color:rgba(23,6,45,.25); background:transparent; color:#17062d; }
.mk-hero .pro-btn2:hover { background:#fff; color:#17062d; }
.mk-col { position:absolute; inset:0; }
.mk-p { position:absolute; display:block; width:clamp(150px,15vw,250px); transform:translateY(calc(var(--y)*var(--v)*1px)); }
.mk-p img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:16px; box-shadow:0 24px 60px rgba(60,27,156,.28); }
.mk-p0 { top:7%; left:3%; } .mk-p0 img { rotate:-7deg; aspect-ratio:4/3; }
.mk-p1 { top:44%; left:7%; } .mk-p1 img { rotate:5deg; }
.mk-p2 { bottom:9%; left:-2%; } .mk-p2 img { rotate:-3deg; aspect-ratio:4/3; }
.mk-p3 { top:6%; right:4%; } .mk-p3 img { rotate:6deg; }
.mk-p4 { top:46%; right:-1%; } .mk-p4 img { rotate:-5deg; aspect-ratio:4/3; }
.mk-p5 { bottom:7%; right:9%; } .mk-p5 img { rotate:4deg; }
.mk-tira { position:relative; z-index:2; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:36px auto 30px; padding:0 20px; list-style:none; }
.mk-tira li { padding:8px 15px; border:1px solid rgba(116,60,240,.25); border-radius:999px; background:rgba(255,255,255,.7); color:#2b1546; font-size:13px; font-weight:700; }
.mk-muro { padding:clamp(48px,7vw,96px) 0 28px; overflow:hidden; color:#fff; background:#17062d; }
.mk-muro h2 { margin:0 20px 34px; color:#fff; text-align:center; font-size:clamp(34px,5vw,72px); }
.mk-fila { display:flex; gap:12px; width:max-content; margin-bottom:12px; transform:translateX(calc(-18% + var(--b,0)*22vw)); }
.mk-fila.b { transform:translateX(calc(-30% - var(--b,0)*22vw)); }
.mk-fila img { display:block; height:clamp(150px,19vw,270px); width:auto; aspect-ratio:4/3; object-fit:cover; border-radius:14px; }
.mk-muro .pro-nota { margin-right:20px; color:#a998c2; }
.mk-canales { padding:clamp(56px,8vw,112px) 0; }
.mk-pila { margin:0; padding:0; list-style:none; }
.mk-card { --fondo:#fff; --tinta:#17062d; --suave:#5f5470; position:sticky; top:calc(92px + var(--i)*12px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(20px,4vw,56px); align-items:center; min-height:min(460px,72vh); margin-bottom:26px; padding:clamp(24px,3.5vw,48px); overflow:hidden; border:1px solid #e6dcf3; border-radius:26px; color:var(--tinta); background:var(--fondo); box-shadow:0 -14px 50px rgba(23,6,45,.1); transform:scale(calc(1 - var(--tapa,0)*.05)); transform-origin:center top; }
.mk-card:nth-child(2) { --fondo:#17062d; --tinta:#fff; --suave:#c9bdd9; border-color:#17062d; }
.mk-card:nth-child(3) { --fondo:#efe3ff; }
.mk-card:nth-child(4) { --fondo:#743cf0; --tinta:#fff; --suave:#eadffa; border-color:#743cf0; }
.mk-card:nth-child(5) { --fondo:#fff; }
.mk-card:nth-child(6) { --fondo:#17062d; --tinta:#fff; --suave:#c9bdd9; border-color:#17062d; }
.mk-n { color:#a57bff; font-family:var(--brand-serif); font-size:44px; font-style:italic; line-height:1; }
.mk-card h3 { margin-top:10px; font-size:clamp(28px,3.4vw,46px); line-height:1.04; letter-spacing:-.04em; }
.mk-card h3 a { color:inherit; }
.mk-card p { margin:14px 0 0; color:var(--suave); font-size:17px; line-height:1.55; }
.mk-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; }
.mk-tags span { padding:5px 12px; border:1px solid color-mix(in srgb,currentColor 25%,transparent); border-radius:999px; font-size:12.5px; font-weight:700; }
.mkv { position:relative; min-width:0; }
.mkv img { display:block; border-radius:14px; box-shadow:0 22px 50px rgba(23,6,45,.3); }
.mkv-doble { height:320px; }
.mkv-doble img { position:absolute; width:74%; aspect-ratio:4/3; object-fit:cover; }
.mkv-doble img:first-child { top:0; left:0; rotate:-3deg; }
.mkv-doble img:last-child { right:0; bottom:0; rotate:3deg; }
.mkv-abanico { height:320px; }
.mkv-abanico img { position:absolute; top:24px; left:30%; width:42%; aspect-ratio:1/1; object-fit:cover; }
.mkv-abanico img:nth-child(1) { left:2%; rotate:-9deg; top:44px; }
.mkv-abanico img:nth-child(2) { z-index:1; }
.mkv-abanico img:nth-child(3) { left:56%; rotate:9deg; top:44px; }
.mkv-busca { display:grid; gap:12px; padding:22px; border-radius:18px; background:#fff; color:#17062d; }
.mkv-busca p { margin:0; padding:11px 16px; border:1px solid #e6dcf3; border-radius:999px; color:#5f5470; font-size:14px; font-weight:700; }
.mkv-busca .tu { display:grid; gap:3px; padding:13px 15px; border:1px solid #743cf0; border-radius:12px; background:#f3edfb; }
.mkv-busca .tu b { color:#743cf0; }
.mkv-busca .tu small { color:#5f5470; }
.mkv-busca i { height:34px; border-radius:9px; background:#f3edfb; }
.mkv-chat { display:grid; gap:12px; }
.mkv-chat p { margin:0; max-width:86%; padding:14px 16px; border-radius:16px 16px 16px 4px; background:#fff; color:#17062d; font-size:15px; }
.mkv-chat .yo { justify-self:end; border-radius:16px 16px 4px 16px; background:#743cf0; color:#fff; }
.mkv-datos svg { display:block; width:100%; height:auto; overflow:visible; }
.mkv-datos path { fill:none; stroke:#c8a4ff; stroke-width:5; stroke-linecap:round; }
.mkv-datos path.b { stroke:#743cf0; }
.mk-ciclo { position:relative; height:300vh; background:#f4eefc; }
.mk-fijo { position:sticky; top:0; display:flex; align-items:center; height:100vh; padding-top:60px; overflow:hidden; }
.mk-ciclo-in { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,5vw,72px); align-items:center; }
.mk-ciclo .pro-cab { margin:0; }
.mk-rueda { --avance:0; position:relative; width:min(520px,70vh); aspect-ratio:1; margin-inline:auto; }
.mk-rueda svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
.mk-rueda circle { fill:none; stroke:#dccdf3; stroke-width:3; }
.mk-rueda circle.v { stroke:#743cf0; stroke-width:5; stroke-linecap:round; stroke-dasharray:100; stroke-dashoffset:calc(100 - var(--avance)*100); }
.mk-rueda ol { position:absolute; inset:0; margin:0; padding:0; list-style:none; }
.mk-rueda li>span { position:absolute; top:50%; left:50%; display:grid; place-items:center; width:46px; height:46px; margin:-23px; border-radius:50%; background:#fff; box-shadow:0 0 0 2px #dccdf3; color:#5f5470; font-weight:800; transform:rotate(var(--a)) translateX(calc(min(520px,70vh)*.425)) rotate(calc(var(--a)*-1)); transition:background .25s ease,color .25s ease,box-shadow .25s ease; }
.mk-rueda li.hecho>span,.mk-rueda li.on>span { background:#743cf0; box-shadow:0 0 0 2px #743cf0; color:#fff; }
.mk-rueda li.on>span { box-shadow:0 0 0 7px rgba(116,60,240,.2); }
.mk-rueda li>div { position:absolute; top:50%; left:50%; width:60%; text-align:center; opacity:0; transform:translate(-50%,-44%); transition:opacity .3s ease,transform .3s ease; }
.mk-rueda li:first-child>div,.mk-rueda li.on>div { opacity:1; transform:translate(-50%,-50%); }
.mk-rueda:has(li.on:not(:first-child)) li:first-child>div { opacity:0; }
.mk-rueda h3 { font-size:clamp(24px,2.6vw,34px); letter-spacing:-.03em; }
.mk-rueda p { margin:8px 0 10px; color:#5f5470; font-size:15px; line-height:1.45; }
.mk-rueda small { color:#2b1546; font-size:13px; font-weight:700; }
.mk-rueda small b { color:#743cf0; }
.mk-why { padding:clamp(56px,8vw,112px) 0; color:#fff; background:linear-gradient(135deg,#5d30dd,#8548f5); }
.mk-why .pro-ey { color:#e4d3ff; }
.mk-why ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(24px,5vw,72px); margin:0; padding:0; list-style:none; }
.mk-why li { padding:26px 0; border-top:1px solid rgba(255,255,255,.3); }
.mk-why li span { font-family:var(--brand-serif); font-size:26px; font-style:italic; }
.mk-why h3 { margin-top:6px; font-size:clamp(24px,2.5vw,32px); letter-spacing:-.03em; }
.mk-why p { margin:10px 0 0; color:#efe6ff; font-size:16px; line-height:1.55; }
.mk-fin { background:radial-gradient(ellipse 70% 100% at 50% 120%,#c8a4ff,transparent 70%),#5d30dd; }
.mk-fin .pro-otros span { color:#e4d3ff; }

/* Cierre */
.pro-fin { padding:clamp(64px,9vw,120px) 0 clamp(40px,5vw,64px); color:#fff; text-align:center; background:radial-gradient(ellipse 60% 90% at 50% 120%,rgba(133,72,245,.75),transparent 72%),var(--pro-oscuro); }
.pro-fin h2 { font-size:clamp(36px,5vw,68px); }
.pro-fin p { margin:16px 0 0; color:#cfc3e0; font-size:18px; }
.pro-fin .pro-acc { justify-content:center; }
.pro-otros { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; margin-top:52px; padding-top:22px; border-top:1px solid rgba(200,164,255,.2); font-size:14px; }
.pro-otros span { color:#a998c2; font-weight:700; }
.pro-otros a { color:#fff; font-weight:700; text-decoration:none; }
.pro-otros a:hover { text-decoration:underline; }

/* Movimiento ligado al scroll */
.pro-js .rev { opacity:var(--p,1); transform:translateY(calc((1 - var(--p,1))*46px)) scale(calc(.97 + var(--p,1)*.03)); transition:opacity .22s ease-out,transform .22s ease-out; }
.pro-js .pro-hero-in>div:first-child { opacity:calc(1 - var(--h,0)*1.15); transform:translateY(calc(var(--h,0)*110px)); }
.pro-js .pro-hero h1 em { transform:translateX(calc(var(--h,0)*-70px)); }
.pro-js .pro-visual { transform:translateY(calc(var(--h,0)*-46px)) scale(calc(1 + var(--h,0)*.1)); }
.pro-js .capa-s { transform:translateY(calc((var(--i) - 1.5)*var(--h,0)*62px)); }
.pro-js .anillos { transform-origin:300px 200px; transform:scale(calc(1 + var(--h,0)*.3)); }
.pro-js .nodo { transform:translate(calc(var(--dx)*var(--h,0)),calc(var(--dy)*var(--h,0))); }
.pro-js .pro-fin h2 { transform:scale(calc(.82 + var(--f,1)*.18)); }

/* Banda gigante */
.pro-banda { padding:clamp(24px,4vw,52px) 0; overflow:hidden; background:#fcfaff; font-family:var(--brand-sans); font-size:clamp(56px,10vw,150px); font-weight:800; line-height:1.08; letter-spacing:-.04em; white-space:nowrap; }
.pro-banda span { display:block; width:max-content; color:transparent; -webkit-text-stroke:1.5px #b99df0; transform:translateX(calc(-22% + var(--b,0)*26vw)); }
.pro-banda .b2 { color:#17062d; -webkit-text-stroke:0; transform:translateX(calc(-30% - var(--b,0)*26vw)); }
.pro-banda i { color:#743cf0; -webkit-text-stroke:0; font-style:normal; }

/* Título fijo y pista horizontal en escritorio */
@media (min-width:1021px) {
  .pro-dos { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:clamp(32px,5vw,80px); align-items:start; }
  .pro-fija { position:sticky; top:120px; margin:0; }
  .pro-dos .pro-indice li { grid-template-columns:56px minmax(0,1fr); gap:6px 14px; padding-block:32px; }
  .pro-dos .pro-indice p,.pro-dos .pro-tags { grid-column:2; }
  .pro-dos .pro-tags { justify-content:flex-start; margin-top:10px; }
  .pro-dos .pro-indice h3 { font-size:clamp(24px,2.5vw,34px); }
  .pro-pin .pro-metodo { padding:0; }
  .pro-pin .pro-pinza { position:sticky; top:0; display:flex; flex-direction:column; justify-content:center; height:100vh; padding-top:78px; overflow:hidden; }
  .pro-pin .pro-fases { display:flex; gap:18px; width:max-content; transform:translate3d(var(--x,0),0,0); will-change:transform; }
  .pro-pin .pro-fases::before { right:0; background:#dccdf3; }
  .pro-pin .pro-fases::after { content:''; position:absolute; top:21px; left:22px; right:0; height:2px; background:linear-gradient(90deg,#743cf0,#c8a4ff); transform-origin:left; transform:scaleX(var(--avance,0)); }
  .pro-pin .pro-fases li { z-index:1; width:clamp(320px,31vw,430px); min-height:320px; padding-right:24px; opacity:.38; transition:opacity .3s ease; }
  .pro-pin .pro-fases li.on { opacity:1; }
  .pro-pin .pro-fases .rev { transform:none; }
  .pro-pin .pro-fases h3 { font-size:30px; line-height:1.1; letter-spacing:-.03em; }
  .pro-pin .pro-fases p { font-size:17px; }
  .pro-pin .pro-fases small { font-size:15px; }
}

@media (max-width:1020px) {
  .pro-hero-in { grid-template-columns:minmax(0,1fr); }
  .pro-visual { max-width:560px; margin-inline:auto; }
  .pro-tira { grid-template-columns:repeat(2,1fr); }
  .pro-tira li:nth-child(odd) { padding-left:0; border-left:0; }
  .pro-tira li:nth-child(n+3) { border-top:1px solid rgba(200,164,255,.18); }
  .pro-indice li { grid-template-columns:50px minmax(0,1fr); gap:6px 12px; }
  .pro-indice p,.pro-tags { grid-column:2; }
  .pro-tags { justify-content:flex-start; margin-top:8px; }
  .pro-fases { grid-template-columns:minmax(0,1fr); gap:0; }
  .pro-fases::before { top:10px; bottom:40px; left:21px; right:auto; width:2px; height:auto; }
  .pro-fases li { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:16px; padding-bottom:24px; }
  .pro-paso { grid-row:span 3; margin:0; }
  .pro-fases p { margin-bottom:10px; }
  .pro-bento { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pro-bento .pro-grande { grid-column:span 2; grid-row:auto; min-height:220px; }
  .pro-bento li:nth-child(4) { grid-column:span 2; }
  .pro-para { grid-template-columns:minmax(0,1fr); }
  .pro-faq { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:1020px) {
  .mk-hero { min-height:0; padding-top:28px; }
  .mk-col { position:relative; order:2; inset:auto; display:flex; justify-content:center; gap:10px; margin:30px -20px 0; padding-inline:20px; overflow:hidden; }
  .mk-p { position:static; flex:0 0 40%; width:auto; transform:none; }
  .mk-p:nth-child(n+4) { display:none; }
  .mk-tira { order:3; }
  .mk-card { top:84px; grid-template-columns:minmax(0,1fr); min-height:0; }
  .mkv-doble,.mkv-abanico { height:240px; }
  .mk-ciclo { height:auto; padding:56px 0; }
  .mk-fijo { position:static; height:auto; padding:0; }
  .mk-ciclo-in { grid-template-columns:minmax(0,1fr); }
  .mk-rueda { width:auto; aspect-ratio:auto; }
  .mk-rueda svg { display:none; }
  .mk-rueda ol { position:static; display:grid; gap:12px; }
  .mk-rueda li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; }
  .mk-rueda li>span { position:static; margin:0; transform:none; background:#743cf0; color:#fff; }
  .mk-rueda li>div,.mk-rueda li.on>div,.mk-rueda:has(li.on:not(:first-child)) li:first-child>div { position:static; width:auto; text-align:left; opacity:1; transform:none; }
  .mk-why ul { grid-template-columns:minmax(0,1fr); }
  .pro-bento-v .pro-vidcard { display:block; }
  .pro-vidcard h3 { margin-top:14px; }
}
@media (max-width:640px) {
  .mk-card { position:relative; top:auto; }
  .pro-acc .pro-btn { flex:1 1 100%; }
  .pro-tira li { padding:14px 12px; font-size:13px; }
  .pro-bento { grid-template-columns:minmax(0,1fr); }
  .pro-bento .pro-grande,.pro-bento li:nth-child(4) { grid-column:auto; }
  .pro-otros { flex-direction:column; align-items:center; }
}
@media (prefers-reduced-motion:reduce) {
  .pro * { animation:none!important; transition:none!important; }
}
