/* DynamicDNSPro Vault — landing: galería de capturas, asistente de migración y precios con ciclo.
   Momento memorable: la ventana de la app flotando sobre un halo del color de acento. */
.hero .trial{display:inline-flex;align-items:center;gap:8px;margin-bottom:var(--s-4);padding:6px 12px;border-radius:999px;
  background:var(--accent-soft);color:var(--accent-text);font-weight:600;font-size:var(--t-sm)}
.hero .trial .ic{width:16px;height:16px}

.shots,.migrate{max-width:1180px;margin:0 auto;padding:clamp(32px,7vh,72px) clamp(16px,5vw,64px);border-top:1px solid var(--line)}
.shots h2,.migrate h2{font-size:var(--t-2xl);margin-bottom:var(--s-4)}
.shot-tabs{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-4)}
.shot-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid var(--line);
  border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;cursor:pointer}
.shot-tabs button[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.shot-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.shot-frame{position:relative;margin:0;isolation:isolate}
.shot-frame::before{content:"";position:absolute;inset:6% 4% -4%;z-index:-1;border-radius:40px;filter:blur(48px);
  background:radial-gradient(60% 60% at 30% 40%,color-mix(in srgb,var(--accent) 45%,transparent),transparent),
             radial-gradient(50% 50% at 75% 60%,color-mix(in srgb,var(--ok) 30%,transparent),transparent)}
.shot-frame img{display:block;width:100%;height:auto;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface)}
.shot-cap{margin-top:var(--s-3);color:var(--muted);text-align:center}
.center{text-align:center}
.pricing > .small{margin-top:var(--s-4)}

.migrate .lead,.download .lead{color:var(--muted);max-width:68ch;line-height:1.6;margin-bottom:var(--s-5)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-4);counter-reset:st}
.step{position:relative;padding:var(--s-5);padding-top:calc(var(--s-5) + 8px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);counter-increment:st}
.step::before{content:counter(st);position:absolute;top:-14px;left:var(--s-5);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent);color:var(--on-accent);font-weight:700;font-size:var(--t-sm)}
.step > b{display:block;font-size:var(--t-lg);margin-bottom:var(--s-3)}
.step p{line-height:1.6}
.src-search{position:relative;margin-bottom:var(--s-3)}
.src-search .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
.migrate .src-search input#srcQ{width:100%;padding-left:38px}
.src-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.src{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md);
  background:var(--bg);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.src:hover{border-color:var(--line-strong)}
.src.on{border-color:var(--accent);background:var(--accent-soft)}
.src:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.src-dot{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);font-weight:700;font-size:var(--t-sm)}
.src.on .src-dot{background:var(--accent);color:var(--on-accent)}
.how{padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);color:var(--muted)}
.how.on{color:var(--text)}
.step .cta{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}

.pricing .cycle{margin:0 0 var(--s-5)}
.tier .buy{text-align:center;font-size:var(--t-sm);color:var(--accent-text)}
.buyseats{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);margin-top:var(--s-1);font-size:var(--t-xs);color:var(--muted)}
.buyseats input{width:56px;padding:3px 6px;text-align:center}
@media (max-width:980px){.steps{grid-template-columns:1fr}}
@media (max-width:640px){.hide-sm{display:none}}
.pricing .seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}
.pricing .seg button{min-height:36px;padding:6px 14px;border:0;background:transparent;color:var(--muted);border-radius:var(--r-sm);font:inherit;font-size:var(--t-sm);cursor:pointer}
.pricing .seg button.on{background:var(--accent);color:var(--on-accent)}
.pricing .seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
