.identity-page {
    background: var(--body-background);
    color: var(--color-contrast);
}

.identity-page .site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transform: translateY(-48px);
    opacity: 0;
    pointer-events: none;
}

.identity-page .site-main,
.identity-page .footer {
    display: none;
}

.identity-hero {
    position: relative;
    height: 100vh;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: stretch;
    padding: clamp(2rem, 6vw, 3rem) clamp(2rem, 6vw, 4rem);
    overflow: hidden;
}

.identity-hero__background {
    position: absolute;
    inset: -15%;
    background:
        radial-gradient(circle at 28% 16%, rgba(24, 46, 82, 0.42), transparent 58%),
        radial-gradient(circle at 72% 68%, rgba(16, 32, 60, 0.36), transparent 58%),
        radial-gradient(circle at 40% 78%, rgba(12, 20, 36, 0.45), transparent 65%),
        radial-gradient(circle at 50% 90%, rgba(3, 6, 12, 0.96), rgba(2, 4, 10, 0.98));
    filter: blur(18px);
    opacity: 0.82;
    z-index: 0;
}

.identity-hero__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.72;
    mix-blend-mode: screen;
    pointer-events: none;
    z-index: 1;
}

.identity-hero__stars {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(2.2px 2.2px at 22% 28%, rgba(140, 188, 255, 0.78), transparent),
        radial-gradient(1.8px 1.8px at 68% 38%, rgba(118, 164, 255, 0.58), transparent),
        radial-gradient(1.3px 1.3px at 46% 76%, rgba(186, 226, 255, 0.55), rgba(0, 0, 0, 0.677)),
        radial-gradient(1.9px 1.9px at 82% 58%, rgba(120, 170, 255, 0.48), transparent),
        radial-gradient(1.1px 1.1px at 60% 82%, rgba(96, 140, 220, 0.35), transparent);
    background-repeat: no-repeat;
    opacity: 0.9;
    z-index: 2;
}

.identity-hero__stars::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(1px 1px at 12% 18%, rgba(170, 210, 255, 0.55), transparent 55%),
        radial-gradient(1px 1px at 48% 32%, rgba(150, 200, 255, 0.45), transparent 55%),
        radial-gradient(1.4px 1.4px at 72% 64%, rgba(180, 220, 255, 0.5), transparent 60%),
        radial-gradient(0.8px 0.8px at 30% 72%, rgba(150, 208, 255, 0.4), transparent );
    background-repeat: no-repeat;
    filter: blur(0.35px);
    opacity: 0.85;
    pointer-events: none;
    z-index: 1;
}

.identity-hero__stage {
    position: relative;
    z-index: 3;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(2.5rem, 7vw, 3.5rem);
    text-align: center;
    transform-style: preserve-3d;
}

.identity-hero__orb {
    position: relative;
    width: clamp(260px, 42vw, 360px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    filter: drop-shadow(0 0 32px rgba(68, 108, 188, 0.28));
}

.identity-hero__ring {
    width: 100%;
    max-width: clamp(240px, 40vw, 340px);
    border-width: 2px;
    border-color: rgba(220, 230, 255, 0.7);
}

.identity-hero__tagline {
    margin: 0;
    font-size: clamp(1rem, 2.2vw, 1.3rem);
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(166, 176, 198, 0.72);
    position: relative;
    overflow: hidden;
}

.identity-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: clamp(1.4rem, 4vw, 2.4rem);
    padding: clamp(0.85rem, 2vw, 1rem) clamp(1.6rem, 4.2vw, 2.6rem);
    border-radius: 999px;
    border: 1px solid rgba(176, 208, 255, 0.28);
    background:
        linear-gradient(135deg, rgba(120, 174, 255, 0.22), rgba(80, 120, 210, 0.12));
    color: rgba(226, 236, 255, 0.92);
    letter-spacing: 0.18em;
    font-size: clamp(0.72rem, 1.9vw, 0.88rem);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.identity-hero__cta::before {
    content: "";
    position: absolute;
    inset: -40% 60% 60% -40%;
    background: radial-gradient(circle, rgba(200, 230, 255, 0.4), transparent 55%);
    transform: rotate(18deg);
    opacity: 0.45;
    transition: transform 0.45s ease, opacity 0.45s ease;
}

.identity-hero__cta:hover,
.identity-hero__cta:focus-visible {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 22px 44px rgba(90, 140, 220, 0.24);
    background:
        linear-gradient(135deg, rgba(140, 188, 255, 0.28), rgba(92, 132, 210, 0.18));
}

.identity-hero__cta:hover::before,
.identity-hero__cta:focus-visible::before {
    transform: rotate(0deg) translateX(12%);
    opacity: 0.65;
}

.identity-hero__tagline::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    display: inline-block;
    background: linear-gradient(90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.1) 46%,
        rgba(255, 255, 255, 1) 50%,
        rgba(255, 255, 255, 0.1) 54%,
        rgba(255, 255, 255, 0) 100%
    );
    background-size: 200% 100%;
    background-repeat: no-repeat;
    background-position: -100% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    mix-blend-mode: screen;
    pointer-events: none;
    animation: identity-tagline-shine 5s ease-out infinite;
}

@keyframes identity-tagline-shine {
    0% {
        background-position: -100% 50%;
        opacity: 0;
    }
    15% {
        opacity: 1;
    }
    50% {
        background-position: 100% 50%;
        opacity: 1;
    }
    65% {
        opacity: 0;
    }
    100% {
        background-position: 100% 50%;
        opacity: 0;
    }
}

@media (max-width: 640px) {
    .identity-hero__cta {
        width: min(100%, 320px);
        letter-spacing: 0.26em;
    }
}

@media (max-width: 720px) {
    .identity-hero {
        padding: clamp(2rem, 12vw, 3rem) clamp(1.5rem, 6vw, 2rem);
    }

    .identity-hero__orb {
        width: clamp(220px, 62vw, 320px);
    }

    .identity-hero__nav {
        gap: clamp(1rem, 3vw, 1.6rem);
        flex-wrap: wrap;
        padding-inline: clamp(1rem, 8vw, 2rem);
    }

    .identity-hero__nav-link {
        letter-spacing: 0.28em;
    }
}
