body {
    margin: 0;
    font-family: Arial, sans-serif;
    color: #333;
}

nav {
    background: #333;
    color: #fff;
    padding: 10px;
    position: sticky;
    top: 0;
    z-index: 10;
}

nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
}

nav li {
    margin: 0 15px;
}

nav a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

section {
    padding: 70px 20px;
    text-align: center;
}

#hero {
    background: transparent; /* Clears default background */
    position: relative; /* Anchor for pseudo-element */
    overflow: hidden; /* Prevent pseudo-element overflow */
    padding: 100px 20px;
}

#hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fffec8cc; /* Semi-transparent pale yellow, ~80% opacity */
    z-index: -1; /* Above background, below content */
}

#hero > * {
    position: relative; /* Keep content above pseudo-element */
    z-index: 1; /* Ensure content is on top */
}

#hero h1 {
    font-size: 2.8em;
    margin-bottom: 15px;
}

#hero p {
    font-size: 1.3em;
    max-width: 650px;
    margin: 0 auto;
}

#about {
    background: transparent; /* Clears default background */
    position: relative; /* Anchor for pseudo-elements */
    overflow: hidden; /* Prevent pseudo-element overflow */
}

#about::before {
    content: ''; /* Required for pseudo-element */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/pastor.praying.jpg');
    background-size: cover; /* Scales image to fit */
    background-position: center; /* Centers image */
    opacity: 0.3; /* Subtle image transparency */
    z-index: -2; /* Behind everything */
}

#about::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #20ABFAD6; /* Semi-transparent blue */
    z-index: -1; /* Above image, below content */
}

#about .pastor-image {
    display: none; /* Hide redundant <img> tag */
}

#about > * {
    position: relative; /* Keep content above pseudo-elements */
    z-index: 1; /* Ensure content is on top */
}

#pricing {
    background: transparent; /* Clears default background */
    position: relative; /* Anchor for pseudo-elements */
    overflow: hidden; /* Prevent pseudo-element overflow */
}

#pricing::before {
    content: ''; /* Required for pseudo-element */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/hospital.jpg');
    background-size: cover; /* Scales image to fit */
    background-position: center; /* Centers image */
    opacity: 0.3; /* Subtle image transparency */
    z-index: -2; /* Behind everything */
}

#pricing::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #E66AC2B3; /* Lighter pinkish-purple, ~70% opacity */
    z-index: -1; /* Above image, below content */
}

#pricing > * {
    position: relative; /* Keep content above pseudo-elements */
    z-index: 1; /* Ensure content is on top */
}

#contact {
    background: transparent; /* Clears default background */
    position: relative; /* Anchor for pseudo-element */
    overflow: hidden; /* Prevent pseudo-element overflow */
}

#contact::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #98d6e4cc; /* Semi-transparent teal, ~80% opacity */
    z-index: -1; /* Above background, below content */
}

#contact > * {
    position: relative; /* Keep content above pseudo-element */
    z-index: 1; /* Ensure content is on top */
}

#onboarding {
    background: transparent; /* Clears default background */
    position: relative; /* Anchor for pseudo-element */
    overflow: hidden; /* Prevent pseudo-element overflow */
    padding: 50px 20px;
}

#onboarding::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fffec8cc; /* Semi-transparent pale yellow, ~80% opacity */
    z-index: -1; /* Above background, below content */
}

#onboarding > * {
    position: relative; /* Keep content above pseudo-element */
    z-index: 1; /* Ensure content is on top */
}

h2 {
    font-size: 2.2em;
    margin-bottom: 20px;
}

p {
    font-size: 1.1em;
    max-width: 600px;
    margin: 0 auto;
}

.subtext {
    font-size: 0.9em;
    color: #555;
    margin-top: 10px;
}

.tax-exempt {
    font-size: 0.9em;
    margin-top: 15px;
}

.button-container {
    margin-top: 20px;
}

.btn {
    display: inline-block;
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
}

.btn-primary {
    background: #007bff;
    color: #fff;
    margin-right: 10px;
}

.btn-secondary {
    background: #ff9800;
    color: #fff;
    border: none;
    cursor: pointer;
}

.logo-large {
    max-width: 350px;
    margin-bottom: 20px;
}

.logo-small {
    max-width: 150px;
    margin-top: 20px;
}

.pastor-image {
    margin-top: 25px;
    max-width: 100%;
    border-radius: 8px;
}

.contact-form, .onboarding-form {
    max-width: 500px;
    margin: 25px auto;
}

.contact-form input,
.contact-form textarea,
.onboarding-form input,
.onboarding-form select,
.onboarding-form textarea {
    width: 100%;
    padding: 12px;
    margin: 10px 0;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-sizing: border-box;
}

.onboarding-form textarea {
    min-height: 120px;
}

#tax_exempt_field, #personal_contact_field, #other_how_field {
    display: none;
    margin: 10px 0;
}

#tax_exempt_field label,
.onboarding-form label {
    display: block;
    font-size: 1em;
    margin: 10px 0;
}

.onboarding-form label input[type="checkbox"] {
    margin-right: 5px;
}

#user_fields {
    margin: 20px 0;
}

#user_fields h4 {
    font-size: 1.2em;
    margin-bottom: 10px;
}

#user_fields div {
    margin-bottom: 20px;
}

.email-link {
    font-size: 0.9em;
    margin-top: 15px;
}

.email-link a {
    color: #007bff;
    text-decoration: none;
}

.secure-note {
    font-size: 0.9em;
    color: #555;
    margin: 10px 0;
}

.onboarding-form a {
    color: #007bff;
    text-decoration: none;
}