

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

body{
min-height:100vh;
background:#0b1120;
color:#fff;
position:relative;
overflow-y:hidden;
overflow-x:hidden;
}

/* ================= BACKGROUND ================= */

.background{
position:absolute;
inset:0;
background:
radial-gradient(circle at 20% 30%, rgba(0,245,255,0.15), transparent 40%),
radial-gradient(circle at 80% 70%, rgba(139,92,246,0.15), transparent 40%);
animation:moveBg 12s ease-in-out infinite alternate;
z-index:0;
}

@keyframes moveBg{
from{transform:scale(1);}
to{transform:scale(1.08) translateY(-15px);}
}

/* ================= CURSOR LIGHT ================= */

.cursor-light{
position:fixed;
width:600px;
height:600px;
border-radius:50%;
pointer-events:none;

background:radial-gradient(circle,
rgba(56,189,248,0.25) 0%,
rgba(139,92,246,0.18) 40%,
transparent 70%
);

filter:blur(80px);
transform:translate(-50%,-50%);
z-index:1;
}

/* ================= LOGO ================= */

.logo{
z-index:100;
text-decoration:none;
}

.logo::before{
content:"";
position:absolute;
width:150px;
height:150px;
top:50%;
left:50%;
transform:translate(-50%,-50%);
background:radial-gradient(circle, rgba(56,189,248,0.25), transparent 70%);
filter:blur(30px);
z-index:-1;
}

.logo-icon{
width:70px;
mix-blend-mode:screen;
filter:brightness(1.1);
transition:.35s;
}

.logo:hover .logo-icon{
transform:scale(1.12);
filter:drop-shadow(0 0 10px rgba(56,189,248,0.7));
}

.logo-text{
font-size:15px;
font-weight:600;
letter-spacing:1.3px;
position:relative;
top:-20px; 
background:linear-gradient(90deg,#38bdf8,#8b5cf6,#22d3ee);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

/* ================= SPLIT SECTION ================= */

.split{
position:relative;
display:flex;
align-items:center;
justify-content:center;

height:80vh;

padding-top:60px;   /* prevents overlap with logo */
padding-left:40px;
padding-right:40px;
padding-bottom:40px;
gap:40px;

z-index:2;
}

/* ================= PANELS ================= */

.panel{

flex:1;
max-width:650px;
height:50vh;

display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;

background:rgba(255,255,255,0.03);
border:1px solid rgba(255,255,255,0.08);
border-radius:24px;

backdrop-filter:blur(20px);

transition:.4s;
cursor:pointer;

text-decoration:none;
color:inherit;
}

.panel:hover{
transform:translateY(-10px) scale(1.03);
background:rgba(255,255,255,0.06);
box-shadow:0 20px 60px rgba(0,0,0,0.4);
}

/* ================= ICON ================= */

.icon{
font-size:85px;
margin-bottom:25px;
transition:.4s;
}

.panel:hover .icon{
transform:translateY(-10px) scale(1.1);
}

/* ================= TEXT ================= */

.title{
font-size:32px;
font-weight:600;
margin-bottom:12px;
}

.subtitle{
opacity:.7;
font-size:16px;
max-width:340px;
line-height:1.6;
}

/* ================= MOBILE ================= */

@media(max-width:900px){

.split{
flex-direction:column;
padding-top:120px;
gap:25px;
}

.panel{
width:100%;
height:45vh;
}

.icon{
font-size:60px;
}

.logo{
top:16px;
left:16px;
}

.logo-icon{
width:36px;
}

.logo-text{
font-size:9px;
}
}
.sr-only{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}

/* ================= TOP BAR ================= */

.topbar{
    position:fixed;
    top:20px;
    left:28px;
    right:28px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    z-index:100;
}

/* remove old fixed positioning from logo */
.logo{
    position:relative;
}
.contact {
	text-align:center;
}

.contact a{
    color:#fff;
    text-decoration:none;
}
@media(max-width:900px){

    .topbar{
        top:12px;
        left:12px;
        right:12px;
    }

    .logo-icon{
        width:34px;
    }

    .logo-text{
        font-size:16px;
        top:-8px;
    }

    .contact{
        font-size:14px;
        gap:12px;
    }

}

