.reqd {
        color: red;
        font-size: .75rem;
    }

    .locations-header {
        line-height: 1.2;
        background-image: var(--hero-gradient);
        color: var(--gray-color);
        padding: 4rem 1rem;
    }

    .locations-header h1 {
        color: var(--gray-color);
        text-wrap: balance;
    }

    .service-buttons {
        display: flex;
        gap: 2rem;
        margin-top: 2rem;
    }

    .service-buttons a {
        flex: 1;
    }

    .contact-page {
        margin-inline: auto;
    }

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

    .contact-text {
        max-inline-size: 40ch;
        margin-inline: auto;
        align-self: center;
    }

    .contact-text h1 {
        text-wrap: balance;
        line-height: 1.2;
    }

    .contact-text ul {
        list-style: disc;
        padding-inline-start: 2rem;
        margin-block-start: 0.5rem;
    }

    .contact-text li+li {
        margin-block-start: 0.5rem;
    }

    .contact-form-container {
        background-color: var(--color-gray-300);
        padding: 2rem;
    }

    .left-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2rem;
        padding-inline: 1rem;
    }

    form {
        background-color: white;
        border-radius: .5em;
        display: grid;
        gap: .75em;
        padding: 2rem 2rem;
    }

    hr {
        margin-block-end: 1.25rem;
    }

    fieldset {
        border: none;
        padding: 0;
        margin: 0;
        margin-block-end: 1rem;
    }

    legend {
        font-size: 1.125rem;
        font-weight: 600;
        padding: 0;
        margin-block-end: 1rem;
    }

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

    .form-group label {
        display: block;
        font-size: var(--font-size-s);
        font-weight: var(--font-weight-medium);
        color: var(--color-gray-800);
    }

    .form-group input[type="text"],
    .form-group input[type="email"],
    .form-group input[type="tel"],
    .form-group select,
    .form-group textarea {
        display: block;
        inline-size: 100%;
        padding-block: 0.5rem;
        padding-inline: 0.75rem;
        font-size: var(--font-size-base);
        border: 1px solid var(--color-gray-300);
        border-radius: var(--radius-medium);
        background-color: var(--color-white);
        color: var(--color-gray-900);
    }

    .form-group .optional {
        font-size: var(--font-size-xs);
        color: var(--color-gray-500);
        font-weight: var(--font-weight-normal);
        margin-inline-start: 0.25rem;
    }

    .form-group select {
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
        background-position: right 0.5rem center;
        background-repeat: no-repeat;
        background-size: 1.5em 1.5em;
        padding-inline-end: 2.5rem;
    }

    textarea {
        resize: vertical;
        min-block-size: 80px;
    }

    @media (min-width: 48em) {
        .service-buttons a {
            flex: 0 1 auto;
        }
    }


    @media (max-width: 992px) {
        .contact-grid {
            grid-template-columns: 1fr;
            gap: 2rem;
        }

        .contact-form-container {
            padding: 1rem;
        }

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

    /* Styles for Radio Buttons */
    input[type="radio"] {
        height: 1rem;
        width: 1rem;
    }

    input[type="radio"]:focus {
        outline: 2px dashed var(--color-secondary-500);
        background-color: var(--color-secondary-500);
    }

    .custom-radio {
        /* hiding browser el */
        appearance: none;
        /* Safari support */
        -webkit-appearance: none;
        border: .3em solid var(--light-color);
        background-color: var(--color-gray-300);
        border-radius: 50%;
        order: -1;
        outline: 1px solid var(--color-gray-400);
    }

    .radio-options {
        margin-block-end: 2rem;
    }

    .radio-option {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-block-start: 0.5rem;
    }

    .radio-option label {
        order: 1;
        font-size: var(--font-size-base);
        font-weight: var(--font-weight-normal);
    }

    .custom-radio:focus-visible {
        outline-offset: 0;
    }

    .custom-radio:hover {
        outline-color: var(--color-yellow-950);
    }

    .btn {
        text-transform: uppercase;
        justify-content: center;
    }

    input[type="radio"]:checked {
        outline: 4px solid;
        outline-color: var(--color-yellow-900);
        background-color: var(--color-yellow-900);
        animation: outline-checked;
        animation-duration: 0.2s;
        animation-iteration-count: 4;
        animation-direction: alternate;
        animation-timing-function: linear
    }

    @keyframes outline-checked {
        0% {
            outline-offset: 0;
        }

        100% {
            outline-offset: -0.4rem;
        }
    }

    /* End Radio Button Styles */

    .testimonial {
        justify-self: center;
        background-color: var(--color-yellow-950);
        max-width: 50ch;
        /* Example background */
        color: var(--color-primary-950);
        padding: 1.5rem;
        border-radius: var(--border-radius-small);
        margin-block-start: 2rem;
        /* Space above the testimonial */
        border-left: 5px solid var(--color-primary-500);
        /* Accent border */
        font-style: italic;
    }

    .testimonial p:first-of-type {
        margin-bottom: 1rem;
        /* Space between quote and attribution */
        /* Optional: Add quotation marks */
        /* position: relative; */
        /* padding-left: 1.5em; */
    }

    /* Optional: Pseudo-element for quotation mark */
    /* .testimonial p:first-of-type::before {
        content: '\201C'; /* Left double quote */
    /* position: absolute; */
    /* left: 0; */
    /* top: 0; */
    /* font-size: 2em; */
    /* line-height: 1; */
    /* color: var(--color-flush-orange-500); */
    /* } */

    .testimonial p:last-of-type {
        text-align: right;
        /* Align attribution to the right */
        font-style: normal;
        /* Normal style for attribution */
        font-weight: 500;
        color: var(--color-primary-800);
        /* Slightly different color */
    }

    .contact-image {
        margin-block-start: 2rem;
        /* Add some space above the image */
        width: 100%;
        /* Allow it to take full width initially */
        max-width: 450px;
        /* Constrain max width (adjust as needed) */
        margin-inline: auto;
        /* Center the block horizontally */
    }

    .contact-image img {
        display: block;
        /* Remove extra space below */
        width: 100%;
        /* Make image fill container width */
        height: auto;
        /* Maintain aspect ratio */
        aspect-ratio: 3 / 2;
        /* Set a common aspect ratio (adjust if needed) */
        object-fit: cover;
        /* Cover the area, crop if necessary */
        object-position: center;
        /* Center the image content */
        border-radius: var(--border-radius-large);
        /* Use large radius from global styles */
        box-shadow: var(--shadow-medium);
        /* Add a medium shadow */
    }
.wnohxlxxq .top-banner{background-color:var(--color-primary-950);padding:0.75rem 1rem;width:100%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.wnohxlxxq .nav nav ul{list-style:none;display:flex;flex-wrap:wrap;padding:0;margin:0;display:flex;gap:1.5rem}.wnohxlxxq .nav nav li a{color:var(--color-glare-500);text-decoration:none;padding-block:0.25rem;border-block-end:2px solid transparent;transition:color 0.2s ease,border-color 0.2s ease}.wnohxlxxq .nav nav li a:hover{color:#d1d5db;border-block-end-color:#d1d5db;text-decoration:none}.wnohxlxxq .nav nav li a.active{font-weight:var(--font-weight-semibold);border-block-end-color:var(--color-yellow-950)}.wnohxlxxq .top-banner .hero-contact{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:flex-end}.wnohxlxxq .top-banner .contact-item a,.wnohxlxxq .top-banner .contact-item svg,.wnohxlxxq .top-banner .contact-item span{color:var(--color-glare-500)}.wnohxlxxq .top-banner .contact-item a:hover{color:#d1d5db}.wnohxlxxq .contact-item{display:flex;align-items:center;gap:0.5rem}.wnohxlxxq .contact-item svg{flex-shrink:0}.wnohxlxxq .contact-item a,.wnohxlxxq .contact-item span{text-decoration:none;color:inherit}
.wat0gs90q .footer-section{background-color:var(--color-primary-800);color:var(--color-slate-200);padding:4rem 0 0}.wat0gs90q .container{max-width:1200px;margin:0 auto;padding:0 1rem}.wat0gs90q .footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-bottom:3rem}.wat0gs90q .footer-col h4{color:var(--color-yellow-950);border-bottom:1px solid var(--color-yellow-950)}@media (min-width:768px){.wat0gs90q .footer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.wat0gs90q .footer-grid{grid-template-columns:1fr .5fr 1fr 1fr;gap:2.5rem}}.wat0gs90q .footer-logo{max-width:180px;margin-bottom:1.5rem}.wat0gs90q .business-name{font-weight:600;font-size:1.1rem;margin-bottom:1rem}.wat0gs90q .footer-heading{font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:0.05em}.wat0gs90q .links-col ul{list-style:none;padding:0;margin:0}.wat0gs90q .links-col li{margin-bottom:0.75rem}.wat0gs90q .footer-link{text-decoration:none;font-size:0.85rem;transition:color 0.3s ease}.wat0gs90q .footer-link:hover{color:var(--color-yellow-900);text-decoration:underline}.wat0gs90q .service-areas-grid{display:grid;grid-template-columns:1fr;gap:2.25rem}.wat0gs90q .service-areas-subheading{font-size:0.95rem;font-weight:500;margin-bottom:0.75rem}.wat0gs90q .service-areas-section ul{list-style:none;padding:0;margin:0}.wat0gs90q .service-areas-section li{margin-bottom:0.75rem}.wat0gs90q .footer-copyright{border-top:1px solid rgba(255,255,255,0.1);padding:1.5rem 0;margin-top:3rem}.wat0gs90q .footer-copyright .container{text-align:center;display:flex;justify-content:center;gap:2rem}.wat0gs90q .footer-copyright p{font-size:0.85rem;color:rgb(156,163,175);margin:0}