:root {
    --color-bg: #07070b;
    --color-text: #f5f7fb;
    --color-text-soft: rgba(245, 247, 251, 0.8);
    --color-border: rgba(255, 255, 255, 0.12);
    --color-primary: #00a7a0;
    --color-secondary: #c61f3d;
    --color-primary-hover: #0bb8b1;
    --color-secondary-hover: #da2949;
    --container-width: 1200px;
    --header-height: 88px;
    --shadow-soft: 0 20px 60px rgba(0, 0, 0, 0.35);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

[data-reveal] {
    will-change: transform, opacity;
}

body:not(.is-scroll-ready) main:not(.services-page) section > div,
body:not(.is-scroll-ready) main:not(.services-page) article {
    opacity: 0;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: "Manrope", "Segoe UI", Arial, sans-serif;
    color: var(--color-text);
    background:
        radial-gradient(circle at top left, rgba(154, 91, 255, 0.18), transparent 28%),
        radial-gradient(circle at 80% 20%, rgba(208, 29, 79, 0.12), transparent 24%),
        linear-gradient(180deg, #08070d 0%, #050509 100%);
}

main {
    flex: 1 0 auto;
}

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

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