/* ===========================
   RESET
=========================== */

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    color:var(--body);
    background:var(--white);
    line-height:1.7;
    overflow-x:hidden;
}

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

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

button,
input,
textarea{
    font:inherit;
}

button{
    cursor:pointer;
    border:none;
    background:none;
}

ul{
    list-style:none;
}

/* ===========================
   LAYOUT
=========================== */

.container{
    width:min(1200px,92%);
    margin-inline:auto;
}

section{
    padding:110px 0;
}

/* ===========================
   TYPOGRAPHY
=========================== */

h1,
h2,
h3,
h4{
    font-family:'Manrope',sans-serif;
    color:var(--heading);
}

h1{
    font-size:clamp(2.75rem,6vw,4.5rem);
    font-weight:800;
    line-height:1.1;
}

h2{
    font-size:clamp(2rem,4vw,3rem);
    margin-bottom:20px;
}

h3{
    font-size:1.35rem;
}

p{
    color:var(--body);
}

/* ===========================
   HEADER
=========================== */

#header{

    position:fixed;
    top:0;
    left:0;

    width:100%;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(12px);

    border-bottom:1px solid transparent;

    z-index:1000;

    transition:.35s;

}

#header.scrolled{

    border-color:#ececec;

    box-shadow:0 10px 35px rgba(0,0,0,.06);

}

.navbar{

    height:82px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.logo{

    display:flex;

    align-items:center;

    gap:12px;

}

.logo-icon{

    width:42px;

    height:42px;

    border-radius:12px;

    background:var(--primary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:800;

    font-family:'Manrope',sans-serif;

}

.logo-text{

    font-weight:700;

    color:var(--heading);

    font-family:'Manrope',sans-serif;

}

.nav-menu{

    display:flex;

    gap:40px;

}

.nav-menu a{

    color:var(--heading-secondary);

    font-weight:500;

    transition:.3s;

}

.nav-menu a:hover{

    color:var(--primary);

}

.menu-toggle{

    display:none;

}

/* ===========================
   HERO
=========================== */

.hero{

    position:relative;

    overflow:hidden;

    padding-top:170px;

    padding-bottom:120px;

}

.hero-container{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    align-items:center;

    gap:70px;

}

.hero-label{

    display:inline-flex;

    padding:8px 18px;

    background:#FFF3EF;

    color:var(--primary);

    border-radius:999px;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:.08em;

    margin-bottom:24px;

}

.hero h1 span{

    color:var(--primary);

    position:relative;

}

.hero h1 span::after{

    content:"";

    position:absolute;

    left:0;

    bottom:6px;

    width:100%;

    height:12px;

    background:rgba(255,98,64,.18);

    z-index:-1;

    border-radius:20px;

}

.hero p{

    margin:30px 0;

    max-width:620px;

    font-size:1.1rem;

}

.hero-buttons{

    display:flex;

    gap:18px;

    margin:40px 0 55px;

    flex-wrap:wrap;

}

.hero-stats{

    display:flex;

    gap:50px;

    flex-wrap:wrap;

}

.stat h3{

    font-size:2rem;

    color:var(--primary);

}

.stat span{

    color:var(--body);

    font-size:.95rem;

}

.profile-card{

    position:relative;

    width:430px;

    aspect-ratio:4/5;

    margin-inline:auto;

    border-radius:32px;

    overflow:hidden;

    background:#fff;

    border:1px solid #ececec;

    box-shadow:0 30px 60px rgba(0,0,0,.10);

    transition:.4s;

}

.profile-card:hover{

    transform:translateY(-10px);

}

.profile-card img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.profile-card img{

    width:100%;

    height:100%;

    object-fit:cover;

}

/* ==========================================
HERO BACKGROUND
========================================== */

.hero-background{

    position:absolute;

    inset:0;

    pointer-events:none;

}

.gradient-circle{

    position:absolute;

    border-radius:50%;

    filter:blur(90px);

    opacity:.25;

}

.gradient-1{

    width:420px;

    height:420px;

    background:var(--primary);

    top:-140px;

    right:-120px;

}

.gradient-2{

    width:350px;

    height:350px;

    background:#FFD8CF;

    bottom:-120px;

    left:-120px;

}

.projects-actions{

    display:flex;

    justify-content:center;

    margin-top:3rem;

}

#loadMoreProjects{

    min-width:220px;

}