
    * {
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        margin: 0;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 16px;
        line-height: 1.6;
        color: #30343b;
        background-color: #ffffff;
    }

    h1,
    h2,
    h3,
    p {
        margin-top: 0;
    }

    h1,
    h2,
    h3 {
        line-height: 1.25;
    }

    h2 {
        color: #202630;
        font-size: 2rem;
    }

    h3 {
        color: #202630;
        font-size: 1.25rem;
    }

    a {
        color: inherit;
    }

    .container {
        width: 90%;
        max-width: 1150px;
        margin: 0 auto;
    }


    .site-header {
        background-color: #171b22;
        color: #ffffff;
        border-bottom: 4px solid #e6a82e;
    }

    .header-content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 25px;
        padding: 20px 0;
    }

    .logo h1 {
        color: #ffffff;
        font-size: 1.8rem;
        margin-bottom: 4px;
    }

    .logo h1 span {
        color: #f0b63e;
    }

    .logo p {
        color: #c5c9cf;
        font-size: 0.85rem;
        letter-spacing: 1px;
        margin-bottom: 0;
    }

    .main-nav ul {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .main-nav a {
        display: block;
        padding: 10px 16px;
        border-radius: 4px;
        color: #ffffff;
        font-weight: bold;
        text-decoration: none;
        transition: background-color 0.25s ease, color 0.25s ease;
    }

    .main-nav a:hover,
    .main-nav a:focus-visible {
        color: #171b22;
        background-color: #f0b63e;
    }

    .main-nav a.active {
        color: #f0b63e;
    }

    .main-nav a.active:hover,
    .main-nav a.active:focus-visible {
        color: #171b22;
    }


    .hero {
        padding: 105px 0;
        background: linear-gradient(135deg, #202630, #394451);
        color: #ffffff;
    }

    .hero-content {
        max-width: 850px;
    }

    .eyebrow {
        margin-bottom: 12px;
        color: #bd8316;
        font-size: 0.8rem;
        font-weight: bold;
        letter-spacing: 2px;
        text-transform: uppercase;
    }

    .hero .eyebrow {
        color: #f0b63e;
    }

    .hero h2 {
        margin-bottom: 20px;
        color: #ffffff;
        font-size: clamp(2.4rem, 5vw, 4rem);
    }

    .hero-content > p:not(.eyebrow) {
        max-width: 650px;
        margin-bottom: 30px;
        color: #e0e3e7;
        font-size: 1.15rem;
    }


    .button {
        display: inline-block;
        padding: 12px 22px;
        border: 2px solid #e6a82e;
        border-radius: 4px;
        background-color: #e6a82e;
        color: #202630;
        font-family: inherit;
        font-size: 1rem;
        font-weight: bold;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        transition: background-color 0.25s ease, color 0.25s ease;
    }

    .button:hover,
    .button:focus-visible {
        background-color: #c98a16;
        border-color: #c98a16;
    }

    .button-outline {
        margin-left: 10px;
        border-color: #ffffff;
        background-color: transparent;
        color: #ffffff;
    }

    .button-outline:hover,
    .button-outline:focus-visible {
        background-color: #ffffff;
        border-color: #ffffff;
        color: #202630;
    }

    .button-light {
        border-color: #ffffff;
        background-color: #ffffff;
        color: #202630;
    }

    .button-light:hover,
    .button-light:focus-visible {
        border-color: #f0b63e;
        background-color: #f0b63e;
    }

    .center-button {
        margin-top: 35px;
        text-align: center;
    }

    .text-link {
        display: inline-block;
        padding-bottom: 3px;
        border-bottom: 2px solid #e6a82e;
        color: #94620a;
        font-weight: bold;
        text-decoration: none;
    }

    .text-link:hover,
    .text-link:focus-visible {
        color: #202630;
    }


    .section {
        padding: 75px 0;
        background-color: #ffffff;
    }

    .section-heading {
        max-width: 720px;
        margin: 0 auto 40px;
        text-align: center;
    }

    .section-heading h2 {
        margin-bottom: 15px;
    }

    .section-heading > p:last-child {
        color: #626a75;
    }


    .service-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
    }

    .service-card {
        min-width: 0;
        padding: 28px;
        border: 1px solid #e0e3e7;
        border-radius: 7px;
        background-color: #ffffff;
        box-shadow: 0 4px 12px rgba(20, 27, 38, 0.06);
        transition: transform 0.25s ease, box-shadow 0.25s ease;
    }

    .service-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 9px 20px rgba(20, 27, 38, 0.12);
    }

    .service-card h3 {
        margin-bottom: 12px;
    }

    .service-card p,
    .service-card li {
        color: #626a75;
    }

    .service-card ul {
        padding-left: 20px;
        margin-bottom: 0;
    }

    .service-card li {
        margin-bottom: 6px;
    }

    .card-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        margin-bottom: 20px;
        border-radius: 50%;
        background-color: #fff2d5;
        color: #9a6710;
        font-size: 1.6rem;
    }

    /* Images */

    .garage-image {
        display: block;
        width: 100%;
        max-width: 850px;
        height: 380px;
        max-height: 420px;
        margin: 0 auto 30px;
        border-radius: 7px;
        object-fit: cover;
        object-position: center;
    }

    .service-image {
        display: block;
        width: 100%;
        height: 200px;
        margin: 0 0 20px;
        border-radius: 5px;
        object-fit: cover;
        object-position: center;
    }

    .contact-image {
        display: block;
        width: 100%;
        max-height: 300px;
        margin: 20px 0;
        border-radius: 7px;
        object-fit: cover;
        object-position: center;
    }


    .why-us {
        padding: 75px 0;
        background-color: #f4f5f7;
    }

    .two-column {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: 55px;
    }

    .two-column h2 {
        margin-bottom: 20px;
    }

    .two-column p {
        color: #626a75;
    }

    .benefits {
        padding: 28px;
        border-left: 4px solid #e6a82e;
        border-radius: 4px;
        background-color: #ffffff;
    }

    .check-list {
        list-style: none;
        padding: 0;
        margin: 20px 0 0;
    }

    .check-list li {
        position: relative;
        padding: 8px 0 8px 28px;
    }

    .check-list li::before {
        position: absolute;
        left: 0;
        color: #b47a10;
        font-weight: bold;
        content: "\2713";
    }

    .benefits ol {
        padding-left: 22px;
    }

    .benefits ol li {
        margin-bottom: 10px;
    }

    .benefits .button {
        margin-top: 10px;
    }


    .call-to-action {
        padding: 65px 0;
        background-color: #252d38;
        color: #ffffff;
        text-align: center;
    }

    .call-to-action h2 {
        margin-bottom: 15px;
        color: #ffffff;
    }

    .call-to-action p {
        margin-bottom: 25px;
        color: #d5d9df;
    }


    .page-banner {
        padding: 65px 0;
        border-bottom: 1px solid #dfe3e8;
        background-color: #edf0f3;
        text-align: center;
    }

    .page-banner h2 {
        margin-bottom: 15px;
        font-size: clamp(2rem, 4vw, 3rem);
    }

    .page-banner p:last-child {
        max-width: 700px;
        margin: 0 auto;
        color: #626a75;
    }


    .pricing-section {
        padding: 75px 0;
        background-color: #f4f5f7;
    }

    .table-wrapper {
        width: 100%;
        overflow-x: auto;
        border: 1px solid #dfe3e8;
        border-radius: 6px;
        background-color: #ffffff;
    }

    table {
        width: 100%;
        border-collapse: collapse;
        text-align: left;
    }

    th,
    td {
        padding: 16px 20px;
        border-bottom: 1px solid #e0e3e7;
    }

    th {
        background-color: #252d38;
        color: #ffffff;
        font-size: 0.95rem;
    }

    tbody tr:nth-child(even) {
        background-color: #f4f5f7;
    }

    tbody tr:hover {
        background-color: #fff2d5;
    }

    tbody tr:last-child td {
        border-bottom: none;
    }

    .table-note {
        margin-top: 15px;
        color: #626a75;
        font-size: 0.9rem;
    }


    .contact-layout {
        display: grid;
        grid-template-columns: 0.85fr 1.15fr;
        align-items: start;
        gap: 45px;
    }

    .contact-information h2 {
        margin-bottom: 20px;
    }

    .contact-information > p:not(.eyebrow) {
        color: #626a75;
    }

    .contact-detail {
        margin-top: 28px;
        padding-bottom: 15px;
        border-bottom: 1px solid #e0e3e7;
    }

    .contact-detail h3 {
        margin-bottom: 8px;
        font-size: 1.05rem;
    }

    .contact-detail p {
        margin-bottom: 4px;
        color: #626a75;
    }

    .small-note {
        margin-top: 25px;
        font-size: 0.85rem;
        font-style: italic;
    }

    /* Contact form fields */

    .form-container {
        min-width: 0;
        padding: 32px;
        border: 1px solid #e0e3e7;
        border-radius: 7px;
        background-color: #f4f5f7;
    }

    .form-container h2 {
        margin-bottom: 10px;
    }

    .form-container > p {
        color: #626a75;
    }

    .form-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .form-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 20px;
    }

    .form-group label {
        margin-bottom: 7px;
        color: #30343b;
        font-size: 0.95rem;
        font-weight: bold;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        width: 100%;
        min-width: 0;
        padding: 12px;
        border: 1px solid #cbd0d7;
        border-radius: 4px;
        background-color: #ffffff;
        color: #30343b;
        font-family: inherit;
        font-size: 1rem;
    }

    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
        outline: 2px solid #e6a82e;
        outline-offset: 1px;
        border-color: #94620a;
    }

    .form-group textarea {
        min-height: 140px;
        resize: vertical;
    }

    .form-note {
        font-size: 0.85rem;
    }

    .form-container .button {
        width: 100%;
    }


    .site-footer {
        padding: 35px 0;
        background-color: #171b22;
        color: #d5d9df;
    }

    .footer-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: start;
        gap: 25px;
    }

    .footer-content h2 {
        margin-bottom: 8px;
        color: #f0b63e;
        font-size: 1.3rem;
    }

    .footer-content p {
        margin-bottom: 6px;
        font-size: 0.9rem;
    }

    .copyright {
        grid-column: 1 / -1;
        padding-top: 20px;
        margin-bottom: 0;
        border-top: 1px solid #39414d;
        color: #aeb5bf;
    }


    @media screen and (max-width: 900px) {
        .header-content {
            flex-direction: column;
            align-items: flex-start;
        }

        .main-nav {
            width: 100%;
        }

        .main-nav ul {
            gap: 5px;
        }

        .main-nav a {
            padding: 10px 12px;
        }

        .service-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .two-column {
            gap: 30px;
        }

        .contact-layout {
            grid-template-columns: 1fr;
        }

        .contact-information {
            max-width: 700px;
        }
    }


    @media screen and (max-width: 600px) {
        body {
            font-size: 15px;
        }

        .container {
            width: 92%;
        }

        .header-content {
            padding: 18px 0;
        }

        .logo h1 {
            font-size: 1.55rem;
        }

        .main-nav ul {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 5px;
        }

        .main-nav a {
            padding: 10px 5px;
            font-size: 0.9rem;
            text-align: center;
        }

        .hero {
            padding: 70px 0;
        }

        .hero h2 {
            font-size: 2.35rem;
        }

        .hero-content > p:not(.eyebrow) {
            font-size: 1rem;
        }

        .garage-image {
            height: 250px;
            max-height: 280px;
        }

        .service-image {
            height: 180px;
        }

        .contact-image {
            max-height: 240px;
        }

        .button {
            padding: 11px 15px;
            font-size: 0.95rem;
        }

        .button-outline {
            margin: 10px 0 0;
        }

        .section,
        .why-us,
        .pricing-section {
            padding: 50px 0;
        }

        .section-heading {
            margin-bottom: 30px;
        }

        h2 {
            font-size: 1.7rem;
        }

        .service-grid,
        .two-column {
            grid-template-columns: 1fr;
        }

        .service-grid {
            gap: 18px;
        }

        .service-card {
            padding: 23px;
        }

        .page-banner {
            padding: 50px 0;
        }

        .benefits {
            padding: 22px;
        }

        .table-wrapper table {
            min-width: 580px;
        }

        th,
        td {
            padding: 12px;
        }

        .form-container {
            padding: 22px;
        }

        .form-row {
            grid-template-columns: 1fr;
            gap: 0;
        }

        .footer-content {
            grid-template-columns: 1fr;
            gap: 20px;
        }

        .copyright {
            grid-column: auto;
        }

        .call-to-action {
            padding: 50px 0;
        }
    }


    @media (prefers-reduced-motion: reduce) {
        html {
            scroll-behavior: auto;
        }

        *,
        *::before,
        *::after {
            transition-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
        }
    }