/* ==========================
   About Page
========================== */

*{
    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;
    }

}

/* ==========================
   Our Promise
========================== */

.promise-section{
    padding:105px 35px 100px;
    background:#f8f9fb;
}


.promise-container{
    max-width:850px;
    margin:auto;
    text-align:center;
}


/* ==========================
   Promise Label
========================== */

.promise-label{
    display:block;
    color:#c1121f;
    font-size:12px;
    font-weight:800;
    letter-spacing:3px;
    margin-bottom:18px;
}


/* ==========================
   Promise Heading
========================== */

.promise-container h2{
    font-size:48px;
    line-height:1.15;
    color:#202020;
    font-weight:800;
    letter-spacing:-1.8px;
    margin-bottom:25px;
}



/* ==========================
   Promise Text
========================== */

.promise-container p{
    max-width:760px;
    margin:auto;

    font-size:18px;
    line-height:1.85;
    color:#666;
}


/* ==========================
   Responsive
========================== */

@media(max-width:900px){

    .promise-section{
        padding:80px 25px;
    }

    .promise-container h2{
        font-size:40px;
    }

    .promise-container p{
        font-size:17px;
    }
}


@media(max-width:600px){

    .promise-section{
        padding:65px 20px 70px;
    }

    .promise-container h2{
        font-size:32px;
        letter-spacing:-1px;
    }

    .promise-container p{
        font-size:16px;
        line-height:1.8;
    }
}

/* ==========================
   ABOUT INFORMATION
========================== */

.about-section{
    background:#f8f9fb;
    padding:0 0 70px 0;
}

.about-container{
    max-width:1400px;
    margin:auto;
    padding:0 35px;
}


/* Cards Layout */

.about-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}


/* Individual Cards */

.about-card{
    background:#fff;
    padding:40px 35px;
    border-radius:22px;
    position:relative;
    overflow:hidden;

    border:1px solid #e8e8e8;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);

    transition:.35s ease;
}


.about-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:5px;

    background:linear-gradient(
        90deg,
        #c1121f,
        #ff5555
    );
}


.about-card:hover{
    transform:translateY(-10px);

    box-shadow:
    0 25px 60px rgba(0,0,0,.12);
}


/* Icons */

.about-icon{
    width:65px;
    height:65px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#c1121f;
    color:#fff;

    border-radius:18px;

    font-size:28px;
    font-weight:bold;

    margin-bottom:25px;

    box-shadow:
    0 12px 30px rgba(193,18,31,.25);
}


.about-card h3{
    font-size:28px;
    color:#111;

    margin-bottom:18px;
}


.about-card p{
    color:#555;
    font-size:17px;
    line-height:1.9;
}

/* ==========================
   SERVING NORTHEAST OHIO SECTION
========================== */

.about-highlight{
    width:100%;
    background:#eef1f4;
    padding:70px 35px;
    position:relative;
}

.highlight-content{
    max-width:950px;
    margin:auto;
    text-align:center;
}

.highlight-tag{
    display:inline-block;
    color:#c1121f;
    font-size:13px;
    font-weight:800;
    letter-spacing:2px;
    margin-bottom:15px;
}

.about-highlight h3{
    color:#111;
    font-size:42px;
    line-height:1.2;
    margin-bottom:18px;
}

.about-highlight p{
    color:#555;
    font-size:18px;
    line-height:1.9;
    max-width:850px;
    margin:auto;
}

@media(max-width:900px){
    .about-highlight{
        padding:50px 25px;
    }

    .about-highlight h3{
        font-size:32px;
    }

    .about-highlight p{
        font-size:16px;
    }
}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:900px){

    .about-grid{
        grid-template-columns:1fr;
    }


    .promise-container{
        padding:0 25px;
    }


    .about-container{
        padding:0 25px;
    }


    .about-highlight{
        padding:45px 30px;
    }


    .about-highlight h3{
        font-size:32px;
    }

}

/* ==========================
   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;
    }
}