/* Basic Reset and Defaults */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* --- FONT FACE RULES WOULD GO HERE if you have Graphik font files --- */
/* Example:
@font-face { font-family: 'Graphik'; src: url('fonts/Graphik-Regular.woff2') format('woff2'); font-weight: 400; }
@font-face { font-family: 'Graphik'; src: url('fonts/Graphik-Medium.woff2') format('woff2'); font-weight: 500; }
@font-face { font-family: 'Graphik'; src: url('fonts/Graphik-Bold.woff2') format('woff2'); font-weight: 700; }
@font-face { font-family: 'Graphik'; src: url('fonts/Graphik-Black.woff2') format('woff2'); font-weight: 900; }
*/

body {
    font-family: 'Graphik', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f4f6f7; /* Unified background */
    padding-bottom: 150px; /* Space for sticky footer + footer */
}

img {
    max-width: 100%;
    height: auto;
    display: block; /* Prevents bottom space, default */
}

a {
    text-decoration: none;
    color: inherit;
}

button, .section-cta-btn, .hero-cta-btn, .call-now-btn, .main-cta-btn { /* Apply basic button styles */
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
    text-align: center;
    display: inline-block;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

a:active, button:active { /* Simple press effect */
    transform: scale(0.98);
}

/* Container for consistent padding */
.container {
    padding-left: 20px;
    padding-right: 20px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Header --- */
.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
}

.logos {
    display: flex;
    align-items: center;
    gap: 10px;
}

.logo { /* Base logo class */
    height: auto; /* Allow specific class to override */
    width: auto;
}
/* --- UPDATED LOGO SIZE --- */
.logo-your-firm {
   height: 70px; /* Set desired height */
   width: auto;  /* Maintain aspect ratio */
}

.call-now-btn {
    background-color: #fceb27;
    color: #333;
    padding: 8px 15px;
    border-radius: 5px;
    font-weight: 700;
    font-size: 0.9em;
}

/* --- Hero Section --- */
.hero {
    padding: 10px 20px 20px;
    text-align: center;
}

.hero h3 {
    font-size: 1.17em;
    font-weight: 700;
     margin-top: 10px;
    margin-bottom: 15px;
    color: #333333;
    text-transform: uppercase;
    line-height:1.1;
}

.hero h2 {
    font-size: 1.5em;
    font-weight: 700;
    margin-bottom: 10px;
    color: #333333;
    text-transform: uppercase;
    line-height:1.1;
}

.hero h1 {
    font-size: 2.4em;
    font-weight: 900;
    color: #003366;
    margin-bottom: 15px;
    line-height: 1.0;
}

.hero p {
    font-size: 1.1em;
    color: #555;
    max-width: 600px;
    margin: 0 auto 20px auto;
    line-height: 1.5;
}

.hero .hero-subtext {
    font-weight: 500;
    margin-bottom: 20px; /* Increased margin before image */
    color: #444;
}

/* --- HERO IMAGE STYLES --- */
.hero-image-wrapper {
    text-align: center; /* Centers the inline-block image */
    margin: 25px 0; /* Add space around the image */
}
.hero-injury-image {
    max-width: 100%; /* Responsive */
    width: 450px;  /* Set a max base width if desired */
    height: auto;
    border-radius: 8px; /* Optional rounded corners */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Optional subtle shadow */
    display: inline-block; /* Allows text-align: center on wrapper to work */
}
/* --- END HERO IMAGE STYLES --- */


.hero .hero-riskfree {
    font-weight: 700;
    color: #003366;
    font-size: 1.1em;
    margin-top: 25px; /* Space after image */
    margin-bottom: 25px;
}

.hero .hero-cta-btn {
    display: inline-block;
    background-color: #fceb27;
    color: #333;
    padding: 18px 30px;
    border-radius: 30px;
    font-size: 1.3em;
    font-weight: 700;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 15px;
}
.hero .hero-cta-btn i { margin-right: 10px; }
.hero .hero-cta-btn:hover { background-color: #e9d720; }

.hero .hero-urgent {
    font-size: 0.95em;
    font-weight: 500;
    color: #cc0000;
}

/* --- Generic Section Styling --- */
.problem-section, .solution-section, .process-section {
    padding: 10px 0;
    border-top: 1px solid #e0e0e0;
}
.problem-section:first-of-type, .solution-section:first-of-type, .process-section:first-of-type {
     border-top: none;
}

/* Section Headlines */
.problem-section h2, .solution-section h2, .process-section h2 {
    color: #003366;
    font-weight: 700;
    font-size: 1.75em;
    text-align: center;
    margin-bottom: 25px;
}
.problem-section h3 {
    color: #333;
    font-weight: 700;
    font-size: 1.3em;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 10px;
}

/* Section Paragraphs */
.problem-section p, .solution-section p, .process-section p {
    color: #555;
    margin-bottom: 20px;
    line-height: 1.6;
}

/* Section Lists (Problem/Solution) */
.problem-section ul, .solution-section ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 25px;
}
.problem-section li, .solution-section li {
    margin-bottom: 15px;
    padding-left: 30px;
    position: relative;
    font-size: 1.05em;
    color: #333;
}
.problem-section li i, .solution-section li i {
    position: absolute;
    left: 0;
    top: 4px;
    font-size: 1.2em;
}
.problem-section li i { color: #cc0000; } /* Red for problem */
.solution-section li i { color: #28a745; } /* Green for solution/benefit */

/* Section CTA Button */
.section-cta-btn {
    display: block;
    max-width: 350px;
    margin: 30px auto 0 auto;
    background-color: #fceb27;
    color: #333;
    padding: 15px 20px;
    border-radius: 30px;
    font-size: 1.2em;
    font-weight: 700;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}
.section-cta-btn:hover { background-color: #e9d720; }
.section-cta-btn i { margin-left: 8px; }

/* --- Specific Section Styles --- */

/* Solution Section - Fee Highlight */
.fee-highlight {
    background-color: #e6effb;
    border: 1px solid #cce0f6;
    border-radius: 8px;
    padding: 20px;
    margin-top: 30px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.fee-highlight i {
    font-size: 1.8em;
    color: #115099;
}
.fee-highlight span {
    font-size: 1.1em;
    color: #132A4E;
    line-height: 1.4;
}
.fee-highlight strong {
    font-weight: 700;
}

/* Process Section - Ordered List */
.process-section ol {
    list-style: none;
    padding-left: 0;
    counter-reset: process-counter;
    margin-bottom: 30px;
}
.process-section li {
    counter-increment: process-counter;
    margin-bottom: 20px;
    padding-left: 45px;
    position: relative;
    font-size: 1.1em;
}
.process-section li::before {
    content: counter(process-counter);
    position: absolute;
    left: 0;
    top: -2px;
    width: 30px;
    height: 30px;
    background-color: #003366;
    color: white;
    border-radius: 50%;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9em;
}
.process-section li strong {
    display: block;
    font-weight: 700;
    margin-bottom: 3px;
    color: #003366;
}

/* Process Section - Warning Box */
.warning-box {
    background-color: #fffbeb;
    border: 1px solid #ffeeba;
    border-left: 5px solid #ffc107;
    border-radius: 5px;
    padding: 20px;
    margin: 30px 0;
}
.warning-box h4 {
    color: #856404;
    font-weight: 700;
    font-size: 1.2em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.warning-box h4 i {
    font-size: 1.1em;
}
.warning-box p {
    color: #66512c;
    margin-bottom: 10px;
    font-size: 0.95em;
}
.warning-box p:last-child {
    margin-bottom: 0;
}
.warning-box strong {
    font-weight: 700;
}


/* --- Sticky CTA --- */
.sticky-cta-wrapper {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #f4f6f7;
    padding: 15px 20px 10px 20px;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
    z-index: 100;
    text-align: center;
}

.main-cta-btn {
    display: block;
    background-color: #fceb27;
    color: #333;
    padding: 15px 20px;
    border-radius: 30px;
    font-size: 1.2em;
    font-weight: 700;
    transition: background-color 0.2s ease;
    width: 100%;
    max-width: 400px;
    margin: 0 auto 5px auto;
}
.main-cta-btn:hover { background-color: #e9d720; }
.main-cta-btn i { margin-right: 10px; }

.sticky-cta-subtext {
    font-size: 0.85em;
    color: #555;
    margin-bottom: 0;
}


/* --- Accessibility Widget --- */
.accessibility-widget {
    position: fixed;
    bottom: 110px; /* Adjusted based on sticky bar height */
    left: 20px;
    background-color: #1976D2;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.8em;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

/* --- Simple Footer --- */
.site-footer-bottom {
    padding: 20px 0;
    background-color: #e9ecef;
    border-top: 1px solid #dee2e6;
    margin-top: 40px;
}
.site-footer-bottom p {
    font-size: 0.8em;
    color: #6c757d;
    text-align: center;
    margin-bottom: 5px;
    line-height: 1.5;
}
.site-footer-bottom p:last-child {
    margin-bottom: 0;
}

/* Scroll Link (Helper) */
.scroll-link {
    cursor: pointer;
}

/* --- Awards/Logos Section --- */
.awards-section {
    padding: 40px 0; /* Vertical padding */
    /* background-color: #f4f6f7; /* Inherits from body */
    border-top: 1px solid #e0e0e0; /* Optional separator */
    text-align: center; /* Center the title and grid */
}

.awards-title {
    font-size: 1.4em;
    font-weight: 700; /* Bold */
    color: #555; /* Medium grey */
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.awards-grid {
    display: grid;
    /* Create 3 columns on mobile, adjust as needed */
    grid-template-columns: repeat(3, 1fr);
    gap: 25px; /* Space between logos */
    max-width: 600px; /* Limit grid width */
    margin: 0 auto; /* Center the grid container */
    padding: 0 15px; /* Padding inside the grid container */
}

.award-logo {
    max-width: 100%; /* Ensure logo fits in cell */
    height: auto; /* Maintain aspect ratio */
    max-height: 70px; /* Limit max height for consistency - adjust as needed */
    filter: grayscale(100%); /* Make logos grayscale */
    opacity: 0.75; /* Slightly fade logos */
    margin: auto; /* Center logo within its grid cell */
    display: block; /* Ensure block behavior */
    object-fit: contain; /* Ensure logo scales nicely without cropping */
}

/* --- Responsive Adjustments for Awards (Optional) --- */
@media (min-width: 768px) {
    .awards-grid {
        /* Example: Go to 4 columns on tablet/desktop */
        /* grid-template-columns: repeat(4, 1fr); */
        gap: 30px;
        max-width: 800px;
    }
    .award-logo {
         max-height: 80px; /* Allow slightly larger logos */
    }

