/* Local Font Imports */@font-face {    font-family: 'Aldrich';    src: url('../assets/fonts/Aldrich-Regular.woff2') format('woff2'),        url('../assets/fonts/Aldrich-Regular.ttf') format('truetype');    font-weight: 400;    font-style: normal;    font-display: swap;}@font-face {    font-family: 'DM Sans';    src: url('../assets/fonts/DMSans-Regular.woff2') format('woff2'),        url('../assets/fonts/DMSans-Regular.ttf') format('truetype');    font-weight: 400;    font-style: normal;    font-display: swap;}@font-face {    font-family: 'DM Sans';    src: url('../assets/fonts/DMSans-Medium.woff2') format('woff2'),        url('../assets/fonts/DMSans-Medium.ttf') format('truetype');    font-weight: 500;    font-style: normal;    font-display: swap;}@font-face {    font-family: 'DM Sans';    src: url('../assets/fonts/DMSans-Bold.woff2') format('woff2'),        url('../assets/fonts/DMSans-Bold.ttf') format('truetype');    font-weight: 700;    font-style: normal;    font-display: swap;}:root {    --c-bg-top: #010812;    --c-bg-bot: #01050E;    --c-accent: #2AB8FF;    --font-heading: 'Aldrich', sans-serif;    --font-body: 'DM Sans', sans-serif;}* {    margin: 0;    padding: 0;    box-sizing: border-box;    cursor: none;    /* Custom cursor everywhere */}body {    background: linear-gradient(180deg, var(--c-bg-top) 0%, var(--c-bg-bot) 100%);    color: #ffffff;    font-family: var(--font-body);    min-height: 100vh;    overflow-x: hidden;    display: flex;    flex-direction: column;}a,button {    cursor: none;    /* Ensure custom cursor stays */}/* Background Canvas */#bg-canvas {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    z-index: -1;}/* Layout & Typography */:root {    /* Define a standard horizontal padding variable for alignment */    --padding-x: 3rem;}@media (max-width: 768px) {    :root {        --padding-x: 1.5rem;    }}.main-header {    padding: 2rem var(--padding-x);    display: flex;    justify-content: space-between;    align-items: center;    position: relative;    z-index: 10;    width: 100%;}.logo-container {    display: flex;    align-items: center;}.logo {    height: 24px;}.header-socials {    display: flex;    gap: 1.5rem;    align-items: center;}.social-link {    color: rgba(255, 255, 255, 0.7);    transition: color 0.3s ease;    display: flex;    align-items: center;    justify-content: center;}.social-link:hover {    color: #fff;}.hero-section {    flex: 1;    display: flex;    flex-direction: column;    justify-content: center;    align-items: flex-start;    /* Left Align */    text-align: left;    /* Left Align */    padding: 0 var(--padding-x);    /* More padding on desktop */    z-index: 10;    margin-top: -5vh;}.hero-title {    font-family: var(--font-heading);    font-size: 2rem;    /* Restored size, was 2rem in previous file view? Standard is 3rem usually */    font-weight: 400;    margin-bottom: 2rem;    letter-spacing: 1px;    /* Fix for "nudging": ensure it has enough height for wrapping on mobile, or doesn't jump */    min-height: 1.2em;}/* Mobile Adjustments */@media (max-width: 768px) {    .hero-section {        align-items: flex-start;        text-align: left;    }    .hero-title {        font-size: 1rem;        /* Smaller on mobile */        /* Ensure height is consistent to prevent jumping */        min-height: 2.4em;        /* Approx 2 lines */    }    /* Hide custom cursor on mobile / touch devices */    .custom-cursor {        display: none !important;    }    * {        cursor: auto !important;        /* Restore default cursor */    }    /* Buttons/Links should have pointer */    a,    button,    .cta-button,    .social-link {        cursor: pointer !important;    }}.highlight-text {    color: var(--c-accent);    border-right: 2px solid var(--c-accent);    padding-right: 4px;}.hero-subtitle {    font-size: 1.1rem;    color: #dadada;    max-width: 720px;    line-height: 1.6;    margin-bottom: 3rem;    font-weight: 100;    animation: fadeIn 1.5s ease-out;}/* Animations */@keyframes fadeIn {    from {        opacity: 0;        transform: translateY(10px);    }    to {        opacity: 1;        transform: translateY(0);    }}@keyframes blurIn {    from {        filter: blur(10px);        opacity: 0;    }    to {        filter: blur(0);        opacity: 1;    }}.hero-title {    animation: blurIn 1s ease-out;}/* Glassy CTA Button with Flare */.cta-button {    position: relative;    display: inline-flex;    align-items: center;    gap: 12px;    /* Remove default border and bg to use pseudos */    background: transparent;    border: none;    padding: 12px 24px;    border-radius: 4px;    text-decoration: none;    color: #fff;    font-family: var(--font-body);    font-weight: 500;    font-size: 0.95rem;    transition: transform 0.3s ease;    /* Only animate transform on hover */    animation: fadeIn 2s ease-out;    overflow: hidden;    /* Clip the spinner */    isolation: isolate;    /* Create stacking context */}/* The Animated Flare Border (Spinner) */.cta-button::before {    content: '';    position: absolute;    top: -50%;    left: -50%;    width: 200%;    height: 200%;    background: conic-gradient(from 0deg, transparent 0deg 300deg, var(--c-accent) 360deg);    animation: rotateBorder 4s linear infinite;    z-index: -2;}/* The Inner Glassy Background (Covers center) */.cta-button::after {    content: '';    position: absolute;    inset: 1px;    /* 1px border width */    border-radius: 3px;    border: 1px solid rgba(255, 255, 255, 0.075);    /* 4px - 1px */    background: rgba(1, 8, 18, 0.85);    /* Dark semi-transparent to hide spinner but keep glass feel */    backdrop-filter: blur(10px);    -webkit-backdrop-filter: blur(10px);    z-index: -1;}.cta-button:hover {    background: rgba(255, 255, 255, 0.08);    border-color: rgba(255, 255, 255, 0.418);    transform: translateY(-2px);}@keyframes rotateBorder {    from {        transform: rotate(0deg);    }    to {        transform: rotate(360deg);    }}.main-footer {    padding: 2rem var(--padding-x);    text-align: left;    font-size: 0.6rem;    color: #acacac;    text-transform: uppercase;    letter-spacing: 1px;    z-index: 10;}/* Alien Head Background */.alien-bg {    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    width: 600px;    height: auto;    opacity: 1;    z-index: -1;    pointer-events: none;    animation: alienPulse 8s ease-in-out infinite;}@keyframes alienPulse {    0%,    100% {        opacity: 0.9;    }    50% {        opacity: 1;    }}/* Custom Cursor */.custom-cursor {    position: fixed;    top: 0;    left: 0;    width: 32px;    height: 32px;    z-index: 10000;    pointer-events: none;    background-image: url('../assets/cursor.svg');    background-size: contain;    background-repeat: no-repeat;    transform: translate(-10%, -10%);}