/* ============================================================
   V1DShorts — Landing Page Stylesheet
   ------------------------------------------------------------
   Mobile-first. Premium SaaS aesthetic — deep black canvas,
   subtle pink→purple accents, glass cards, elegant borders.
   No cyberpunk, no gaming neon, no over-the-top glow.
============================================================ */

:root {
    --vs-pink:        #ff0080;
    --vs-pink-soft:   #ff4da5;
    --vs-purple:      #7822dc;
    --vs-grad:        linear-gradient(90deg, var(--vs-pink) 0%, var(--vs-purple) 100%);
    --vs-grad-soft:   linear-gradient(135deg, rgba(255, 0, 128, .18), rgba(120, 40, 220, .18));

    --vs-bg:          #050507;
    --vs-bg-card:     rgba(18, 18, 24, .72);
    --vs-bg-card-2:   rgba(14, 14, 19, .55);
    --vs-border:      rgba(255, 255, 255, .07);
    --vs-border-pink: rgba(255, 0, 128, .28);

    --vs-text:        #ffffff;
    --vs-muted:       #a8a8b4;
    --vs-dim:         #6b6b78;

    --vs-radius-lg:   22px;
    --vs-radius-xl:   28px;
    --vs-radius-pill: 999px;

    --vs-ease:        cubic-bezier(.22, 1, .36, 1);

    --vs-container:   1180px;
}

/* ---------- RESET ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body.v1ds-body {
    background: #000;
    color: var(--vs-text);
    font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    min-height: 100vh;
    overflow-x: hidden;
    line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font: inherit; cursor: pointer; }

::selection { background: rgba(255, 0, 128, .38); color: #fff; }

/* ---------- AMBIENT BACKGROUND ---------- */
.v1ds-bg {
    position: fixed; inset: 0; z-index: -1;
    background:
        radial-gradient(900px 700px at 92% -8%,  rgba(255, 0, 128, .14), transparent 60%),
        radial-gradient(800px 600px at -8% 96%,  rgba(120, 40, 220, .10), transparent 55%),
        radial-gradient(600px 480px at 60% 50%,  rgba(255, 0, 128, .04), transparent 60%),
        var(--vs-bg);
    pointer-events: none;
}

/* ---------- UTILITY ---------- */
.v1ds-grad-text {
    background: var(--vs-grad);
    -webkit-background-clip: text; background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.v1ds-pill {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 14px;
    border-radius: var(--vs-radius-pill);
    background: rgba(255, 0, 128, .07);
    border: 1px solid var(--vs-border-pink);
    font-size: 11.5px; font-weight: 600;
    letter-spacing: 1.6px; text-transform: uppercase;
    color: var(--vs-pink);
}
.v1ds-pill svg { color: var(--vs-pink); }

/* ============================================================
   HEADER
============================================================ */
.v1ds-header {
    position: sticky; top: 0; z-index: 50;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    background: rgba(0, 0, 0, .35);
    border-bottom: 1px solid rgba(255, 255, 255, .04);
}
.v1ds-header-inner {
    max-width: var(--vs-container);
    margin: 0 auto;
    padding: 16px 22px;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: 12px;
}
.v1ds-logo {
    display: inline-flex; justify-self: center;
    font-weight: 700; font-size: 22px; letter-spacing: .2px;
    line-height: 1;
}
.v1ds-logo-1 { color: #ffffff; }
.v1ds-logo-2 { background: var(--vs-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

.v1ds-icon-btn {
    width: 44px; height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 12px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--vs-border);
    color: #fff;
    transition: background .2s var(--vs-ease), border-color .2s var(--vs-ease), transform .2s var(--vs-ease);
}
.v1ds-icon-btn:hover { background: rgba(255, 0, 128, .08); border-color: var(--vs-border-pink); transform: translateY(-1px); }
.v1ds-icon-btn.v1ds-home-btn { border-color: var(--vs-border-pink); color: var(--vs-pink-soft); }
.v1ds-menu-btn { justify-self: start; }
.v1ds-home-btn { justify-self: end; }

/* ============================================================
   HERO
============================================================ */
.v1ds-hero {
    max-width: var(--vs-container);
    margin: 0 auto;
    padding: 28px 22px 24px;
}
.v1ds-hero-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
}
.v1ds-hero-copy { min-width: 0; }

.v1ds-h1 {
    margin: 14px 0 12px;
    font-size: clamp(28px, 6.2vw, 56px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.6px;
}
.v1ds-h1 .v1ds-grad-text { display: block; }

.v1ds-hero-sub {
    margin: 0 0 22px;
    font-size: clamp(13.5px, 1.6vw, 16.5px);
    color: var(--vs-muted);
    max-width: 520px;
    line-height: 1.6;
}

.v1ds-hero-cta {
    display: flex; flex-wrap: wrap; gap: 12px;
    margin-top: 6px;
}

.v1ds-btn {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 14px 22px;
    border-radius: 14px;
    font-weight: 600; font-size: 14.5px;
    border: 1px solid transparent;
    transition: transform .2s var(--vs-ease), box-shadow .2s var(--vs-ease), filter .2s var(--vs-ease), background .2s var(--vs-ease);
    white-space: nowrap;
}
.v1ds-btn-primary {
    background: var(--vs-grad);
    color: #fff;
    box-shadow: 0 12px 30px -10px rgba(255, 0, 128, .55), inset 0 1px 0 rgba(255, 255, 255, .14);
}
.v1ds-btn-primary:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 18px 38px -12px rgba(255, 0, 128, .65), inset 0 1px 0 rgba(255, 255, 255, .18); }
.v1ds-btn-ghost {
    background: rgba(255, 255, 255, .03);
    border-color: var(--vs-border);
    color: #fff;
}
.v1ds-btn-ghost:hover { background: rgba(255, 255, 255, .07); border-color: var(--vs-border-pink); transform: translateY(-2px); }

/* ============================================================
   CSS 3D PHONE MOCKUP
   ------------------------------------------------------------
   Container: perspective on scene.
   Device: rotated in Y + X to give a slight tilt — Android flagship.
============================================================ */

.v1ds-hero-device-wrap {
    --device-w: clamp(150px, 36vw, 300px);
    width: var(--device-w);
    perspective: 1800px;
    perspective-origin: 50% 50%;
}
.v1ds-device-scene {
    position: relative;
    transform-style: preserve-3d;
    transform: rotateX(6deg) rotateY(-14deg);
    transition: transform .6s var(--vs-ease);
}
.v1ds-hero-device-wrap:hover .v1ds-device-scene { transform: rotateX(4deg) rotateY(-10deg) scale(1.015); }

.v1ds-device {
    position: relative;
    width: var(--device-w);
    aspect-ratio: 9 / 19.5;
    border-radius: calc(var(--device-w) * .13);
    background:
        linear-gradient(155deg, #1a1a22 0%, #0e0e14 35%, #07070a 100%);
    box-shadow:
        /* outer pink halo (very subtle) */
        0 0 0 1px rgba(255, 0, 128, .32),
        0 24px 48px -16px rgba(255, 0, 128, .28),
        /* main ground shadow */
        0 60px 100px -30px rgba(0, 0, 0, .9),
        0 20px 40px -10px rgba(0, 0, 0, .65),
        /* inner subtle bevel */
        inset 0 1px 0 rgba(255, 255, 255, .06),
        inset 0 -2px 0 rgba(0, 0, 0, .4);
    transform-style: preserve-3d;
}

/* Side buttons (volume + power) — depth via translateZ */
.v1ds-device-vol, .v1ds-device-power {
    position: absolute;
    background: linear-gradient(180deg, #2a2a32, #15151c);
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), -2px 0 4px rgba(0, 0, 0, .5);
}
.v1ds-device-vol {
    left: -3px;
    width: 4px; height: 9%;
    transform: translateZ(-2px);
}
.v1ds-device-vol-up { top: 22%; }
.v1ds-device-vol-dn { top: 35%; height: 14%; }
.v1ds-device-power {
    right: -3px; top: 26%;
    width: 4px; height: 11%;
    transform: translateZ(-2px);
    background: linear-gradient(180deg, #2a2a32, #1a1a22);
}

/* Screen — inset, dark, rounded a touch less than body */
.v1ds-screen {
    position: absolute;
    inset: calc(var(--device-w) * .017);
    border-radius: calc(var(--device-w) * .115);
    overflow: hidden;
    background: #000;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .04),
        inset 0 0 30px rgba(0, 0, 0, .8);
}

/* Punch-hole camera */
.v1ds-camera {
    position: absolute;
    top: calc(var(--device-w) * .035);
    left: 50%;
    transform: translateX(-50%);
    width: calc(var(--device-w) * .04);
    height: calc(var(--device-w) * .04);
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #1a1a22, #000 70%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 0 0 2px rgba(0, 0, 0, .8);
    z-index: 5;
}

/* Feed background image + tint */
.v1ds-feed-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: 50% 35%;
    filter: saturate(1.05) contrast(1.02);
}
.v1ds-feed-tint {
    position: absolute; inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, 0) 22%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, .85) 100%),
        radial-gradient(120% 60% at 50% 100%, rgba(120, 40, 220, .25), transparent 60%);
}

/* Top tabs */
.v1ds-feed-top {
    position: absolute;
    top: calc(var(--device-w) * .075);
    left: 0; right: 0;
    display: flex; align-items: center; justify-content: center;
    gap: 14px;
    color: rgba(255, 255, 255, .85);
    font-size: calc(var(--device-w) * .045);
    font-weight: 600;
    z-index: 4;
}
.v1ds-tab { opacity: .55; position: relative; padding: 2px 0; }
.v1ds-tab-active { opacity: 1; }
.v1ds-tab-active::after {
    content: '';
    position: absolute; left: 15%; right: 15%;
    bottom: -5px; height: 2px;
    background: #fff; border-radius: 2px;
}
.v1ds-feed-search {
    position: absolute; right: calc(var(--device-w) * .055); top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, .9);
    width: calc(var(--device-w) * .075); height: calc(var(--device-w) * .075);
    display: inline-flex; align-items: center; justify-content: center;
}

/* Side action stack */
.v1ds-feed-actions {
    position: absolute;
    right: calc(var(--device-w) * .04);
    bottom: calc(var(--device-w) * .25);
    display: flex; flex-direction: column; align-items: center;
    gap: calc(var(--device-w) * .055);
    z-index: 4;
}
.v1ds-feed-act { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.v1ds-feed-act-ic {
    width: calc(var(--device-w) * .105);
    height: calc(var(--device-w) * .105);
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .4);
}
.v1ds-feed-act-ic svg { width: 56%; height: 56%; }
.v1ds-feed-act-heart { color: var(--vs-pink); background: rgba(255, 0, 128, .22); }
.v1ds-feed-act-n {
    color: #fff;
    font-size: calc(var(--device-w) * .035);
    font-weight: 600;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}
.v1ds-feed-avatar {
    width: calc(var(--device-w) * .105);
    height: calc(var(--device-w) * .105);
    border-radius: 50%;
    background-size: cover; background-position: center;
    border: 2px solid var(--vs-pink);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .6);
}

/* Bottom info block */
.v1ds-feed-info {
    position: absolute;
    left: calc(var(--device-w) * .045);
    right: calc(var(--device-w) * .2);
    bottom: calc(var(--device-w) * .13);
    color: #fff;
    z-index: 4;
    text-align: left;
}
.v1ds-feed-info-row { display: flex; align-items: center; gap: 8px; }
.v1ds-feed-handle {
    font-size: calc(var(--device-w) * .052);
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}
.v1ds-feed-follow {
    font-size: calc(var(--device-w) * .034);
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--vs-pink);
    color: #fff;
    line-height: 1;
}
.v1ds-feed-caption {
    margin-top: 6px;
    font-size: calc(var(--device-w) * .04);
    font-weight: 400;
    line-height: 1.3;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}
.v1ds-feed-hash { color: var(--vs-pink-soft); font-weight: 500; }
.v1ds-feed-sound {
    margin-top: 6px;
    display: inline-flex; align-items: center; gap: 5px;
    font-size: calc(var(--device-w) * .035);
    opacity: .9;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}
.v1ds-feed-sound svg { opacity: .9; }

/* Bottom nav */
.v1ds-feed-nav {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: calc(var(--device-w) * .105);
    display: flex; align-items: center; justify-content: space-around;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .85));
    color: #fff;
    padding-bottom: calc(var(--device-w) * .015);
    z-index: 4;
}
.v1ds-feed-nav-i {
    width: calc(var(--device-w) * .07);
    height: calc(var(--device-w) * .07);
    display: inline-flex; align-items: center; justify-content: center;
    opacity: .85;
}
.v1ds-feed-nav-plus {
    width: calc(var(--device-w) * .095);
    height: calc(var(--device-w) * .065);
    border-radius: 7px;
    background: var(--vs-pink);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700;
    font-size: calc(var(--device-w) * .055);
    box-shadow: 0 4px 12px rgba(255, 0, 128, .55);
}

/* Floor reflection */
.v1ds-device-floor {
    position: absolute;
    left: 50%; transform: translateX(-50%);
    bottom: -28px;
    width: 78%; height: 22px;
    background: radial-gradient(60% 100% at 50% 0%, rgba(255, 0, 128, .35), transparent 70%);
    filter: blur(10px);
    opacity: .55;
    pointer-events: none;
}

/* ============================================================
   CATEGORIES PILL BAR
============================================================ */
.v1ds-cats-wrap {
    max-width: var(--vs-container);
    margin: 12px auto 26px;
    padding: 0 22px;
}
.v1ds-cats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 14px;
    border-radius: 22px;
    background: var(--vs-bg-card-2);
    border: 1px solid var(--vs-border);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.v1ds-cat {
    flex: 1 1 0;
    min-width: 0;
    display: flex; flex-direction: column; align-items: center; gap: 9px;
    padding: 4px 4px;
    color: var(--vs-text);
    font-size: 12.5px;
    font-weight: 500;
    transition: transform .2s var(--vs-ease), color .2s var(--vs-ease);
}
.v1ds-cat:hover { transform: translateY(-2px); color: var(--vs-pink-soft); }
.v1ds-cat-ic {
    width: 46px; height: 46px;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 0, 128, .06);
    border: 1.5px solid var(--vs-border-pink);
    color: var(--vs-pink);
    transition: background .2s var(--vs-ease), box-shadow .2s var(--vs-ease);
}
.v1ds-cat:hover .v1ds-cat-ic { background: rgba(255, 0, 128, .12); box-shadow: 0 0 0 4px rgba(255, 0, 128, .06); }
.v1ds-cat-l { color: var(--vs-text); }
.v1ds-cat-sep {
    flex: 0 0 1px;
    width: 1px;
    height: 38px;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .14), transparent);
}

/* ============================================================
   SECTION HEADS
============================================================ */
.v1ds-section {
    max-width: var(--vs-container);
    margin: 56px auto 0;
    padding: 0 22px;
}
.v1ds-section-head {
    text-align: center;
    margin-bottom: 28px;
    display: flex; flex-direction: column; align-items: center; gap: 14px;
}
.v1ds-h2 {
    margin: 0;
    font-size: clamp(24px, 4vw, 36px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.3px;
}

/* ============================================================
   FEATURES (3 stacked rows)
============================================================ */
.v1ds-feat-list {
    display: flex; flex-direction: column;
    gap: 14px;
    max-width: 760px; margin: 0 auto;
}
.v1ds-feat {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
    padding: 18px 18px;
    border-radius: var(--vs-radius-lg);
    background: var(--vs-bg-card);
    border: 1px solid var(--vs-border);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--vs-text);
    transition: transform .25s var(--vs-ease), border-color .25s var(--vs-ease), background .25s var(--vs-ease);
}
.v1ds-feat:hover {
    transform: translateY(-2px);
    border-color: var(--vs-border-pink);
    background: rgba(22, 14, 22, .8);
}
.v1ds-feat-ic {
    width: 58px; height: 58px;
    border-radius: 16px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--vs-grad-soft);
    border: 1.4px solid var(--vs-border-pink);
    color: var(--vs-pink);
}
.v1ds-feat-text { min-width: 0; }
.v1ds-feat-title {
    margin: 0 0 4px;
    font-size: 16px; font-weight: 600;
    color: #fff;
    line-height: 1.3;
}
.v1ds-feat-desc {
    margin: 0;
    font-size: 13.5px;
    color: var(--vs-muted);
    line-height: 1.55;
}
.v1ds-feat-arrow {
    color: var(--vs-pink);
    opacity: .65;
    transition: transform .2s var(--vs-ease), opacity .2s var(--vs-ease);
}
.v1ds-feat:hover .v1ds-feat-arrow { opacity: 1; transform: translateX(3px); }

/* ============================================================
   STEPS (4 horizontal circles w/ dashed connectors)
============================================================ */
.v1ds-steps {
    list-style: none;
    margin: 8px auto 0;
    padding: 0;
    max-width: 920px;
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: start;
    gap: 8px;
}
.v1ds-step {
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    padding: 6px 4px;
    position: relative;
}
.v1ds-step-ic {
    width: 76px; height: 76px;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 0, 128, .06);
    border: 1.5px solid var(--vs-border-pink);
    color: var(--vs-pink);
    box-shadow: 0 0 0 6px rgba(255, 0, 128, .035);
    transition: transform .25s var(--vs-ease), box-shadow .25s var(--vs-ease);
}
.v1ds-step:hover .v1ds-step-ic { transform: translateY(-3px) scale(1.03); box-shadow: 0 0 0 8px rgba(255, 0, 128, .07); }
.v1ds-step-num {
    margin: -14px auto 10px;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--vs-pink);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 13px;
    box-shadow: 0 6px 14px -4px rgba(255, 0, 128, .55);
    border: 2px solid #000;
}
.v1ds-step-title {
    margin: 0 0 4px;
    font-size: 16px; font-weight: 600;
    color: #fff;
}
.v1ds-step-desc {
    margin: 0;
    font-size: 12.5px;
    color: var(--vs-muted);
    line-height: 1.5;
    max-width: 180px;
}
.v1ds-step-dash {
    align-self: start;
    margin-top: 36px;
    width: 100%;
    min-width: 30px;
    height: 0;
    border-top: 2px dashed rgba(255, 0, 128, .42);
    opacity: .85;
}

/* ============================================================
   FOOTER
============================================================ */
.v1ds-footer {
    margin-top: 64px;
    padding: 36px 22px 28px;
    border-top: 1px solid var(--vs-border);
    background: linear-gradient(180deg, transparent, rgba(255, 0, 128, .04));
}
.v1ds-footer-inner {
    max-width: var(--vs-container);
    margin: 0 auto;
    text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.v1ds-logo-sm { font-size: 18px; }
.v1ds-footer-tag { margin: 0; color: var(--vs-muted); font-size: 13.5px; }
.v1ds-footer-links {
    display: flex; gap: 18px; margin-top: 6px;
    font-size: 13px;
}
.v1ds-footer-links a { color: var(--vs-muted); transition: color .2s var(--vs-ease); }
.v1ds-footer-links a:hover { color: var(--vs-pink-soft); }
.v1ds-footer-copy { margin: 6px 0 0; color: var(--vs-dim); font-size: 12px; }

/* ============================================================
   RESPONSIVE
============================================================ */

/* DESKTOP (≥ 900px) — larger hero, phone bigger */
@media (min-width: 900px) {
    .v1ds-hero {
        padding: 60px 22px 40px;
    }
    .v1ds-hero-grid {
        grid-template-columns: 1.05fr .95fr;
        gap: 50px;
    }
    .v1ds-hero-device-wrap { --device-w: 320px; justify-self: center; }
    .v1ds-cats { padding: 18px 10px; }
    .v1ds-cat-ic { width: 54px; height: 54px; }
    .v1ds-section { margin-top: 88px; }
}

/* TABLET (601–899px) */
@media (max-width: 899px) and (min-width: 601px) {
    .v1ds-hero-device-wrap { --device-w: 260px; }
}

/* MOBILE (≤ 600px) — match the reference screenshot layout exactly */
@media (max-width: 600px) {
    .v1ds-hero {
        padding: 22px 18px 16px;
    }
    .v1ds-hero-device-wrap {
        --device-w: 158px;
        justify-self: end;
        margin-top: 14px;
    }
    .v1ds-h1 { font-size: clamp(26px, 8vw, 38px); margin-top: 12px; }
    .v1ds-hero-sub { font-size: 13.5px; }
    .v1ds-btn { padding: 12px 18px; font-size: 13.5px; }

    .v1ds-cats-wrap { padding: 0 18px; }
    .v1ds-cat-ic { width: 40px; height: 40px; }
    .v1ds-cat-ic svg { width: 18px; height: 18px; }
    .v1ds-cat-l { font-size: 11.5px; }

    .v1ds-section { margin-top: 44px; padding: 0 18px; }
    .v1ds-feat { padding: 16px 14px; gap: 12px; grid-template-columns: auto 1fr auto; }
    .v1ds-feat-ic { width: 50px; height: 50px; border-radius: 14px; }
    .v1ds-feat-title { font-size: 15px; }
    .v1ds-feat-desc { font-size: 12.5px; }

    .v1ds-steps { gap: 0; }
    .v1ds-step-ic { width: 60px; height: 60px; }
    .v1ds-step-ic svg { width: 22px; height: 22px; }
    .v1ds-step-num { width: 22px; height: 22px; font-size: 12px; margin-top: -12px; }
    .v1ds-step-title { font-size: 14px; }
    .v1ds-step-desc { font-size: 11.5px; max-width: 100px; }
    .v1ds-step-dash { margin-top: 28px; border-top-width: 1.5px; min-width: 14px; }

    .v1ds-footer { padding: 28px 18px 22px; margin-top: 44px; }
}

/* Very small phones — keep stable */
@media (max-width: 360px) {
    .v1ds-hero-device-wrap { --device-w: 140px; }
    .v1ds-h1 { font-size: 24px; }
}

/* Reduced motion: kill 3D tilt + transitions */
@media (prefers-reduced-motion: reduce) {
    .v1ds-device-scene { transform: none; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
