/* MOBILE OVERRIDES (phones ≤ 900px) */

.container {
    width: 92%;
}

/* HERO */

.hero {
    background-attachment: scroll; /* fixed background breaks on mobile */
    min-height: auto;
    padding: 90px 0;
}

.hero-content {
    max-width: 100%;
}

.logo {
    width: 140px;
    height: 140px;
    margin-bottom: 20px;
}

/* TYPOGRAPHY */

h1 {
    font-size: 2.2rem;
    line-height: 1.15;
}

.hero p {
    font-size: 1rem;
}

/* BUTTON */

.cta-button {
    width: 100%;
    text-align: center;
}

/* SECTIONS */

section {
    padding: 60px 0;
}

.section-title {
    font-size: 2rem;
    margin-bottom: 40px;
}

/* SERVICES */

.services {
    grid-template-columns: 1fr; /* stack cards */
    gap: 20px;
}

.card {
    padding: 28px;
}

/* ABOUT */

.about-wrapper {
    grid-template-columns: 1fr;
    gap: 30px;
}

.about-image {
    height: 240px;
}

.about-text h2 {
    font-size: 1.8rem;
}

/* CONTACT */

.contact-box {
    padding: 35px 20px;
    border-radius: 20px;
}

.phone {
    font-size: 1.4rem;
    word-break: break-word;
}