/* Landing page (/). Same tokens and look as the YouTube downloader page. */
.landing-hero { max-width: 52rem; }
.eyebrow { display: inline-block; margin: 0 0 0.9rem; padding: 0.25rem 0.75rem; border-radius: 999px; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.02em; color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--surface)); }
.cta-row { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-block-start: 0.5rem; }
.block { margin-block: 3rem; }
.block h2 { margin: 0 0 0.4rem; font-size: clamp(1.35rem, 3.6vw, 1.8rem); line-height: 1.25; }
.sec-lead { margin: 0 0 1.25rem; color: var(--muted); }

.tool-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: 0.85rem; }
.tool-card { --c: var(--q360); position: relative; display: grid; align-content: start; gap: 0.35rem; block-size: 100%; padding: 1.1rem 1.1rem 1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); text-decoration: none; transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s; }
.tool-card[data-c="q480"] { --c: var(--q480); }
.tool-card[data-c="q720"] { --c: var(--q720); }
.tool-card[data-c="q1080"] { --c: var(--q1080); }
.tool-card[data-c="qaudio"] { --c: var(--qaudio); }
.tool-card:hover, .tool-card:focus-visible { border-color: var(--c); transform: translateY(-2px); box-shadow: 0 10px 24px color-mix(in srgb, var(--c) 18%, transparent); }
.tool-ico { display: grid; place-items: center; inline-size: 2.6rem; block-size: 2.6rem; border-radius: 10px; color: #0d111f; background: var(--c); }
.tool-ico .ico { inline-size: 1.4rem; block-size: 1.4rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tool-card h3 { margin: 0.5rem 0 0; font-size: 1.05rem; }
.tool-card p { margin: 0; color: var(--muted); font-size: 0.93rem; line-height: 1.55; }
.tool-go { display: inline-flex; align-items: center; gap: 0.3rem; margin-block-start: 0.5rem; color: var(--primary); font-weight: 600; font-size: 0.92rem; }
.tool-go .ico { inline-size: 1rem; block-size: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
[dir="rtl"] .tool-go .ico { transform: scaleX(-1); }

.why-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 0.85rem; }
.why-grid li { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.why-grid h3 { margin: 0 0 0.35rem; font-size: 1rem; }
.why-grid p { margin: 0; color: var(--muted); font-size: 0.93rem; line-height: 1.55; }

.how-steps { list-style: none; counter-reset: s; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0.85rem; }
.how-steps li { counter-increment: s; display: grid; gap: 0.25rem; padding: 1rem 1.1rem 1rem 1.1rem; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, var(--surface) 55%, transparent); }
.how-steps li::before { content: counter(s); display: grid; place-items: center; inline-size: 1.9rem; block-size: 1.9rem; margin-block-end: 0.35rem; border-radius: 50%; background: var(--primary); color: var(--primary-ink); font-weight: 700; font-size: 0.9rem; }
.how-steps span { color: var(--muted); font-size: 0.93rem; line-height: 1.55; }

.about-site { max-inline-size: 46rem; }
.about-site p { color: var(--ink); line-height: 1.75; margin: 0 0 1rem; }
