/* =====================================================
   Keysolution4U
   Modern Responsive CSS
   UTF-8
===================================================== */


/* ---------- RESET ---------- */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {

    margin:0;

    font-family:
    "Poppins",
    Arial,
    Helvetica,
    sans-serif;

    background:#f5f7fb;

    color:#333;

    line-height:1.6;

}


img {

    max-width:100%;

    height:auto;

    display:block;

}


a {

    text-decoration:none;

    color:inherit;

}


.container {

    width:90%;

    max-width:1200px;

    margin:auto;

}



/* =====================================================
   HEADER
===================================================== */


header {

    background:#fff;

    position:sticky;

    top:0;

    z-index:1000;

    box-shadow:
    0 5px 20px rgba(0,0,0,.08);

}


.nav-container {

    display:flex;

    justify-content:space-between;

    align-items:center;

    min-height:80px;

}


.logo {

    font-size:30px;

    font-weight:700;

    color:#222;

}


.logo-blue {

    color:#0056b3;

}


nav ul {

    display:flex;

    gap:30px;

    list-style:none;

    margin:0;

    padding:0;

}


nav a {

    font-weight:600;

    color:#333;

    transition:.3s;

}


nav a:hover {

    color:#0056b3;

}


.kontakt-button {

    background:#ff9800;

    color:#fff !important;

    padding:12px 25px;

    border-radius:50px;

}



/* Mobile Menü */

.mobile-menu {

    display:none;

    background:none;

    border:0;

    font-size:32px;

    cursor:pointer;

}



/* =====================================================
   HERO
===================================================== */


.hero {

    position:relative;

    padding:100px 0;

    background:

    linear-gradient(
    rgba(0,0,0,.55),
    rgba(0,0,0,.55)
    ),

    url("../images/team.webp");

    background-size:cover;

    background-position:center;

    color:white;

}


.hero-grid {

    display:grid;

    grid-template-columns:

    1fr 1fr;

    gap:60px;

    align-items:center;

}


.hero-content {

    max-width:650px;

}


.subtitle {

    display:inline-block;

    background:#ff9800;

    padding:8px 20px;

    border-radius:30px;

    font-size:14px;

    font-weight:600;

    margin-bottom:20px;

}


.hero h1 {

    font-size:52px;

    line-height:1.2;

    margin:0 0 25px;

}


.hero p {

    font-size:20px;

    margin-bottom:35px;

}



.hero-buttons {

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}



.btn-primary {

    background:#ff9800;

    color:white;

    padding:16px 35px;

    border-radius:50px;

    font-weight:700;

    transition:.3s;

}


.btn-primary:hover {

    background:#ff6d00;

}



.btn-secondary {

    background:white;

    color:#0056b3;

    padding:16px 35px;

    border-radius:50px;

    font-weight:700;

}



.hero-image-box {

    display:flex;

    justify-content:center;

}


.hero-image-box img {

    width:100%;

    max-width:500px;

    border-radius:25px;

    box-shadow:

    0 20px 50px rgba(0,0,0,.35);

}



/* =====================================================
   SECTIONS
===================================================== */


section {

    padding:90px 0;

}


h2 {

    text-align:center;

    font-size:40px;

    margin-bottom:20px;

    color:#222;

}


.section-intro {

    text-align:center;

    max-width:700px;

    margin:0 auto 50px;

}



/* =====================================================
   SERVICES
===================================================== */


.services {

    background:#f7f9fc;

}


.cards {

    display:grid;

    grid-template-columns:

    repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

}



.card {

    background:white;

    padding:35px;

    border-radius:20px;

    box-shadow:

    0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

}



.card:hover {

    transform:translateY(-10px);

}


.icon {

    font-size:45px;

    margin-bottom:20px;

}


/* =====================================================
   COUNTER
===================================================== */


.counter {

    background:#0056b3;

    color:white;

}


.counter .container {

    display:grid;

    grid-template-columns:

    repeat(4,1fr);

    text-align:center;

}


.counter h2 {

    color:white;

    font-size:50px;

}



/* =====================================================
   ABOUT
===================================================== */


.about-grid {

    display:grid;

    grid-template-columns:

    2fr 1fr;

    gap:50px;

}


.about-box {

    background:#0056b3;

    color:white;

    padding:35px;

    border-radius:20px;

}


.about-box ul {

    list-style:none;

    padding:0;

}


.about-box li {

    padding:10px 0;

}



/* =====================================================
   REFERENCES
===================================================== */


.references {

    background:#f7f9fc;

}


.reference-grid {

    display:grid;

    grid-template-columns:

    repeat(4,1fr);

    gap:25px;

}


.reference-card {

    background:white;

    padding:30px;

    border-radius:20px;

    text-align:center;

    box-shadow:

    0 10px 25px rgba(0,0,0,.08);

}



/* =====================================================
   REVIEWS
===================================================== */


.review-grid {

    display:grid;

    grid-template-columns:

    repeat(3,1fr);

    gap:30px;

}


.review-card {

    background:white;

    padding:35px;

    border-radius:20px;

    box-shadow:

    0 10px 25px rgba(0,0,0,.08);

}


.stars {

    color:#ff9800;

    font-size:25px;

}



/* =====================================================
   FAQ
===================================================== */


.faq-item {

    background:white;

    margin-bottom:20px;

    border-radius:15px;

    overflow:hidden;

}


.faq-item button {

    width:100%;

    padding:20px;

    background:white;

    border:0;

    text-align:left;

    font-size:18px;

    font-weight:600;

    cursor:pointer;

}


.faq-answer {

    padding:20px;

}



/* =====================================================
   CTA
===================================================== */


.cta {

    background:#0056b3;

    color:white;

    text-align:center;

}


.cta h2 {

    color:white;

}



/* =====================================================
   FOOTER
===================================================== */


footer {

    background:#111;

    color:white;

}


.footer-wave {

    height:60px;

    background:#0056b3;

}


.footer-grid {

    display:grid;

    grid-template-columns:

    repeat(3,1fr);

    gap:40px;

    padding:60px 0;

}


footer ul {

    list-style:none;

    padding:0;

}


footer a:hover {

    color:#ff9800;

}


.copyright {

    text-align:center;

    padding:25px;

    border-top:

    1px solid rgba(255,255,255,.2);

}



/* =====================================================
   FLOAT BUTTONS
===================================================== */


.whatsapp {

    position:fixed;

    bottom:25px;

    left:25px;

    background:#25D366;

    color:white;

    padding:15px 25px;

    border-radius:50px;

    font-weight:bold;

}


#topButton {

    position:fixed;

    bottom:25px;

    right:25px;

    width:55px;

    height:55px;

    background:#0056b3;

    color:white;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

}



/* =====================================================
   MOBILE
===================================================== */


@media(max-width:900px){


.nav-container {

    flex-direction:column;

    padding:20px;

}


.mobile-menu {

    display:block;

}


nav ul {

    flex-direction:column;

    text-align:center;

}


.hero-grid {

    grid-template-columns:1fr;

    text-align:center;

}


.hero-content {

    margin:auto;

}


.hero h1 {

    font-size:36px;

}


.hero-buttons {

    justify-content:center;

}


.counter .container {

    grid-template-columns:

    repeat(2,1fr);

}


.about-grid {

    grid-template-columns:1fr;

}


.reference-grid {

    grid-template-columns:

    repeat(2,1fr);

}


.review-grid {

    grid-template-columns:1fr;

}


.footer-grid {

    grid-template-columns:1fr;

}


}



@media(max-width:600px){


.hero {

    padding:70px 0;

}


.hero h1 {

    font-size:30px;

}


.counter .container {

    grid-template-columns:1fr;

}


.reference-grid {

    grid-template-columns:1fr;

}


h2 {

    font-size:32px;

}


}

