*{box-sizing:border-box;margin:0;padding:0}
:root{
  color-scheme:dark;
  --bg:#0c0f16;--bg2:#121722;--card:#161c2a;--line:#232b3d;
  --text:#e6e9f2;--muted:#98a2b8;--accent:#5b8cff;--accent2:#8a63ff;--accent-ink:#fff;--ok:#38d39f;
}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:"Segoe UI",system-ui,-apple-system,"Noto Sans","Noto Sans Arabic","Noto Sans Hebrew","Noto Sans Thai","Noto Sans Devanagari","Noto Sans JP","Noto Sans KR","Noto Sans SC",sans-serif;
  background:var(--bg);color:var(--text);line-height:1.65;-webkit-text-size-adjust:100%}
a{color:var(--accent);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}.small{font-size:.85rem}

/* barra superior */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:12px 24px;
  background:rgba(12,15,22,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:1.05rem;white-space:nowrap}
.brand img{border-radius:8px}
.nav-links{display:flex;gap:22px;margin-inline-start:12px}
.nav-links a{color:var(--muted);font-size:.92rem;white-space:nowrap}
.nav-links a:hover{color:var(--text)}
.nav-right{margin-inline-start:auto;display:flex;align-items:center;gap:12px}
.lang-picker{display:flex;align-items:center;gap:6px;color:var(--muted);border:1px solid var(--line);
  background:var(--bg2);border-radius:10px;padding:0 6px 0 10px;height:38px}
.lang-picker select{appearance:none;-webkit-appearance:none;background:transparent;color:var(--text);border:0;
  font:inherit;font-size:.9rem;height:100%;padding:0 6px;cursor:pointer;max-width:150px}
.lang-picker select option{background:var(--bg2);color:var(--text)}
.lang-picker:focus-within{outline:2px solid var(--accent);outline-offset:2px}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:var(--accent-ink);font-weight:700;border-radius:12px;padding:14px 28px;border:0;cursor:pointer;
  transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(91,140,255,.35)}
.btn-small{padding:8px 16px;font-size:.9rem;border-radius:10px}
.btn-big{padding:18px 36px;font-size:1.1rem}
.btn.disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center;max-width:1180px;margin:0 auto;padding:72px 24px 40px}
.badge{display:inline-block;color:var(--ok);background:rgba(56,211,159,.1);border:1px solid rgba(56,211,159,.3);
  border-radius:999px;padding:4px 14px;font-size:.8rem;margin-bottom:18px}
h1{font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.12;font-weight:900;margin-bottom:18px}
h1 em{font-style:normal;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.1rem;color:var(--muted);margin-bottom:28px;max-width:34em}
.hero-text .small{margin-top:12px}
.hero-shot img{border-radius:14px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.55)}

/* secciones */
.block{max-width:1100px;margin:88px auto 0;padding:0 24px}
.block.narrow{max-width:780px}
h2{font-size:clamp(1.5rem,3vw,2rem);text-align:center;margin-bottom:36px;font-weight:800}
h3{font-size:1.02rem;margin-bottom:8px}

.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.steps p{color:var(--muted);font-size:.93rem}
.num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent2));font-weight:800;margin-bottom:12px}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.card .icon{font-size:1.7rem;margin-bottom:10px}
.card p{color:var(--muted);font-size:.93rem}

.shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:24px}
.shots figure img{border-radius:12px;border:1px solid var(--line);transition:transform .2s}
.shots a:hover img{transform:scale(1.01)}
figcaption{color:var(--muted);font-size:.9rem;margin-top:10px;text-align:center}

.notice{background:var(--bg2);border:1px solid var(--line);border-inline-start:4px solid var(--accent);border-radius:12px;padding:26px}
.notice h2{text-align:start;font-size:1.2rem;margin-bottom:10px}
.notice p{color:var(--muted)}

.dl-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:40px 32px;text-align:center}
.dl-card img{margin:0 auto 14px;border-radius:16px}
.dl-card h2{margin-bottom:6px}
.dl-card .btn{margin:22px 0 8px}
.dl-note{color:#ffb454;font-size:.9rem;margin-bottom:6px}
.sha{margin:10px 0 24px;color:var(--muted);word-break:break-all}
.sha code{display:block;margin-top:4px;font-size:.78rem;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.dl-steps,.req{text-align:start;color:var(--muted);font-size:.93rem;margin:0 auto 22px;max-width:620px;padding-inline-start:22px}
.dl-steps li,.req li{margin-bottom:8px}
.dl-card h3{text-align:start;max-width:620px;margin:20px auto 8px}

details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;gap:10px}
summary::-webkit-details-marker{display:none}
summary::before{content:"+";color:var(--accent);font-weight:800;width:1ch}
details[open] summary::before{content:"−"}
details p{color:var(--muted);font-size:.93rem;margin-top:10px;padding-inline-start:calc(1ch + 10px)}

footer{text-align:center;color:var(--muted);font-size:.85rem;padding:40px 24px;margin-top:88px;border-top:1px solid var(--line)}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:40px;gap:32px}
  .nav-links{display:none}
}
@media(max-width:520px){
  .nav{padding:10px 14px;gap:10px}
  .brand span{display:none}
  .lang-picker select{max-width:110px}
  .block{margin-top:64px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
