# /*

MAIN GLOBAL STYLES
main.css
========

*/

/* =====================================
RESET
===================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
background:var(--bg-primary);
color:var(--text-primary);
font-family:var(--font-primary);
line-height:1.6;
overflow-x:hidden;
min-height:100vh;
}

/* =====================================
SELECTION
===================================== */

::selection{
background:var(--accent-blue);
color:#000;
}

/* =====================================
SCROLLBAR
===================================== */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:var(--bg-secondary);
}

::-webkit-scrollbar-thumb{
background:var(--accent-blue);
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
background:var(--accent-blue-soft);
}

/* =====================================
TYPOGRAPHY
===================================== */

h1,
h2,
h3,
h4,
h5,
h6{
font-weight:700;
line-height:1.2;
}

h1{
font-size:var(--fs-4xl);
}

h2{
font-size:var(--fs-3xl);
}

h3{
font-size:var(--fs-2xl);
}

p{
color:var(--text-secondary);
}

a{
color:inherit;
text-decoration:none;
}

/* =====================================
IMAGES
===================================== */

img{
max-width:100%;
display:block;
}

/* =====================================
LISTS
===================================== */

ul,
ol{
list-style:none;
}

/* =====================================
CONTAINER
===================================== */

.container{
width:100%;
max-width:var(--container-width);
margin:auto;
padding-left:30px;
padding-right:30px;
}

/* =====================================
SECTIONS
===================================== */

.section{
padding:var(--section-spacing) 0;
position:relative;
}

.section-title{
margin-bottom:20px;
}

.section-subtitle{
color:var(--accent-blue);
text-transform:uppercase;
letter-spacing:2px;
font-size:var(--fs-sm);
margin-bottom:15px;
font-weight:600;
}

.section-description{
max-width:750px;
color:var(--text-secondary);
}

/* =====================================
BUTTONS
===================================== */

.btn{
display:inline-flex;
align-items:center;
justify-content:center;

```
gap:10px;

padding:14px 28px;

border-radius:var(--radius-md);

cursor:pointer;

transition:var(--transition-normal);

font-weight:600;
```

}

.btn-primary{
background:var(--accent-blue);
color:#000;
}

.btn-primary:hover{
transform:translateY(-3px);
box-shadow:var(--shadow-glow-blue);
}

.btn-secondary{
border:1px solid var(--border-accent);
color:var(--text-primary);
background:transparent;
}

.btn-secondary:hover{
background:rgba(0,212,255,0.08);
}

/* =====================================
CARDS
===================================== */

.card{
background:var(--surface-card);

```
border:1px solid var(--border-primary);

border-radius:var(--radius-lg);

padding:30px;

transition:var(--transition-normal);

box-shadow:var(--shadow-card);
```

}

.card:hover{
background:var(--surface-card-hover);

```
transform:translateY(-5px);
```

}

/* =====================================
GRID UTILITIES
===================================== */

.grid{
display:grid;
}

.grid-2{
grid-template-columns:repeat(2,1fr);
}

.grid-3{
grid-template-columns:repeat(3,1fr);
}

.grid-4{
grid-template-columns:repeat(4,1fr);
}

.gap-20{
gap:20px;
}

.gap-30{
gap:30px;
}

.gap-40{
gap:40px;
}

/* =====================================
TEXT UTILITIES
===================================== */

.text-center{
text-align:center;
}

.text-blue{
color:var(--accent-blue);
}

.text-muted{
color:var(--text-muted);
}

/* =====================================
FLEX UTILITIES
===================================== */

.flex{
display:flex;
}

.flex-center{
display:flex;
align-items:center;
justify-content:center;
}

.flex-between{
display:flex;
align-items:center;
justify-content:space-between;
}

/* =====================================
BACKGROUND EFFECTS
===================================== */

.bg-grid{
position:absolute;
inset:0;

```
background-image:
linear-gradient(
    rgba(255,255,255,0.02) 1px,
    transparent 1px
),
linear-gradient(
    90deg,
    rgba(255,255,255,0.02) 1px,
    transparent 1px
);

background-size:50px 50px;

pointer-events:none;
```

}

/* =====================================
RESPONSIVE
===================================== */

@media(max-width:992px){

```
.grid-4{
    grid-template-columns:repeat(2,1fr);
}

.grid-3{
    grid-template-columns:repeat(2,1fr);
}
```

}

@media(max-width:768px){

```
h1{
    font-size:2.8rem;
}

h2{
    font-size:2rem;
}

.grid-2,
.grid-3,
.grid-4{
    grid-template-columns:1fr;
}

.container{
    padding-left:20px;
    padding-right:20px;
}
```

}
