/* ========================================
   GRIEF COUNSELING PAGE STYLES
   Using unified blue theme from global.css
   ======================================== */

/* Global Resets & Base Styles - Made specific to avoid navigation conflicts */
/* Universal reset removed - using global.css instead */

/* Apply grief-specific styles to content areas only, not navigation */
.hero, .about-section, .services-grid, .cta-section, .faq, .resource-item {
    font-family: var(--font-primary);
    font-size: 16px;
}

/* Body styles that don't conflict with navigation */
body:not(.admin-body) {
    color: var(--text-color-dark);
    background-color: var(--background-light);
    line-height: 1.6;
}
h1, h2, h3, h4, h5, h6,
.logo-main-text, 
.faq-item summary, 
#why-choose .why-item h3, 
#grief-specialties h1, /* Grief h1 explicitly styled below */
#grief-specialties .grief-specialty-item h3, 
#testimonials .testimonial-item h3, 
#resources .resource-item h3, 
#coping-tips .tip-item h3, 
.contact-form h3, .contact-info h3, 
.simple-cta-block-row .simple-cta-heading {
    font-family: var(--font-secondary);
}

p,.resource-item p{font-family:var(--font-primary);font-size:1rem} /* Keep this for p specifically if needed */


/* Page Content Styles (from old file, old nav styles removed) */
h2{font-size:2rem;color:var(--secondary-color);margin-bottom:1.5rem;font-weight:700; text-align: center;}

/* General Section & Animation Styles */
section{opacity:1;animation:none}
@keyframes fadeIn{to{opacity:1}}
/* Animation disabled to prevent display issues */

/* Shared Backgrounds */
.about,.contact,.telehealth {
    background-color:var(--background-light);
    background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect fill="none" width="100" height="100"/><path fill="rgba(var(--primary-color-rgb),0.05)" d="M0 0h100v100H0z"/><circle cx="10" cy="10" r="1" fill="rgba(var(--primary-color-rgb),0.1)"/><circle cx="20" cy="30" r="1.5" fill="rgba(var(--primary-color-rgb),0.07)"/><circle cx="40" cy="20" r="1" fill="rgba(var(--primary-color-rgb),0.12)"/><circle cx="60" cy="50" r="1.2" fill="rgba(var(--primary-color-rgb),0.1)"/><circle cx="80" cy="70" r="1" fill="rgba(var(--primary-color-rgb),0.07)"/><circle cx="30" cy="80" r="1.3" fill="rgba(var(--primary-color-rgb),0.1)"/><circle cx="50" cy="90" r="1" fill="rgba(var(--primary-color-rgb),0.12)"/></svg>');
    background-size:100px;
    text-align: center;
}
.faq, #why-choose {
    padding:3rem 1rem;
    text-align:center;
    background-color:var(--background-white);
    background-position:center center;
    background-repeat:no-repeat;
    background-size:100px;
    background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect fill="none" width="100" height="100"/><path fill="rgba(var(--secondary-color-rgb),0.05)" d="M0 0h100v100H0z"/><circle cx="10" cy="10" r="1" fill="rgba(var(--secondary-color-rgb),0.1)"/><circle cx="20" cy="30" r="1.5" fill="rgba(var(--secondary-color-rgb),0.07)"/><circle cx="40" cy="20" r="1" fill="rgba(var(--secondary-color-rgb),0.12)"/><circle cx="60" cy="50" r="1.2" fill="rgba(var(--secondary-color-rgb),0.1)"/><circle cx="80" cy="70" r="1" fill="rgba(var(--secondary-color-rgb),0.07)"/><circle cx="30" cy="80" r="1.3" fill="rgba(var(--secondary-color-rgb),0.1)"/><circle cx="50" cy="90" r="1" fill="rgba(var(--secondary-color-rgb),0.12)"/></svg>');
    border-top:2px solid rgba(var(--secondary-color-rgb), 0.2);
 }

/* Button styles are now handled by /global/styles/global.css */

/* ========================================
   ISOLATED CALL GRIEF THERAPIST DIRECT BUTTON
   ======================================== */
#call-grief-therapist-direct,
.call-grief-therapist-direct-btn {
    padding: 1.2rem 2.5rem;
    font-size: 1.3rem;
    font-weight: 600;
    border-radius: var(--border-radius-large);
    background: var(--primary-color-dark);
    box-shadow: var(--box-shadow-raised);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: var(--transition-standard);
    cursor: pointer;
    color: var(--text-color-light);
    border: 2px solid var(--primary-color-dark);
    text-align: center;
    line-height: 1.2;
}

#call-grief-therapist-direct:hover,
.call-grief-therapist-direct-btn:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: var(--box-shadow-hover);
}

/* SPECIFIC STYLING FOR THE TWO BUTTONS IN RESOURCE SECTION ONLY */

.resource-buttons .elementor-button.elementor-button-link.elementor-size-sm {
    font-size: 1.3rem !important;
    font-weight: 600 !important;
}

.resource-buttons .elementor-button.elementor-button-link.elementor-size-sm .elementor-button-text {
    font-size: 1.3rem !important;
    font-weight: 600 !important;
}

/* Call Grief Therapist button styling - now handled by isolated button styles above */

/* Book Now button specific styling - using the user-provided styling */
.contact-book-now,
.elementor-button.elementor-button-link.elementor-size-sm {
    padding: 1.2rem 2.5rem;
    font-size: 1.3rem;
    font-weight: 600;
    border-radius: var(--border-radius-large);
    background: var(--primary-color-dark);
    box-shadow: var(--box-shadow-raised);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: var(--transition-standard);
    cursor: pointer;
    color: var(--text-color-light);
    border: 2px solid var(--primary-color-dark);
}

.contact-book-now:hover,
.elementor-button.elementor-button-link.elementor-size-sm:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: var(--box-shadow-hover);
}

.contact-book-now .elementor-button-icon svg,
.elementor-button.elementor-button-link.elementor-size-sm .elementor-button-icon svg {
    width: 1.6rem;
    height: 1.6rem;
    fill: var(--text-color-light);
}

.contact-book-now .elementor-button-text,
.elementor-button.elementor-button-link.elementor-size-sm .elementor-button-text {
    line-height: 1.2;
    color: var(--text-color-light);
    font-size: 1.3rem;
    font-weight: 600;
}

/* Button container styles */
.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.hero-content .cta-buttons {display: flex;justify-content: center;gap: 1rem;flex-wrap: wrap;}

/* Hero Section */
.hero{position:relative;height:80vh;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--text-color-light);background-position:top center;background-repeat:no-repeat;background-size:cover;background-image:url(/content/images/Karen-Klein-Therapy-1-min.jpg);background-attachment:fixed}
.hero::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(var(--secondary-color-rgb),.7),rgba(var(--primary-color-rgb),.4));z-index:1}
.hero-content{position:relative;z-index:2;padding:2rem;width:100%;max-width:95%;display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.hero h1{font-size:2.5rem;margin-bottom:1.2rem;text-shadow:2px 2px 4px rgba(0,0,0,.5); font-family: var(--font-secondary);}
.hero h2{font-size:1.5rem;margin-bottom:1rem;color:var(--text-color-light);text-shadow:1px 1px 3px rgba(0,0,0,.5); font-family: var(--font-secondary);}
.hero p{font-family:var(--font-primary);font-size:1.2rem;margin-bottom:2rem}

/* About Section */
#about { padding-top: 3rem; padding-bottom: 3rem; }
.about-content { display: flex; align-items: center; justify-content: center; gap: 2rem; flex-wrap: wrap; max-width: 900px; margin: 0 auto 2rem auto; }
.about-images-wrapper { position: relative; flex-shrink: 0; }
.office-img { display: block; max-width: 450px; width: 100%; height: auto; border-radius: var(--border-radius); border: 2px solid var(--background-white); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); transition: transform .3s ease; object-fit: cover; }
.karen-img { position: absolute; width: 180px; height: auto; border-radius: var(--border-radius); border: 3px solid var(--background-white); box-shadow: 0 6px 15px rgba(0,0,0,0.3); transition: transform .3s ease; z-index: 1; bottom: 20px; right: -27px; object-fit: cover; }
.about-text-column { flex-basis: 250px; flex-grow: 1; min-width: 200px; max-width: 300px; }
.about-text-column p { font-family: var(--font-primary); font-size: 1rem; line-height: 1.7; color: var(--text-color-dark); }
.about-cta { display: flex; justify-content: center; margin-top: 1rem; }

/* Why Choose Section */
#why-choose .why-grid{ display:flex; justify-content:center; gap:2rem; flex-wrap:wrap; max-width:1200px; margin:0 auto; padding:2rem; background:rgba(var(--background-white-rgb),0.95); border-radius:calc(var(--border-radius) + 4px); box-shadow:0 4px 20px rgba(0,0,0,0.05); }
#why-choose .why-item {
    flex: 1 1 22%;
    padding: 1.5rem;
    background: var(--background-white);
    border-radius: var(--border-radius); 
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    border: 2px solid var(--accent-color); 
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    min-width: 220px;
    position: relative;
    text-align: center;
    color: var(--text-color-dark);
}
#why-choose .why-item::before{ content:''; position:absolute; top:1rem; left:50%; transform:translateX(-50%); width:2rem; height:2rem; background-color: var(--accent-color); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: cover; mask-size: cover; transition: background-color 0.3s ease; }
#why-choose .why-item-specialized::before{ -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>'); mask-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>');}
#why-choose .why-item-flexible::before{ -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5S10.62 6.5 12 6.5 14.5 7.62 14.5 9 13.38 11.5 12 11.5z"/></svg>'); mask-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5S10.62 6.5 12 6.5 14.5 7.62 14.5 9 13.38 11.5 12 11.5z"/></svg>');}
#why-choose .why-item-empathetic::before{ -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3z"/></svg>'); mask-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3z"/></svg>');}
#why-choose .why-item-telehealth::before{ -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 15h-2v-2h2v2zm0-4h-2V7h2v6zm4 4h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg>'); mask-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 15h-2v-2h2v2zm0-4h-2V7h2v6zm4 4h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg>');}
#why-choose .why-item h3{ font-size:1.3rem; color:var(--secondary-color); margin-top:2.5rem; margin-bottom:0.75rem; font-weight:700; transition: color 0.3s ease; }
#why-choose .why-item p{ font-family:var(--font-primary); font-size:0.95rem; color:var(--text-color-dark); line-height:1.5; transition: color 0.3s ease; }
#why-choose .why-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    background: var(--primary-color);
    border-color: var(--secondary-color); 
}
#why-choose .why-item:hover h3, #why-choose .why-item:hover p { color: var(--text-color-light); }
#why-choose .why-item:hover::before { background-color: var(--text-color-light); }
#why-choose .why-buttons{ display:flex; justify-content:center; gap:1.5rem; margin-top:2rem; flex-wrap:wrap }

/* Grief Specialties Section */
#grief-specialties { position: relative; padding-top: 4rem; padding-bottom: 4rem; padding-left: 1rem; padding-right: 1rem; text-align: center; color: var(--text-color-light); background-image: url(/content/images/addiction-treatment1.jpg); background-position: center center; background-repeat: no-repeat; background-size: cover; background-attachment: scroll; }
#grief-specialties::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(var(--secondary-color-rgb), 0.8), rgba(var(--secondary-color-rgb), 0.95)); z-index: 1; }
#grief-specialties > h1, #grief-specialties > h2, #grief-specialties > .grief-specialty-grid, #grief-specialties > .grief-cta-container { position: relative; z-index: 2; }
#grief-specialties h1 { font-size: 2.2rem; color: var(--text-color-light); margin-bottom: 0.75rem; font-weight: 700; text-shadow: 1px 1px 3px rgba(0,0,0,0.4); }
#grief-specialties h2 { font-size: 1.3rem; color: var(--text-color-light); margin-bottom: 2.5rem; font-family: var(--font-primary); font-weight: 300; max-width: 700px; margin-left: auto; margin-right: auto; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); }
#grief-specialties .grief-specialty-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; max-width: 1200px; margin: 0 auto 3rem auto; padding: 0 1rem; }
#grief-specialties .grief-specialty-item { background: var(--background-white); border-radius: var(--border-radius); border: 1px solid rgba(var(--primary-color-rgb),0.3); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07); padding: 2rem 1.5rem; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, color 0.3s ease; color: var(--text-color-dark); display: flex; flex-direction: column; align-items: center; }
#grief-specialties .grief-specialty-item .icon-wrapper { margin-bottom: 1.25rem; color: var(--accent-color); transition: color 0.3s ease; }
#grief-specialties .grief-specialty-item .icon-wrapper svg { width: 55px; height: 55px; }
#grief-specialties .grief-specialty-item h3 { font-size: 1.3rem; color: var(--secondary-color); margin-bottom: 0.75rem; font-weight: 700; transition: color 0.3s ease; }
#grief-specialties .grief-specialty-item p { font-family: var(--font-primary); font-size: 0.95rem; color: var(--text-color-dark); line-height: 1.6; flex-grow: 1; margin-bottom: 0; transition: color 0.3s ease; }
#grief-specialties .grief-specialty-item:hover { transform: translateY(-6px); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12); background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%); color: var(--text-color-light); border-color: var(--secondary-color); }
#grief-specialties .grief-specialty-item:hover h3, #grief-specialties .grief-specialty-item:hover p { color: var(--text-color-light); }
#grief-specialties .grief-specialty-item:hover .icon-wrapper { color: var(--text-color-light); }
#grief-specialties .grief-cta-container { margin-top: 0; text-align: center; }

/* Testimonials Section */
#testimonials {
    padding-top: 3rem;
    padding-bottom: 3rem;
    border-top: 2px solid rgba(var(--secondary-color-rgb), 0.2);
    background-color: var(--background-light);
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect fill="none" width="100" height="100"/><path fill="rgba(var(--primary-color-rgb),0.05)" d="M0 0h100v100H0z"/><circle cx="10" cy="10" r="1" fill="rgba(var(--primary-color-rgb),0.1)"/><circle cx="20" cy="30" r="1.5" fill="rgba(var(--primary-color-rgb),0.07)"/><circle cx="40" cy="20" r="1" fill="rgba(var(--primary-color-rgb),0.12)"/><circle cx="60" cy="50" r="1.2" fill="rgba(var(--primary-color-rgb),0.1)"/><circle cx="80" cy="70" r="1" fill="rgba(var(--primary-color-rgb),0.07)"/><circle cx="30" cy="80" r="1.3" fill="rgba(var(--primary-color-rgb),0.1)"/><circle cx="50" cy="90" r="1" fill="rgba(var(--primary-color-rgb),0.12)"/></svg>');
    background-size:100px;
    text-align: center;
}
#testimonials .testimonial-slider {
    max-width: 1700px; 
    width: 95%;
    margin: 0 auto;
    position: relative;
    overflow: hidden; 
    box-sizing: border-box;
    padding-left: 30px; 
    padding-right: 30px;
}
#testimonials .testimonial-slides {
    display: flex;
    transition: transform 0.5s ease-in-out; 
}
#testimonials .testimonial-item {
    box-sizing: border-box;
    background: linear-gradient(135deg, var(--background-white) 0%, var(--background-light) 100%);
    border-radius: calc(var(--border-radius) + 4px);
    padding: 1.5rem;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
    min-height: auto;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    flex-shrink: 0; 
    width: 100%; 
    margin: 0;
}
#testimonials .testimonial-item:hover { transform: scale(1.02); box-shadow: 0 14px 50px rgba(0, 0, 0, 0.22); }
#testimonials .testimonial-item h3 { font-size: 1.3rem; color: var(--secondary-color); font-weight: 700; margin: 0 0 1rem; text-align: center; letter-spacing: 0.5px; }
#testimonials .testimonial-item p { font-family: var(--font-primary); font-size: 1rem; font-weight: 300; color: var(--text-color-dark); margin-bottom: 1rem; font-style: italic; }
#testimonials .testimonial-item .rating { margin-bottom: 0.5rem; display: flex; justify-content: center; gap: 0.3rem; }
#testimonials .testimonial-item .rating svg { width: 1.3rem; height: 1.3rem; fill: var(--accent-color); filter: drop-shadow(0 0 3px rgba(var(--accent-color-rgb), 0.3)); }
#testimonials .testimonial-item .author { font-size: 1rem; color: var(--secondary-color); font-weight: 700; border-bottom: 2px solid var(--primary-color); display: inline-block; padding-bottom: 2px; }
#testimonials .slider-nav { position: absolute; top: 50%; width: 100%; display: flex; justify-content: space-between; transform: translateY(-50%); left: 0; box-sizing: border-box; z-index: 10; pointer-events: none; }
#testimonials .slider-nav button { background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)); border: none; border-radius: 50%; width: 44px; height: 44px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.3s ease, transform 0.3s ease; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); pointer-events: auto;margin-left: 0;margin-right: 0;}
#testimonials .slider-nav button:hover { background: var(--secondary-color); transform: scale(1.1); }
#testimonials .slider-nav button svg { width: 22px; height: 22px; fill: var(--text-color-light); filter: drop-shadow(0 0 2px rgba(var(--text-color-light-rgb), 0.5)); }


     /* Telehealth Section */
     .telehealth{padding:4rem 1rem}
     .telehealth-content{max-width:1000px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;margin:0 auto}
     .telehealth img{max-width:300px;box-shadow:0 4px 12px rgba(0,0,0,0.2);border-radius:var(--border-radius)}
     .telehealth p{font-family:var(--font-primary);font-size:1.2rem}
     .telehealth-link { color: var(--primary-color); text-decoration: none; font-family: var(--font-primary); font-weight: 600; }
     .telehealth-link:hover { color: var(--secondary-color); text-decoration: underline; }

    /* Resources Section */
    #resources { background: var(--secondary-color); padding-top: 3rem; padding-bottom: 3rem; padding-left: 1rem; padding-right: 1rem; }
    #resources h2{color:var(--text-color-light); margin-top: 0;}
    #resources .resource-grid{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap; max-width: 80%; margin: 0 auto;}
    #resources .resource-item{flex:1 1 30%;padding:1rem;background:var(--background-white);border:1px solid rgba(var(--primary-color-rgb),0.3);border-radius:var(--border-radius);box-shadow:0 2px 5px rgba(0,0,0,.1);transition:transform .3s ease;min-width:200px}
    #resources .resource-item:hover{transform:translateY(-5px)}
    #resources .resource-item h3{font-size:1.3rem;margin-bottom:0.5rem; color: var(--secondary-color);}
    #resources .resource-item p{font-family:var(--font-primary);font-size:0.95rem;line-height:1.4; color: var(--text-color-dark);}
    #resources .resource-buttons{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap; align-items: center;}
    /* Large button styling now handled by isolated button styles above */

    /* Coping Tips Section */
    #coping-tips { position: relative; background-image: url('/content/images/Office-03312023.jpeg'); background-size: cover; background-position: center center; background-repeat: no-repeat; padding-top: 3rem; padding-bottom: 3rem; padding-left: 1rem; padding-right: 1rem; text-align: center; color: var(--text-color-light); }
    #coping-tips::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(var(--secondary-color-rgb), 0.3); z-index: 1; }
    #coping-tips > h2, #coping-tips > .tips-grid { position: relative; z-index: 2; }
    #coping-tips h2 { color: var(--text-color-light); }
    #coping-tips .tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem; max-width: 80%; margin: 2rem auto 0 auto;}
    #coping-tips .tip-item{ position:relative; padding:1.5rem; padding-left:2.5rem; background:var(--background-light); color: var(--text-color-dark); border-radius:var(--border-radius); opacity: 0; animation: dropFromTop 0.8s ease-out forwards; z-index: 2; }
    #coping-tips .tip-item h3, #coping-tips .tip-item p { color: var(--text-color-dark); }
    #coping-tips .tip-item::before{content:'';position:absolute;left:1rem;top:1.7rem; width:1rem;height:1rem;background-size:cover}
    #coping-tips .tip-item:nth-child(1) {animation-delay: 0.2s;}
    #coping-tips .tip-item:nth-child(2) {animation-delay: 0.4s;}
    #coping-tips .tip-item:nth-child(3) {animation-delay: 0.6s;}
    #coping-tips .tip-item:nth-child(4) {animation-delay: 0.8s;}
    #coping-tips .tip-item:nth-child(5) {animation-delay: 1.0s;}
    #coping-tips .tip-item:nth-child(6) {animation-delay: 1.2s;}
    #coping-tips .tip-item:nth-child(1)::before{background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234A7C59"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>')}
    #coping-tips .tip-item:nth-child(2)::before{background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234A7C59"><path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>')}
    #coping-tips .tip-item:nth-child(3)::before{background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234A7C59"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 14.5v-9l6 4.5-6 4.5z"/></svg>')}
    #coping-tips .tip-item:nth-child(4)::before{background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234A7C59"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>')}
    #coping-tips .tip-item:nth-child(5)::before{background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234A7C59"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-2-6.83l-1.41 1.41L12 14.17l4.59-4.58L15.17 8.17 12 11.34l-2-2z"/></svg>')}
    #coping-tips .tip-item:nth-child(6)::before{background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%234A7C59"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm4.59-12.42L15.17 8.17 12 11.34l-3.17-3.17L7.41 7.58 6 9l3.17 3.17L12 15l3.17-3.17L18.59 9z"/></svg>')}
    @keyframes dropFromTop { 0% { opacity: 0; transform: translateY(-50px); } 100% { opacity: 1; transform: translateY(0); } }

    /* FAQ Section */
    .faq-list{max-width:700px;margin:0 auto;text-align:left}
    .faq-item summary, .faq-item p {color:var(--secondary-color); font-family: var(--font-primary);}
    .faq-item summary{font-size:1.1rem;cursor:pointer;padding:0.5rem; font-family: var(--font-secondary); font-weight: bold;}
    .faq-item summary:hover{background:var(--background-light)}
    .faq-item p{padding:0.5rem 0.75rem;background:var(--background-light);border-radius:calc(var(--border-radius) - 3px);}
    .faq details summary h2{font-size:2rem;color:var(--secondary-color);margin-bottom:1.5rem;font-weight:700;display:inline}

    /* ========================================
   ENHANCED CONTACT US SECTION
   ======================================== */

.contact { 
    padding: 4rem 1rem;
    background: linear-gradient(135deg, var(--background-light) 0%, var(--background-off-white) 100%);
}

.contact h2 {
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
}

.contact h2::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border-radius: 2px;
}

.contact-container {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    gap: 3rem;
    flex-wrap: wrap;
    justify-content: center;
    padding: 3rem;
    border-radius: calc(var(--border-radius) + 12px);
    background: var(--background-white);
    box-shadow: 0 12px 40px rgba(0,0,0,0.12);
    border: 2px solid rgba(var(--primary-color-rgb), 0.15);
}

.contact-form,
.contact-info {
    flex: 1;
    min-width: 350px;
    background: var(--background-white);
    border-radius: calc(var(--border-radius) + 4px);
    padding: 3rem;
    box-shadow: 0 8px 28px rgba(0,0,0,0.1);
    transition: all 0.4s ease;
    border: 2px solid rgba(var(--primary-color-rgb), 0.12);
    position: relative;
    overflow: hidden;
}

.contact-form::before,
.contact-info::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.3);
}

.contact-form:hover,
.contact-info:hover {
    transform: translateY(-10px);
    box-shadow: 0 16px 50px rgba(0,0,0,0.15);
    border-color: rgba(var(--primary-color-rgb), 0.25);
}

.contact-form h3,
.contact-info h3 {
    font-size: 1.8rem;
    color: var(--primary-color-dark);
    margin-bottom: 1.5rem;
    font-weight: 700;
    position: relative;
    padding-bottom: 0.5rem;
}

.contact-form h3::after,
.contact-info h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--accent-color);
    border-radius: 1px;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 1.2rem 1.2rem 1.2rem 3.5rem;
    margin-bottom: 1.5rem;
    border: 2px solid rgba(var(--primary-color-rgb), 0.15);
    border-radius: calc(var(--border-radius) + 2px);
    font-family: var(--font-primary);
    font-size: 1rem;
    transition: all 0.3s ease;
    background: var(--background-off-white);
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 0 4px rgba(var(--primary-color-rgb), 0.15), 0 4px 12px rgba(0,0,0,0.08);
    background: var(--background-white);
    transform: translateY(-2px);
}

.contact-form textarea {
    height: 140px;
    resize: vertical;
}

.contact-form .input-group {
    position: relative;
}

.contact-form .input-group::before {
    content: '';
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 1.5rem;
    background-size: cover;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.contact-form .input-group:focus-within::before {
    opacity: 1;
}

.contact-form .input-group.name::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>');
}

.contact-form .input-group.email::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>');
}

.contact-form .input-group.message::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M21 3H3v18h18V3zm-2 16H5V5h14v14zm-4-6H9v-2h6v2zm0-4H9V7h6v2z"/></svg>');
}

.contact-info ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-info li {
    font-family: var(--font-primary);
    font-size: 1.1rem;
    color: var(--text-color-dark);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: flex-start;
    padding: 1.5rem;
    background: var(--background-light);
    border-radius: calc(var(--border-radius) + 2px);
    transition: all 0.3s ease;
    border-left: 5px solid transparent;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.contact-info li:hover {
    background: var(--background-white);
    border-left-color: var(--accent-color);
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    transform: translateX(4px);
}

.contact-info li::before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 1rem;
    background-size: cover;
    flex-shrink: 0;
    margin-top: 0.2rem;
}

.contact-info .phone::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.24 1.02l-2.2 2.2z"/></svg>');
}

/* ========================================
   ISOLATED CONTACT US SECTION STYLES
   ======================================== */

/* Contact section container */
#contact.contact {
    background: linear-gradient(135deg, var(--background-light) 0%, #ffffff 100%);
    padding: 4rem 0;
    position: relative;
    overflow: hidden;
}

#contact.contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(39, 84, 138, 0.05) 0%, rgba(39, 107, 138, 0.03) 100%);
    z-index: 1;
}

#contact.contact h2 {
    color: var(--primary-color);
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
    z-index: 2;
}

#contact.contact h2::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    border-radius: 2px;
}

/* Contact container */
#contact.contact .contact-container {
    display: flex;
    justify-content: center;
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 2;
}

/* Contact info section */
#contact.contact .contact-info {
    background: rgba(255, 255, 255, 0.95);
    padding: 2.5rem;
    border-radius: var(--border-radius-large);
    box-shadow: var(--box-shadow-card);
    border: 1px solid rgba(39, 84, 138, 0.1);
    transition: var(--transition-standard);
    min-width: 400px;
    position: relative;
    overflow: hidden;
}

#contact.contact .contact-info::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
}

#contact.contact .contact-info:hover {
    transform: translateY(-5px);
    box-shadow: var(--box-shadow-hover);
    border-color: rgba(39, 84, 138, 0.2);
}

/* Contact info heading */
#contact.contact .contact-info h3 {
    color: var(--primary-color);
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 2rem;
    text-align: center;
    position: relative;
}

#contact.contact .contact-info h3::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--accent-color);
    border-radius: 2px;
}

/* Contact info list */
#contact.contact .contact-info ul {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
}

/* Contact info list items */
#contact.contact .contact-info li {
    display: flex;
    align-items: center;
    padding: 1rem 0;
    margin-bottom: 0.5rem;
    border-left: 5px solid transparent;
    padding-left: 1.5rem;
    transition: var(--transition-standard);
    position: relative;
    /* CRITICAL: Remove any horizontal lines */
    border-bottom: none !important;
    border-top: none !important;
    border-right: none !important;
}

#contact.contact .contact-info li:hover {
    border-left-color: var(--accent-color);
    background-color: rgba(39, 84, 138, 0.05);
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
}

/* Contact info list item icons */
#contact.contact .contact-info li::before {
    content: '';
    position: absolute;
    left: -1.5rem;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.8;
}

/* Phone number specific styling */
#contact.contact .contact-info li.phone {
    /* CRITICAL: Remove any horizontal lines from phone element */
    border-bottom: none !important;
    border-top: none !important;
    border-right: none !important;
    border-left: 5px solid transparent !important;
    background: none !important;
}

#contact.contact .contact-info li.phone a {
    /* CRITICAL: Remove any horizontal lines from phone link */
    border-bottom: none !important;
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
    text-decoration: none !important;
    color: var(--primary-color);
    font-weight: 600;
    font-size: 1.1rem;
    transition: var(--transition-standard);
}

#contact.contact .contact-info li.phone a:hover {
    color: var(--accent-color);
}

#contact.contact .contact-info li.phone::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.24 1.02l-2.2 2.2z"/></svg>');
}

/* Address styling */
#contact.contact .contact-info li.address::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>');
}

/* Hours styling */
#contact.contact .contact-info li.hours::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>');
}

/* Contact info links */
#contact.contact .contact-info a {
    color: var(--primary-color);
    text-decoration: none;
    transition: var(--transition-standard);
    font-weight: 500;
}

#contact.contact .contact-info a:hover {
    color: var(--accent-color);
    text-decoration: underline;
}

/* Contact info headings */
#contact.contact .contact-info h4 {
    color: var(--primary-color);
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    font-size: 1rem;
}

/* Contact buttons */
#contact.contact .contact-buttons {
    margin-top: 2rem;
    text-align: center;
}

/* Responsive design for contact section */
@media (max-width: 768px) {
    #contact.contact .contact-container {
        flex-direction: column;
        gap: 2rem;
    }
    
    #contact.contact .contact-info {
        min-width: 100%;
        padding: 2rem;
    }
    
    #contact.contact h2 {
        font-size: 2rem;
    }
}

.contact-info .address::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5S10.62 6.5 12 6.5 14.5 7.62 14.5 9 13.38 11.5 12 11.5z"/></svg>');
}

.contact-info .hours::before {
    background-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2327548A"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z"/></svg>');
}

.contact-info a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.contact-info a:hover {
    color: var(--secondary-color);
    text-decoration: underline;
}

.contact-info h4 {
    color: var(--secondary-color);
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    font-size: 1rem;
}

.contact-buttons {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-top: 2rem;
    justify-content: center;
}

.form-group {
    margin-bottom: 1.5rem;
    font-family: var(--font-primary);
}

.square-checkbox {
    display: block;
    position: relative;
    padding-left: 40px;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    font-size: 0.95rem;
    line-height: 1.5;
}

.square-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 24px;
    width: 24px;
    background-color: var(--background-light);
    border: 2px solid rgba(var(--primary-color-rgb), 0.3);
    border-radius: 4px;
    transition: all 0.3s ease;
}

.square-checkbox:hover input ~ .checkmark {
    background-color: rgba(var(--primary-color-rgb), 0.1);
    border-color: var(--primary-color);
}

.square-checkbox input:checked ~ .checkmark {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.square-checkbox input:checked ~ .checkmark:after {
    display: block;
}

.square-checkbox .checkmark:after {
    left: 8px;
    top: 4px;
    width: 6px;
    height: 12px;
    border: solid var(--text-color-light);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.checkbox-text {
    font-size: 0.95rem;
    line-height: 1.4;
    font-family: var(--font-primary);
    color: var(--text-color-dark);
}

    /* CTA Banner Section */
    .cta-banner{padding:3rem 1rem;text-align:center;background-color:var(--primary-color);background-image:url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect fill="none" width="100" height="100"/><path fill="rgba(var(--text-color-light-rgb),0.1)" d="M0 0h100v100H0z"/><circle cx="10" cy="10" r="1" fill="rgba(var(--text-color-light-rgb),0.2)"/><circle cx="20" cy="30" r="1.5" fill="rgba(var(--text-color-light-rgb),0.15)"/><circle cx="40" cy="20" r="1" fill="rgba(var(--text-color-light-rgb),0.25)"/><circle cx="60" cy="50" r="1.2" fill="rgba(var(--text-color-light-rgb),0.2)"/><circle cx="80" cy="70" r="1" fill="rgba(var(--text-color-light-rgb),0.15)"/><circle cx="30" cy="80" r="1.3" fill="rgba(var(--text-color-light-rgb),0.2)"/><circle cx="50" cy="90" r="1" fill="rgba(var(--text-color-light-rgb),0.25)"/></svg>');background-size:100px;color:var(--text-color-light)}
    .cta-banner p {font-family: var(--font-primary);}
    .cta-banner h2 {color: var(--text-color-light);}


    /* Footer styles are now handled by /global/styles/footer.css */

    /* Utility / Fixed Position Elements */
    #counter{position:fixed;bottom:1rem;left:1rem;color:var(--primary-color);font-size:0.9rem;z-index:1000}
    .chat-now { /* This is the floating button, styled by .cta-button base */
        position:fixed;
        bottom:1.5rem;
        right:1.5rem;
        border-radius:25px; /* Specific rounding for FAB */
        box-shadow:0 2px 8px rgba(0,0,0,.2);
        z-index:1000;
        min-width:44px; /* Ensure it's clickable */
        min-height:44px;
    }


    /* ========================================
   ENHANCED CTA BAR SECTION
   ======================================== */

.simple-cta-block-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem 3rem;
    background: linear-gradient(135deg, var(--primary-color-dark) 0%, var(--secondary-color) 100%);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow-raised);
    margin: 2rem 0;
    position: relative;
    overflow: hidden;
}

.simple-cta-block-row::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(39, 84, 138, 0.9) 0%, rgba(39, 107, 138, 0.9) 100%);
    z-index: 1;
}

.simple-cta-block-row .simple-cta-heading {
    position: relative;
    z-index: 2;
    color: var(--text-color-light);
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0; 
    text-align: center; 
    flex-grow: 1;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.simple-cta-block-row .simple-cta-button {
    position: relative;
    z-index: 2;
    flex-shrink: 0; 
    background: var(--text-color-light);
    color: var(--primary-color-dark);
    padding: 1rem 2rem;
    border-radius: var(--border-radius);
    text-decoration: none;
    font-weight: 700;
    font-size: 1.2rem;
    transition: var(--transition-standard);
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    border: 3px solid var(--text-color-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.simple-cta-block-row .simple-cta-button:hover {
    background: var(--primary-color-dark);
    color: var(--text-color-light);
    border-color: var(--text-color-light);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.4);
}

.simple-cta-block-row .simple-cta-button .elementor-button-icon {
    color: inherit;
    font-size: 1.1em;
}

.simple-cta-block-row .simple-cta-button .elementor-button-text {
    color: inherit;
    font-weight: 700;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .simple-cta-block-row {
        flex-direction: column;
        text-align: center;
        padding: 1.5rem 2rem;
        gap: 1.5rem;
    }
    
    .simple-cta-block-row .simple-cta-heading {
        font-size: 1.5rem;
    }
    
    .simple-cta-block-row .simple-cta-button {
        font-size: 1.1rem;
        padding: 0.875rem 1.75rem;
    }
}

    /* ========================================
   SECTION 1: PAGE-SPECIFIC LAYOUTS
   ======================================== */

/* Hero Section */
.hero {
    position: relative;
    height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--text-color-light);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(/content/images/Karen-Klein-Therapy-1-min.jpg);
    background-attachment: fixed;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(var(--secondary-color-rgb), 0.7), rgba(var(--primary-color-rgb), 0.4));
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    padding: 2rem;
    width: 100%;
    max-width: 95%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.hero h1 {
    font-size: 2.5rem;
    margin-bottom: 1.2rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    font-family: var(--font-secondary);
}

.hero h2 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: var(--text-color-light);
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
    font-family: var(--font-secondary);
}

.hero p {
    font-family: var(--font-primary);
    font-size: 1.2rem;
    margin-bottom: 2rem;
}

.hero-content .cta-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}



    /* --- Responsive Styles for Page Content --- */
     @media (max-width:1000px){
        #coping-tips .tips-grid{grid-template-columns:repeat(2,1fr)}
        #why-choose .why-item{flex:1 1 45%}
        #testimonials .slider-nav button { width: 44px; height: 44px; }
        #testimonials .slider-nav button svg { width: 22px; height: 22px; }
    }

    @media (max-width:802px){ /* Tablet Portrait */
        h2{font-size:1.5rem} /* From old styles for page content */
        .hero {
            min-height: 90vh; 
            background-attachment: scroll; 
            padding-top: 40px; /* Original hero padding, may need review with new nav height */
        }
        .hero-content { 
            padding: 1.5rem;
            gap: 1rem;
        }
        .hero h1 { 
            font-size: 6vw;
        }
        .hero h2 { 
            font-size: 4vw;
        }
        .hero p { 
            font-size: 1rem;
        }

        .about,.faq,.contact,.cta-banner, #testimonials, #grief-specialties, .telehealth, #resources, #coping-tips, #why-choose {padding: 2rem 0.75rem;}
        #why-choose, #grief-specialties, #coping-tips {background-attachment:scroll;}
        #grief-specialties, #coping-tips { animation-name: none; }


        #about { padding-bottom: 2rem; }
        .about-content { flex-direction: column; align-items: center; gap: 1.5rem; max-width: 90%; margin-bottom: 1.5rem; }
        .about-images-wrapper { width: 100%; max-width: 300px; margin-bottom: 0; }
        .office-img { max-width: 100%; }
        .karen-img { position: relative; bottom: auto; right: auto; display: block; margin: -50px auto 20px auto; width: 150px; }
        .about-text-column { flex-basis: auto; width: 90%; max-width: 100%; text-align: center; }

        #why-choose .why-grid{flex-direction:column;align-items:center;padding:0.75rem; gap: 1rem;}
        #why-choose .why-item { flex: 1 1 100%; min-width: 0; padding: 1.5rem; }
        #why-choose .why-item h3 { font-size: 1.2rem; margin-top: 2rem; }
        #why-choose .why-item p { font-size: 0.9rem; }
        #why-choose .why-buttons{flex-direction:column;align-items:center;padding:0.75rem}

        #grief-specialties { padding: 3rem 0.75rem; display: block; opacity: 1; min-height: auto; }
        #grief-specialties h1 { font-size: 1.8rem; }
        #grief-specialties h2 { font-size: 1.1rem; margin-bottom: 2rem; }
        #grief-specialties > .grief-specialty-grid { display: grid; opacity: 1; }
        #grief-specialties .grief-specialty-grid { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2rem; padding: 0; }
        #grief-specialties .grief-specialty-item { padding: 1.5rem 1rem; display: flex; opacity: 1; }
        #grief-specialties .grief-specialty-item .icon-wrapper svg { width: 45px; height: 45px; }
        #grief-specialties .grief-specialty-item h3 { font-size: 1.2rem; }
        #grief-specialties .grief-specialty-item p { font-size: 0.9rem; }

        #testimonials { padding: 2rem 0.75rem; } 
        /* #testimonials h2 { font-size: 1.5rem; } */ /* Already handled by general h2 */
        #testimonials .testimonial-slider {
            max-width: 100%;
            width: 100%; 
            overflow: hidden; 
            position: relative; 
            padding-left: 25px;  
            padding-right: 25px; 
            box-sizing: border-box; 
        }
        #testimonials .testimonial-item {
            flex: 0 0 100%;
            width: 100%;
            margin: 0;
            padding: 1.5rem; 
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
        }
        #testimonials .slider-nav {
            width: 100%; 
            position: absolute; 
            top: 50%; 
            transform: translateY(-50%); 
            left: 0; 
            display: flex; 
            justify-content: space-between; 
            z-index: 10; 
            pointer-events: none; 
        }
        #testimonials .slider-nav button {
            width: 38px; 
            height: 38px;
            pointer-events: auto; 
            margin-left: 0;
            margin-right: 0;
        }
        #testimonials .slider-nav button svg {
            width: 20px; 
            height: 20px;
        }


        .telehealth{padding:2rem 0.75rem}
        .telehealth-content{flex-direction:column; align-items:center; padding:0.75rem;}
        .telehealth img{max-width:200px}
        .telehealth p{font-size:1rem}

        #resources .resource-grid{flex-direction:column;align-items:center;padding:0.75rem; gap: 1rem;}
        #resources .resource-item{flex:1 1 100%;min-width:0;padding:0.75rem}
        #resources .resource-item h3{font-size:1.2rem}
        #resources .resource-item p{font-size:0.9rem}
        /* Large button styling now handled by isolated button styles above */
        #resources .resource-buttons{flex-direction:column;align-items:center;padding:0.75rem}

        #coping-tips { display: block; opacity: 1; min-height: auto; }
        #coping-tips > .tips-grid { display: grid; opacity: 1; }
        #coping-tips .tips-grid{grid-template-columns:1fr; padding:0.75rem; gap: 1rem;}
        #coping-tips .tip-item { animation: dropFromTop 0.6s ease-out forwards; padding: 1rem; padding-left: 2rem; display: block; opacity: 0; }
        #coping-tips .tip-item:nth-child(1) {animation-delay: 0.1s;}
        #coping-tips .tip-item:nth-child(2) {animation-delay: 0.2s;}
        #coping-tips .tip-item:nth-child(3) {animation-delay: 0.3s;}
        #coping-tips .tip-item:nth-child(4) {animation-delay: 0.4s;}
        #coping-tips .tip-item:nth-child(5) {animation-delay: 0.5s;}
        #coping-tips .tip-item:nth-child(6) {animation-delay: 0.6s;}
        #coping-tips .tip-item::before{left:0.75rem;top:1.2rem;width:0.8rem;height:0.8rem}

        .faq-list{padding:0.75rem}

        .contact-container{padding:1rem; flex-direction: column;}
        .contact-form,.contact-info{min-width:100%}

        /* Button styles are now handled by /global/styles/global.css */

        footer p{display:block}
        #counter{font-size:0.8rem}
    }

    @media (max-width: 600px) { 
        .hero {
            padding-top: 0px;  
            min-height: 65vh;    
            display: flex; 
            justify-content: center;
            align-items: center;
        }
        .simple-cta-block-row {
            flex-direction: column; 
            text-align: center; 
            gap: 1rem; 
        }
        .simple-cta-block-row .simple-cta-heading {
            text-align: center; 
            margin-bottom: 0.5rem; 
            font-size: 1.3rem; 
        }
    }
    
    @media (max-width:480px){
        h2{font-size:1.3rem}
        .hero {
            padding-top: 20px;  /* Original hero padding */
            min-height: 120vh;    
            display: flex; 
            justify-content: center;
            align-items: center;
        }
        .hero h1{font-size:8vw}
        .hero h2{font-size:6vw}
        .hero p{font-size:0.9rem}
        .hero .cta-buttons {
            flex-direction: column;
            align-items: center;
            gap: 0.5rem; 
        }


        .karen-img { width: 120px; margin-top: -40px; }
        .about-text-column p { font-size: 0.9rem; }

        #why-choose .why-item h3 { font-size: 1.1rem; }
        #why-choose .why-item p { font-size: 0.85rem; }

        #grief-specialties h1 { font-size: 1.6rem; }
        #grief-specialties h2 { font-size: 1rem; }
        #grief-specialties .grief-specialty-item h3 { font-size: 1.1rem; }
        #grief-specialties .grief-specialty-item p { font-size: 0.85rem; }

        #testimonials h2 { font-size: 1.3rem; }
        #testimonials .testimonial-item { 
            margin: 0; 
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.16); 
            padding: 1.5rem; 
        }
        #testimonials .testimonial-slider { 
            padding-left: 20px;  
            padding-right: 20px;
        }
        #testimonials .slider-nav button { 
            width: 34px; 
            height: 34px;
        }
        #testimonials .slider-nav button svg { 
            width: 18px; 
            height: 18px;
        }

        #resources .resource-item h3{font-size:1.1rem}
        #resources .resource-item p{font-size:0.85rem}

        footer p{font-size:0.8rem}
    }

    @media (max-width:360px){
         h2{font-size:1.2rem}

        .hero h1{font-size:7vw}
        .hero h2{font-size:5.5vw}
        .hero p{font-size:0.8rem}

        #why-choose .why-item h3 { font-size: 1rem; }
        #why-choose .why-item p { font-size: 0.8rem; }

        #grief-specialties .grief-specialty-item h3 { font-size: 1rem; }
        #grief-specialties .grief-specialty-item p { font-size: 0.8rem; }

        #resources .resource-item h3{font-size:1rem}
        #resources .resource-item p{font-size:0.8rem}
    }
    @media (min-width: 769px) { /* For desktop view of testimonial slider */
        #testimonials .testimonial-item {
            width: 480px; 
            margin: 0 10px; 
        }
    }