/* ===== CUSTOM STYLES ===== */

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Selection */
::selection {
    background: #059669;
    color: #fff;
}

/* ===== NAV ===== */
#navbar {
    background: rgba(255, 251, 240, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(5, 150, 105, 0.08);
}

#navbar.scrolled {
    background: rgba(255, 251, 240, 0.95);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

/* ===== BUTTONS ===== */
.btn-emerald {
    background: #059669;
    transition: all 0.3s ease;
}

.btn-emerald:hover {
    background: #047857;
}

.btn-outline {
    background: transparent;
    border: 2px solid rgba(26, 26, 46, 0.15);
}

.btn-outline:hover {
    border-color: rgba(5, 150, 105, 0.4);
}

/* ===== INPUTS ===== */
.input-field {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid #e5e7eb;
    border-radius: 0.75rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.9375rem;
    color: #1a1a2e;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}

.input-field:focus {
    border-color: #059669;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);
}

.input-field::placeholder {
    color: #9ca3af;
}

/* ===== HERO GEOMETRY ===== */
.hero-geo {
    position: absolute;
    pointer-events: none;
}

.geo-circle-1 {
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: #d1fae5;
    top: -80px;
    left: -120px;
    opacity: 0.6;
}

.geo-circle-2 {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: #a7f3d0;
    top: 30%;
    left: 5%;
    opacity: 0.4;
}

.geo-circle-3 {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: #6ee7b7;
    bottom: 20%;
    right: 5%;
    opacity: 0.3;
}

.geo-square-1 {
    width: 80px;
    height: 80px;
    background: #059669;
    top: 18%;
    right: 12%;
    opacity: 0.12;
    transform: rotate(45deg);
}

.geo-square-2 {
    width: 50px;
    height: 50px;
    background: #fde68a;
    bottom: 28%;
    left: 8%;
    opacity: 0.4;
    transform: rotate(20deg);
}

.geo-triangle {
    width: 0;
    height: 0;
    border-left: 55px solid transparent;
    border-right: 55px solid transparent;
    border-bottom: 95px solid rgba(5, 150, 105, 0.08);
    top: 25%;
    left: 2%;
    transform: rotate(-15deg);
}

.geo-dots {
    width: 100px;
    height: 100px;
    bottom: 15%;
    right: 18%;
    background-image: radial-gradient(circle, #059669 1.5px, transparent 1.5px);
    background-size: 14px 14px;
    opacity: 0.2;
}

/* ===== HERO IMAGE ===== */
.hero-image-wrap {
    position: relative;
    max-width: 440px;
}

.hero-img {
    aspect-ratio: 520 / 640;
}

.hero-float {
    position: absolute;
    z-index: 10;
}

.card-float-1 {
    bottom: 12%;
    left: -16%;
}

.card-float-2 {
    top: 10%;
    right: -12%;
}

/* ===== SERVICE CARDS ===== */
.service-card {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.service-card.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===== WHY US CARDS ===== */
.why-card {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.why-card.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===== WHY US BG GEOMETRY ===== */
.geo-why-circle-1 {
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.06);
    top: -100px;
    right: -100px;
}

.geo-why-circle-2 {
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.05);
    bottom: -60px;
    left: -60px;
}

.geo-why-square {
    position: absolute;
    width: 120px;
    height: 120px;
    background: rgba(255, 255, 255, 0.04);
    top: 40%;
    left: 5%;
    transform: rotate(30deg);
}

/* ===== HERO ANIMATIONS ===== */
@keyframes float-1 {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-12px); }
}

@keyframes float-2 {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(10px); }
}

.card-float-1 {
    animation: float-1 4s ease-in-out infinite;
}

.card-float-2 {
    animation: float-2 5s ease-in-out infinite;
}

@keyframes geo-drift-1 {
    0%, 100% { transform: translate(0, 0) rotate(45deg); }
    50% { transform: translate(10px, -15px) rotate(50deg); }
}

@keyframes geo-drift-2 {
    0%, 100% { transform: translate(0, 0) rotate(20deg); }
    50% { transform: translate(-8px, 12px) rotate(15deg); }
}

.geo-square-1 {
    animation: geo-drift-1 8s ease-in-out infinite;
}

.geo-square-2 {
    animation: geo-drift-2 10s ease-in-out infinite;
}

/* ===== MOBILE MENU ===== */
.mobile-nav-link {
    display: block;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 767px) {
    .hero-image-wrap {
        max-width: 300px;
        margin: 0 auto;
    }

    .card-float-1 {
        left: -8%;
        bottom: 8%;
    }

    .card-float-2 {
        right: -6%;
        top: 5%;
    }

    .geo-circle-1 {
        width: 260px;
        height: 260px;
        left: -80px;
    }

    .geo-circle-2 {
        width: 130px;
        height: 130px;
    }

    .geo-circle-3 {
        width: 80px;
        height: 80px;
    }
}

@media (min-width: 768px) {
    .hero-geo {
        display: block;
    }
}
