* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: 'Inter', sans-serif;
}
img {
    max-width: 100%;
}
header, .hero {
    background-color: #D9E8EF;
}
.header_button {
    background-color: #D9E8EF;
    border: none;
}
.hero_text > h1 {
    font-family: "Inter", sans-serif;
}
.small { font-size: small; }
.med { font-size: medium; }
.bold { font-weight: bolder; }
 
.acheive {
    border-left: 2px solid rgb(106, 89, 192);
    margin-bottom: 40px !important;
}
.info {
    color: rgb(106, 89, 192);
}
.features_heading {
    margin-top: 40px;
    padding-top: 30px;
    margin-bottom: 20px;
    padding-bottom: 10px;
}
.acheivements { margin-top: 30px; }
.vect {
    margin-top: 10px;
    margin-bottom: 10px;
}
.works { padding-top: 40px !important; }
#small_heading { padding-top: 20px !important; }
.img {
    padding-top: 10px;
    padding-bottom: 10px;
}
.reviews {
    margin-top: 40px;
    margin-bottom: 40px;
}
.icon {
    padding-top: 20px;
    padding-bottom: 20px;
}
#contact_img {
    margin-top: 30px !important;
    margin-bottom: 10px !important;
}
#send_btn {
    background-color: rgb(106, 89, 192);
    border: 1px solid rgb(106, 89, 192);
    margin-top: 20px;
    margin-bottom: 20px;
}
#email, #s_name, #f_name {
    height: 40px;
    width: 80%;
}
#message {
    height: 100px;
    width: 80%;
}
.contact_input { margin-top: 20px; }
.contact_text p { max-width: 90%; }
 
/* Footer */
.footer {
    background: #000;
    color: #fff;
    font-family: sans-serif;
    padding: 40px 20px;
    text-align: center;
}
.logo {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
.logo img { height: 36px; }
.logo span {
    font-size: 24px;
    font-weight: 600;
}
.footer_content {
    max-width: 260px;
    margin: 40px auto;
}
.footer_content a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    margin: 10px 14px;
}
.footer_end {
    border-top: 1px solid #333;
    padding-top: 25px;
}
.footer_end p {
    font-size: 13px;
    margin-bottom: 20px;
}
.footer_links i {
    background: #fff;
    border-radius: 50%;
    padding: 6px;
    margin: 0 6px;
    font-size: 14px;
}
 
/* ===== Tablet portrait: 768px and up ===== */
@media (min-width: 768px) {
    .hero_text > h1 { font-size: 2.5rem; }
    .hero_text p { font-size: 1rem; }
 
    .acheivements {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 30px;
    }
 
    .keys {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
 
    .name {
        display: flex;
        gap: 20px;
    }
    .name .contact_input { flex: 1; }
    #email, #s_name, #f_name, #message { width: 100%; }
    .contact_text p { max-width: 100%; }
 
    .reviews_text {
        max-width: 700px;
        margin: 0 auto;
    }
 
    .footer_content { max-width: 500px; }
}
 
/* ===== Laptop / tablet landscape: 992px and up ===== */
@media (min-width: 992px) {
    .hero { padding: 40px 0; }
    .hero_text > h1 { font-size: 3.25rem; line-height: 1.15; }
    .hero_text p { font-size: 1.1rem; }
 
    .acheivements {
        grid-template-columns: repeat(4, 1fr);
        margin-top: 50px;
    }
    .acheive { margin-bottom: 20px !important; }
 
    .features_heading { margin-top: 60px; }
    .keys { gap: 40px; }
 
    .works { padding-top: 60px !important; }
 
    .reviews { margin: 80px 0; }
    .reviews_text { max-width: 850px; }
    .reviews_text h5 { font-size: 1.5rem; line-height: 1.5; }
 
    .contact {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        align-items: center;
    }
    #contact_img { margin: 0 !important; }
 
    /* Footer: logo, links and copyright laid out for wide screens */
    .footer {
        padding: 40px 60px;
        text-align: left;
    }
    .footer .logo { justify-content: flex-start; }
    .footer_content {
        max-width: none;
        margin: 30px 0;
    }
    .footer_content a { margin: 10px 24px 10px 0; }
    .footer_end {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .footer_end p { margin-bottom: 0; }
    .footer_links i { margin: 0 0 0 12px; }
}
 
/* ===== Desktop: 1200px and up ===== */
@media (min-width: 1200px) {
    .hero_text > h1 { font-size: 4rem; }
    .hero_text p { font-size: 1.2rem; }
    .contact { gap: 90px; }
    .footer { padding: 50px 100px; }
}
 
/* ===== Large / ultrawide: 1600px and up ===== */
@media (min-width: 1600px) {
    .container, .container-xl { max-width: 1440px; }
    .hero_text > h1 { font-size: 4.5rem; }
    .reviews_text { max-width: 1000px; }
    .footer { padding: 60px calc((100% - 1440px) / 2); }
}
 