/* ==========================================
   SYNCLAIRE SERVICES WEBSITE
   MAIN STYLESHEET
========================================== */


/* ==========================================
   CSS RESET
========================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {

    font-family: 'Poppins', sans-serif;

    color: #1d2b3a;

    background: #ffffff;

    line-height: 1.7;

    overflow-x: hidden;

}


img {

    width: 100%;

    display: block;

}


a {

    text-decoration: none;

    color: inherit;

}


ul {

    list-style: none;

}


/* ==========================================
   ROOT VARIABLES
========================================== */


:root {


    /* Brand Colors */

    --primary: #0b63ce;

    --secondary: #00a6a6;

    --dark: #071d35;

    --text: #52606d;

    --light: #f4f8fc;

    --white: #ffffff;


    /* Gradients */

    --gradient:

    linear-gradient(
        135deg,
        #0b63ce,
        #00a6a6
    );


    /* Shadows */

    --shadow:

    0 20px 50px rgba(0,0,0,0.08);


    --shadow-hover:

    0 25px 60px rgba(11,99,206,0.18);



    /* Radius */

    --radius: 18px;


}



/* ==========================================
   TYPOGRAPHY
========================================== */


h1,
h2,
h3,
h4 {

    color: var(--dark);

    line-height: 1.25;

    font-weight: 700;

}


h1 {

    font-size: clamp(2.5rem,5vw,4.2rem);

}


h2 {

    font-size: clamp(2rem,4vw,3rem);

}


h3 {

    font-size: 1.35rem;

}


p {

    color: var(--text);

    font-size: 1rem;

}



/* ==========================================
   CONTAINER
========================================== */


.container {

    width: min(1150px,90%);

    margin: auto;

}



.section {

    padding: 100px 0;

}



.section-title {

    text-align:center;

    margin-bottom:60px;

}


.section-title h5 {

    color:var(--primary);

    letter-spacing:2px;

    font-size:.85rem;

    margin-bottom:15px;

}


.section-title h2 {

    max-width:700px;

    margin:auto;

}




/* ==========================================
   BUTTONS
========================================== */


.btn {


    display:inline-flex;

    align-items:center;

    justify-content:center;


    background:var(--gradient);

    color:white;


    padding:15px 35px;


    border-radius:50px;


    font-weight:600;


    transition:.35s ease;


    box-shadow:0 10px 25px rgba(11,99,206,.25);


}



.btn:hover {


    transform:translateY(-4px);


    box-shadow:var(--shadow-hover);


}



.btn-outline {


    display:inline-flex;


    padding:14px 35px;


    border-radius:50px;


    border:2px solid var(--primary);


    color:var(--primary);


    font-weight:600;


    transition:.35s;


}



.btn-outline:hover {


    background:var(--primary);


    color:white;


}



/* ==========================================
   HEADER / NAVIGATION
========================================== */


header {


    position:fixed;


    top:0;


    left:0;


    width:100%;


    z-index:999;


    background:rgba(255,255,255,.9);


    backdrop-filter:blur(15px);


    border-bottom:1px solid rgba(0,0,0,.05);


}



header .container {


    height:90px;


    display:flex;


    align-items:center;


    justify-content:space-between;


}



.logo h2 {


    font-size:1.7rem;


    color:var(--dark);


}



.logo span {


    color:var(--primary);


}



nav ul {


    display:flex;


    gap:35px;


}



nav a {


    font-weight:500;


    position:relative;


}



nav a::after {


    content:"";


    position:absolute;


    width:0;


    height:2px;


    background:var(--primary);


    bottom:-8px;


    left:0;


    transition:.3s;


}



nav a:hover::after {


    width:100%;


}



.menu-btn {


    display:none;


    font-size:1.5rem;


    color:var(--dark);


    cursor:pointer;


}



/* ==========================================
   HERO SECTION
========================================== */


.hero {


    padding:180px 0 100px;


    background:

    radial-gradient(
    circle at top right,
    rgba(0,166,166,.15),
    transparent 35%
    ),

    linear-gradient(
    180deg,
    #f8fcff,
    #ffffff
    );


}



.hero-grid {


    display:grid;


    grid-template-columns:1.1fr .9fr;


    align-items:center;


    gap:60px;


}



.hero-left h1 span {


    display:block;


    color:var(--primary);


}



.hero-left p {


    margin:25px 0 35px;


    max-width:600px;


    font-size:1.15rem;


}



.hero-buttons {


    display:flex;


    gap:20px;


    flex-wrap:wrap;


}


.hero-right img {


    max-width:500px;


    margin:auto;


    animation:float 5s ease-in-out infinite;


}



/* ==========================================
   HERO STATS
========================================== */


.hero-stats {


    margin-top:60px;


    display:grid;


    grid-template-columns:repeat(4,1fr);


    gap:20px;


}



.hero-stats div {


    background:white;


    padding:20px;


    border-radius:15px;


    box-shadow:var(--shadow);


    text-align:center;


}



.hero-stats h2 {


    color:var(--primary);


    font-size:2rem;


}



.hero-stats p {


    font-size:.85rem;


}



/* ==========================================
   ANIMATIONS
========================================== */


@keyframes float {


    0% {

        transform:translateY(0);

    }


    50% {

        transform:translateY(-20px);

    }


    100% {

        transform:translateY(0);

    }

}



@keyframes fadeUp {


    from {

        opacity:0;

        transform:translateY(40px);

    }


    to {

        opacity:1;

        transform:translateY(0);

    }

}



.fade-up {


    animation:fadeUp 1s ease forwards;


}

/* ==========================================
   MOBILE MENU
========================================== */


@media(max-width:900px){


    nav {

        position:absolute;

        top:90px;

        left:0;

        width:100%;

        background:white;

        padding:30px;

        box-shadow:var(--shadow);

        display:none;

    }


    nav.active {

        display:block;

    }


    nav ul {

        flex-direction:column;

        gap:20px;

    }


    header .btn {

        display:none;

    }


    .menu-btn {

        display:block;

    }

}




/* ==========================================
   ABOUT SECTION
========================================== */


.grid-2 {


    display:grid;


    grid-template-columns:1fr 1fr;


    align-items:center;


    gap:70px;


}



.about img {


    border-radius:var(--radius);


    box-shadow:var(--shadow);


}



.about h5 {


    color:var(--primary);


    letter-spacing:2px;


    margin-bottom:15px;


    font-size:.85rem;


}



.about h2 {


    margin-bottom:25px;


}



.about p {


    margin-bottom:18px;


}



.about ul {


    margin:25px 0;


}



.about li {


    margin-bottom:12px;


    display:flex;


    align-items:center;


    gap:12px;


    font-weight:500;


}



.about li::before {


    content:"✓";


    width:25px;


    height:25px;


    display:flex;


    align-items:center;


    justify-content:center;


    border-radius:50%;


    background:rgba(11,99,206,.12);


    color:var(--primary);


    font-weight:bold;


}





/* ==========================================
   SERVICES SECTION
========================================== */


.services {


    background:var(--light);


}



.service-grid {


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:30px;


}



.card {


    background:white;


    padding:40px 30px;


    border-radius:var(--radius);


    box-shadow:var(--shadow);


    transition:.35s ease;


    position:relative;


    overflow:hidden;


}



.card::before {


    content:"";


    position:absolute;


    width:80px;


    height:80px;


    background:

    rgba(11,99,206,.08);


    border-radius:50%;


    top:-30px;


    right:-30px;


}



.card:hover {


    transform:translateY(-12px);


    box-shadow:var(--shadow-hover);


}



.card i {


    font-size:2.4rem;


    color:var(--primary);


    margin-bottom:25px;


}



.card h3 {


    margin-bottom:15px;


}



.card p {


    font-size:.95rem;


}





/* ==========================================
   SERVICE ICON COLOR VARIATIONS
========================================== */


.card:nth-child(2) i {


    color:#00a6a6;


}



.card:nth-child(3) i {


    color:#6c63ff;


}



.card:nth-child(4) i {


    color:#ff8a00;


}



.card:nth-child(5) i {


    color:#e63946;


}



.card:nth-child(6) i {


    color:#008000;


}





/* ==========================================
   WHY CHOOSE US SECTION
========================================== */


.why {


    background:white;


}



.features {


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:25px;


}



.features div {


    background:#f8fbff;


    padding:25px;


    border-radius:15px;


    display:flex;


    align-items:center;


    gap:15px;


    font-weight:600;


    color:var(--dark);


    transition:.3s;


}



.features div:hover {


    background:white;


    box-shadow:var(--shadow);


    transform:translateY(-5px);


}



.features i {


    font-size:1.5rem;


    color:var(--secondary);


}






/* ==========================================
   PROCESS SECTION
========================================== */


.process {


    background:var(--light);


}



.process-grid {


    display:grid;


    grid-template-columns:repeat(4,1fr);


    gap:25px;


}



.process-card {


    text-align:center;


    padding:35px 20px;


    background:white;


    border-radius:var(--radius);


    box-shadow:var(--shadow);


}



.process-number {


    width:60px;


    height:60px;


    margin:0 auto 20px;


    display:flex;


    align-items:center;


    justify-content:center;


    border-radius:50%;


    background:var(--gradient);


    color:white;


    font-size:1.3rem;


    font-weight:700;


}



.process-card h3 {


    margin-bottom:12px;


}





/* ==========================================
   STATS / COUNTERS
========================================== */


.counter-section {


    background:

    linear-gradient(
    135deg,
    #071d35,
    #0b63ce
    );


    color:white;


}



.counter-grid {


    display:grid;


    grid-template-columns:repeat(4,1fr);


    gap:25px;


}



.counter-box {


    text-align:center;


    color:white;


}



.counter-box h2 {


    color:white;


    font-size:3rem;


}



.counter-box p {


    color:rgba(255,255,255,.8);


}




/* ==========================================
   RESPONSIVE TABLET
========================================== */


@media(max-width:1100px){


    .hero-grid {


        gap:40px;


    }



    .service-grid {


        grid-template-columns:repeat(2,1fr);


    }



    .features {


        grid-template-columns:repeat(2,1fr);


    }



    .process-grid {


        grid-template-columns:repeat(2,1fr);


    }



    .counter-grid {


        grid-template-columns:repeat(2,1fr);


    }


}

/* ==========================================
   SPECIALTIES SECTION
========================================== */


.specialties {

    background:var(--light);

}



.specialty-grid {

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:20px;

}



.specialty-card {

    background:white;

    padding:30px 20px;

    border-radius:15px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s ease;

}



.specialty-card:hover {

    transform:translateY(-8px);

    box-shadow:var(--shadow-hover);

}



.specialty-card i {

    font-size:2rem;

    color:var(--primary);

    margin-bottom:15px;

}



.specialty-card h3 {

    font-size:1rem;

}



/* ==========================================
   TESTIMONIALS
========================================== */


.testimonials {

    background:white;

}



.testimonial-wrapper {

    position:relative;

    overflow:hidden;

}



.testimonial-slider {

    display:flex;

    transition:.5s ease;

}



.testimonial-card {

    min-width:100%;

    padding:50px;

    background:#f8fbff;

    border-radius:20px;

    text-align:center;

}



.testimonial-card i {

    color:#ffc107;

    font-size:1.2rem;

}



.testimonial-card p {

    font-size:1.1rem;

    max-width:750px;

    margin:25px auto;

    font-style:italic;

}



.testimonial-card h3 {

    margin-bottom:5px;

}



.testimonial-card span {

    color:var(--primary);

    font-size:.9rem;

}



/* Testimonial Controls */


.slider-controls {

    display:flex;

    justify-content:center;

    gap:15px;

    margin-top:30px;

}



.slider-btn {

    width:45px;

    height:45px;

    border-radius:50%;

    border:none;

    background:var(--primary);

    color:white;

    cursor:pointer;

    transition:.3s;

}



.slider-btn:hover {

    background:var(--secondary);

}



/* ==========================================
   FAQ SECTION
========================================== */


.faq {

    background:var(--light);

}



.faq-container {

    max-width:850px;

    margin:auto;

}



.faq-item {

    background:white;

    margin-bottom:15px;

    border-radius:15px;

    overflow:hidden;

    box-shadow:var(--shadow);

}



.faq-question {

    padding:25px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    cursor:pointer;

    font-weight:600;

    color:var(--dark);

}



.faq-question i {

    color:var(--primary);

    transition:.3s;

}



.faq-answer {

    max-height:0;

    overflow:hidden;

    transition:.4s ease;

    padding:0 25px;

}



.faq-answer p {

    padding-bottom:25px;

}



.faq-item.active .faq-answer {

    max-height:200px;

}



.faq-item.active .faq-question i {

    transform:rotate(45deg);

}



/* ==========================================
   CONTACT SECTION
========================================== */


.contact {

    background:white;

}



.contact-grid {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

}



.contact-info h2 {

    margin-bottom:20px;

}



.contact-info p {

    margin-bottom:25px;

}



.contact-box {

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:25px;

}



.contact-box i {

    width:50px;

    height:50px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(11,99,206,.1);

    color:var(--primary);

    font-size:1.3rem;

}



.contact-box h4 {

    font-size:1rem;

}



.contact-box span {

    color:var(--text);

}



/* Contact Form */


.contact-form {

    background:white;

    padding:40px;

    border-radius:20px;

    box-shadow:var(--shadow);

}



.form-group {

    margin-bottom:20px;

}



.form-group input,

.form-group textarea,

.form-group select {

    width:100%;

    padding:15px 20px;

    border:1px solid #dfe6ed;

    border-radius:10px;

    font-family:inherit;

    outline:none;

    transition:.3s;

}



.form-group textarea {

    height:140px;

    resize:none;

}



.form-group input:focus,

.form-group textarea:focus,

.form-group select:focus {

    border-color:var(--primary);

}



/* ==========================================
   CTA SECTION
========================================== */


.cta {

    padding:80px 0;

    background:

    linear-gradient(

    135deg,

    #071d35,

    #0b63ce

    );

    text-align:center;

    color:white;

}



.cta h2 {

    color:white;

    max-width:750px;

    margin:auto;

}



.cta p {

    color:rgba(255,255,255,.85);

    margin:20px auto 35px;

    max-width:600px;

}



.cta .btn {

    background:white;

    color:var(--primary);

}



/* ==========================================
   FOOTER
========================================== */


footer {

    background:#061526;

    padding:70px 0 20px;

    color:white;

}



.footer-grid {

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:40px;

}



footer h3 {

    color:white;

    margin-bottom:20px;

}



footer p,

footer a {

    color:rgba(255,255,255,.7);

}



footer li {

    margin-bottom:12px;

}



footer a:hover {

    color:white;

}



.social-links {

    display:flex;

    gap:15px;

    margin-top:25px;

}



.social-links a {

    width:40px;

    height:40px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.1);

    border-radius:50%;

}



.footer-bottom {

    margin-top:50px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.15);

    text-align:center;

    color:rgba(255,255,255,.6);

}



/* ==========================================
   MOBILE RESPONSIVE
========================================== */


@media(max-width:900px){


    .grid-2,

    .contact-grid {

        grid-template-columns:1fr;

    }


    .specialty-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .footer-grid {

        grid-template-columns:1fr 1fr;

    }


}



@media(max-width:600px){


    .section {

        padding:70px 0;

    }


    .hero {

        padding-top:130px;

    }


    .hero-grid {

        grid-template-columns:1fr;

        text-align:center;

    }


    .hero-left p {

        margin-left:auto;

        margin-right:auto;

    }


    .hero-buttons {

        justify-content:center;

    }


    .hero-stats,

    .service-grid,

    .features,

    .process-grid,

    .counter-grid,

    .specialty-grid {

        grid-template-columns:1fr;

    }


    .testimonial-card {

        padding:30px 20px;

    }


    .contact-form {

        padding:25px;

    }


    .footer-grid {

        grid-template-columns:1fr;

    }


}

