/* General Typography */
body {
    font-family: 'Public Sans', sans-serif;
    color: #333;
    line-height: 1.6;
}

/* Header & Titles */
h1, h2, h3, h4, h5 {
    font-family: 'Public Sans', sans-serif;
    font-weight: 700;
}

h1 {
    font-size: 3.5rem;
}

.bg-hero {
            background: url('images/bg_cells.jpg') no-repeat center center; 
            background-size: cover;
            color: white;
            padding: 100px 0;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
            min-height: 200px;
        }
        
/* Intro Section Specifics */
.intro-questions h4 {
    color: #993300; /* Pulled from original inline style */
    font-weight: 600;
}

/* Feature List Styling */
.feature-list {
    list-style: none;
    padding-left: 0;
    margin-top: 2rem;
}

.feature-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 12px;
    color: #900000; /* Pulled from original inline style */
    font-weight: 600;
    line-height: 1.4;
}

.feature-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #333;
    font-weight: bold;
}

/* Button Customizations */
.btn-danger {
    background-color: #cf2e2e;
    border-color: #cf2e2e;
}

.btn-warning {
    background-color: #ff6900;
    border-color: #ff6900;
}

.btn-primary {
    background-color: #0693e3;
    border-color: #0693e3;
}

/* Image Handling */
img {
    max-width: 100%;
    height: auto;
}

.book-container img {
    border: 1px solid #ddd;
}

/* Form Wrapper */
.form-wrapper {
    background: #fff;
    overflow: hidden;
}

/* Footer Links */
footer a:hover {
    text-decoration: underline !important;
}