/* -- DESKTOP/GENERAL -- */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
.split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
}
.split.reverse .text{
    order:2;
}
.split.reverse .visual{
    order:1;
}
.text{
    max-width:520px;
}
.visual{
    width: auto;
    height:420px;
    border-radius:28px;
    position:relative;
    overflow:hidden;
    box-shadow:0 20px 40px rgba(0,0,0,0.08);
}
.visual-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.portrait{
    box-shadow:0 20px 40px rgba(0,0,0,0.08);
    height:510px;
    border-radius:28px;
    width: 80%;
    overflow:hidden;
    position:relative;
}
.portrait-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background: url("../assets/sky.jpg") center/cover no-repeat fixed;
    background-color:#FFF8F6;
    color:#1C1C1E;
    line-height:1.7;
    font-size:18px;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(255,248,246,0.6);
    backdrop-filter:blur(3px);
    z-index:-1;
}
a{
    color:#1C1C1E;
}
/* NAVBAR */

.navbar{
    position:fixed;
    top:20px;
    left:0;
    right:0;
    margin:0 auto;
    width:90%;
    max-width:1100px;
    z-index:1000;
    backdrop-filter:blur(20px);
    background:rgba(255,255,255,0.6);
    border-radius:40px;
    border:1px solid rgba(255,255,255,0.4);
    box-shadow:0 10px 40px rgba(0,0,0,0.08);
}
.nav-container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 28px;
}
.logo{
    display:flex;
    align-items:center;
}
.logo img{
    height:32px;
    width:auto;
    display:block;
}
.nav-links{
    display:flex;
    gap:28px;
    list-style:none;
}
.nav-links a{
    text-decoration:none;
    color:#1C1C1E;
    font-size:15px;
    position:relative;
}
.nav-links a::after{
    content:"";
    position:absolute;
    bottom:-6px;
    left:0;
    width:0;
    height:2px;
    background:#FF8A7A;
    transition:0.3s;
}
.nav-links a:hover::after{
    width:100%;
}
    
/* BACKGROUND CONTAINER */

.background-blobs{
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
}
    
/* BLOBS */

.blob{
    position:absolute;
    width:600px;
    height:600px;
    border-radius:50%;
    filter:blur(120px);
    opacity:0.6;
    animation:float 25s infinite ease-in-out;
}
.blob1{
    background:#FF8A7A;
    top:-150px;
    left:-100px;
}
.blob2{
    background:#FFD6CF;
    bottom:-200px;
    right:-150px;
    animation-delay:6s;
}
.blob3{
    background:#FFC2B8;
    top:40%;
    left:50%;
    animation-delay:12s;
}
    
/* HERO */
    
.hero{
    position:relative;
    overflow:hidden;
    height:90vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background-size: cover;
    background-position: center;
}
.hero::before{
    background:rgba(255,248,246,0.6);
    position:fixed;
    background-size: cover;
}
.hero-element{
    max-width:800px; 
    padding:40px;
    text-align:center;
}
.cta{
    display:inline-block;
    margin-top:30px;
    padding:14px 32px;
    background:#AF5F55;
    color:#fff;
    text-decoration:none;
    border: none;
    border-radius:999px;
    font-size:16px;
    font-weight:500;
    transition:all 0.25s ease;
    box-shadow:0 8px 20px rgba(255,138,122,0.25);
}
.cta:hover{    
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(255,138,122,0.35);
}
.cta:active{    
    transform:translateY(0);
}
.hero-element h1{
    font-family: "DM Sans", sans-serif;
    font-size:clamp(48px, 8vw, 86px);
    font-weight:500;
    line-height:1.05;
    letter-spacing:-1.5px;
}
.subtitle{
    font-size:16px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgb(37, 37, 37);
}
            
/* SECTIONS */
    
section{
    margin: 0 20px 0 20px !important;
    padding:100px 10%;
    background: #FFF8F6;
}
.introduction{
    border-radius: 30px 30px 0 0;
}
.contact{
    border-radius: 0 0 30px 30px;
}
.data{
    border-radius: 0 0 30px 30px;
}
h2{
    font-size:35px;
    margin-bottom:30px;
}
    
/* valuesS */

.values-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}
.values-card{
    padding:30px;
    border-radius:20px;
    background:rgba(255,255,255,0.7);
    backdrop-filter:blur(20px);
    box-shadow:0 10px 30px rgba(0,0,0,0.06);
}
    
/* CONTACT */
    
.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
}
    
/* FORM */
    
.contact-form label{
    display:block;
    margin-top:20px;
}
    
.contact-form input, .contact-form textarea{
    width:100%;
    padding:14px;
    margin-top:8px;
    border-radius:12px;
    border:1px solid #ddd;
    font-size:16px;
}
.contact-form textarea{
    min-height:120px;
    resize:vertical;
}
       
/* FOOTER */
    
footer{
    text-align:center;
    padding:60px;
    color:rgb(17, 15, 15);
}
    
/* ACCESSIBILITY */
    
input:focus, textarea:focus, button:focus{
    outline:3px solid #FF8A7A;
}

/* HAMBURGER */

.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;

    /* reset button styles */
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
}

.hamburger span{
    width:22px;
    height:2px;
    background:#1C1C1E;
    display:block;
}
.hamburger:focus {
    outline: 2px solid #a1a1a7;
    outline-offset: 4px;
  }

/* NON MOBILE BLOB */

.mobile_div {
    display:none;
}
.overlay {
    display: none;
}
.no-scroll {
    overflow: hidden;
  }

/* -- MOBILE -- */

@media (max-width:900px){
    .hero{
        height:75vh;
        background-size:cover;
        background-position:center top;
    }
    .hero-element h1{
        margin: 4px;
        font-size:clamp(40px, 4vw, 60px);
        font-weight:500;
        line-height:1.05;
        letter-spacing:-1.5px;
    }
    .nav-links{
        display:none;
    }
    .contact-grid{
        grid-template-columns:1fr;
    }
    .navbar{
        top:10px;
        width:95%;
        border-radius:40px;
        position: fixed;
        transition: transform 0.3s ease;
        z-index: 1000;
    }
    .navbar.hide {
        transform: translateY(-150%);
    }
    .overlay.active {
        position: fixed;
        opacity: 1;
        display: flex;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        backdrop-filter: blur(200px);
        background: 
        linear-gradient(rgba(209, 148, 104, 0.5), rgba(211, 111, 158, 0.5)),
        url("../assets/sky.jpg");
        z-index: 800;
    }
    .overlay {
        opacity: 0;
        pointer-events: all;
    }
    .nav-links{
        position: fixed;
        top: 0;
        left: 0;
        margin-left: 40%;
        width: 60vw;
        height: 100vh;
        border-radius: 10px 0 0 10px;
        transition: all 0.25s ease;
        background:rgba(255,248,246,0.6);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        display: flex;
        flex-direction: column;
        gap: 22px;
        padding: 100px 30px;
        list-style: none;
        transform: translateX(100vw);
        transition: transform 0.35s ease;
        z-index: 900;
        border-top: 1px solid rgba(255,255,255,0.3);
        border-left: 1px solid rgba(255,255,255,0.15);
        box-shadow: inset 0 1px 1px rgba(255,255,255,0.2);
    }
    .navbar:has(.nav-links.active){
        width: 100%;
        max-width: 100%;
        border-radius: 0;
        top: 0;
    }
    
    .nav-links.active{
        transform: translateX(0);
    }
    .nav-links li{
        list-style: none;
        margin-bottom: 22px;
    }
    
    .nav-links a{
        font-size: 20px;
        font-weight: 600;
        text-decoration: none;
        color: #1C1C1E;
    }
    .nav-links .top-links{
        display: flex;
        flex-direction: column;
    }
    
    .nav-links .bottom-links{
        display: flex;
        flex-direction: column;
        gap: 12px;
        font-size: 14px;
    }
    .split{
        grid-template-columns:1fr;
        gap:40px;
    }
    .visual{
        height:260px;
    }
    .portrait{
        height:560px;
        width: auto;
    }
    .mobile_div {
        display:flex;
    }
    .hero-glass{
        padding:20px; 
        max-width:400px;
    }
    section{
        margin-right:0 !important;
        margin-left:0 !important;
        padding:80px 10%;
        background: #FFF8F6;
    }
    h2{
        font-size:35px;
        margin-bottom:30px;
    }
    .blob1{
        background:#FF8A7A;
        top:-150px;
        left:-100px;
    }
    .blob2{
        background:#FFD6CF;
        bottom:-200px;
        right:-500px;
        animation-delay:6s;
    }
    .blob3{
        background:#FFC2B8;
        top:40%;
        left:50%;
        animation-delay:12s;
    }
    .hamburger{
        display:flex;
        z-index:1000;
        border-radius: 50%;
    }
    
    .hamburger.active span:nth-child(1){
        transform: rotate(45deg) translate(5px, 5px);
    }
    
    .hamburger.active span:nth-child(2){
        opacity: 0;
    }
    
    .hamburger.active span:nth-child(3){
        transform: rotate(-45deg) translate(5px, -5px);
    }
    
    .hamburger span{
        transition: all 0.3s ease;
    }
}