/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --purple: #1a0a2e;
  --purple-mid: #2d1450;
  --purple-light: #4a2070;
  --plum: #7b2d8e;
  --magenta: #b8339b;
  --accent: #d946a8;
  --accent-light: #e874c0;
  --warm: #1e0e30;
  --warm-light: #f5f0f8;
  --warm-mid: #ede4f2;
  --orange: #d4596a;
  --text: #1a1a2e;
  --text-light: #444;
  --white: #ffffff;
  --glow-pink: #ff3cac;
  --glow-purple: #784ba0;
  --glow-blue: #2b86c5;
}

html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text);
  line-height: 1.7;
  background: var(--white);
  font-weight: 500;
}
h1, h2, h3 { font-family: 'Playfair Display', Georgia, serif; line-height: 1.15; }
a { text-decoration: none; color: inherit; }
img, video { max-width: 100%; display: block; }
ul { list-style: none; }
.container { max-width: 680px; margin: 0 auto; padding: 0 20px; }
.text-center { text-align: center; }

/* ===== HEADER ===== */
.header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: var(--white); border-bottom: 3px solid var(--magenta);
}
.header-inner {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 20px; max-width: 100%; margin: 0 auto;
}
.header-logo img { height: 60px; border-radius: 4px; }
.header-title-text {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.1rem, 3vw, 1.6rem);
  font-weight: 800;
  background: linear-gradient(135deg, #b8339b 0%, #7b2d8e 40%, #4a2070 70%, #1a0a2e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 1px;
  line-height: 1.2;
  white-space: nowrap;
}
.header-right { display: flex; align-items: center; gap: 16px; }
.header-phone-bar { display: flex; flex-direction: column; gap: 2px; }
.header-phone-bar a {
  font-size: .8rem; color: var(--purple); display: none;
}
.header-phone-bar .local-num { font-size: .75rem; }
@media (min-width: 480px) {
  .header-phone-bar a { display: block; }
}
.header-phone-bar strong { color: var(--purple); }

.mobile-toggle {
  background: none; border: 2px solid var(--purple); border-radius: 4px;
  width: 40px; height: 40px; cursor: pointer; display: flex;
  flex-direction: column; justify-content: center; align-items: center; gap: 5px;
  padding: 8px;
}
.mobile-toggle span {
  display: block; width: 100%; height: 2px; background: var(--purple);
  transition: all .3s;
}

.nav-dropdown {
  display: none; background: var(--white); border-top: 1px solid #eee;
  padding: 12px 0;
}
.nav-dropdown.active { display: block; }
.nav-dropdown ul { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.nav-dropdown a {
  display: block; padding: 10px 24px; font-size: .95rem; font-weight: 600;
  color: var(--purple); border-radius: 6px; transition: background .2s;
}
.nav-dropdown a:hover { background: var(--warm-mid); }

/* ===== HERO ===== */
.hero {
  position: relative; min-height: 100vh; display: flex; flex-direction: column;
  justify-content: center; align-items: center; text-align: center;
  color: var(--white); overflow: hidden; padding: 80px 20px 60px;
}
.hero-bg {
  position: absolute; inset: 0; z-index: 0;
}
.hero-gradient-bg {
  width: 100%; height: 100%;
  background: radial-gradient(ellipse at 50% 80%, #b8339b 0%, #4a2070 35%, #1a0a2e 60%, #0a0514 100%);
}
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(26,10,46,.5) 0%, rgba(26,10,46,.3) 60%, rgba(26,10,46,.6) 100%);
}
.hero-content { position: relative; z-index: 2; max-width: 580px; }
.hero-content h1 { margin-bottom: 24px; }
.hero-hope {
  display: block; font-size: clamp(3rem, 10vw, 4.5rem); font-weight: 800;
  color: var(--accent-light); letter-spacing: 2px;
}
.hero-is {
  display: block; font-size: clamp(2.5rem, 8vw, 4rem); font-weight: 400;
  font-style: italic; color: var(--white);
}
.hero-content p {
  font-size: 1rem; opacity: .9; margin-bottom: 32px; line-height: 1.8;
  max-width: 480px; margin-left: auto; margin-right: auto; font-weight: 500;
}
.hero-buttons { display: flex; justify-content: center; gap: 16px; }
.hero-btn {
  display: inline-block; padding: 14px 40px; border-radius: 50px;
  font-size: 1rem; font-weight: 700; color: var(--white);
  background: var(--plum); border: 2px solid rgba(255,255,255,.25);
  transition: all .3s; min-width: 100px; text-align: center;
}
.hero-btn:hover { background: var(--magenta); border-color: var(--magenta); }

/* ===== CONFIDENTIAL BOX ===== */
.confidential-box {
  position: absolute; right: 30px; top: 50%; transform: translateY(-50%);
  z-index: 3;
  background: rgba(26,10,46,.85);
  border: 2px solid var(--magenta);
  border-radius: 16px;
  padding: 32px 28px;
  display: flex; flex-direction: column; align-items: center;
  gap: 8px;
  backdrop-filter: blur(10px);
  box-shadow: 0 0 40px rgba(185,51,155,.3);
}
.confidential-icon { color: var(--accent-light); }
.confidential-pct {
  font-family: 'Playfair Display', serif;
  font-size: 3.5rem; font-weight: 800;
  color: var(--white); line-height: 1;
}
.confidential-label {
  font-size: 1.1rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 3px;
  color: var(--accent-light);
}
@media (max-width: 768px) {
  .confidential-box {
    position: relative; right: auto; top: auto; transform: none;
    margin: 24px auto 0; padding: 20px 24px;
    flex-direction: row; gap: 16px;
  }
  .confidential-pct { font-size: 2.5rem; }
}

.video-badge {
  position: absolute; bottom: 20px; z-index: 3;
  background: var(--orange); color: var(--white); padding: 10px 20px;
  font-size: .85rem; font-weight: 700; border-radius: 0;
  transition: background .3s;
}
.video-badge:hover { background: #c0434e; }
.badge-left { left: 0; border-radius: 0 6px 6px 0; }
.badge-right { right: 0; border-radius: 6px 0 0 6px; }
.badge-arrow { margin-left: 6px; font-size: .7rem; }

/* ===== LABELS & HEADINGS ===== */
.label-sm {
  font-size: .8rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: 2px; color: var(--text); margin-bottom: 8px;
}
.label-sm-hero {
  font-size: clamp(1.4rem, 4vw, 2.2rem); font-weight: 800; text-transform: uppercase;
  letter-spacing: 3px; color: var(--plum); margin-bottom: 16px;
}
.label-sm-light {
  font-size: .8rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: 2px; color: rgba(255,255,255,.6); margin-bottom: 8px;
}
.heading-split { margin-bottom: 24px; }
.heading-accent {
  font-size: clamp(1.4rem, 4vw, 1.8rem); font-weight: 400;
  color: var(--magenta); display: block;
}
.heading-dark {
  font-size: clamp(2.2rem, 6vw, 3.2rem); font-weight: 700;
  color: var(--text); display: block;
}
.heading-split-light { margin-bottom: 24px; }
.heading-accent-light {
  font-size: clamp(1.4rem, 4vw, 1.8rem); font-weight: 400;
  color: var(--accent-light); display: block;
}
.heading-white {
  font-size: clamp(2.2rem, 6vw, 3.2rem); font-weight: 700;
  color: var(--white); display: block;
}
.section-desc {
  color: var(--text-light); font-size: .95rem; line-height: 1.8;
  margin-bottom: 20px; font-weight: 500;
}
.text-link {
  display: inline-block; font-weight: 800; font-size: .9rem;
  color: var(--text); margin-top: 8px; transition: color .2s;
}
.text-link:hover { color: var(--magenta); }

/* ===== ABOUT ===== */
.section-about { padding: 80px 0 0; background: var(--warm-light); }
.about-text { max-width: 580px; margin: 0 auto; }
.about-text p { color: var(--text-light); margin-bottom: 16px; font-size: .95rem; font-weight: 500; }
.about-image-wrap {
  position: relative; margin-top: 40px; max-width: 680px; margin-left: auto; margin-right: auto;
}
.about-image-wrap img {
  width: 100%; display: block;
}
.about-gradient-image {
  width: 100%; height: 350px;
  background: radial-gradient(ellipse at 60% 70%, #b8339b 0%, #4a2070 30%, #1a0a2e 55%, #0d0618 80%, #2a0a0a 100%);
  border-radius: 0;
}

/* ===== SERVICES ===== */
.section-services { padding: 80px 0 0; background: var(--warm-mid); }
.service-block { margin-top: 32px; }
.service-image { max-width: 680px; margin: 0 auto; }
.service-image video, .service-image img {
  width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block;
}
.service-text {
  max-width: 680px; margin: 0 auto; padding: 24px 20px 40px;
}
.service-title {
  font-size: 1.4rem; color: var(--magenta); margin-bottom: 16px; font-weight: 400;
}
.service-text p { color: var(--text-light); font-size: .95rem; line-height: 1.8; margin-bottom: 12px; font-weight: 500; }

/* ===== SEARCH ===== */
.section-search { padding: 80px 0 40px; background: var(--warm-light); }
.section-search .section-desc a { color: var(--text); font-weight: 700; text-decoration: underline; }

/* ===== ABOUT HARVEY ===== */
.section-harvey { padding: 80px 0 60px; background: var(--white); }
.harvey-content { margin-top: 32px; }
.harvey-bio {
  max-width: 600px; margin: 0 auto; padding: 0 20px;
}
.harvey-bio p {
  color: var(--text-light); font-size: 1rem; line-height: 1.9;
  margin-bottom: 20px; font-weight: 500;
}

/* ===== HIGHLIGHTS ===== */
.section-highlights { padding: 60px 0; background: var(--warm-mid); }
.highlight-block { max-width: 680px; margin: 24px auto 0; }
.highlight-image img { width: 100%; display: block; }
.highlight-text { padding: 24px 20px; }
.highlight-text p { color: var(--text-light); font-size: .95rem; line-height: 1.8; margin-bottom: 12px; font-weight: 500; }

/* ===== IMPACT ===== */
.section-impact {
  padding: 80px 0;
  background: linear-gradient(135deg, var(--purple) 0%, var(--purple-mid) 50%, #2a0a3a 100%);
  color: var(--white);
}
.impact-desc { color: rgba(255,255,255,.8); font-size: .95rem; line-height: 1.8; margin-bottom: 8px; font-weight: 500; }
.impact-note { color: rgba(255,255,255,.6); font-size: .85rem; margin-bottom: 40px; }
.stats-list { display: flex; flex-direction: column; gap: 40px; }
.stat-item { border-top: 1px solid rgba(185,51,155,.3); padding-top: 24px; }
.stat-num {
  display: block; font-size: 3.5rem; font-weight: 700;
  font-family: 'Playfair Display', serif; color: var(--accent-light); margin-bottom: 8px;
}
.stat-item p { color: rgba(255,255,255,.75); font-size: .95rem; line-height: 1.6; font-weight: 500; }

/* ===== CONTACT ===== */
.section-contact { padding: 80px 0; background: var(--warm-light); }
.contact-info-bar { margin-bottom: 32px; }
.contact-info-bar p { font-size: .9rem; color: var(--text-light); margin-bottom: 4px; font-weight: 500; }
.contact-info-bar a { color: var(--magenta); font-weight: 700; }
.contact-info-bar a:hover { text-decoration: underline; }

.contact-form { max-width: 560px; margin: 0 auto; }
.form-group { margin-bottom: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group label { display: block; font-size: .85rem; font-weight: 700; margin-bottom: 6px; }
.req { color: #c0392b; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%; padding: 12px 16px; border: 2px solid #ddd; border-radius: 8px;
  font-size: .95rem; font-family: 'Inter', sans-serif; transition: border-color .2s;
  background: var(--white); font-weight: 500;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { outline: none; border-color: var(--magenta); }
.form-group textarea { resize: vertical; min-height: 120px; }
.form-group select {
  cursor: pointer; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
.submit-btn {
  width: 100%; padding: 16px;
  background: linear-gradient(135deg, var(--purple) 0%, var(--plum) 100%);
  color: var(--white);
  border: none; border-radius: 8px; font-size: 1rem; font-weight: 800;
  cursor: pointer; font-family: 'Inter', sans-serif; transition: all .3s;
}
.submit-btn:hover { background: linear-gradient(135deg, var(--purple-mid) 0%, var(--magenta) 100%); }
.form-note { text-align: center; font-size: .85rem; color: var(--text-light); margin-top: 16px; font-weight: 500; }
.form-note a { color: var(--magenta); font-weight: 700; }

/* ===== FOOTER ===== */
.footer {
  background: linear-gradient(135deg, var(--purple) 0%, #0d0618 100%);
  color: var(--white); padding: 60px 0 40px;
}
.footer-logo { height: 80px; border-radius: 4px; margin: 0 auto 32px; }
.footer-links { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-bottom: 40px; }
.footer-links a { font-size: 1rem; opacity: .8; transition: opacity .2s; font-weight: 500; }
.footer-links a:hover { opacity: 1; }
.footer-social-label { font-size: .9rem; opacity: .7; margin-bottom: 16px; }
.footer-social { display: flex; justify-content: center; gap: 24px; margin-bottom: 32px; }
.footer-social a { opacity: .7; transition: opacity .2s; }
.footer-social a:hover { opacity: 1; }
.footer-copy { font-size: .8rem; opacity: .4; }

/* ===== FLOATING CALL ===== */
.floating-call {
  position: fixed; bottom: 20px; right: 20px; z-index: 99;
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg, var(--purple) 0%, var(--magenta) 100%);
  color: var(--white);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(185,51,155,.4);
  transition: all .3s;
}
.floating-call:hover { background: var(--magenta); transform: scale(1.1); }

/* ===== RESPONSIVE ===== */
@media (max-width: 480px) {
  .form-row { grid-template-columns: 1fr; }
  .hero-btn { padding: 12px 28px; font-size: .9rem; }
}

/* ===== ANIMATIONS ===== */
.fade-in {
  opacity: 0; transform: translateY(20px);
  transition: opacity .6s ease, transform .6s ease;
}
.fade-in.visible { opacity: 1; transform: translateY(0); }


/* ===== STICKY PHONE TOPBAR ===== */
.phone-topbar {
  background: linear-gradient(135deg, var(--purple) 0%, var(--plum) 100%);
  color: var(--white);
  text-align: center;
  padding: 8px 20px;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .5px;
}
.phone-topbar-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  max-width: 100%;
}
.phone-topbar a {
  color: var(--accent-light);
  transition: color .2s;
}
.phone-topbar a:hover { color: var(--white); }
.topbar-divider { opacity: .4; }
@media (max-width: 480px) {
  .phone-topbar { font-size: .7rem; padding: 6px 10px; }
  .phone-topbar-inner { gap: 6px; }
  .topbar-divider { display: none; }
}

/* ===== STORIES OF HOPE ===== */
.section-stories {
  padding: 80px 0 60px;
  background: var(--warm-light);
}



/* ===== HERO RIGHT PANEL (Logo + Confidential) ===== */
.hero-right-panel {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.hero-logo-right {
  width: 180px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(0,0,0,.4);
}
.hero-right-panel .confidential-box {
  position: relative;
  right: auto;
  top: auto;
  transform: none;
}
@media (max-width: 768px) {
  .hero-right-panel {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    margin: 24px auto 0;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .hero-logo-right {
    width: 100px;
  }
  .hero-right-panel .confidential-box {
    flex-direction: row;
    padding: 16px 20px;
    gap: 12px;
  }
  .hero-right-panel .confidential-pct { font-size: 2rem; }
}



/* ===== SKY HERO WITH SUNBEAMS ===== */
.hero-sky {
  background: transparent;
}
.hero-sky-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    #0a1a30 0%,
    #122848 12%,
    #1a3d6b 25%,
    #245080 38%,
    #2d6299 48%,
    #3574a8 55%,
    #4a7faa 62%,
    #6a8fa0 72%,
    #8a7a60 82%,
    #b07030 90%,
    #c86820 100%
  );
}
.hero-sunbeams {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
}
.hero-sunbeams::before {
  content: '';
  position: absolute;
  bottom: -20%;
  right: 15%;
  width: 600px;
  height: 600px;
  background: radial-gradient(
    ellipse at center,
    rgba(255,220,100,.7) 0%,
    rgba(255,200,60,.4) 20%,
    rgba(255,180,40,.15) 40%,
    transparent 65%
  );
  border-radius: 50%;
  filter: blur(5px);
}
.hero-sunbeams::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 5%;
  width: 100%;
  height: 100%;
  background:
    conic-gradient(
      from 200deg at 75% 100%,
      transparent 0deg,
      rgba(255,230,130,.25) 5deg,
      transparent 12deg,
      transparent 20deg,
      rgba(255,220,100,.2) 25deg,
      transparent 32deg,
      transparent 42deg,
      rgba(255,210,80,.18) 47deg,
      transparent 54deg,
      transparent 65deg,
      rgba(255,230,140,.15) 70deg,
      transparent 77deg,
      transparent 90deg,
      rgba(255,220,120,.12) 95deg,
      transparent 102deg,
      transparent 115deg,
      rgba(255,240,150,.1) 120deg,
      transparent 127deg,
      transparent 360deg
    );
}
.hero-clouds {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.hero-clouds::before {
  content: '';
  position: absolute;
  top: 8%;
  left: 5%;
  width: 350px;
  height: 80px;
  background: radial-gradient(ellipse, rgba(255,255,255,.7) 0%, rgba(255,255,255,.3) 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(12px);
}
.hero-clouds::after {
  content: '';
  position: absolute;
  top: 20%;
  left: 30%;
  width: 250px;
  height: 60px;
  background: radial-gradient(ellipse, rgba(255,255,255,.5) 0%, rgba(255,255,255,.2) 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(15px);
}

/* ===== HERO CONTENT LEFT-ALIGNED ===== */
.hero-content-left {
  text-align: left;
  align-self: flex-start;
  margin-left: 5%;
  max-width: 500px;
}
.hero-content-left h1 {
  text-align: left;
}
.hero-content-left .hero-buttons {
  justify-content: flex-start;
}
.hero-content-left p {
  margin-left: 0;
  margin-right: 0;
  text-shadow: 0 1px 8px rgba(0,0,0,.3);
}
.hero-content-left .hero-hope {
  color: #fff;
  text-shadow: 0 2px 20px rgba(255,180,40,.5), 0 0 60px rgba(255,200,80,.2);
}
.hero-content-left .hero-is {
  color: rgba(255,255,255,.95);
  text-shadow: 0 1px 10px rgba(0,0,0,.2);
}

/* Override hero to flex row for left content + right panel */
.hero-sky {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 100px 40px 60px;
}
.hero-sky .hero-content-left {
  flex: 0 1 auto;
}
.hero-sky .hero-right-panel {
  position: relative;
  right: auto;
  top: auto;
  transform: none;
  margin-right: 5%;
}
@media (max-width: 768px) {
  .hero-sky {
    flex-direction: column;
    padding: 100px 20px 40px;
  }
  .hero-content-left {
    margin-left: 0;
    text-align: center;
    align-self: center;
  }
  .hero-content-left h1 { text-align: center; }
  .hero-content-left .hero-buttons { justify-content: center; }
  .hero-sky .hero-right-panel { margin-right: 0; }
}


/* ===== HERO BUTTONS ON SKY - DARKER FOR CONTRAST ===== */
.hero-sky .hero-btn {
  background: rgba(26,10,46,.85);
  border: 2px solid rgba(255,255,255,.5);
  backdrop-filter: blur(8px);
}
.hero-sky .hero-btn:hover {
  background: var(--magenta);
  border-color: var(--magenta);
}


/* ===== 3D BOLD TEXT SITEWIDE ===== */
h1, h2, h3, h4, p, a, span, label, button, select, option, li {
  font-weight: 700 !important;
}
h1, h2, h3 {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.15),
    3px 3px 0 rgba(0,0,0,.1),
    4px 4px 8px rgba(0,0,0,.08);
}
.hero-hope {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.2),
    5px 5px 0 rgba(0,0,0,.12),
    7px 7px 15px rgba(0,0,0,.1) !important;
}
.hero-is {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.18),
    4px 4px 0 rgba(0,0,0,.1),
    6px 6px 12px rgba(0,0,0,.08) !important;
}
.heading-accent, .heading-dark, .heading-accent-light, .heading-white {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.12),
    3px 3px 0 rgba(0,0,0,.08),
    4px 4px 6px rgba(0,0,0,.06);
}
.service-title {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.1),
    3px 3px 4px rgba(0,0,0,.06);
}
.stat-num {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.2),
    5px 5px 10px rgba(0,0,0,.1) !important;
}
.header-title-text {
  filter: drop-shadow(2px 2px 1px rgba(0,0,0,.15));
}
.confidential-pct {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.3),
    4px 4px 8px rgba(0,0,0,.15) !important;
}
.label-sm, .label-sm-hero, .label-sm-light {
  text-shadow: 1px 1px 0 rgba(0,0,0,.08), 2px 2px 3px rgba(0,0,0,.05);
  font-weight: 800 !important;
}
.submit-btn {
  text-shadow: 1px 1px 2px rgba(0,0,0,.2);
  font-weight: 800 !important;
}

/* ===== HERO LOGO 3X BIGGER ===== */
.hero-logo-right {
  width: 540px !important;
  max-width: 40vw;
}
@media (max-width: 768px) {
  .hero-logo-right { width: 280px !important; max-width: 60vw; }
}

/* ===== ABOUT SECTION LAYOUT (image left, text right) ===== */
.about-layout {
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 1100px;
  margin: 0 auto;
}
.about-left-image {
  flex: 0 0 340px;
  padding: 40px 20px;
}
.about-right-content {
  flex: 1;
  padding: 40px 20px;
}
.person-phone-svg {
  width: 100%;
  height: auto;
  max-height: 450px;
}
@media (max-width: 768px) {
  .about-layout { flex-direction: column; }
  .about-left-image { flex: none; width: 200px; margin: 0 auto; padding: 20px; }
}

/* ===== SERVICE BLOCKS - IMAGE LEFT, TEXT RIGHT ===== */
.service-block {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  max-width: 1100px;
  margin: 32px auto 0;
}
.service-block .service-image {
  flex: 0 0 45%;
  max-width: 45%;
  margin: 0;
}
.service-block .service-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 30px;
}
@media (max-width: 768px) {
  .service-block { flex-direction: column; }
  .service-block .service-image { flex: none; max-width: 100%; }
}

/* ===== SVG ILLUSTRATION PLACEHOLDERS ===== */
.svg-illustration {
  width: 100%;
  aspect-ratio: 16/10;
  border-radius: 0;
}
.svg-harm-reduction {
  background: linear-gradient(135deg, #2a5a8a 0%, #4a8ec4 40%, #89c8f0 100%);
  position: relative;
  overflow: hidden;
}
.svg-harm-reduction::before {
  content: '';
  position: absolute;
  bottom: 0; left: 15%; width: 70%; height: 80%;
  background: radial-gradient(ellipse at 50% 90%, rgba(74,32,112,.6) 0%, transparent 70%);
}
.svg-harm-reduction::after {
  content: '\\1F91D';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  font-size: 5rem;
  filter: drop-shadow(3px 3px 6px rgba(0,0,0,.3));
}
.svg-treatment {
  background: linear-gradient(135deg, #4a2070 0%, #7b2d8e 50%, #b8339b 100%);
  position: relative; overflow: hidden;
}
.svg-treatment::after {
  content: '\\2764\\FE0F';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  font-size: 5rem;
  filter: drop-shadow(3px 3px 6px rgba(0,0,0,.3));
}
.svg-recovery {
  background: linear-gradient(135deg, #e8a840 0%, #f5d090 40%, #89c8f0 100%);
  position: relative; overflow: hidden;
}
.svg-recovery::after {
  content: '\\1F31F';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  font-size: 5rem;
  filter: drop-shadow(3px 3px 6px rgba(0,0,0,.3));
}
.svg-holiday {
  background: linear-gradient(135deg, #1a0a2e 0%, #4a2070 50%, #d946a8 100%);
  position: relative; overflow: hidden;
}
.svg-holiday::after {
  content: '\\1F384';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  font-size: 5rem;
  filter: drop-shadow(3px 3px 6px rgba(0,0,0,.3));
}


/* ===== GIANT LOGO BESIDE HOPE ===== */
.hero-logo-beside {
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-logo-giant {
  width: 500px;
  max-width: 45vw;
  height: auto;
  border-radius: 16px;
  box-shadow:
    0 10px 60px rgba(0,0,0,.4),
    0 0 80px rgba(255,180,40,.15);
}
@media (max-width: 768px) {
  .hero-logo-giant {
    width: 280px;
    max-width: 70vw;
  }
}

/* ===== ABOUT SECTION - REAL PHOTO LEFT ===== */
.about-left-image {
  flex: 0 0 400px;
  padding: 0;
  overflow: hidden;
}
.about-left-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 400px;
  border-radius: 0 12px 12px 0;
  box-shadow: 4px 4px 20px rgba(0,0,0,.15);
}
.about-right-content {
  padding: 60px 40px;
}
@media (max-width: 768px) {
  .about-left-image {
    flex: none;
    width: 100%;
  }
  .about-left-image img {
    min-height: 250px;
    border-radius: 0;
  }
  .about-right-content { padding: 30px 20px; }
}

/* ===== SERVICE IMAGES - REAL PHOTOS ===== */
.service-block .service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 280px;
}
.highlight-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  min-height: 250px;
}


/* ===== FORCE GIANT LOGO BESIDE HOPE ===== */
.hero-logo-giant {
  width: 600px !important;
  max-width: 50vw !important;
  height: auto !important;
  border-radius: 20px !important;
  box-shadow:
    0 12px 60px rgba(0,0,0,.5),
    0 0 100px rgba(255,180,40,.2) !important;
}
.hero-logo-beside {
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0;
}
/* Tighten the gap between HOPE and logo */
.hero-sky {
  gap: 20px !important;
  padding-left: 5% !important;
  padding-right: 5% !important;
}
@media (max-width: 900px) {
  .hero-logo-giant {
    width: 350px !important;
    max-width: 80vw !important;
  }
}


/* ===== FULL-BLEED BACKGROUND IMAGE SECTIONS ===== */
.section-fullbg {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  overflow: hidden;
}
.fullbg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(26,10,46,.82) 0%,
    rgba(45,20,80,.75) 40%,
    rgba(74,32,112,.65) 100%
  );
  z-index: 1;
}
.fullbg-content {
  position: relative;
  z-index: 2;
  max-width: 700px;
  padding: 80px 30px;
  color: #fff;
}
.fullbg-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--accent-light);
  margin-bottom: 20px;
  text-shadow:
    2px 2px 0 rgba(0,0,0,.2),
    4px 4px 0 rgba(0,0,0,.12),
    6px 6px 12px rgba(0,0,0,.1);
}
.fullbg-text {
  color: rgba(255,255,255,.9);
  font-size: 1.05rem;
  line-height: 1.9;
  margin-bottom: 16px;
  text-shadow: 0 1px 6px rgba(0,0,0,.3);
}
.text-link-light {
  display: inline-block;
  font-weight: 800 !important;
  font-size: .95rem;
  color: var(--accent-light);
  margin-top: 12px;
  transition: color .2s;
  text-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.text-link-light:hover { color: #fff; }

/* Services intro (the header before the full-bleed service blocks) */
.section-services-intro {
  padding: 80px 0 40px;
  background: var(--warm-mid);
}

/* Parallax fix for mobile */
@media (max-width: 768px) {
  .section-fullbg {
    background-attachment: scroll;
    min-height: 60vh;
  }
  .fullbg-content {
    padding: 50px 20px;
  }
}


/* ==========================================================
   MASSIVE OVERHAUL: BIGGER TEXT, PLUM BACKGROUNDS, 3D EVERYTHING
   ========================================================== */

/* KILL ALL WHITE BACKGROUNDS - PLUM EVERYWHERE */
body { background: #2d1450 !important; color: #fff !important; }
.section-about, .section-services-intro, .section-search,
.section-stories, .section-harvey, .section-highlights,
.section-contact {
  background: linear-gradient(135deg, #1a0a2e 0%, #2d1450 50%, #3a1860 100%) !important;
  color: #fff !important;
}
.section-services-intro { background: linear-gradient(135deg, #3a1860 0%, #4a2070 100%) !important; }
.section-search { background: linear-gradient(135deg, #2d1450 0%, #1a0a2e 100%) !important; }
.section-stories { background: linear-gradient(135deg, #4a2070 0%, #3a1860 100%) !important; }
.section-harvey { background: linear-gradient(135deg, #1a0a2e 0%, #2d1450 100%) !important; }
.section-contact { background: linear-gradient(135deg, #2d1450 0%, #3a1860 100%) !important; }

/* ALL TEXT WHITE ON PLUM */
.heading-dark, .heading-accent, .label-sm, .label-sm-hero,
.section-desc, .about-text p, .harvey-bio p, .service-title,
.service-text p, .text-link, .contact-info-bar p,
.form-group label, .form-note, p, span, a, li {
  color: #fff !important;
}
.heading-dark {
  color: #fff !important;
}
.heading-accent, .label-sm-hero {
  color: var(--accent-light) !important;
}
.service-title, .fullbg-title {
  color: var(--accent-light) !important;
}
.text-link, .text-link-light {
  color: var(--accent-light) !important;
}
.contact-info-bar a, .form-note a {
  color: var(--accent-light) !important;
}

/* MASSIVE FONT SIZE BOOST - EVERYTHING 2-3X BIGGER */
.hero-hope {
  font-size: clamp(5rem, 15vw, 8rem) !important;
}
.hero-is {
  font-size: clamp(4rem, 12vw, 7rem) !important;
}
.hero-content p, .hero-content-left p {
  font-size: 1.5rem !important;
  line-height: 1.8 !important;
}
.heading-accent, .heading-accent-light {
  font-size: clamp(2.5rem, 6vw, 3.5rem) !important;
}
.heading-dark, .heading-white {
  font-size: clamp(4rem, 10vw, 6rem) !important;
}
.label-sm, .label-sm-hero, .label-sm-light {
  font-size: clamp(1.2rem, 3vw, 1.6rem) !important;
  letter-spacing: 4px !important;
}
.section-desc {
  font-size: 1.4rem !important;
  line-height: 1.9 !important;
}
.service-title, .fullbg-title {
  font-size: clamp(3rem, 7vw, 4.5rem) !important;
}
.service-text p, .fullbg-text, .about-text p, .harvey-bio p {
  font-size: 1.4rem !important;
  line-height: 1.9 !important;
}
.stat-num {
  font-size: 5rem !important;
}
.stat-item p {
  font-size: 1.3rem !important;
}
.impact-desc {
  font-size: 1.3rem !important;
  color: rgba(255,255,255,.9) !important;
}
.impact-note {
  font-size: 1.1rem !important;
}
.hero-btn {
  font-size: 1.3rem !important;
  padding: 18px 50px !important;
}
.submit-btn {
  font-size: 1.3rem !important;
  padding: 20px !important;
}
.form-group label {
  font-size: 1.1rem !important;
}
.form-group input, .form-group select, .form-group textarea {
  font-size: 1.1rem !important;
  padding: 16px 20px !important;
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.3) !important;
  color: #fff !important;
}
.form-group input::placeholder, .form-group textarea::placeholder {
  color: rgba(255,255,255,.5) !important;
}
.form-note {
  font-size: 1rem !important;
}
.contact-info-bar p {
  font-size: 1.2rem !important;
}
.header-title-text {
  font-size: clamp(1.4rem, 4vw, 2rem) !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  text-shadow: 2px 2px 0 rgba(0,0,0,.2), 3px 3px 6px rgba(0,0,0,.1) !important;
}
.phone-topbar {
  font-size: 1rem !important;
  padding: 10px 20px !important;
}
.nav-dropdown a {
  font-size: 1.2rem !important;
}
.footer-links a {
  font-size: 1.2rem !important;
}
.footer-copy {
  font-size: 1rem !important;
}

/* 3D TEXT SHADOW ON ABSOLUTELY EVERYTHING */
h1, h2, h3, h4, p, a, span, label, button, li, td, th, div {
  text-shadow:
    1px 1px 0 rgba(0,0,0,.2),
    2px 2px 0 rgba(0,0,0,.12),
    3px 3px 6px rgba(0,0,0,.08) !important;
}
h1, h2, h3 {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.25),
    4px 4px 0 rgba(0,0,0,.15),
    6px 6px 12px rgba(0,0,0,.1) !important;
}
.hero-hope {
  text-shadow:
    4px 4px 0 rgba(0,0,0,.3),
    7px 7px 0 rgba(0,0,0,.18),
    10px 10px 20px rgba(0,0,0,.12) !important;
}
.heading-dark, .heading-white {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.25),
    5px 5px 0 rgba(0,0,0,.15),
    8px 8px 15px rgba(0,0,0,.1) !important;
}
.stat-num {
  text-shadow:
    4px 4px 0 rgba(0,0,0,.3),
    6px 6px 12px rgba(0,0,0,.15) !important;
}
.confidential-pct {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.35),
    5px 5px 10px rgba(0,0,0,.2) !important;
}

/* Header on plum */
.header {
  background: linear-gradient(135deg, #1a0a2e 0%, #2d1450 100%) !important;
  border-bottom: 3px solid var(--accent-light) !important;
}
.header-phone-bar a, .header-phone-bar strong {
  color: #fff !important;
}
.mobile-toggle {
  border-color: #fff !important;
}
.mobile-toggle span {
  background: #fff !important;
}
.nav-dropdown {
  background: #2d1450 !important;
  border-top-color: rgba(255,255,255,.1) !important;
}
.nav-dropdown a {
  color: #fff !important;
}
.nav-dropdown a:hover {
  background: rgba(255,255,255,.1) !important;
}

/* Footer stays dark */
.footer {
  background: linear-gradient(135deg, #0d0618 0%, #1a0a2e 100%) !important;
}

/* Form inputs stand out on plum */
.form-group select {
  color: #fff !important;
}
.form-group select option {
  background: #2d1450 !important;
  color: #fff !important;
}

/* Req asterisk */
.req { color: #ff6b6b !important; }


/* ===== COURAGE BANNER ===== */
.section-courage {
  padding: 60px 20px;
  background: linear-gradient(135deg, #0d0618 0%, #1a0a2e 100%);
  border-top: 2px solid rgba(184,51,155,.3);
  border-bottom: 2px solid rgba(184,51,155,.3);
}
.courage-tagline {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.8rem, 5vw, 2.8rem) !important;
  font-style: italic;
  color: var(--accent-light) !important;
  margin-bottom: 8px;
}
.courage-sub {
  font-size: 1.4rem !important;
  color: rgba(255,255,255,.7) !important;
  margin-bottom: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.courage-desc {
  font-size: 1.3rem !important;
  color: rgba(255,255,255,.8) !important;
  margin-bottom: 16px;
}
.courage-phone {
  font-size: 1.6rem !important;
}
.courage-phone a {
  color: var(--accent-light) !important;
  font-weight: 800 !important;
}

/* ===== DESKTOP NAV IN HEADER ===== */
.header-nav-desktop {
  display: none;
  gap: 24px;
}
.header-nav-desktop a {
  font-size: 1rem;
  color: #fff !important;
  font-weight: 700 !important;
  transition: color .2s;
}
.header-nav-desktop a:hover {
  color: var(--accent-light) !important;
}
@media (min-width: 900px) {
  .header-nav-desktop { display: flex; }
  .mobile-toggle { display: none; }
}

/* ===== SERVICE SEARCH ===== */
.section-service-search {
  padding: 80px 20px;
  background: linear-gradient(135deg, #2d1450 0%, #1a0a2e 100%);
}

/* ===== NOT ALONE ===== */
.section-not-alone {
  padding: 80px 20px;
  background: linear-gradient(135deg, #3a1860 0%, #4a2070 100%);
  border-top: 2px solid rgba(184,51,155,.2);
  border-bottom: 2px solid rgba(184,51,155,.2);
}

/* ===== FOUNDATION ===== */
.section-foundation {
  padding: 80px 0;
  background: linear-gradient(135deg, #1a0a2e 0%, #2d1450 100%);
}
.foundation-content { margin-top: 32px; }
.foundation-bio {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 20px;
}
.foundation-bio p {
  color: rgba(255,255,255,.85) !important;
  font-size: 1.3rem !important;
  line-height: 1.9;
  margin-bottom: 20px;
}
.foundation-info {
  margin-top: 30px;
  padding: 24px;
  background: rgba(255,255,255,.05);
  border-radius: 12px;
  border: 1px solid rgba(184,51,155,.2);
}
.foundation-info p {
  font-size: 1.15rem !important;
  margin-bottom: 8px;
}
.foundation-info a {
  color: var(--accent-light) !important;
}


/* ===== ULTRA 3D POP - EVERY LETTER ===== */
h1, h2, h3, h4 {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.35),
    5px 5px 0 rgba(0,0,0,.2),
    7px 7px 0 rgba(0,0,0,.12),
    9px 9px 18px rgba(0,0,0,.15) !important;
}
.hero-hope {
  text-shadow:
    4px 4px 0 rgba(0,0,0,.4),
    8px 8px 0 rgba(0,0,0,.25),
    12px 12px 0 rgba(0,0,0,.15),
    16px 16px 30px rgba(0,0,0,.2) !important;
}
.hero-is {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.35),
    6px 6px 0 rgba(0,0,0,.2),
    10px 10px 20px rgba(0,0,0,.15) !important;
}
.heading-white, .heading-dark {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.35),
    6px 6px 0 rgba(0,0,0,.2),
    9px 9px 16px rgba(0,0,0,.12) !important;
}
.heading-accent-light, .heading-accent {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.3),
    4px 4px 0 rgba(0,0,0,.18),
    6px 6px 12px rgba(0,0,0,.1) !important;
}
.fullbg-title {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.4),
    6px 6px 0 rgba(0,0,0,.25),
    9px 9px 18px rgba(0,0,0,.15) !important;
}
p, a, span, li, label, button, td, th {
  text-shadow:
    1px 1px 0 rgba(0,0,0,.25),
    2px 2px 0 rgba(0,0,0,.15),
    3px 3px 6px rgba(0,0,0,.1) !important;
}
.stat-num {
  text-shadow:
    4px 4px 0 rgba(0,0,0,.4),
    8px 8px 0 rgba(0,0,0,.25),
    12px 12px 20px rgba(0,0,0,.15) !important;
}
.courage-tagline {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.35),
    6px 6px 0 rgba(0,0,0,.2),
    9px 9px 16px rgba(0,0,0,.12) !important;
}
.header-title-text {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.3),
    4px 4px 8px rgba(0,0,0,.15) !important;
}
.confidential-pct {
  text-shadow:
    4px 4px 0 rgba(0,0,0,.4),
    7px 7px 14px rgba(0,0,0,.2) !important;
}
.confidential-label {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.3),
    3px 3px 6px rgba(0,0,0,.15) !important;
}
.submit-btn {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.3),
    4px 4px 8px rgba(0,0,0,.15) !important;
}



/* ===== DARKER HERO OVERLAY FOR TEXT POP ===== */
.hero-sky .hero-overlay {
  background: linear-gradient(
    180deg,
    rgba(10,20,40,.55) 0%,
    rgba(15,30,55,.45) 30%,
    rgba(20,40,70,.35) 60%,
    rgba(25,35,50,.45) 100%
  ) !important;
}
/* Tone down the clouds so they dont wash out the text */
.hero-clouds::before {
  opacity: .35 !important;
}
.hero-clouds::after {
  opacity: .25 !important;
}
/* Dim sunbeams slightly */
.hero-sunbeams::before {
  opacity: .6 !important;
}


/* ===== LOGO FILLS ENTIRE RIGHT SIDE OF HERO ===== */
.hero-logo-giant {
  width: 100% !important;
  max-width: 55vw !important;
  height: auto !important;
  border-radius: 20px !important;
}
.hero-logo-beside {
  flex: 0 0 50% !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
}
.hero-sky {
  gap: 10px !important;
  padding-left: 3% !important;
  padding-right: 3% !important;
}
@media (max-width: 768px) {
  .hero-logo-beside { flex: none !important; width: 100% !important; }
  .hero-logo-giant { max-width: 90vw !important; }
}


/* ===== LOGO MAXED OUT - FILL ENTIRE RIGHT HALF ===== */
.hero-logo-beside {
  flex: 1 1 55% !important;
  max-height: 80vh !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.hero-logo-giant {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: 75vh !important;
  object-fit: contain !important;
  border-radius: 16px !important;
}
.hero-content-left {
  flex: 0 1 45% !important;
}


/* ===== FINAL ULTIMATE 3D - EVERY ELEMENT, NO EXCEPTIONS ===== */
* {
  font-weight: 700 !important;
}
body, body * {
  text-shadow:
    1px 1px 0 rgba(0,0,0,.2),
    2px 2px 0 rgba(0,0,0,.12),
    3px 3px 5px rgba(0,0,0,.08) !important;
}
h1, h1 *, h2, h2 *, h3, h3 * {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.35),
    5px 5px 0 rgba(0,0,0,.2),
    8px 8px 0 rgba(0,0,0,.12),
    10px 10px 20px rgba(0,0,0,.1) !important;
}
.hero-hope {
  text-shadow:
    5px 5px 0 rgba(0,0,0,.45),
    9px 9px 0 rgba(0,0,0,.28),
    14px 14px 0 rgba(0,0,0,.15),
    18px 18px 35px rgba(0,0,0,.2) !important;
}
.hero-is {
  text-shadow:
    4px 4px 0 rgba(0,0,0,.4),
    7px 7px 0 rgba(0,0,0,.22),
    11px 11px 22px rgba(0,0,0,.15) !important;
}
.heading-white, .heading-dark, .heading-white *, .heading-dark * {
  text-shadow:
    4px 4px 0 rgba(0,0,0,.4),
    7px 7px 0 rgba(0,0,0,.22),
    10px 10px 20px rgba(0,0,0,.12) !important;
}
.fullbg-title {
  text-shadow:
    4px 4px 0 rgba(0,0,0,.45),
    7px 7px 0 rgba(0,0,0,.28),
    10px 10px 20px rgba(0,0,0,.15) !important;
}
.stat-num {
  text-shadow:
    5px 5px 0 rgba(0,0,0,.45),
    9px 9px 0 rgba(0,0,0,.28),
    14px 14px 25px rgba(0,0,0,.15) !important;
}
.courage-tagline {
  text-shadow:
    3px 3px 0 rgba(0,0,0,.4),
    6px 6px 0 rgba(0,0,0,.22),
    10px 10px 18px rgba(0,0,0,.12) !important;
}
.header-title-text {
  text-shadow:
    2px 2px 0 rgba(0,0,0,.35),
    4px 4px 8px rgba(0,0,0,.2) !important;
}
/* Make sure inputs dont get shadow */
input, select, textarea {
  text-shadow: none !important;
}


/* ===== FLOATING CALL BUTTON 4X BIGGER ===== */
.floating-call {
  width: 120px !important;
  height: 120px !important;
  border-radius: 50% !important;
  bottom: 30px !important;
  right: 30px !important;
  box-shadow: 0 8px 40px rgba(184,51,155,.6) !important;
}
.floating-call svg {
  width: 56px !important;
  height: 56px !important;
}


/* ===== FLOATING CALL BANNER WITH TEXT ===== */
.floating-call-banner {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 99;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 28px;
  border-radius: 60px;
  background: linear-gradient(135deg, var(--purple) 0%, var(--magenta) 100%);
  color: #fff;
  box-shadow:
    0 8px 40px rgba(184,51,155,.5),
    0 0 60px rgba(184,51,155,.2);
  transition: all .3s;
  text-decoration: none;
}
.floating-call-banner:hover {
  transform: scale(1.05);
  box-shadow:
    0 12px 50px rgba(184,51,155,.7),
    0 0 80px rgba(184,51,155,.3);
}
.floating-call-banner svg {
  flex-shrink: 0;
}
.float-call-text {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  white-space: nowrap;
  letter-spacing: .5px;
}
@media (max-width: 600px) {
  .floating-call-banner {
    padding: 12px 20px;
    bottom: 15px;
    right: 15px;
  }
  .float-call-text { font-size: .9rem !important; }
  .floating-call-banner svg { width: 28px !important; height: 28px !important; }
}



/* ===== ULTRA VISIBLE 3D TEXT SHADOWS - HARD BLACK ===== */
body, body * {
  text-shadow:
    1px 1px 0 #000,
    2px 2px 0 rgba(0,0,0,.7),
    3px 3px 0 rgba(0,0,0,.5),
    4px 4px 6px rgba(0,0,0,.4) !important;
}
h1, h1 *, h2, h2 *, h3, h3 * {
  text-shadow:
    2px 2px 0 #000,
    4px 4px 0 rgba(0,0,0,.7),
    6px 6px 0 rgba(0,0,0,.5),
    8px 8px 0 rgba(0,0,0,.35),
    10px 10px 15px rgba(0,0,0,.3) !important;
}
.hero-hope {
  text-shadow:
    3px 3px 0 #000,
    6px 6px 0 rgba(0,0,0,.7),
    9px 9px 0 rgba(0,0,0,.5),
    12px 12px 0 rgba(0,0,0,.35),
    16px 16px 0 rgba(0,0,0,.2),
    20px 20px 30px rgba(0,0,0,.3) !important;
}
.hero-is {
  text-shadow:
    2px 2px 0 #000,
    5px 5px 0 rgba(0,0,0,.65),
    8px 8px 0 rgba(0,0,0,.45),
    12px 12px 20px rgba(0,0,0,.25) !important;
}
.heading-accent-light, .heading-white, .heading-dark,
.heading-accent-light *, .heading-white *, .heading-dark * {
  text-shadow:
    2px 2px 0 #000,
    5px 5px 0 rgba(0,0,0,.6),
    8px 8px 0 rgba(0,0,0,.4),
    11px 11px 18px rgba(0,0,0,.25) !important;
}
.fullbg-title {
  text-shadow:
    3px 3px 0 #000,
    6px 6px 0 rgba(0,0,0,.6),
    9px 9px 0 rgba(0,0,0,.4),
    12px 12px 20px rgba(0,0,0,.25) !important;
}
.fullbg-text, .courage-tagline, .courage-desc, .courage-sub, .courage-phone,
.label-sm-light, .text-link-light, .impact-desc, .impact-note,
.float-call-text, .footer-copy, .footer-social-label {
  text-shadow:
    1px 1px 0 #000,
    2px 2px 0 rgba(0,0,0,.6),
    3px 3px 0 rgba(0,0,0,.4),
    5px 5px 8px rgba(0,0,0,.3) !important;
}
.stat-num {
  text-shadow:
    3px 3px 0 #000,
    6px 6px 0 rgba(0,0,0,.65),
    10px 10px 0 rgba(0,0,0,.45),
    14px 14px 25px rgba(0,0,0,.25) !important;
}
.header-title-text {
  text-shadow:
    2px 2px 0 #000,
    4px 4px 0 rgba(0,0,0,.5),
    6px 6px 10px rgba(0,0,0,.3) !important;
}
.header-nav-desktop a, .nav-dropdown a {
  text-shadow:
    1px 1px 0 #000,
    2px 2px 0 rgba(0,0,0,.5),
    3px 3px 5px rgba(0,0,0,.3) !important;
}
input, select, textarea {
  text-shadow: none !important;
}

/* ===== HERO BUTTONS - MUCH BIGGER, LETTERS FILL THE BUTTON ===== */
.hero-btn {
  padding: 22px 50px !important;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 14px !important;
  min-width: 180px !important;
  text-align: center !important;
  text-shadow:
    1px 1px 0 #000,
    2px 2px 0 rgba(0,0,0,.5),
    3px 3px 5px rgba(0,0,0,.3) !important;
}
.hero-buttons {
  gap: 18px !important;
  margin-top: 30px !important;
}

/* ===== ABOUT US SECTION ===== */
.section-about-us {
  background: linear-gradient(135deg, #2a0845 0%, #1a0a2e 50%, #3b1260 100%) !important;
  padding: 80px 20px !important;
}
.section-about-us h2 {
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  margin-bottom: 30px !important;
}


/* ===== STAT ITEMS WITH IMAGES ===== */
.stats-with-images .stat-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 25px !important;
  text-align: left !important;
}
.stat-img {
  width: 120px !important;
  height: 120px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.5) !important;
}
.stat-text {
  flex: 1;
}
@media (max-width: 600px) {
  .stat-img { width: 80px !important; height: 80px !important; }
}

/* ===== SEND MESSAGE BUTTON - MUCH BIGGER ===== */
.submit-btn {
  padding: 22px 60px !important;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 14px !important;
  min-width: 280px !important;
  text-shadow:
    1px 1px 0 #000,
    2px 2px 0 rgba(0,0,0,.5) !important;
}

/* ===== FOOTER LINKS 5X BIGGER ===== */
.footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 30px !important;
  padding: 30px 0 !important;
}
.footer-links li {
  list-style: none !important;
}
.footer-links a {
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-shadow:
    1px 1px 0 #000,
    2px 2px 0 rgba(0,0,0,.5),
    3px 3px 5px rgba(0,0,0,.3) !important;
}
.footer-social-label {
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  margin-top: 20px !important;
}
.footer-copy {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
}

/* ===== FLOATING CALL BANNER - FLEX COLUMN WITH HEART ===== */
.floating-call-banner {
  flex-direction: column !important;
  text-align: center !important;
  padding: 18px 30px !important;
  border-radius: 20px !important;
}
.float-call-text {
  font-size: 1rem !important;
  white-space: normal !important;
  max-width: 160px !important;
  line-height: 1.3 !important;
}
