:root {
    --ks-bg: #0a0a0f;
    --ks-surface: #111111;
    --ks-card: #15171d;
    --ks-border: #2b2f3a;
    --ks-primary: #88c5ff;
    --ks-purple: #8b5cf6;
    --ks-pink: #ff3ca6;
    --ks-text: #ffffff;
    --ks-muted: #a1a1aa;
    --ks-max: 1200px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--ks-bg);
    color: var(--ks-text);
    font-family: Montserrat, Inter, Arial, sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
    overflow-wrap: anywhere;
}

img {
    display: block;
    height: auto;
    max-width: 100%;
}

h1,
h2,
h3 {
    line-height: 1.08;
    margin: 0 0 16px;
    text-transform: uppercase;
}

h1 {
    font-size: clamp(42px, 7vw, 72px);
}

h2 {
    font-size: 26px;
}

h3 {
    font-size: 18px;
}

h1,
h2,
h3,
p,
li,
dd {
    overflow-wrap: anywhere;
}

.ks-header,
.ks-footer,
.ks-section {
    margin: 0 auto;
    max-width: var(--ks-max);
    padding-left: 24px;
    padding-right: 24px;
}

.ks-kicker {
    color: var(--ks-primary);
    font-size: 13px;
    font-weight: 800;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.ks-button,
.ks-filterbar select {
    background: transparent;
    border: 1px solid var(--ks-primary);
    color: var(--ks-text);
    display: inline-block;
    font-weight: 800;
    margin-top: 16px;
    padding: 12px 22px;
    text-transform: uppercase;
}

.ks-section {
    padding-bottom: 72px;
    padding-top: 72px;
}

.ks-section + .ks-section,
.ks-footer {
    border-top: 1px solid var(--ks-border);
}
