/* GLOBAL STYLES */
* {fo
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background-color: #fff;
    color: #333;
    /* Make sure your HTML has:
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       in the <head> for proper responsiveness */
}

/* HEADER */
header {
    width: 100%;
    background-color: #ffffff; /* Plain white background */
}

.logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

.logo {
    width: 131x;
    height: 79px;
    object-fit: contain;
}

/* HERO SECTION */
.hero {
    width: 100%;
    /* Instead of a fixed height, use min-height 
       so the section grows if text overflows */
    min-height: 700px;

    background-image: url("../images/hero-bg.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    /* Use Flex for alignment */
    display: flex;
    flex-direction: column;
    /* Start from top, or use center if you'd like vertical centering:
       justify-content: center; */
    justify-content: start;

    /* Replace fixed padding-left: 90px; 
       with fluid padding to prevent text cutoff on small screens */
    /* top: 150px, left/right: 5%, bottom: 50px */
    padding: 150px 5% 50px;

    color: purple;
}

.hero-content {
    /* Let content span the full width, but cap with max-width for readability */
    width: 100%;
    max-width: 700px;
    /* If you want to center horizontally:
       margin: 0 auto; 
       but keep it 0 if you want it left-aligned. */
    margin: -90px 0 0 0;
}

/* HEADLINE & TAGLINE */
.headline {
    font-size: 85px; /* Desktop default */
    margin-bottom: 20px;
}

.tagline {
    font-size: 40px; /* Desktop default */
    margin-bottom: 10px;
}

/* Text Stroke (for modern WebKit/Chromium browsers) */
.headline,
.tagline {
    color: purple;
    -webkit-text-stroke: 1px #fff;
    -webkit-text-fill-color: purple;
}

@media (max-width: 480px) {
.headline,
.tagline {
    color: transparent;
    -webkit-text-stroke: 2px #fff;
    -webkit-text-fill-color: purple;
    paint-order: stroke fill;
    }
.headline {
    margin-top: -8px;
}
}

@media (max-width: 380px) {
  .hero {
    /* Possibly decrease top padding so text doesn't overflow upward */
    padding: 80px 5% 40px;
    /* Remove or reduce min-height if needed */
    min-height: 600px; 
  }
  .hero-content {
    width: 100%;
    max-width: 380px; /* narrower so text doesn't run offscreen */
    margin: 0 auto;
  }
  .headline {
    -webkit-text-size-adjust: 80%;
    /* If you have a very long headline, force wrapping: */
    overflow-wrap: break-word;
    margin-left: 1px;
    margin-top: 10px;

  }
  .tagline {
    /* font-size: 25px; */
    overflow-wrap: break-word; 
  }
  .cta a {
    /* font-size: 22px; */ 
    padding: 12px 24px;
  }
}


/* Fallback only applies if the browser DOES NOT support -webkit-text-stroke */
@supports not (-webkit-text-stroke: 1px #fff) {
    .headline,
    .tagline {
        /* Simulate outline with multiple text-shadows in Firefox/others */
        text-shadow: 2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff,
            1px 1px #fff, -1px 1px #fff, 1px -1px #fff, -1px -1px #fff;
    }
}

/* CTA BUTTON */
.cta a {
    display: inline-block;
    color: #ffffff;
    background-color: #e012a6;
    /* padding: 12px 24px; */
    padding: 18px 30px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 35px;
    font-weight: bold;
    transition: background-color 0.3s, color 0.3s;
}

.cta a:hover {
    background-color: #e646ce;
    color: #fff;
}

/* CONTENT SECTION */
.content {
    width: 80%;
    margin: 0 auto;
    padding: 40px 0;
    background-color: #fff; /* Plain white background */
}

@media (max-width: 480px) {
    .content {
        /* Reduce bottom space by 20px */
        padding: 40px 0 -150px;
    }
}

.content-title {
    text-align: center;
    font-size: 42px;
    margin-bottom: 20px;
    color: #c00cae;
}

.intro {
    text-align: center;
    font-size: 22px;
    max-width: 700px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
    color: #3d3b3d;
}

/* SERVICES LIST */
.services-container {
    display: flex;
    justify-content: center;
}

.services-list {
    list-style: none; /* Remove default bullets */
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 columns */
    grid-gap: 10px 40px;
    max-width: 800px;
    margin: 0 auto;
    color: #3d3b3d;
}

.services-list li {
    font-size: 18px;
    position: relative;
    padding-left: 30px; /* space for checkmark */
    margin-bottom: 10px;
}

.services-list li::before {
    content: "✓";
    color: green;
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* ========== RESPONSIVE DESIGN (MEDIA QUERIES) ========== */

/* Medium to smaller desktops/tablets (992px and below) */
@media (max-width: 992px) {
    .headline {
        font-size: 80px;
    }
    .tagline {
        font-size: 36px;
    }
}

/* Tablets and below (768px) */
@media (max-width: 768px) {
    /* Let hero-content still scale:
       remove leftover absolute references if any */
    .hero-content {
        width: 100%;
        max-width: 600px;
        margin: 0;
    }

    .headline {
        font-size: 70px;
    }
    .tagline {
        font-size: 34px;
    }

    .cta a {
        font-size: 26px;
        padding: 14px 28px;
    }

    .services-list {
        grid-template-columns: 1fr; /* single column on smaller screens */
    }
}

/* Phones and smaller devices (480px) */
@media (max-width: 480px) {
    .hero {
        min-height: 650px;
    }
    .headline {
        font-size: 60px;
    }
    .tagline {
        font-size: 30px;
    }

    .cta a {
        font-size: 24px;
        padding: 14px 28px;
    }
}

footer {
    width: 100%;
    height: 85px;
    /* "rose" background color: you can pick any shade of pinkish or rose-like color. 
       #FFC0CB is a well-known pink color. */
    background-color: #ec8193;

    /* Center the content both vertically and horizontally */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Footer text styles */
.footer-content a {
    color: #fff; /* white text */
    font-size: 30px; /* 30px font size */
    text-decoration: none;
    font-weight: bold; /* optional: make it bold if you like */
}

@media (max-width: 480px) {
    footer {
        position: fixed; /* Fix it to the viewport */
        bottom: 0; /* Pin to the bottom */
        left: 0; /* Ensure it starts at left edge */
        width: 100%;
        height: 95px; /* The same 300px height as the desktop style */
        z-index: 9999; /* Keep it above other elements */
    }

    /* To prevent the footer from overlapping the main content,
       add bottom spacing to the body (or a main container).
       This ensures the content doesn't get hidden behind the 300px footer. */
    body {
        margin-bottom: 200px;
        /* Now the page extends 300px at the bottom, 
         so the footer won't overlap text. */
        width:97%;
    }
}