:root {
    --background:#050505;
    --surface:#101010;
    --surface-hover:#151515;
    --border:#242424;
    --text:#ffffff;
    --secondary:#9CA3AF;
    --accent:#38BDF8;
    --radius:18px;
    --transition:.25s ease;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    margin:0;
    background:var(--background);
    color:var(--text);
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.6;
}

a {
    color:inherit;
    text-decoration:none;
}

.container {
    width:100%;
    max-width:900px;
    margin:0 auto;
    padding:130px 25px 50px;
}

.rights-header {
    text-align:center;
    margin-bottom:50px;
}

.rights-label {
    display:inline-block;
    margin-bottom:15px;
    color:var(--accent);
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
}

.rights-header h1 {
    margin:0;
    font-size:clamp(42px,8vw,68px);
    line-height:1.05;
    letter-spacing:-3px;
    font-weight:800;
}

.slogan {
    max-width:680px;
    margin:18px auto 0;
    color:var(--secondary);
    font-size:16px;
    line-height:1.7;
}

.rights-index {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin-bottom:60px;
}

.rights-index a {
    padding:10px 14px;
    border:1px solid var(--border);
    border-radius:12px;
    color:var(--secondary);
    background:var(--surface);
    font-size:13px;
    transition:var(--transition);
}

.rights-index a:hover {
    color:var(--text);
    background:var(--surface-hover);
    border-color:#3f3f3f;
}

.rights-section {
    margin-bottom:70px;
    scroll-margin-top:100px;
}

.section-number {
    display:block;
    margin-bottom:10px;
    color:var(--accent);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
}

.rights-section h2 {
    margin:0 0 12px;
    font-size:30px;
    line-height:1.2;
    letter-spacing:-1px;
}

.rights-section > p {
    max-width:720px;
    margin:0 0 22px;
    color:var(--secondary);
    font-size:15px;
}

.rights-card {
    padding:22px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--surface);
}

.rights-card h3,
.rights-item h3 {
    margin:0 0 7px;
    color:var(--text);
    font-size:15px;
    font-weight:600;
}

.rights-card p,
.rights-item p {
    margin:0;
    color:var(--secondary);
    font-size:13px;
    line-height:1.6;
}

.rights-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.rights-item {
    padding:20px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--surface);
    transition:var(--transition);
}

.rights-item:hover {
    background:var(--surface-hover);
    border-color:#3f3f3f;
    transform:translateY(-3px);
}

.rights-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:18px;
    color:var(--text);
    font-size:13px;
    font-weight:600;
}

.rights-link svg {
    width:17px;
    height:17px;
    transition:var(--transition);
}

.rights-link:hover svg {
    transform:translateX(4px);
}

.rights-contact {
    padding:30px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--surface);
}

.rights-contact > span {
    color:var(--accent);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
}

.rights-contact h3 {
    margin:10px 0 8px;
    font-size:24px;
    letter-spacing:-.7px;
}

.rights-contact p {
    max-width:620px;
    margin:0;
    color:var(--secondary);
    font-size:14px;
}

.rights-footer {
    padding-top:35px;
    border-top:1px solid var(--border);
    color:var(--secondary);
    font-size:12px;
    text-align:center;
}

.rights-footer p {
    margin:0 0 15px;
}

.rights-footer div {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
}

.rights-footer a {
    transition:var(--transition);
}

.rights-footer a:hover {
    color:var(--text);
}

@media(max-width:600px) {

    .container {
        padding:110px 18px 40px;
    }

    .rights-header {
        margin-bottom:40px;
    }

    .rights-header h1 {
        letter-spacing:-2px;
    }

    .rights-index {
        justify-content:flex-start;
        margin-bottom:45px;
    }

    .rights-index a {
        font-size:12px;
    }

    .rights-section {
        margin-bottom:55px;
    }

    .rights-section h2 {
        font-size:26px;
    }

    .rights-grid {
        grid-template-columns:1fr;
    }

    .rights-card,
    .rights-item,
    .rights-contact {
        padding:18px;
    }

    .rights-contact h3 {
        font-size:21px;
    }

    .rights-footer div {
        gap:14px;
    }

}

@media(prefers-reduced-motion:reduce) {

    html {
        scroll-behavior:auto;
    }

}

.rights-reveal-left,
.rights-reveal-right {
    opacity:0;
    filter:blur(5px);
    transition:
        opacity .7s ease,
        filter .7s ease,
        transform .7s cubic-bezier(.22,1,.36,1);
}

.rights-reveal-left {
    transform:translateX(-24px);
}

.rights-reveal-right {
    transform:translateX(24px);
}

.rights-reveal-left.visible,
.rights-reveal-right.visible {
    opacity:1;
    filter:blur(0);
    transform:translateX(0);
}

@media(prefers-reduced-motion:reduce) {

    .rights-reveal-left,
    .rights-reveal-right {
        opacity:1;
        filter:none;
        transform:none;
        transition:none;
    }

}
