/* ==========================
   Home
========================== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"Manrope",sans-serif;
    line-height:1.7;
    color:#333;
    background:#f8f9fb;
}

h1,h2,h3,nav a{
    font-family:"Manrope",sans-serif;
    font-weight:700;
}

/* ==========================
   Navigation
========================== */
header{
    background:white;
    box-shadow:0 8px 25px rgba(0,0,0,.18);
    position:sticky;
    top:0;
    z-index:1000;
}

.call-box{
    text-align:right;
    padding:10px 6% 15px 8%;
	font-family:"Manrope",sans-serif;
    line-height:1.1;
}

.call-box span{
    display:inline;
    color:#555;
    font-size:13px;
    font-weight:700;
    margin-right:8px;
}

.call-box a{
    color:#c1121f;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
}

.nav-wrapper{
    padding:5px 6% 12px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
}

.logo_name{
    display:flex;
    align-items:center;
    gap:15px;
    flex-shrink:0;
	text-transform:uppercase;
	transform:translateY(-12px);
}

.logo_name h2{
    font-family:"Montserrat",sans-serif;
    font-size:22px;
    line-height:1.2;
    color:#222;
    width:260px;
    white-space:nowrap;
}

nav ul{
    display:flex;
    gap:32px;
    align-items:center;
    list-style:none;
}

nav a{
    color:#222;
    font-size:17.5px;
    font-weight:700;
    text-decoration:none;
	text-transform:uppercase;
}

nav a:hover,
nav .active{
    color:#c1121f;
}

.dropdown{
    position:relative;
}

.dropdown-box{
    position:absolute;
    top:100%;
    left:-20px;
    min-width:220px;
	margin-top:10px;  

    background:#fff;
    border-top:4px solid #c1121f;
    box-shadow:0 15px 35px rgba(0,0,0,.15);

    opacity:0;
    visibility:hidden;
    transform:translateY(10px);

    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s;
}

.dropdown-box a{
    display:block;
    padding:12px 20px;
    color:#333;
    font-weight:600;
}

.dropdown-box a:hover{
    background:#f5f5f5;
    color:#c1121f;
}

.dropdown:hover .dropdown-box{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.nav-arrow{
    display:inline-block;
    width:7px;
    height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    margin-left:8px;
    margin-bottom:3px;
    transition:transform .25s ease;
}

.dropdown:hover .nav-arrow{
    transform:rotate(225deg);
}
/* ==========================
   Hero Section
========================== */

.hero{
    position:relative;
    height:300px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}


/* ==========================
   Original Header Image
========================== */

.hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:url("../images/header-image4.png") center/cover no-repeat;

    /* DO NOT dim or alter the image */
}


/* ==========================
   Very Subtle Readability Layer
========================== */

.hero::after{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.30) 0%,
        rgba(0,0,0,.12) 55%,
        rgba(0,0,0,.05) 100%
    );

    pointer-events:none;
}


/* ==========================
   Hero Content
========================== */

.hero-content{
    position:relative;
    z-index:2;

    max-width:1600px;
    width:100%;

    display:flex;
    align-items:center;

    gap:55px;

    padding:0 45px;
}


/* ==========================
   Logo
========================== */

.hero-logo-wrap{
    width:430px;
    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;
}

.hero-logo{
    width:430px;
    height:auto;

    display:block;

    /* Keep original logo exactly as provided */
}


/* ==========================
   Hero Text
========================== */

.hero-text{
    max-width:900px;
    text-align:left;
}


/* ==========================
   Eyebrow
========================== */

.hero-eyebrow{
    color:#c1121f;

    font-size:12px;
    font-weight:800;

    letter-spacing:4px;

    margin-bottom:12px;

    text-transform:uppercase;

    text-shadow:
        0 2px 8px rgba(0,0,0,.8);
}


/* ==========================
   Main Heading
========================== */

.hero-content h1{
    color:#fff;

    font-size:27px;
    line-height:1.35;

    font-weight:700;

    margin:0 0 20px;

    text-shadow:
        0 2px 5px rgba(0,0,0,.95),
        0 4px 14px rgba(0,0,0,.75);
}


/* Make second line stand out */

.hero-content h1 span{
    color:#fff;
}


/* ==========================
   Description
========================== */

.hero-description{
    color:#fff;

    font-size:16px;
    line-height:1.7;

    font-weight:500;

    max-width:850px;

    margin:0 0 18px;

    text-shadow:
        0 2px 5px rgba(0,0,0,1),
        0 4px 12px rgba(0,0,0,.8);
}


/* ==========================
   Hero Details
========================== */

.hero-details{
    display:flex;
    align-items:center;
    gap:30px;
    flex-wrap:wrap;
}


/* ==========================
   Individual Detail
========================== */

.hero-detail{
    display:flex;
    align-items:center;
    gap:8px;

    color:#fff;
    font-size:15px;
    font-weight:600;

    text-shadow:
        0 2px 5px rgba(0,0,0,1),
        0 3px 10px rgba(0,0,0,.8);
}


/* ==========================
   Red Symbols
========================== */

.detail-symbol{
    color:#c1121f;
    font-size:18px;
    font-weight:900;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:20px;
    height:20px;
}

/* Red location pin */
.location-symbol::before{
    content:"📍";
    filter:grayscale(1);
    color:#c1121f;
}

/* Red check marks */
.hero-detail.certified .detail-symbol,
.hero-detail.insured .detail-symbol{
    color:#c1121f;
    font-size:18px;
    font-weight:900;
}
/* ==========================
   Responsive
========================== */

@media(max-width:1100px){

    .hero-content{
        gap:35px;
        padding:0 30px;
    }

    .hero-logo-wrap,
    .hero-logo{
        width:370px;
    }

    .hero-content h1{
        font-size:23px;
    }

    .hero-description{
        font-size:15px;
    }
}


@media(max-width:900px){

    .hero{
        height:auto;
        min-height:300px;
    }

    .hero-content{
        padding:30px 25px;
        gap:30px;
    }

    .hero-logo-wrap,
    .hero-logo{
        width:320px;
    }

    .hero-content h1{
        font-size:21px;
    }

    .hero-description{
        font-size:15px;
    }

}


@media(max-width:700px){

    .hero{
        min-height:520px;
    }

    .hero-content{
        flex-direction:column;
        justify-content:center;
        text-align:center;

        padding:35px 20px;
    }

    .hero-logo-wrap,
    .hero-logo{
        width:300px;
    }

    .hero-text{
        text-align:center;
    }

    .hero-details{
        align-items:center;
    }

    .hero-detail{
        justify-content:center;
    }

    .hero-content h1{
        font-size:20px;
    }

}
/* ==========================
   Contact
========================== */

.contact-section{
    padding:90px 0;
    background:#fff;
}

.contact-container{
    width:90%;
    max-width:1350px;
    margin:auto;
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:80px;
    align-items:start;
}

.contact-form h2{
    color:#c1121f;
    font-size:32px;
    margin-bottom:12px;
}

.form-intro{
    color:#666;
    max-width:700px;
    margin-bottom:35px;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px;
}

.form-group{
    margin-bottom:22px;
}

.form-group label{
    display:block;
    font-weight:700;
    color:#333;
    font-size:14px;
    margin-bottom:8px;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:15px 16px;
    border:1px solid #d4d4d4;
    border-radius:4px;
    background:#fff;
    font-family:"Manrope",sans-serif;
    font-size:15px;
    color:#333;
    transition:.25s ease;
}

.contact-form textarea{
    resize:vertical;
    min-height:170px;
}

.contact-form input:focus,
.contact-form textarea:focus{
    outline:none;
    border-color:#c1121f;
    box-shadow:0 0 0 3px rgba(193,18,31,.10);
}

.g-recaptcha{
    margin-top:8px;
    margin-bottom:5px;
}

.captcha-wrapper{
    margin-top:25px;
}

.captcha-error{
    display:none;
    margin-top:10px;
    padding:10px 14px;
    border-left:4px solid #c1121f;
    background:#fdf0f0;
    color:#c1121f;
    font-size:14px;
    font-weight:600;
}

.captcha-error.show{
    display:block;
}
.contact-form button{
    margin-top:25px;
    background:#c1121f;
    color:#fff;
    border:none;
    border-radius:4px;
    padding:15px 38px;
    font-family:"Manrope",sans-serif;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    transition:.25s ease;
}

.contact-form button:hover{
    background:#940e18;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(193,18,31,.20);
}

.error-message{
    background:#fff0f0;
    border-left:4px solid #c1121f;
    color:#a10f19;
    padding:14px 18px;
    margin-bottom:25px;
    font-weight:600;
}

.success-message{
    margin-bottom:25px;
    padding:14px 18px;
    border-left:4px solid #2e7d32;
    background:#edf7ee;
    color:#2e7d32;
    font-size:15px;
    font-weight:600;
}

button:disabled{
    opacity:.65;
    cursor:not-allowed;
}

.contact-info{
    border-left:4px solid #c1121f;
    padding-left:35px;
}

.contact-info h2{
    color:#c1121f;
    font-size:30px;
    margin-bottom:30px;
}

.info-card{
    margin-bottom:25px;
}

.info-card h3{
    font-size:21px;
    color:#222;
    margin-bottom:15px;
}

.info-card p{
    color:#666;
    margin-bottom:17px;
    line-height:1.6;
}

.info-card strong{
    color:#333;
    font-weight:800;
}

.info-card a,
.person a{
    color:#555;
    text-decoration:none;
    font-weight:600;
    overflow-wrap:anywhere;
}

.info-card a:hover,
.person a:hover{
    color:#c1121f;
}

.person{
    padding:20px 0;
    border-top:1px solid #ddd;
}

.person h4{
    color:#c1121f;
    font-size:19px;
    margin-bottom:3px;
}

.person p{
    color:#777;
    margin-bottom:5px;
    font-size:14px;
    font-weight:600;
}

.person a{
    display:block;
    font-size:14px;
}

.map-section{
    height:420px;
    width:100%;
}

.map-section iframe{
    width:100%;
    height:100%;
    border:0;
}

/* ==========================
   Footer
========================== */
.back-top{
    display:inline-block;
    margin-top:15px;
    font-weight:bold;
}

footer{
    background:#202020;
    color:white;
    padding:30px 10px;
}

.footer-container{
    max-width:1350px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:60px;
    flex-wrap:wrap;
}

.footer-column{
    flex:1;
    min-width:220px;
}

.footer-column h3{
    margin-bottom:18px;
    font-size:22px;
}

.footer-column ul{
    list-style:none;
}

.footer-column li{
    margin-bottom:12px;
}

.footer-column a{
    color:#ddd;
    text-decoration:none;
    transition:color .3s ease;
}

.footer-column a:hover{
    color:#c1121f;
}

.footer-center{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    min-height:65px;
}

.footer-center p,
.footer-right p{
    margin-bottom:8px;
}

.footer-right{
    text-align:right;
}

/* ==========================
   Responsive
========================== */
@media (max-width:900px){
    header{
        flex-direction:column;
        gap:20px;
    }

    nav ul{
        flex-direction:column;
        gap:15px;
        text-align:center;
    }

    .hero h1{
        font-size:38px;
    }

    .content h2{
        font-size:28px;
    }

    .footer-container{
        flex-direction:column;
        text-align:center;
        gap:40px;
    }

    .footer-center,
    .footer-right{
        text-align:center;
        align-items:center;
        min-height:auto;
    }

    .footer-right{
        text-align:center;
    }
}