@media (min-width: 768px) and (max-width: 1024px) {
  body.contact-page .purpose-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
    max-width: 1050px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 2rem !important;
  }
  body.contact-page .purpose-btn {
    max-width: 340px !important;
    min-width: 180px !important;
    margin: 0 auto !important;
  }
}
/* Desktop-only fix for Contact page inquiry cards spacing */
@media (min-width: 1024px) {
  body.contact-page .purpose-grid {
    display: flex !important;
    justify-content: center;
    gap: 3.5rem;
    align-items: stretch;
    margin-bottom: 2.5rem;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
  body.contact-page .purpose-btn {
    flex: 1 1 0;
    max-width: 360px;
    min-width: 260px;
    margin: 0;
    box-shadow: 0 6px 24px rgba(107,29,29,0.07);
  }

  body.contact-page .selector-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body.contact-page .contact-selector {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body.contact-page .contact-section {
    padding-bottom: 0 !important;
  }
    body.contact-page .contact-card {
      margin-bottom: 0 !important;
    }
}

body.contact-page .contact-section:last-of-type {
  padding-bottom: clamp(2.5rem, 6vw, 4rem) !important;
}
@media (max-width: 560px) {

  /* HOME (index) mobile footer. Match the other pages */
  @media (max-width: 560px) {
    body.home-page .footer .footer-grid {
      grid-template-columns: 1fr 1fr !important;
      grid-auto-rows: min-content !important;
      gap: 5px 14px !important;
      align-items: start !important;
      justify-items: start !important;
    }

    body.home-page .footer .footer-col.about {
      grid-column: 1 / -1 !important;
      grid-row: 1 !important;
    }

    body.home-page .footer .footer-col.about p {
      margin: 0 0 5px !important;
    }

    /* PAGES spans rows 2 and 3 on the left */
    body.home-page .footer .footer-col.pages {
      grid-column: 1 / 2 !important;
      grid-row: 2 / 4 !important;
    }

    /* RESOURCES top-right */
    body.home-page .footer .footer-col.resources {
      grid-column: 2 / 3 !important;
      grid-row: 2 !important;
    }

    /* CONTACT under RESOURCES (right column) */
    body.home-page .footer .footer-col.contact {
      grid-column: 2 / 3 !important;
      grid-row: 3 !important;

      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 4px !important;

      margin-top: 6px !important;
      justify-self: start !important;
      align-self: start !important;
    }

    body.home-page .footer .footer-col.contact p {
      display: none !important;
    }

    /* Heading spacing + underline bars (match other pages) */
    body.home-page .footer .footer-col h3 {
      padding-bottom: 8px !important;
      margin: 0 0 16px !important;
      position: relative !important;
    }

    body.home-page .footer .footer-col h3::after {
      display: block !important;
      content: '' !important;
      position: absolute !important;
      bottom: 0 !important;
      left: 0 !important;
      width: 30px !important;
      height: 2px !important;
      background: var(--color-primary) !important;
    }

    body.home-page .footer .footer-col.contact h3 {
      display: block !important;
      margin: 0 !important;
      font-size: 12px !important;
      text-transform: uppercase !important;
      padding-bottom: 8px !important;
    }

    body.home-page .footer .footer-col.contact .footer-email {
      display: inline-block !important;
      width: fit-content !important;
      white-space: nowrap !important;
      line-height: 1.2 !important;
      margin-top: 2px !important;

      font-size: 13.5px !important;
      padding: 0 !important;
      background: none !important;
      box-shadow: none !important;
      border-radius: 0 !important;
      border-bottom-width: 1px !important;
    }

    body.home-page .footer .footer-bottom {
      margin-top: 40px !important;
      padding-top: 24px !important;
    }
  }
  #take-action { padding: 40px 0 56px 0 !important; }
  #take-action .section-header { margin: 0 0 28px 0 !important; }

  #take-action .action-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  #take-action .action-card {
    padding: 22px 18px !important;
    min-height: unset !important;
    border-radius: 18px !important;
  }

  #take-action .action-card > div:first-child {
    margin-bottom: 14px !important;
  }

  #take-action .action-card h3 {
    font-size: 1.25rem !important;
    line-height: 1.15 !important;
  }

  #take-action .action-card p {
    font-size: 0.95rem !important;
    margin: 10px 0 14px 0 !important;
    line-height: 1.45 !important;
  }

  #take-action .action-card a[style*="padding"] {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    padding: 14px 18px !important;
    border-radius: 14px !important;
  }
}

@media (min-width: 1025px) {
  .slider-outer {
    position: relative;
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 64px;
  }

  .slider-container {
    overflow: hidden !important;
    padding: 0 !important;
  }

  #slider {
    display: flex;
    gap: 24px;
    will-change: transform;
  }

  #prev-btn,
  #next-btn {
    display: flex;
  }
}

/* Chart container. Do not steal width with padding. */
.chart-wrap{
  position: relative;
  height: 460px;
  margin-bottom: 1.5rem;
  padding: 0 !important;
}

/* Keep canvas full-bleed inside the card */
.chart-wrap canvas{
  width: 100% !important;
  height: 100% !important;
  display: block;
}

@media (max-width: 768px){
  .chart-wrap{ height: 340px; }
}

@media (max-width: 420px){
  .chart-wrap{ height: 300px; }
}

.slider-section .book-slide h4 {
  min-height: 3.2rem;
  margin-bottom: 10px !important;
}

.slider-section .book-slide p {
  margin-bottom: 18px !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.slider-section .book-slide > div > div:last-child {
  margin-top: auto !important;
}

@media (max-width: 1024px) {
  #slider-container {
    padding: 0 20px !important;
    scroll-padding-left: 20px !important;
    scroll-padding-right: 20px !important;
  }

  #slider {
    gap: 18px !important;
  }

  .book-slide {
    scroll-snap-align: start;
  }
}
/* Slider arrows base (desktop) */
#slider-container {
  position: relative;
}

#prev-btn,
#next-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
}

#prev-btn { left: 12px; }
#next-btn { right: 12px; }

@media (max-width: 1024px) {
  #prev-btn,
  #next-btn {
    display: none !important;
  }

  #slider {
    display: flex !important;
    width: max-content !important;
  }

  .book-slide {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
  }

  #slider-container {
    scrollbar-gutter: stable both-edges;
  }
}
/* TAKE ACTION. FIX MOBILE LAYOUT */
.take-action-divider {
margin: 18px 0 10px 0 !important;
}

@media (max-width: 560px) {
#take-action {
padding: 44px 0 !important;
}

#take-action .section-header {
margin: 0 0 28px 0 !important;
}

#take-action .action-grid {
grid-template-columns: 1fr !important;
gap: 18px !important;
}

#take-action .action-card {
padding: 18px !important;
min-height: auto !important;
}

#take-action .action-card h3 {
font-size: 1.2rem !important;
}

#take-action .action-card p {
font-size: 0.95rem !important;
margin: 10px 0 14px 0 !important;
}

/* icon box size. targets the inline 68px blocks */
#take-action .action-card div[style="width: 68px"] {
width: 56px !important;
height: 56px !important;
border-radius: 16px !important;
margin-right: 14px !important;
}

/* button full width */
#take-action .action-card a[style="padding"] {
width: 100% !important;
padding: 14px 18px !important;
}
}

@media (min-width: 561px) and (max-width: 768px) {
#take-action .action-grid {
grid-template-columns: repeat(2, 1fr) !important;
gap: 22px !important;
}

#take-action .action-card:nth-child(3) {
grid-column: 1 / -1 !important;
}
}
/* Section divider for hard boundaries */
.section-divider {
  padding: 13px 14px !important;
}

/* tighten divider + section bottom spacing (micro) */
.constitutional-mechanism .mechanism-divider {
  margin: 0 auto 10px !important;
}
@media (min-width: 1025px) {
  #slider-container {
    overflow: hidden !important;
    padding: 0 !important;
  }

  #slider {
    display: flex !important;
    gap: 24px !important;
    transform: translateX(0);
    transition: transform 350ms ease;
    will-change: transform;
  }

  .book-slide {
    flex: 0 0 auto;
  }

  #prev-btn,
  #next-btn {
    display: flex !important;
  }
}

#slider-container .book-slide > div {
  display: flex !important;
  flex-direction: column !important;
  height: 420px !important;
  overflow: hidden !important;
}

#slider-container .book-slide h4 {
  line-height: 1.2 !important;
  min-height: 3.6em !important;
  margin-bottom: 12px !important;
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#slider-container .book-slide h4::after {
  content: '';
  display: block;
  height: 2px;
  width: 40px;
  background: linear-gradient(90deg, #6B1D1D, #8B2F2F);
  margin: 0.75rem auto 0;
  border-radius: 1px;
}

/* Hide inline HTML red divider divs - only show CSS ::after bars */
#slider-container .book-slide div[style*="height: 2px"][style*="width: 40px"] {
  display: none !important;
}

#slider-container .book-slide p {
  flex: 1 1 auto !important;
  margin-bottom: 16px !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#slider-container .book-slide .btn,
#slider-container .book-slide a.btn {
  margin-top: auto !important;
}

  .about-page .scroll-to-top::after,
  .contact-page .scroll-to-top::after {
    font-size: 20px !important;
  }

  @media (max-width: 560px) {
    body:not(.books-page) .footer-col h3::after {
      display: none;
    }
  }

  /* Touch layouts only. Disable hover arrow shift. */
  @media (max-width: 768px) {
    body:not(.books-page) .footer-col a:hover::before {
      display: none;
    }
    body:not(.books-page) .footer-col a:hover {
      transform: none;
    }
  }

  body:not(.books-page) .footer-col p {
    margin: 0 0 8px;
    font-size: 13.5px;
    line-height: 1.45;
  }

  /* Jewish Studies Slider */
  .slider-section {
    padding: 64px 0 48px 0;
    background: #fff;
  }
  .slider-outer {
    max-width: 1056px;
    margin: 0 auto;
    position: relative;
    padding: 0 16px;
  }
  .slider-container {
    display: flex;
    gap: 32px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 16px;
  }
  .book-slide {
    max-width: 320px;
    min-width: 0;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(107,29,29,0.08);
    border: 2px solid #E0D3C5;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem 1rem 1.5rem 1rem;
    transition: box-shadow 0.3s, transform 0.3s;
    cursor: pointer;
    scroll-snap-align: start;
    position: relative;
  }
}

/* ============================================
   THE SOCIETY FOR THE PREVENTION OF INFANTICIDE
   Production Stylesheet
   ============================================ */

/* ============================================
   BOOKS PAGE FOOTER - RESPONSIVE OVERRIDES
   ============================================ */

/* Mobile centering rules for about page */
@media (max-width: 600px) {
  .about-page .container {
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
  }

  .about-page section,
  .about-page .hero,
  .about-page .section {
    text-align: center;
  }

  .about-page .recognition-card > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .about-page .recognition-card > div > div:first-child {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .about-page .recognition-card div[style*="display: flex"][style*="gap: 1rem"] {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .about-page .books-section div[style*="display: flex"][style*="justify-content: center"][style*="gap: 3rem"] {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

}

/* Tablet only (561-900px): Smaller gap */
@media (min-width: 561px) and (max-width: 900px) {
  .books-page .footer .footer-grid {
    gap: 36px !important;
  }
}

/* Mobile (≤560px): 2-column grid, CONTACT under RESOURCES */
@media (max-width: 560px) {
  .books-page .footer .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    grid-auto-rows: min-content !important;
    gap: 5px 14px !important;
    align-items: start !important;
    justify-items: start !important;
  }

  .books-page .footer .footer-col.about {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  .books-page .footer .footer-col.about p {
    margin: 0 0 5px !important;
  }

  /* KEY CHANGE: make PAGES span rows 2 and 3 */
  .books-page .footer .footer-col.pages {
    grid-column: 1 / 2 !important;
    grid-row: 2 / 4 !important;
  }

  .books-page .footer .footer-col.resources {
    grid-column: 2 / 3 !important;
    grid-row: 2 !important;
  }

  .books-page .footer .footer-col.contact {
    grid-column: 2 / 3 !important;
    grid-row: 3 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;

    margin-top: 6px !important;
    justify-self: start !important;
    align-self: start !important;
  }

  .books-page .footer .footer-col.contact p {
    display: none !important;
  }

  .books-page .footer .footer-col.contact h3 {
    margin: 0 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    padding-bottom: 8px !important;
  }

  .books-page .footer .footer-col.contact .footer-email {
    display: inline-block !important;
    width: fit-content !important;
    white-space: nowrap !important;

    font-size: 13.5px !important;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border-bottom-width: 1px !important;
  }
}

/* ============================================
   CSS VARIABLES
   ============================================ */

:root {
  /* Primary Colors - Maroon Palette per Global Rules */
  --color-primary: #6B1D1D;        /* Maroon primary */
  --color-primary-dark: #551616;   /* Maroon dark (hover) */
  --color-primary-light: #7A2828;  /* Lighter maroon */
  
  /* Neutral Colors - Warm Tan and Gray Palette per Global Rules */
  --color-white: #FFFFFF;          /* Tan surface */
  --color-gray-50: #F6F1EA;        /* Tan background */
  --color-gray-100: #E6DDD3;       /* Border */
  --color-gray-200: #E6DDD3;       /* Border token */
  --color-gray-300: #D4C4B0;       /* Medium tan */
  --color-gray-400: #B8A082;       /* Warm tan */
  --color-gray-500: #6A635C;       /* Warm gray muted */
  --color-gray-600: #6A635C;       /* Warm gray muted */
  --color-gray-700: #3B3B3B;       /* Warm gray text */
  --color-gray-800: #3B3B3B;       /* Warm gray text */
  --color-gray-900: #3B3B3B;       /* Warm gray text */
  
  /* Semantic Colors */
  --color-success: #059669;
  --color-warning: #D97706;
  --color-error: #DC2626;
  --color-info: #2563EB;
  
  /* Typography - Journal Style per Global Rules */
  --font-serif: 'Source Serif 4', Georgia, serif;   /* Headings */
  --font-sans: Georgia, 'Source Serif 4', serif;    /* Body */
  --font-mono: 'Courier New', monospace;
  
    }

    @media (max-width: 560px) {
      .about-page .footer .footer-grid,
      .contact-page .footer .footer-grid {
        grid-template-columns: 1fr 1fr !important;
        grid-auto-rows: min-content !important;
        gap: 5px 14px !important;
        align-items: start !important;
        justify-items: start !important;
      }

      .about-page .footer .footer-col.about,
      .contact-page .footer .footer-col.about {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
      }

      .about-page .footer .footer-col.about p,
      .contact-page .footer .footer-col.about p {
        margin: 0 0 5px !important;
      }

      .about-page .footer .footer-col.pages,
      .contact-page .footer .footer-col.pages {
        grid-column: 1 / 2 !important;
        grid-row: 2 / 4 !important;
      }

      .about-page .footer .footer-col.resources,
      .contact-page .footer .footer-col.resources {
        grid-column: 2 / 3 !important;
        grid-row: 2 !important;
      }

      .about-page .footer .footer-col.contact,
      .contact-page .footer .footer-col.contact {
        grid-column: 2 / 3 !important;
        grid-row: 3 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;

        margin-top: 6px !important;
        justify-self: start !important;
        align-self: start !important;
      }

      .about-page .footer .footer-col.contact p,
      .contact-page .footer .footer-col.contact p {
        display: none !important;
      }

      .about-page .footer .footer-col.contact h3,
      .contact-page .footer .footer-col.contact h3 {
        margin: 0 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        padding-bottom: 8px !important;
      }

      .about-page .footer .footer-col.contact .footer-email,
      .contact-page .footer .footer-col.contact .footer-email {
        display: inline-block !important;
        width: fit-content !important;
        white-space: nowrap !important;

        font-size: 13.5px !important;
        padding: 0 !important;
        background: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        border-bottom-width: 1px !important;
      }

    /* ABOUT + CONTACT pages. Match the mobile footer styling used on Mission */

    /* Heading spacing + underline bars */
    .about-page .footer .footer-col h3,
    .contact-page .footer .footer-col h3 {
      padding-bottom: 8px !important;
      margin: 0 0 16px !important;
      position: relative !important;
    }

    .about-page .footer .footer-col h3::after,
    .contact-page .footer .footer-col h3::after {
      display: block !important;
      content: '' !important;
      position: absolute !important;
      bottom: 0 !important;
      left: 0 !important;
      width: 30px !important;
      height: 2px !important;
      background: var(--color-primary) !important;
    }

    /* Ensure CONTACT heading shows (and gets the underline too) */
    .about-page .footer .footer-col.contact h3,
    .contact-page .footer .footer-col.contact h3 {
      display: block !important;
    }

    /* Match Mission’s email link spacing */
    .about-page .footer .footer-col.contact .footer-email,
    .contact-page .footer .footer-col.contact .footer-email {
      line-height: 1.2 !important;
      margin-top: 2px !important;
    }

    /* Footer bottom spacing like the other pages */
    .about-page .footer .footer-bottom,
    .contact-page .footer .footer-bottom {
      margin-top: 40px !important;
      padding-top: 24px !important;
    }

    /* Scroll-to-top button placement like the other pages */
    .about-page .scroll-to-top,
    .contact-page .scroll-to-top {
      width: 48px !important;
      height: 48px !important;
      right: 24px !important;
      bottom: 24px !important;
    }

    .about-page .scroll-to-top::after,
    .contact-page .scroll-to-top::after {
      font-size: 20px !important;
    }
}

:root {
  /* Font Sizes */
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);
  --text-base: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
  --text-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
  --text-2xl: clamp(1.5rem, 1.3rem + 1vw, 1.875rem);
  --text-3xl: clamp(1.875rem, 1.6rem + 1.375vw, 2.25rem);
  --text-4xl: clamp(2.25rem, 1.9rem + 1.75vw, 3rem);
  --text-5xl: clamp(3rem, 2.5rem + 2.5vw, 4rem);
  
  /* Font Weights */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  
  /* Line Heights */
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  
  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  
  /* Border Radius */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;
  
  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  
  /* Transitions */
  --transition-fast: 150ms ease-in-out;
  --transition-base: 250ms ease-in-out;
  
  /* Max Widths */
  --max-width-prose: 65ch;
  --max-width-xl: 1280px;
  
  /* Z-Index */
  --z-base: 0;
  --z-sticky: 1100;
  --z-modal: 1400;
  
  /* Icon Standards */
  --icon-stroke: 1.5;
  --icon-size-sm: 20px;
  --icon-size-md: 24px;
  --icon-size-lg: 32px;
}

/* ============================================
   RESET
   ============================================ */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

/* Respect user's motion preferences */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.6;                    /* Improved readability */
  color: var(--color-gray-700);       /* Warm gray text */
  background: var(--color-gray-50);   /* Tan background default */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Prevent accidental horizontal page drag on home page (mobile/tablet) */
@media (max-width: 1024px) {
  body.home-page {
    overflow-x: hidden;
    width: 100%;
  }
}

/* Enhanced focus indicators for accessibility */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Global icon standardization */
svg {
  stroke-width: var(--icon-stroke);
}

/* ============================================
   RESET
   ============================================ */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

/* Respect user's motion preferences */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.6;                    /* Improved readability */
  color: var(--color-gray-700);       /* Warm gray text */
  background: var(--color-gray-50);   /* Tan background default */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Enhanced focus indicators for accessibility */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Global icon standardization */
svg {
  stroke-width: var(--icon-stroke);
}





/* ============================================
   TYPOGRAPHY
   ============================================ */

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  color: var(--color-gray-900);
  margin-bottom: var(--space-4);
}

h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-base); }

p {
  margin-bottom: var(--space-3);
  line-height: var(--leading-relaxed);
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-primary-dark);
}

a:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

strong { font-weight: var(--font-semibold); }

/* ============================================
   LAYOUT
   ============================================ */

.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--space-4);
  max-width: 1200px;

/* Books slider. Mobile/tablet swipe. Desktop arrows + transform. */
@media (min-width: 1025px) {
  #slider-container {
    overflow: hidden !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }
  
  #slider {
    display: flex !important;
    transition: transform 320ms cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  }
  
  #prev-btn,
  #next-btn {
    display: block !important;
  }
}
}

/* Responsive container padding */
@media (max-width: 1024px) {
  #slider-container {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding: 0 18px;
    scroll-padding-left: 18px;
    scroll-padding-right: 18px;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  #slider-container::-webkit-scrollbar {
    display: none;
  }

  #slider {
    transform: none !important;
    transition: none !important;
    gap: 16px !important;
  }

  .book-slide {
    scroll-snap-align: start;
    width: min(82vw, 340px) !important;
  }

  .book-slide > div {
    height: 400px !important;
    min-height: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
  }

  #prev-btn,
  #next-btn {
    display: none !important;
  }
}

/* Tablet slider text overflow prevention (768-1024px) */
@media (max-width: 1024px) {
  .book-slide h4 {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 1.1rem !important;
  }

  .book-slide p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 0.9rem !important;
  }
}

/* Mobile slider text overflow prevention (≤767px) */
@media (max-width: 767px) {
  .book-slide h4 {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 1rem !important;
    line-height: 1.3 !important;
  }

  .book-slide p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 0.85rem !important;
  }
}

/* Reduce section divider thickness */
.section + .section,
.section-lg + .section-lg {
  border-top: 1px solid var(--color-gray-200);
}

/* Enhanced Responsive Grid System */
.grid {
  display: grid;
  gap: var(--space-4);
}

.grid-cols-1 { grid-template-columns: 1fr; }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

/* Very small screens - force single column only when absolutely necessary */
@media (max-width: 360px) {
  .grid-cols-2,
  .books-page .footer .footer-grid {
    justify-items: start !important;
    align-items: start !important;
  }

  .books-page .footer .footer-col.contact {
    grid-column: 2 / 3 !important;
    grid-row: 3 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    justify-self: start !important;
    align-self: start !important;

    margin-top: 6px !important;
    gap: 4px !important;

    width: 100% !important;
    min-width: 0 !important;
  }

  .books-page .footer .footer-col.contact h3 {
    display: block !important;
    margin: 0 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
  }

  .books-page .footer .footer-col.contact .footer-email {
    display: inline-block !important;
    width: fit-content !important;
    white-space: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* Books footer: force grid items to align to column edges */
  .books-page .footer .footer-grid {
    justify-items: start !important;
    align-items: start !important;
  }

  /* Books footer: CONTACT should read as "under Resources" in column 2 */
  .books-page .footer .footer-col.contact {
    justify-self: start !important;
    width: fit-content !important;
    max-width: 100% !important;
  }

  /* Keep the email from stretching the row visually */
  .books-page .footer .footer-col.contact .footer-email {
    width: auto !important;
    white-space: nowrap !important;
  }
  .grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: 1fr;
  }
  
  .md\:grid-cols-2,
  .md\:grid-cols-3,
  .lg\:grid-cols-3,
  .lg\:grid-cols-4 {
    grid-template-columns: 1fr !important;
  }
}

/* Enhanced responsive grid breakpoints */
@media (max-width: 480px) {
  .grid {
    gap: var(--space-3);
  }
  
  /* Only stack 3+ column grids to 2 columns on very small screens */
  .grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Keep 2-column grids as 2 columns, only stack to 1 on tiny screens */
  .grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Only force single column for responsive classes on very small screens */
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .md\:grid-cols-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 481px) and (max-width: 640px) {
  .grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 641px) and (max-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .md\:grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .md\:grid-cols-3,
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.books-grid-three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 900px;
  margin: 0 auto;
}

.books-grid-four {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* Jewish Studies slider - Keep equal height, stable vertical rhythm */
#slider-container .book-slide > div {
  height: 420px !important;
  display: flex !important;
  flex-direction: column !important;
}

#slider-container .book-slide h4 {
  display: block !important;
  min-height: 2.6em !important;
  margin-bottom: 0.75rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#slider-container .book-slide p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  flex: 1 1 auto !important;
  margin-bottom: 1rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Hide inline HTML red divider divs on all breakpoints */
.book-slide div[style*="height: 2px"][style*="width: 40px"] {
  display: none !important;
}

#slider-container .book-slide > div > div:last-child {
  margin-top: auto !important;
}

/* ============================================
   INDEX PAGE ABOUT SECTION MOBILE OPTIMIZATION
   ============================================ */

/* Hide desktop about layout and show mobile version on small screens */
@media (max-width: 767px) {
  /* Hide desktop grid layout */
  body:not(.books-page) div[style*="grid-template-columns: 1.4fr 1fr"] {
    display: none !important;
  }
  
  /* Show mobile about layout */
  body:not(.books-page) .mobile-about {
    display: block !important;
  }
  
  /* Optimize mobile about section padding */
  body:not(.books-page) .mobile-about div[style*="padding: 2rem"] {
    padding: 1.5rem 1rem !important;
    margin-bottom: 1.5rem !important;
  }
  
  /* Mobile about text sizing */
  body:not(.books-page) .mobile-about p[style*="font-size: 1.125rem"] {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1rem !important;
  }
  
  /* Mobile about stats grid */
  body:not(.books-page) .mobile-about div[style*="grid-template-columns: 1fr 1fr"] {
    gap: 0.75rem !important;
  }
  
  /* Mobile about stats cards */
  body:not(.books-page) .mobile-about div[style*="padding: 1.25rem"] {
    padding: 1rem 0.5rem !important;
  }
  
  /* Mobile about stats text */
  body:not(.books-page) .mobile-about div[style*="font-size: 1.75rem"] {
    font-size: 1.5rem !important;
  }
  
  body:not(.books-page) .mobile-about div[style*="font-size: 0.75rem"] {
    font-size: 0.7rem !important;
  }
}

@media (max-width: 480px) {
  /* Even tighter spacing for very small screens */
  body:not(.books-page) .mobile-about div[style*="padding: 2rem"] {
    padding: 1rem 0.75rem !important;
  }
  
  /* Stack stats in single column on very small screens */
  body:not(.books-page) .mobile-about div[style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }
  
  /* Smaller stats on very small screens */
  body:not(.books-page) .mobile-about div[style*="font-size: 1.75rem"] {
    font-size: 1.25rem !important;
  }
  
  body:not(.books-page) .mobile-about p[style*="font-size: 1.125rem"] {
    font-size: 0.9rem !important;
  }
}

/* ============================================
   INDEX PAGE MOBILE OPTIMIZATION - Latest Release Section
   ============================================ */

/* Target the Latest Release section specifically on mobile */
@media (max-width: 767px) {
  /* Latest Release section container */
  body:not(.books-page) section div[style*="grid-template-columns: 1fr 2fr"] {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    text-align: center !important;
  }
  
  /* Book cover in Latest Release section */
  body:not(.books-page) img[style*="max-width: 400px"] {
    max-width: 200px !important;
  }
  
  /* Section padding reduction */
  body:not(.books-page) section div[style*="padding: 48px"] {
    padding: 1.5rem 1rem !important;
  }
  
  /* Title sizing mobile */
  body:not(.books-page) h2[style*="font-size: 2.25rem"] {
    font-size: 1.5rem !important;
    text-align: center !important;
    margin-bottom: 1rem !important;
  }
  
  /* Description text mobile */
  body:not(.books-page) p[style*="font-size: 1rem"] {
    font-size: 0.9rem !important;
    text-align: center !important;
    margin-bottom: 1.25rem !important;
  }
  
  /* Bullet list mobile */
  body:not(.books-page) ul li {
    justify-content: center !important;
    font-size: 0.85rem !important;
  }
  
  /* View Publications button mobile */
  body:not(.books-page) a[style*="padding: 1rem 2rem"] {
    padding: 0.75rem 1.5rem !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 480px) {
  /* Even smaller mobile optimization for index */
  body:not(.books-page) img[style*="max-width: 400px"] {
    max-width: 160px !important;
  }
  
  body:not(.books-page) section div[style*="padding: 48px"] {
    padding: 1rem 0.5rem !important;
  }
  
  body:not(.books-page) section div[style*="grid-template-columns: 1fr 2fr"] {
    gap: 1rem !important;
  }
  
  body:not(.books-page) h2[style*="font-size: 2.25rem"] {
    font-size: 1.3rem !important;
  }
  
  body:not(.books-page) p[style*="font-size: 1rem"] {
    font-size: 0.8rem !important;
  }
  
  body:not(.books-page) ul li {
    font-size: 0.75rem !important;
  }
}

/* ============================================
   BOOKS PAGE MOBILE OPTIMIZATION - AGGRESSIVE OVERRIDES
   ============================================ */

/* Target the Theocracy book section specifically on mobile */
@media (max-width: 767px) {
  .books-page section:nth-child(2) div[style*="padding: 2.5rem"] {
    padding: 1rem 0.5rem !important;
  }
  
  .books-page section:nth-child(2) div[style*="grid-template-columns: 250px 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }
  
  .books-page section:nth-child(2) img[style*="max-width: 230px"] {
    max-width: 120px !important;
  }
  
  .books-page section:nth-child(2) h3 {
    font-size: 1.2rem !important;
    margin-bottom: 0.5rem !important;
    text-align: center !important;
  }
  
  .books-page section:nth-child(2) p {
    font-size: 0.8rem !important;
    text-align: center !important;
    margin-bottom: 0.5rem !important;
  }
  
  .books-page section:nth-child(2) li {
    font-size: 0.75rem !important;
    margin-bottom: 0.2rem !important;
  }
}

@media (max-width: 480px) {
  .books-page section:nth-child(2) div[style*="padding: 2.5rem"] {
    padding: 0.75rem 0.25rem !important;
  }
  
  .books-page section:nth-child(2) div[style*="grid-template-columns: 250px 1fr"] {
    gap: 0.5rem !important;
  }
  
  .books-page section:nth-child(2) img[style*="max-width: 230px"] {
    max-width: 100px !important;
  }
  
  .books-page section:nth-child(2) h3 {
    font-size: 1rem !important;
  }
  
  .books-page section:nth-child(2) p {
    font-size: 0.7rem !important;
  }
}

/* ============================================
   BOOKS PAGE CONSISTENCY FIXES
   ============================================ */

/* Books hero: reduce extra whitespace from global .hero sizing */
.books-page .hero.hero-books {
  min-height: 420px !important;
  padding: 56px 0 !important;
  display: grid !important;
  place-items: center !important;
}

/* Reduce heavy section padding on Books page (inline styles use 60px) */
.books-page section[style*="padding: 60px 0"] {
  padding: 48px 0 !important;
}

/* Cards: consistent border + shadow across all book cards */
.books-page #slider-container .book-slide > div,
.books-page .books-grid-three > div,
.books-page .books-grid-four > div,
.books-page .books-grid-five > div {
  border: 2px solid var(--color-border) !important;
  box-shadow: 0 8px 24px rgba(107, 29, 29, 0.08) !important;
}

/* Titles: stabilize height so layouts match */
.books-page #slider-container .book-slide h4,
.books-page .books-grid-three h3,
.books-page .books-grid-four h3,
.books-page .books-grid-five h3,
.books-page .books-grid-three h4,
.books-page .books-grid-four h4,
.books-page .books-grid-five h4 {
  min-height: 2.6em;
}

/* Button alignment: force bottom row alignment */
.books-page #slider-container .book-slide > div > div:last-child,
.books-page .books-grid-three > div > div:last-child,
.books-page .books-grid-four > div > div:last-child,
.books-page .books-grid-five > div > div:last-child {
  margin-top: auto !important;
}

/* Button sizing: override mixed inline padding/font sizes inside book cards */
.books-page #slider-container .book-slide .btn.btn-primary,
.books-page .books-grid-three .btn.btn-primary,
.books-page .books-grid-four .btn.btn-primary,
.books-page .books-grid-five .btn.btn-primary {
  padding: 0.55rem 1.15rem !important;
  font-size: 0.85rem !important;
  min-height: 36px !important;
}

/* Keep all 5 books on one line for larger screens */
@media (min-width: 1025px) {
  .books-grid-five {
    grid-template-columns: repeat(5, 1fr);
  }
  .books-grid-three {
    grid-template-columns: repeat(3, 1fr);
  }
  .books-grid-four {
    grid-template-columns: repeat(3, 1fr);
  }
  
  /* Desktop: History & Psychology shows all 3 books in one row */
  .history-psych-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
    max-width: 900px !important;
    margin: 0 auto !important;
  }
  
  .history-psych-grid > div:nth-child(3) {
    grid-column: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* Tablet screens - optimize for better viewing - TABLET ONLY */
@media (min-width: 768px) and (max-width: 1024px) {
  .books-grid-five {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
  }
  .books-grid-three {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
  .books-grid-four {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 700px;
  }
}

/* Smaller tablets - reduce to 3 columns */
@media (min-width: 641px) and (max-width: 767px) {
  .books-grid-five {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  .books-grid-three {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .books-grid-four {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

/* Mobile phones - 2 columns */
@media (min-width: 481px) and (max-width: 640px) {
  .books-grid-five {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .books-grid-three {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .books-grid-four {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

/* Very small screens - single column */
@media (max-width: 480px) {
  .books-grid-five {
    grid-template-columns: 1fr;
  }
  .books-grid-three {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .books-grid-four {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* TABLET ONLY: History & Psychology final polish */
@media (min-width: 768px) and (max-width: 1024px) {
  .books-page .history-psych-grid{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    max-width: 680px !important;
    margin: 0 auto !important;
  }

  /* Top two cards: shorter */
  .books-page .history-psych-grid > div{
    padding: 18px 18px !important;
    min-height: 300px !important;
  }

  .books-page .history-psych-grid p{
    margin-top: 10px !important;
    margin-bottom: 12px !important;
    line-height: 1.5 !important;
    font-size: 0.85rem !important;
  }

  .books-page .history-psych-grid h3{
    font-size: 1.05rem !important;
    min-height: 0 !important;
  }

  /* FREUD: full width, horizontal, less tall */
  .books-page .history-psych-grid > div:nth-child(3){
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;

    display: grid !important;
    grid-template-columns: 180px 1fr !important;
    column-gap: 20px !important;
    align-items: center !important;

    min-height: 220px !important;
    padding: 18px 22px !important;
    text-align: left !important;
  }

  /* Put the cover in column 1 and span rows */
  .books-page .history-psych-grid > div:nth-child(3) > div:first-child{
    grid-column: 1 !important;
    grid-row: 1 / span 6 !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
  }

  /* Force ALL other Freud children into the right column */
  .books-page .history-psych-grid > div:nth-child(3) > *:not(:first-child){
    grid-column: 2 !important;
  }

  /* Override the fixed inline cover wrapper sizing */
  .books-page .history-psych-grid > div:nth-child(3) > div:first-child > div{
    width: 140px !important;
    height: 190px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  .books-page .history-psych-grid > div:nth-child(3) img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
  }

  /* Divider under title, aligned with text */
  .books-page .history-psych-grid > div:nth-child(3) div[style*="height: 2px"]{
    margin: 10px 0 10px !important;
  }

  /* Button aligns with text block */
  .books-page .history-psych-grid > div:nth-child(3) .btn{
    justify-self: start !important;
    margin-top: 8px !important;
  }
  /* removed stray closing brace and misplaced gap property */
  .books-grid-three {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .books-grid-four {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .grid-cols-2,
  .grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: 1fr;
  }
  
  /* Stack cards vertically on very small screens */
  .md\:grid-cols-2,
  .md\:grid-cols-3,
  .lg\:grid-cols-3,
  .lg\:grid-cols-4 {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 481px) and (max-width: 640px) {
  .grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 641px) and (max-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .md\:grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .md\:grid-cols-3,
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1025px) {
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.grid-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   NAVIGATION
   ============================================ */

.nav {
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-gray-200);
  padding: var(--space-4) 0;
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
  transition: all 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: nowrap;
  min-height: 60px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.nav-brand {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: clamp(1.05rem, 2.4vw, 1.2rem); /* Bigger title */
  font-weight: var(--font-bold);
  color: var(--color-primary);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  padding: var(--space-2) var(--space-4) var(--space-2) var(--space-2);
  margin-left: -8px; /* Shift left */
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
  min-width: 320px; /* Ensure consistent width */
}

.nav-brand:hover {
  color: var(--color-primary-dark);
  background-color: var(--color-gray-50);
}

.nav-brand img {
  width: 40px; /* Bigger logo */
  height: 40px;
  border-radius: 50%;
}

  /* Desktop Navigation */
  @media (min-width: 1025px) {
  .nav-toggle {
    display: none !important; /* Force hide on desktop */
  }
  
  /* Hide all mobile navigation elements on desktop */
  .nav-menu-backdrop,
  .nav-menu-header,
  .nav-menu-close,
  .nav-menu-spacer,
  .nav-menu-cta {
    display: none !important;
  }
  
  /* Show horizontal navigation menu on desktop */
  .nav-menu {
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    gap: var(--space-3);
    flex: 1;
    justify-content: center;
    align-items: center;
    list-style: none;
  }
  
  .nav-menu li {
    margin: 0 !important;
    display: inline-block !important;
  }

  /* Hide drawer-only items from desktop horizontal menu */
  .nav-menu li.nav-menu-header,
  .nav-menu li.nav-menu-spacer,
  .nav-menu li.nav-menu-cta {
    display: none !important;
  }
  
  .nav-menu a {
    padding: var(--space-4) var(--space-5) !important;
    border: none !important;
    background: transparent !important;
    font-size: 1.05rem !important;
    color: var(--color-gray-700) !important;
    transition: all 0.2s ease !important;
    white-space: nowrap;
    border-radius: var(--radius-md);
    font-weight: 500;
  }
  
  .nav-menu a:hover {
    color: var(--color-primary) !important;
    background: var(--color-gray-50) !important;
  }
  
  /* Show full brand name on desktop */
  .nav-brand .full-name {
    display: block;
  }
  
  .nav-brand .short-name {
    display: none;
  }
  
  .nav-brand {
    max-width: none;
    flex: 0 0 auto;
    white-space: nowrap;
    margin-right: var(--space-6);
  }
  
  /* Better container spacing for desktop */
  .container {
    max-width: 1400px !important;
    padding: 0 var(--space-4) !important;
  }
  
  .nav-container {
    max-width: none;
    margin: 0;
    padding: 0;
    gap: var(--space-4);
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  
  /* Show desktop CTA, hide mobile CTA */
  .desktop-cta {
    display: inline-flex !important;
    flex: 0 0 auto;
    white-space: nowrap;
  }
  
  .mobile-cta {
    display: none !important;
  }
  
  .nav .btn-sm {
    padding: var(--space-3) var(--space-4);
    font-size: 0.875rem;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: auto;
    line-height: 1.2;
  }
}

/* Large mobile devices - between standard mobile and tablet */
@media (min-width: 641px) and (max-width: 768px) {
  .map-layout {
    flex-direction: column !important;
    gap: 2.5rem !important;
    align-items: center !important;
  }
  
  .map-text {
    text-align: center !important;
    max-width: 500px !important;
    margin: 0 auto !important;
  }
  
  .map-container {
    flex: none !important;
    min-width: auto !important;
    max-width: 600px !important;
    width: 100% !important;
  }
  
  .map-wrapper {
    max-width: 100% !important;
    overflow: visible !important;
  }
  
  #datawrapper-chart-HCWOE {
    height: 500px !important;
  }
}

/* Tablet optimization for map section */
@media (min-width: 769px) and (max-width: 1024px) {
  .map-layout {
    flex-direction: column !important;
    gap: 3rem !important;
    align-items: center !important;
  }
  
  .map-text {
    text-align: center !important;
    max-width: 600px !important;
    margin: 0 auto !important;
  }
  
  .map-container {
    flex: none !important;
    min-width: auto !important;
    max-width: 700px !important;
    width: 100% !important;
  }
  
  .map-wrapper {
    max-width: 100% !important;
    overflow: visible !important;
  }
  
  #datawrapper-chart-HCWOE {
    height: 750px !important;
  }
}

/* Tablet Navigation - Use hamburger menu */
  @media (min-width: 768px) and (max-width: 1024px) {
  .nav-container {
    padding: 0 var(--space-4);
    height: 60px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
  }
  
  .nav-brand {
    display: flex !important;
    align-items: center !important;
    gap: var(--space-3) !important;
    font-size: 1.1rem !important;
    font-weight: var(--font-bold) !important;
    color: var(--color-primary) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex: 1 !important;
    min-width: 0 !important;
    max-width: calc(100% - 60px) !important;
  }
  
  .nav-brand img {
    width: 36px !important;
    height: 36px !important;
    flex-shrink: 0 !important;
  }
  
  .nav-brand .full-name {
    display: block !important;
    font-size: 1.1rem !important;
    font-weight: var(--font-bold) !important;
    line-height: 1.2 !important;
  }
  
  .nav-brand .short-name {
    display: none !important;
  }
  
  .nav-toggle {
    display: flex !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 10px !important;
    border-radius: var(--radius-md) !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
  }
  
  .nav-toggle:hover {
    background-color: var(--color-gray-100) !important;
  }
  
  .nav-toggle svg {
    width: 24px !important;
    height: 24px !important;
    stroke-width: 2.5 !important;
    color: var(--color-gray-700) !important;
  }
  
  /* Hide horizontal navigation items on tablet */
  .nav-menu:not(.active) {
    display: none !important;
  }
  
  /* Mobile-style drawer menu for tablet */
  .nav-menu {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    right: -85vw !important;
    width: 85vw !important;
    max-width: 400px !important;
    height: 100vh !important;
    background: var(--color-white) !important;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15) !important;
    z-index: 200 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    overflow-y: auto !important;
    flex-direction: column !important;
  }
  
  .nav-menu.active {
    display: flex !important;
    right: 0 !important;
  }
  
  /* Menu backdrop */
  .nav-menu-backdrop {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 190 !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
  }
  
  .nav-menu-backdrop.active {
    display: block !important;
    opacity: 1 !important;
  }
  
  /* Menu header */
  .nav-menu-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 var(--space-5) !important;
    background: var(--color-white) !important;
    border-bottom: 1px solid var(--color-gray-200) !important;
    height: 60px !important;
    min-height: 60px !important;
    flex-shrink: 0 !important;
  }
  
  .nav-menu-title {
    font-size: 0.95rem !important;
    font-weight: var(--font-semibold) !important;
    color: var(--color-gray-800) !important;
    display: flex !important;
    align-items: center !important;
  }
  
  .nav-menu-close {
    display: flex !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
    color: var(--color-gray-600) !important;
    transition: all 0.2s ease !important;
    width: 40px !important;
    height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--radius-md) !important;
  }
  
  .nav-menu-close:hover {
    color: var(--color-gray-800) !important;
    background-color: var(--color-gray-100) !important;
  }
  
  .nav-menu-close svg {
    width: 20px !important;
    height: 20px !important;
    stroke-width: 2.5 !important;
  }
  
  /* Navigation items */
  .nav-menu li {
    margin: 0 !important;
    list-style: none !important;
  }
  
  .nav-menu a {
    display: block !important;
    padding: var(--space-4) var(--space-5) !important;
    font-size: 1rem !important;
    font-weight: var(--font-medium) !important;
    color: var(--color-gray-700) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border-left: 3px solid transparent !important;
    background: transparent !important;
    border-bottom: 1px solid var(--color-gray-100) !important;
  }
  
  .nav-menu a:hover,
  .nav-menu a:focus {
    color: var(--color-primary) !important;
    background: var(--color-gray-50) !important;
  }
  
  .nav-menu a.active {
    color: var(--color-primary) !important;
    font-weight: var(--font-semibold) !important;
    border-left-color: var(--color-primary) !important;
    background: rgba(107, 29, 29, 0.05) !important;
  }
  
  /* Navigation spacer */
  .nav-menu-spacer {
    flex: 1 !important;
  }
  
  /* CTA at bottom */
  .nav-menu-cta {
    margin-top: auto !important;
    padding: var(--space-4) !important;
    border-top: 1px solid var(--color-gray-200) !important;
    background: var(--color-white) !important;
  }
  
  .nav-menu-cta .btn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: var(--space-3) var(--space-5) !important;
    font-size: var(--text-sm) !important;
    font-weight: var(--font-semibold) !important;
    background: var(--color-primary) !important;
    color: white !important;
    border: none !important;
    border-radius: var(--radius-md) !important;
    text-decoration: none !important;
    transition: all var(--transition-fast) !important;
    box-shadow: var(--shadow-sm) !important;
  }
  
  .nav-menu-cta .btn:hover {
    background: var(--color-primary-dark) !important;
    box-shadow: var(--shadow-md) !important;
  }
  
  /* Hide desktop and mobile CTAs on tablet */
  .desktop-cta,
  .mobile-cta {
    display: none !important;
  }
}

/* Mobile Navigation */
@media (max-width: 767px) {
  .nav {
    padding: 0;
    background: var(--color-white);
    border-bottom: 1px solid #e5e7eb;
    box-shadow: none;
    position: sticky;
    top: 0;
    z-index: 100;
    height: 65px; /* More moderate size */
    min-height: 65px;
    max-height: 65px;
  }
  
  .nav-container {
    position: relative;
    gap: var(--space-1);
    height: 65px;
    min-height: 65px;
    max-height: 65px;
    padding: var(--space-2) var(--space-3) var(--space-4) var(--space-3); /* Less top, more bottom */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }
  
  .nav-brand {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: var(--space-3) !important;
    font-size: 1.05rem !important; /* Moderate increase */
    line-height: 1.1 !important;
    flex: 1 !important;
    min-width: 0 !important;
    max-width: calc(100% - 55px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    height: auto !important;
    text-decoration: none !important;
    transition: none !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    position: absolute;
    left: var(--space-3); /* Position from left */
  }
  
  .nav-brand:hover,
  .nav-brand:focus,
  .nav-brand:active {
    color: var(--color-primary) !important;
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
  }
  
  .nav-brand img {
    width: 30px !important; /* Moderate size */
    height: 30px !important;
    flex-shrink: 0 !important;
    display: block !important;
  }
  
  .nav-brand span {
    display: inline !important;
    font-size: 1.05rem !important; /* Moderate size */
    font-weight: 600 !important;
    line-height: 1.1 !important;
    color: var(--color-primary) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    flex-shrink: 1 !important;
  }
  
  /* Disable hover effects on mobile to prevent bleeding */
  .nav-brand:hover {
    color: var(--color-primary) !important;
    background-color: transparent !important;
  }
  .nav-brand .full-name {
    display: none !important;
  }
  
  .nav-brand .short-name {
    display: inline !important;
  }
  
  /* Hide desktop CTA, hide mobile CTA */
  .desktop-cta,
  .mobile-cta {
    display: none !important;
  }
  
  .nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    width: 42px; /* Moderate size */
    height: 42px;
    padding: 10px;
    margin-right: 0;
    flex-shrink: 0;
    border-radius: var(--radius-md);
    transition: background-color var(--transition-fast);
    position: absolute;
    right: var(--space-3); /* Position from right */
    z-index: 101;
  }
  
  .nav-toggle:hover {
    background-color: var(--color-gray-100);
  }
  
  .nav-toggle svg {
    width: 24px;
    height: 24px;
    stroke-width: 2.5;
    color: var(--color-gray-700);
  }
  
  /* Full-height drawer menu */
  .nav-menu {
    display: none;
    position: fixed;
    top: 0;
    right: -90vw;
    width: 90vw;
    height: 100vh;
    background: var(--color-white);
    box-shadow: -4px 0 12px rgba(0,0,0,0.15);
    z-index: 200;
    list-style: none;
    margin: 0;
    padding: 0;
    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }
  
  .nav-menu.active {
    display: flex;
    right: 0;
  }
  
  /* Menu backdrop overlay */
  .nav-menu-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    z-index: 190;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .nav-menu-backdrop.active {
    display: block;
    opacity: 1;
  }
  
  /* Full-height drawer menu */
  .nav-menu {
    display: none;
    position: fixed;
    top: 0;
    right: -85vw;
    width: 85vw;
    max-width: 400px;
    height: 100vh;
    background: var(--color-white);
    box-shadow: -4px 0 20px rgba(0,0,0,0.15);
    z-index: 200;
    list-style: none;
    margin: 0;
    padding: 0;
    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }
  
  .nav-menu.active {
    display: flex;
    right: 0;
  }
  
  /* Menu backdrop overlay */
  .nav-menu-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    z-index: 190;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .nav-menu-backdrop.active {
    display: block;
    opacity: 1;
  }
  
  /* Navigation items styling for right-slide menu */
  .nav-menu li {
    margin: 0;
    position: relative;
    list-style: none;
  }
  
  .nav-menu a {
    display: block !important;
    padding: 20px 28px !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    color: var(--color-gray-700) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border-left: 4px solid transparent !important;
    border-bottom: 1px solid var(--color-gray-100) !important;
    background: transparent !important;
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
  }
  
  .nav-menu a:hover,
  .nav-menu a:focus {
    color: var(--color-primary) !important;
    background: var(--color-gray-50) !important;
    border-left-color: var(--color-primary) !important;
  }
  
  .nav-menu a.active {
    color: var(--color-primary) !important;
    font-weight: 600 !important;
    background: rgba(107, 29, 29, 0.05) !important;
    border-left-color: var(--color-primary) !important;
  }
  
  /* Navigation spacer */
  .nav-menu-spacer {
    flex: 1 !important;
    min-height: 40px !important;
  }

  /* Menu CTA styling */
  .nav-menu-cta {
    margin-top: auto !important;
    padding: 24px 24px 20px 24px !important;
    border-top: 1px solid var(--color-gray-200) !important;
    background: var(--color-white) !important;
    display: block !important;
  }
  
  .nav-menu-cta .btn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.1rem !important;
    padding: 18px 24px !important;
    background: var(--color-primary) !important;
    color: white !important;
    border: none !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: var(--radius-md) !important;
    transition: all 0.2s ease !important;
    box-shadow: var(--shadow-sm) !important;
    min-height: 56px !important;
  }
  
  .nav-menu-cta .btn:hover {
    background: var(--color-primary-dark) !important;
    color: white !important;
  }
  
  /* Internal header inside drawer */
  .nav-menu-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 32px !important;
    background: var(--color-white) !important;
    border-bottom: 1px solid var(--color-gray-200) !important;
    height: 80px !important;
    min-height: 80px !important;
    flex-shrink: 0 !important;
  }
  
  .nav-menu-title {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: var(--color-gray-800) !important;
    display: flex !important;
    align-items: center !important;
    gap: var(--space-2) !important;
  }
  
  .nav-menu-close {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--color-gray-600);
    transition: all 0.2s ease;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
  }
  
  .nav-menu-close:hover {
    color: var(--color-gray-800);
    background-color: var(--color-gray-100);
  }
  
  .nav-menu-close svg {
    width: 20px;
    height: 20px;
    stroke-width: 2.5;
  }
  
  /* Navigation items */
  .nav-menu li {
    margin: 0;
    position: relative;
    list-style: none;
    border-bottom: 1px solid var(--color-gray-200);
  }
  
  .nav-menu a {
    display: block;
    padding: var(--space-5) var(--space-5);
    margin: 0;
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--color-gray-700);
    text-decoration: none;
    transition: all 0.2s ease;
    background: var(--color-white);
    border-left: 4px solid transparent;
    min-height: 56px;
    display: flex;
    align-items: center;
  }
  
  .nav-menu a:hover,
  .nav-menu a:focus {
    color: var(--color-primary);
    background: var(--color-gray-50);
    border-left-color: var(--color-gray-300);
  }
  
  .nav-menu a.active {
    color: var(--color-primary);
    font-weight: 600;
    border-left-color: var(--color-primary);
    background: rgba(107, 29, 29, 0.08);
  }
  
  /* Divider after last nav item */
  .nav-menu li:last-of-type {
    border-bottom: 1px solid var(--color-gray-200);
  }
  
  /* Navigation spacer to push CTA to bottom */
  .nav-menu-spacer {
    flex: 1;
  }
  
  /* Pinned CTA at bottom */
  .nav-menu-cta {
    margin-top: auto;
    padding: var(--space-4);
    border-top: 1px solid #e5e7eb;
    background: var(--color-white);
  }
  
  .nav-menu-cta .btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3) var(--space-5);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: all var(--transition-fast);
    box-shadow: var(--shadow-sm);
  }
  
  .nav-menu-cta .btn:hover {
    background: var(--color-primary-dark);
    box-shadow: var(--shadow-md);
  }
  
  /* Hide hamburger when menu is open */
  .nav-menu.active ~ .nav-toggle {
    display: none !important;
    visibility: hidden !important;
  }
  
  /* Alternative method - hide toggle when body has active menu class */
  body:has(.nav-menu.active) .nav-toggle {
    display: none !important;
    visibility: hidden !important;
  }
  
  .nav-menu-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-gray-800);
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }
  
  .nav-menu-close {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
    color: var(--color-gray-600);
    transition: color 0.2s ease;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .nav-menu-close:hover {
    color: var(--color-gray-800);
  }
  
  .nav-menu-close svg {
    width: 24px;
    height: 24px;
    stroke-width: 2.5;
  }
  /* Navigation items */
  .nav-menu li {
    margin: 0;
    position: relative;
    list-style: none;
  }
  
  .nav-menu a {
    display: block;
    padding: var(--space-3) var(--space-4);
    font-size: 1rem;
    font-weight: 500;
    color: var(--color-gray-700);
    text-decoration: none;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
    background: transparent;
  }
  
  .nav-menu a:hover,
  .nav-menu a:focus {
    color: var(--color-gray-900);
    background: var(--color-gray-50);
  }
  
  .nav-menu a.active {
    color: var(--color-primary);
    font-weight: 600;
    border-left-color: var(--color-primary);
    background: transparent;
  }
  
  /* Divider after last nav item */
  .nav-menu li:last-of-type {
    border-bottom: 1px solid #e5e7eb;
  }
  
  /* Navigation spacer to push CTA to bottom */
  .nav-menu-spacer {
    flex: 1;
  }
  
  /* Pinned CTA at bottom */
  .nav-menu-cta {
    margin-top: auto;
    padding: var(--space-4);
    border-top: 1px solid #e5e7eb;
    background: var(--color-white);
  }
  
  .nav-menu-cta .btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3) var(--space-5);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: all var(--transition-fast);
    box-shadow: var(--shadow-sm);
  }
  
  .nav-menu-cta .btn:hover {
    background: var(--color-primary-dark);
    box-shadow: var(--shadow-md);
  }
  
  /* Hide hamburger when menu is open */
  .nav-menu.active ~ .nav-toggle {
    display: none !important;
    visibility: hidden !important;
  }
  .nav-menu li {
    margin: 0;
    position: relative;
    list-style: none;
  }
  
  .nav-menu a {
    display: block;
    padding: var(--space-3) var(--space-4);
    font-size: 1rem;
    font-weight: 500;
    color: var(--color-gray-700);
    text-decoration: none;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
    background: transparent;
  }
  
  .nav-menu a:hover,
  .nav-menu a:focus {
    color: var(--color-gray-900);
    background: var(--color-gray-50);
  }
  
  .nav-menu a.active {
    color: var(--color-primary);
    font-weight: 600;
    border-left-color: var(--color-primary);
    background: transparent;
  }
  
  /* Divider after last nav item */
  .nav-menu li:last-of-type {
    border-bottom: 1px solid #e5e7eb;
  }
  
  /* Navigation spacer to push CTA to bottom */
  .nav-menu-spacer {
    flex: 1;
  }
  
  /* Pinned CTA at bottom */
  .nav-menu-cta {
    margin-top: auto;
    padding: var(--space-4);
    border-top: 1px solid #e5e7eb;
    background: var(--color-white);
  }
  
  .nav-menu-cta .btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3) var(--space-5);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: all var(--transition-fast);
    box-shadow: var(--shadow-sm);
  }
  
  .nav-menu-cta .btn:hover {
    background: var(--color-primary-dark);
    box-shadow: var(--shadow-md);
  }
  
  /* Hide hamburger when menu is open */
  .nav-menu.active ~ .nav-toggle {
    display: none !important;
    visibility: hidden !important;
  }
  
  /* Alternative method - hide toggle when body has active menu class */
  body:has(.nav-menu.active) .nav-toggle {
    display: none !important;
    visibility: hidden !important;
  }
}

/* ============================================
   BUTTONS
   ============================================ */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-3) var(--space-6);
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  line-height: 1;
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  transition: all var(--transition-base);
  text-decoration: none;
  font-family: var(--font-sans);
}

.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.btn-primary:hover {
  background-color: var(--color-primary-dark);
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  color: var(--color-white);
}

.btn-secondary {
  background-color: var(--color-white);
  color: var(--color-gray-700);
  border: 2px solid var(--color-gray-300);
}

.btn-secondary:hover {
  background-color: var(--color-gray-100);
  border-color: var(--color-gray-400);
  color: var(--color-gray-900);
}

.btn-lg {
  padding: var(--space-4) var(--space-8);
  font-size: var(--text-lg);
}

.btn-sm {
  padding: var(--space-3) var(--space-5);
  font-size: var(--text-base);
}

/* ============================================
   HERO SECTION
   ============================================ */

.hero {
  background-color: var(--color-gray-50);
  text-align: center;
  padding: var(--space-responsive-xl) 0;
  border-bottom: 1px solid var(--color-primary);
  min-height: 60vh;
  display: flex;
  align-items: center;
}

/* Hero responsive adjustments */
@media (max-width: 768px) {
  .hero {
    min-height: 50vh;
    padding: var(--space-responsive-lg) 0;
  }
}

@media (max-width: 480px) {
  .hero {
    min-height: 40vh;
    padding: var(--space-responsive-md) 0;
  }
}

.hero h1 {
  margin-bottom: var(--space-6);
  animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-subtitle {
  font-size: var(--text-lg);
  color: var(--color-gray-600);
  max-width: 700px;
  margin: 0 auto var(--space-8);
  line-height: var(--leading-relaxed);
}

/* Chart wrapper. Let Chart.js own height via aspectRatio */
/* Chart wrapper with real height for all breakpoints */
.chart-wrap {
  position: relative;
  width: 100%;
  min-height: 420px;
  margin-bottom: 1.5rem;
  padding: 0 !important;
}

#historicalChart {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

@media (max-width: 1024px) {
  .chart-wrap { min-height: 360px; }
}

@media (max-width: 768px) {
  .chart-wrap { min-height: 300px; }
}

@media (max-width: 420px) {
  .chart-wrap { min-height: 260px; }
}
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--space-4);
  transition: box-shadow var(--transition-base);
  height: 100%;
}

.card:hover {
  box-shadow: var(--shadow-lg);
}

/* Evidence Cards */
.evidence-card {
  background-color: var(--color-white);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  text-align: center;
  transition: all var(--transition-base);
}

.evidence-card:hover {
  border-color: var(--color-primary-light);
  box-shadow: var(--shadow-lg);
}

.evidence-card-stat {
  font-size: var(--text-5xl);
  font-weight: var(--font-bold);
  color: var(--color-primary);
  display: block;
  margin-bottom: var(--space-3);
  line-height: 1;
}

.evidence-card-title {
  font-size: var(--text-xl);
  font-weight: var(--font-semibold);
  color: var(--color-gray-900);
  margin-bottom: var(--space-3);
}

.evidence-card p {
  color: var(--color-gray-600);
  margin-bottom: var(--space-4);
}





/* ============================================
   STATISTICS ROW
   ============================================ */

.stats-row {
  text-align: center;
}

.stat-item {
  padding: var(--space-6);
}

.stat-number {
  font-size: var(--text-5xl);
  font-weight: var(--font-bold);
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: var(--space-3);
}

.stat-label {
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  color: var(--color-gray-900);
  margin-bottom: var(--space-2);
}

.stat-context {
  font-size: var(--text-base);
  color: var(--color-gray-600);
  margin: 0;
}

/* ── SPI Data Section ── */

.spi-chart-wrap {
    position: relative;
    width: 100%;
    height: 330px;
}

.spi-chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

.spi-stat-grid {
    display: flex;
    flex-direction: row;
    gap: 12px;
}

.spi-stat-card {
    flex: 1;
    background: #fff;
    border-radius: 10px;
    border-top: 3px solid;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    padding: 14px 10px;
    text-align: center;
}

.spi-stat-value {
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
}

.spi-stat-label {
    font-family: system-ui, sans-serif;
    font-size: 11px;
    color: #1e1e1e;
    font-weight: 600;
    margin-top: 4px;
}

.spi-stat-sub {
    font-family: system-ui, sans-serif;
    font-size: 10px;
    color: #5c5752;
    margin-top: 2px;
}

/* ── SPI Mobile ── */
@media (max-width: 580px) {
    .spi-chart-card {
        padding: 16px 6px 10px !important;
    }

    .spi-chart-card > div > div:first-child {
        font-size: 9.5px !important;
        padding-right: 4px !important;
    }

    .spi-chart-wrap {
        height: 240px;
    }

    .spi-legend {
        gap: 18px !important;
    }

    .spi-legend span {
        font-size: 11px !important;
    }

    /* Stat cards: stack vertically, each card becomes a horizontal row */
    .spi-stat-grid {
        flex-direction: column;
        gap: 8px;
    }

    .spi-stat-card {
        flex: none;
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 12px 14px;
        text-align: left;
    }

    .spi-stat-value {
        flex-shrink: 0;
        min-width: 72px;
        font-size: 26px;
        text-align: center;
    }

    .spi-stat-label {
        margin-top: 0;
        font-size: 11px;
    }

    .spi-stat-sub {
        font-size: 10px;
    }
}

@media (max-width: 880px) and (min-width: 581px) {
    .spi-chart-wrap {
        height: 290px;
    }
}

/* ============================================
   FOOTER
   ============================================ */

.footer {
  background: linear-gradient(135deg, #2B2420 0%, #1F1B18 100%);
  color: #E7DFD6;
  border-top: 2px solid rgba(107, 29, 29, 0.3);
  position: relative;
}

.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
}

.footer-inner {
  max-width: 1040px;
  margin: 0 auto;
  padding: 56px 24px 28px;
  position: relative;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 56px;
}

.footer-col h3 {
  color: #F8F3EC;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 16px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-size: 14px;
  position: relative;
  padding-bottom: 8px;
}

.footer-col h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: var(--color-primary);
}

.footer-col p {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.6;
  color: #D4CCC0;
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col li {
  margin: 0 0 8px;
}

.footer-col a {
  color: #C4BAA8;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.8;
  transition: all var(--transition-fast);
  display: inline-block;
  position: relative;
}

.footer-col a:hover {
  color: #FFFFFF;
  text-decoration: none;
  transform: translateX(4px);
}

.footer-col a:hover::before {
  content: '→';
  position: absolute;
  left: -16px;
  color: var(--color-primary);
  font-weight: bold;
}

.footer-col a:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
  border-radius: 6px;
}

.footer-accent {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: all var(--transition-fast);
  display: inline-block;
  padding: 2px 4px;
  border-radius: 4px;
}

.footer-accent:hover {
  color: var(--color-primary-light);
  background-color: rgba(107, 29, 29, 0.1);
  border-bottom-color: var(--color-primary);
  transform: translateY(-1px);
}

.footer-email {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid var(--color-primary);
  transition: all var(--transition-fast);
  display: inline-block;
  padding: 4px 8px;
  border-radius: 6px;
  background: linear-gradient(135deg, rgba(107, 29, 29, 0.05), rgba(107, 29, 29, 0.1));
  box-shadow: 0 2px 4px rgba(107, 29, 29, 0.1);
}

.footer-email:hover {
  color: var(--color-white);
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  border-bottom-color: var(--color-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(107, 29, 29, 0.2);
}

.footer-bottom {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(107, 29, 29, 0.2);
  color: #A89682;
  font-size: 14px;
  text-align: center;
  position: relative;
}

.footer-bottom::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--color-primary);
}

/* Tablet */
@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}

/* Mobile */
@media (max-width: 560px) {
  body:not(.books-page) .footer-inner {
    padding: 48px 18px 24px;
  }
  body:not(.books-page) .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  body:not(.books-page) .footer-bottom {
    font-size: 13px;
    line-height: 1.5;
  }
}

/* ============================================
   FORMS
   ============================================ */

.form-group {
  margin-bottom: var(--space-5);
}

.form-label {
  display: block;
  font-weight: var(--font-medium);
  color: var(--color-gray-900);
  margin-bottom: var(--space-2);
}

.form-input,
.form-textarea,
.form-select {
  width: 100%;
  padding: var(--space-3);
  font-size: var(--text-base);
  font-family: var(--font-sans);
  color: var(--color-gray-900);
  background-color: var(--color-white);
  border: 2px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  transition: border-color var(--transition-fast);
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  outline: none;
  border-color: var(--color-primary);
}

.form-textarea {
  min-height: 150px;
  resize: vertical;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */



/* ============================================
   ACCESSIBILITY
   ============================================ */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

*:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
  body {
    font-size: 12pt;
    color: #000;
    background: #fff;
  }
  
  .nav, .btn, .footer {
    display: none;
  }
  
  a[href]:after {
    content: " (" attr(href) ")";
  }
}

/* ============================================
   FAQ COMPONENT STYLES
   ============================================ */

.faq-item {
  margin-bottom: var(--space-4);
  border: 1px solid var(--color-gray-200);
  border-radius: 8px;
  background: var(--color-white);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
  overflow: hidden;
  transition: all 0.2s ease;
}

.faq-item:hover {
  border-color: var(--color-gray-300);
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}

.faq-item.active {
  border-color: var(--color-primary);
  box-shadow: 0 4px 6px -1px rgb(139 26 26 / 0.1);
}

.faq-question {
  width: 100%;
  text-align: left;
  padding: var(--space-6);
  background: transparent;
  border: none;
  font: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  font-size: var(--text-lg);
  font-weight: var(--font-medium);
  color: var(--color-gray-900);
  transition: all 0.2s ease;
}

.faq-question:hover {
  background: var(--color-gray-50);
  color: var(--color-primary);
}

.faq-question[aria-expanded="true"] {
  background: var(--color-gray-50);
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-gray-200);
}

.faq-question span {
  flex: 1;
}

.faq-icon {
  flex-shrink: 0;
  color: var(--color-gray-400);
  transition: transform 0.3s ease, color 0.2s ease;
}

.faq-question:hover .faq-icon,
.faq-question[aria-expanded="true"] .faq-icon {
  color: var(--color-primary);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-content {
  padding: 0 var(--space-6) var(--space-6);
  color: var(--color-gray-700);
  line-height: var(--leading-relaxed);
}

.faq-content strong {
  color: var(--color-gray-900);
  font-weight: var(--font-semibold);
}

.faq-content ul {
  list-style: none;
  padding: 0;
}

.faq-content ul li {
  position: relative;
  padding-left: var(--space-6);
  margin-bottom: var(--space-2);
}

.faq-content ul li:before {
  content: "•";
  position: absolute;
  left: var(--space-3);
  color: var(--color-primary);
  font-weight: bold;
}

.faq-content a {
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-bottom-color 0.2s ease;
}

.faq-content a:hover {
  border-bottom-color: var(--color-primary);
}

/* Responsive FAQ styles */
@media (max-width: 768px) {
  .faq-question {
    padding: var(--space-4);
    font-size: var(--text-base);
    min-height: 48px;
    align-items: center;
  }
  
  .faq-content {
    padding: 0 var(--space-4) var(--space-4);
  }
  
  /* FAQ mobile optimization for mission page */
  .faq-item {
    margin: 0 0.5rem 1rem 0.5rem;
  }
}

/* FAQ small mobile optimization */
@media (max-width: 480px) {
  .faq-question {
    padding: 1rem;
    font-size: 0.95rem;
    line-height: 1.4;
  }
  
  .faq-content {
    padding: 0 1rem 1rem;
    font-size: 0.9rem;
  }
  
  .faq-item {
    margin: 0 0.25rem 0.75rem 0.25rem;
  }
  
  .faq-content ul {
    padding-left: 1.25rem;
  }
  
  .faq-content ul li {
    padding-left: 1rem;
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
  }
}

/* Scroll to Top Button */
.scroll-to-top {
  position: fixed;
  right: 24px;
  bottom: 120px;
  width: 60px;
  height: 60px;
  background: var(--color-primary);
  color: var(--color-white);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 22px;
  font-weight: 700;
  box-shadow: 
    0 4px 12px rgba(107, 29, 29, 0.2),
    0 2px 6px rgba(0, 0, 0, 0.1);
  transition: all var(--transition-base);
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
  transform: translateY(10px) scale(0.9);
}

.scroll-to-top svg,
.scroll-to-top img {
  display: block;
  width: 22px;
  height: 22px;
}

.scroll-to-top.visible {
  opacity: 0.85;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.scroll-to-top:hover {
  opacity: 1;
  transform: translateY(-2px) scale(1.02);
  box-shadow: 
    0 6px 16px rgba(107, 29, 29, 0.25),
    0 4px 8px rgba(0, 0, 0, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
}

.scroll-to-top:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 
    0 2px 8px rgba(107, 29, 29, 0.2),
    0 1px 4px rgba(0, 0, 0, 0.1);
  border-radius: 50%; /* Ensure circular shape is maintained */
}

.scroll-to-top:focus {
  outline: none;
  border-radius: 50%;
}

.scroll-to-top:focus-visible {
  outline: 2px solid rgba(107, 29, 29, 0.4);
  outline-offset: 3px;
  border-radius: 50%;
}

/* Arrow centering and animation */
.scroll-to-top::after {
  content: '↑';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  transition: transform var(--transition-fast);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  margin-top: -1px; /* Fine-tune vertical centering */
}

.scroll-to-top:hover::after {
  transform: translate(-50%, -50%) scale(1.05);
}

@media (max-width: 768px) {
  .scroll-to-top {
    bottom: 100px;
    right: 20px;
    width: 52px;
    height: 52px;
    font-size: 20px;
  }

  .scroll-to-top::after {
    font-size: 20px;
  }

  .scroll-to-top:hover {
    transform: translateY(-1px) scale(1.01);
  }

  .scroll-to-top:active {
    border-radius: 50%;
  }

  body.nav-open .scroll-to-top {
    display: none !important;
  }
}

/* Take Action section wrapper */
#take-action {
  padding-top: 48px;
}

/* If a divider/bar sits above and adds margin */
#take-action .section-header {
  margin-top: 0;
}

/* If the bar above is a separate element */
.take-action-divider {
  margin-bottom: 16px;
}

/* Mission page Get Involved section */
#mission-get-involved {
  padding-top: 56px;
}

#mission-get-involved .section-header {
  margin-top: 0;
  margin-bottom: 24px;
}

/* Hide step labels completely */
#take-action .step-label,
#take-action .card-eyebrow,
#take-action .kicker {
  display: none;
}

/* ============================================
   MOBILE OPTIMIZATION
   ============================================ */

/* Override inline styles for mobile to reduce excessive vertical spacing */
@media (max-width: 768px) {
  /* Force reduced section padding even with inline styles */
  section[style*="padding"] {
    padding: var(--space-8) 0 !important;
  }
  
  .section[style*="padding"] {
    padding: var(--space-8) 0 !important;
  }
}

/* ============================================
   MISSION PAGE MOBILE OPTIMIZATION
   ============================================ */

/* Mission page hero optimizations */
@media (max-width: 768px) {
  /* Hero section mobile optimization */
  .hero[style*="min-height: 420px"] {
    min-height: auto !important;
    padding: 2.5rem 0 !important;
  }
  
  /* Mission page hero title responsiveness */
  .hero h1[style*="clamp"] {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    line-height: 1.2 !important;
  }
  
  /* Core mission statement card mobile padding */
  div[style*="padding: 3rem"] {
    padding: 2rem 1.5rem !important;
    border-radius: 16px !important;
  }
  
  /* Map section mobile optimization */
  .map-layout {
    flex-direction: column !important;
    gap: 2rem !important;
    align-items: stretch !important;
  }
  
  .map-text {
    text-align: center !important;
    flex: none !important;
    min-width: auto !important;
  }
  
  .map-container {
    flex: none !important;
    min-width: auto !important;
    max-width: 100% !important;
    order: 2;
  }
  
  .map-wrapper {
    margin: 0 auto !important;
    max-width: 500px !important;
  }
  
  /* Map iframe mobile sizing */
  #datawrapper-chart-HCWOE {
    height: 440px !important;
    max-width: 100% !important;
    min-height: 380px !important;
  }
  
  /* Chart containers mobile optimization */
  div[style*="padding: 2.5rem"][style*="max-width: 1000px"] {
    padding: 1.5rem !important;
    margin: 0 1rem 2rem 1rem !important;
  }
  
  /* Chart height mobile adjustment */
  div[style*="height: 450px"] {
    height: 300px !important;
  }
  
  div[style*="height: 320px"] {
    height: 260px !important;
  }
}

/* Small mobile screens optimization */
@media (max-width: 480px) {
  /* Further reduce hero padding */
  .hero[style*="min-height: 420px"] {
    padding: 2rem 0 !important;
  }
  
  /* Reduce core mission card padding more */
  div[style*="padding: 3rem"] {
    padding: 1.5rem 1rem !important;
  }
  
  /* Smaller chart containers */
  div[style*="padding: 2.5rem"][style*="max-width: 1000px"] {
    padding: 1rem !important;
    margin: 0 0.5rem 1.5rem 0.5rem !important;
  }
  
  /* Reduce chart heights further */
  div[style*="height: 450px"] {
    height: 250px !important;
  }
  
  div[style*="height: 320px"] {
    height: 220px !important;
  }
  
  /* Mobile iframe optimization */
  #datawrapper-chart-HCWOE {
    height: 420px !important;
    min-height: 360px !important;
  }
  
  .map-wrapper {
    max-width: 100% !important;
  }
}

/* Reduced vertical spacing for mobile to prevent excessive scrolling */
@media (max-width: 768px) {
  /* Reduce section padding on mobile */
  section {
    padding: var(--space-12) 0;
  }
  
  .hero {
    padding: var(--space-8) 0;
  }
  
  /* Reduce margins between elements */
  h1, h2, h3, h4, h5, h6 {
    margin-bottom: calc(var(--space-4) * 0.75);
  }
  
  p {
    margin-bottom: calc(var(--space-4) * 0.75);
  }
  
  /* Reduce card spacing */
  .card {
    padding: var(--space-4);
    margin-bottom: var(--space-4);
  }
  
  /* Compact grid gaps */
  .grid {
    gap: var(--space-4);
  }
  
  /* Reduce hero content spacing */
  .hero-content {
    gap: var(--space-4);
  }
  
  /* Compact form spacing */
  .form-group {
    margin-bottom: var(--space-4);
  }
  
  /* Reduce CTA button spacing */
  .hero-cta {
    gap: var(--space-3);
    margin-top: var(--space-6);
  }
  
  /* Compact navigation for mobile */
  .nav {
    padding: var(--space-3) 0;
  }
  
  .nav-menu {
    gap: var(--space-3);
    padding: var(--space-3);
  }
  
  /* Override card padding in process steps */
  div[style*="padding: 2rem"] {
    padding: 1.5rem !important;
  }
}

/* Additional mobile-specific optimizations */
@media (max-width: 640px) {
  /* Further reduce spacing on smaller screens */
  section {
    padding: var(--space-8) 0;
  }
  
  section[style*="padding"] {
    padding: var(--space-6) 0 !important;
  }
  
  .section[style*="padding"] {
    padding: var(--space-6) 0 !important;
  }
  
  .hero {
    padding: var(--space-6) 0;
  }
  
  /* Optimize text sizing for readability */
  .hero-title {
    font-size: var(--text-3xl);
    line-height: 1.2;
  }
  
  .hero-description {
    font-size: var(--text-lg);
  }
  
  /* Compact buttons */
  .btn {
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-sm);
  }
  
  /* Reduce card padding further */
  .card {
    padding: var(--space-3);
  }
  
  div[style*="padding: 2rem"] {
    padding: 1rem !important;
  }
  
  /* Compact evidence cards */
  .evidence-card {
    padding: var(--space-4);
  }
  
  .evidence-card-stat {
    font-size: var(--text-4xl);
    margin-bottom: var(--space-2);
  }
  
  /* Override large font sizes on mobile */
  h2[style*="font-size: 48px"] {
    font-size: var(--text-3xl) !important;
  }
}

/* Mission page statistics grid mobile optimization */
@media (max-width: 768px) {
  /* Statistics grid - stack to 1 column on tablets */
  div[style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 14px"] {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    max-width: 400px !important;
    margin: 0 auto 1.75rem !important;
  }
  
  /* Statistics cards mobile padding */
  div[style*="padding: 18px 14px"] {
    padding: 1.25rem 1rem !important;
    margin: 0 1rem !important;
  }
  
  /* Activity cards mobile optimization */
  div[style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 2.5rem"] {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  
  /* Evidence cards mobile layout */
  div[style*="grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))"] {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
}

@media (max-width: 480px) {
  /* Further optimize statistics cards for small screens */
  div[style*="padding: 18px 14px"] {
    padding: 1rem 0.75rem !important;
    margin: 0 0.5rem !important;
  }
  
  /* Reduce large statistics font size on mobile */
  div[style*="font-size: 2.3rem"] {
    font-size: 1.8rem !important;
    line-height: 1.1 !important;
  }
  
  /* Optimize smaller text in statistics */
  div[style*="font-size: 0.85rem"] {
    font-size: 0.8rem !important;
  }
  
  div[style*="font-size: 0.75rem"] {
    font-size: 0.7rem !important;
  }
}

/* ============================================
   MOBILE TOUCH OPTIMIZATION
   ============================================ */

/* Improved touch targets for all interactive elements */
@media (max-width: 768px) {
  /* Minimum 44px touch targets (iOS/Android guidelines) */
  button,
  .btn,
  a.btn,
  input[type="submit"],
  input[type="button"],
  .nav-menu a,
  .faq-question {
    min-height: 44px;
    min-width: 44px;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-lg);
    transition: all 0.2s ease;
  }
  
  /* Enhanced button states for touch */
  button:active,
  .btn:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
  }
  
  /* Improved form inputs for mobile */
  input,
  textarea,
  select {
    font-size: 16px; /* Prevents zoom on iOS */
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    border: 2px solid var(--color-gray-300);
    transition: all 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  
  input:focus,
  textarea:focus,
  select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(122, 40, 40, 0.1);
    outline: none;
  }
  
  /* Better link spacing and targets */
  a:not(.btn) {
    padding: var(--space-1) 0;
    margin: var(--space-1) 0;
    display: inline-block;
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
  }
  
  /* Improved scroll behavior */
  * {
    -webkit-overflow-scrolling: touch;
  }
  
  /* Better visual feedback */
  .card:active {
    transform: scale(0.99);
    transition: transform 0.1s ease;
  }
}

/* ============================================
   RESPONSIVE IMAGES AND MEDIA
   ============================================ */

img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

/* Responsive image containers */
.image-responsive {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.image-responsive img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.image-responsive:hover img {
  transform: scale(1.05);
}

/* Media queries for different image sizes */
@media (max-width: 480px) {
  .hero img,
  .card img {
    border-radius: var(--radius-md);
  }
  
  .evidence-card img {
    max-width: 80px;
    margin: 0 auto var(--space-3);
  }
}

/* Landscape mobile optimization */
@media (max-width: 900px) and (orientation: landscape) {
  .hero {
    padding: var(--space-4) 0;
  }
  
  section {
    padding: var(--space-6) 0;
  }
  
  section[style*="padding"] {
    padding: var(--space-6) 0 !important;
  }
}

/* ============================================
   ENHANCED MOBILE OPTIMIZATION
   ============================================ */

/* Improved hero section for mobile */
@media (max-width: 768px) {
  .hero {
    min-height: auto !important;
    padding: 2rem 0 !important;
  }
  
  .hero h1 {
    font-size: clamp(1.75rem, 7vw, 2.5rem) !important;
    margin-bottom: 1rem !important;
  }
  
  .hero p {
    font-size: clamp(1rem, 4vw, 1.2rem) !important;
  }
  
  .counter-478 {
    font-size: clamp(2.5rem, 12vw, 4rem) !important;
  }
  
  div[style*="padding: 2rem"] {
    padding: 1.5rem 1rem !important;
  }
  
  .hero-petition-btn {
    font-size: 1rem !important;
    padding: 12px 24px !important;
  }
  
  /* Mission page action cards mobile optimization */
  .mission-action-container div[style*="grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))"] {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    max-width: 500px !important;
    margin: 0 auto !important;
  }
  
  /* Mission action card mobile styling */
  .mission-action-card {
    padding: 1.5rem !important;
    min-height: auto !important;
  }
  
  /* Mission action buttons mobile optimization */
  .mission-action-card a[style*="padding: 14px 24px"] {
    padding: 12px 20px !important;
    font-size: 0.95rem !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Mission page small mobile optimization */
@media (max-width: 480px) {
  /* Further optimize action cards */
  .mission-action-card {
    padding: 1.25rem !important;
    margin: 0 0.5rem !important;
  }
  
  .mission-action-card h3 {
    font-size: 1.2rem !important;
  }
  
  .mission-action-card p {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }
  
  /* Optimize action buttons for small screens */
  .mission-action-card a[style*="padding: 14px 24px"] {
    padding: 12px 16px !important;
    font-size: 0.9rem !important;
    border-radius: 8px !important;
  }
}

/* Better mobile cards */
@media (max-width: 640px) {
  .mechanism-card,
  .data-card,
  .action-card {
    padding: 1.25rem !important;
    margin-bottom: 1rem;
  }
  
  .mechanism-card h3,
  .data-card h3,
  .action-card h3 {
    font-size: 1.1rem !important;
  }
  
  .mechanism-card p,
  .data-card p,
  .action-card p {
    font-size: 0.95rem !important;
  }
  
  /* Numbered circles in cards */
  .mechanism-card div[style*="width: 72px"],
  .data-card div[style*="width: 72px"] {
    width: 56px !important;
    height: 56px !important;
    font-size: 1.5rem !important;
  }
  
  /* Mission page specific chart container mobile optimization */
  div[style*="background: white"][style*="padding: 26px 22px"] {
    padding: 1.25rem 1rem !important;
    margin: 0 0.5rem 1.5rem 0.5rem !important;
  }
  
  /* Chart statistics grid mobile */
  div[style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 14px"][style*="padding-top: 18px"] {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    padding-top: 1rem !important;
  }
  
  /* Chart statistics text mobile */
  div[style*="font-size: 1.5rem"][style*="font-weight: 700"] {
    font-size: 1.3rem !important;
  }
  
  div[style*="font-size: 0.75rem"] {
    font-size: 0.7rem !important;
    line-height: 1.2 !important;
  }
}

/* Optimize action buttons for mobile */
@media (max-width: 768px) {
  .action-btn,
  .action-btn-primary,
  .action-btn-blue,
  .action-btn-green {
    font-size: 0.95rem !important;
    padding: 0.85rem 1.25rem !important;
  }
  
  /* Mission page explanation cards mobile */
  div[style*="padding: 30px 26px"][style*="border-left: 5px solid"] {
    padding: 1.5rem 1.25rem !important;
    margin: 0 0.5rem 1.25rem 0.5rem !important;
    border-left-width: 3px !important;
  }
  
  /* Mission page highlighted boxes mobile */
  div[style*="background: #fff9f0"][style*="padding: 18px"] {
    padding: 1rem !important;
    margin: 1rem 0 !important;
    border-radius: 6px !important;
  }
  
  /* Mission page source bars mobile */
  div[style*="background: linear-gradient(to right, #6b1f1f"][style*="padding: 18px 26px"] {
    padding: 1rem 1.25rem !important;
    font-size: 0.8rem !important;
    border-radius: 8px !important;
    text-align: left !important;
  }
  
  /* Mission page section headers mobile */
  h2[style*="font-size: 2.4rem"] {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
  }
  
  h2[style*="font-size: 2.2rem"] {
    font-size: clamp(1.4rem, 5.5vw, 1.8rem) !important;
  }
  
  h3[style*="font-size: 1.3rem"] {
    font-size: 1.15rem !important;
  }
}

@media (max-width: 480px) {
  /* Further optimize explanation cards */
  div[style*="padding: 30px 26px"][style*="border-left: 5px solid"] {
    padding: 1.25rem 1rem !important;
    margin: 0 0.25rem 1rem 0.25rem !important;
  }
  
  /* Further optimize source bars */
  div[style*="background: linear-gradient(to right, #6b1f1f"][style*="padding: 18px 26px"] {
    padding: 0.875rem 1rem !important;
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
  }
  
  /* Mission page typography further optimization */
  h2[style*="font-size: 2.4rem"] {
    font-size: clamp(1.35rem, 5.5vw, 1.75rem) !important;
    line-height: 1.25 !important;
  }
  
  h2[style*="font-size: 2.2rem"] {
    font-size: clamp(1.25rem, 5vw, 1.6rem) !important;
    line-height: 1.25 !important;
  }
}

/* Better section spacing on mobile */
@media (max-width: 640px) {
  section[style*="padding"] {
    padding: 2rem 0 !important;
  }
  
  h2 {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
    margin-bottom: 0.75rem !important;
  }
  
  .section-bg {
    padding: 2rem 0 !important;
  }
  
  /* Mission page specific section optimizations */
  section[style*="padding: 60px 0"] {
    padding: 2.5rem 0 !important;
  }
  
  section[style*="padding: 45px 0"] {
    padding: 2rem 0 !important;
  }
  
  section[style*="padding: 40px 0"] {
    padding: 1.75rem 0 !important;
  }
  
  /* Mission page divider mobile spacing */
  div[style*="height: 1px"][style*="margin: 20px 0"] {
    margin: 1rem 0 !important;
  }
  
  /* Mission page header spacing mobile */
  div[style*="margin-bottom: 3rem"] {
    margin-bottom: 2rem !important;
  }
  
  div[style*="margin-bottom: 2.25rem"] {
    margin-bottom: 1.5rem !important;
  }
  
  /* Mission page card spacing mobile */
  div[style*="margin-bottom: 2rem"] {
    margin-bottom: 1.5rem !important;
  }
}

/* Improved touch targets */
@media (max-width: 768px) {
  a,
  button {
    min-height: 44px;
    min-width: 44px;
  }
  
  .btn {
    padding: 0.85rem 1.5rem !important;
    font-size: 1rem !important;
    min-height: 48px;
    border-radius: 8px;
  }
  
  /* Mission page CTA buttons mobile optimization */
  a[style*="padding: 16px 32px"] {
    padding: 12px 24px !important;
    font-size: 1rem !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 10px !important;
  }
  
  /* Mission page link buttons mobile */
  a[style*="padding: 14px 24px"] {
    padding: 12px 20px !important;
    font-size: 0.95rem !important;
    min-height: 48px !important;
    border-radius: 8px !important;
  }
}

/* Mission page small mobile final touches */
@media (max-width: 480px) {
  /* Further optimize CTA buttons */
  a[style*="padding: 16px 32px"] {
    padding: 10px 20px !important;
    font-size: 0.95rem !important;
  }
  
  a[style*="padding: 14px 24px"] {
    padding: 10px 16px !important;
    font-size: 0.9rem !important;
  }
  
  /* Mission page container mobile margins */
  div[style*="max-width: 1200px"],
  div[style*="max-width: 1000px"],
  div[style*="max-width: 900px"] {
    margin: 0 0.5rem !important;
  }
}

/* ============================================
   ABOUT PAGE MOBILE OPTIMIZATION
   ============================================ */

/* About page hero section mobile optimization */
@media (max-width: 768px) {
  /* About page hero specific adjustments */
  .hero img[alt="Dr. Larry S. Milner"] {
    width: 180px !important;
    height: auto !important;
    margin: 0 auto 1.5rem !important;
  }
  
  /* Hero subtitle mobile optimization */
  .hero-subtitle p[style*="font-size: 1.4rem"] {
    font-size: 1.15rem !important;
    line-height: 1.4 !important;
  }
  
  .hero-subtitle p[style*="font-size: 1.2rem"] {
    font-size: 1rem !important;
    margin: 0.5rem 0 0 0 !important;
  }
  
  /* Statistics grid mobile - force to 2x2 on tablets */
  .grid-4.stats-row[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
    max-width: 500px !important;
  }
  
  /* Statistics items mobile padding */
  .stat-item[style*="padding: 1.5rem 1rem"] {
    padding: 1.25rem 0.75rem !important;
  }
  
  /* Statistics numbers mobile sizing */
  .stat-number[style*="font-size: 2.2rem"] {
    font-size: 1.8rem !important;
  }
  
  .stat-context[style*="font-size: 0.8rem"] {
    font-size: 0.75rem !important;
  }
}

@media (max-width: 480px) {
  /* About hero further mobile optimization */
  .hero img[alt="Dr. Larry S. Milner"] {
    width: 160px !important;
  }
  
  /* Stack statistics to single column on small mobile */
  .grid-4.stats-row[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    max-width: 320px !important;
  }
  
  .stat-item[style*="padding: 1.5rem 1rem"] {
    padding: 1rem 0.75rem !important;
  }
  
  .stat-number[style*="font-size: 2.2rem"] {
    font-size: 1.6rem !important;
  }
}

/* Fix footer on mobile */
@media (max-width: 640px) {
  .footer {
    padding: 2rem 0 !important;
  }
  
  .footer p,
  .footer a {
    font-size: 0.9rem !important;
  }
}

/* ============================================
   CSS HOVER EFFECTS FOR INLINE ELEMENTS
   ============================================ */

/* CSS hover effects to replace inline event handlers */
.hero-petition-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(107,29,29,0.4);
}

.mechanism-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(107,29,29,0.12);
}

.action-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 40px rgba(107,29,29,0.15);
}

.action-btn:hover {
  transform: scale(1.02);
}

.action-btn-primary:hover {
  box-shadow: 0 6px 20px rgba(107,29,29,0.4);
}

.action-btn-blue:hover {
  box-shadow: 0 6px 20px rgba(37,99,235,0.4);
}

.action-btn-green:hover {
  box-shadow: 0 6px 20px rgba(16,185,129,0.4);
}

/* ============================================
   ABOUT PAGE MOBILE OPTIMIZATION
   ============================================ */

/* About page hero section mobile optimization */
@media (max-width: 768px) {
  /* About page hero specific adjustments */
  .hero img[alt="Dr. Larry S. Milner"] {
    width: 180px !important;
    height: auto !important;
    margin: 0 auto 1.5rem !important;
  }
  
  /* Hero subtitle mobile optimization */
  .hero-subtitle p[style*="font-size: 1.4rem"] {
    font-size: 1.15rem !important;
    line-height: 1.4 !important;
  }
  
  .hero-subtitle p[style*="font-size: 1.2rem"] {
    font-size: 1rem !important;
    margin: 0.5rem 0 0 0 !important;
  }
  
  /* Statistics grid mobile - force to 2x2 on tablets */
  .grid-4.stats-row[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
    max-width: 500px !important;
  }
  
  /* Statistics items mobile padding */
  .stat-item[style*="padding: 1.5rem 1rem"] {
    padding: 1.25rem 0.75rem !important;
  }
  
  /* Statistics numbers mobile sizing */
  .stat-number[style*="font-size: 2.2rem"] {
    font-size: 1.8rem !important;
  }
  
  .stat-context[style*="font-size: 0.8rem"] {
    font-size: 0.75rem !important;
  }

  /* About page credential cards mobile optimization moved to 480px breakpoint only */

  /* About page books section mobile optimization moved to 480px breakpoint only */

  /* Professional recognition section mobile optimization */
  /* Recognition section title mobile */
  h2[style*="font-size: 48px"] {
    font-size: clamp(1.75rem, 6vw, 2.25rem) !important;
    margin-bottom: 0.75rem !important;
  }
  
  /* Recognition section subtitle mobile */
  p[style*="font-size: 18px"] {
    font-size: 1rem !important;
    margin-bottom: 1.5rem !important;
  }
  
  /* Recognition card mobile */
  .recognition-card[style*="padding: 3rem"] {
    padding: 2rem 1.5rem !important;
    margin: 0 0.5rem 2rem 0.5rem !important;
  }
  
  /* Recognition card grid mobile - stack vertically */
  .recognition-card div[style*="grid-template-columns: auto 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    text-align: center !important;
  }
  
  /* Marquis logo mobile */
  .recognition-card div[style*="width: 100px; height: 100px"] {
    width: 80px !important;
    height: 80px !important;
    margin: 0 auto !important;
  }
  
  /* Recognition title mobile */
  .recognition-card h3[style*="font-size: 1.8rem"] {
    font-size: 1.4rem !important;
  }
  
  /* Recognition buttons mobile */
  .recognition-card div[style*="display: flex; gap: 1rem"] {
    flex-direction: column !important;
    gap: 0.75rem !important;
    align-items: center !important;
  }
  
  .recognition-card button,
  .recognition-card a[style*="padding: 10px 22px"] {
    width: 100% !important;
    max-width: 280px !important;
    text-align: center !important;
    padding: 12px 20px !important;
  }

  /* About page modal mobile optimization */
  /* Recognition modal mobile */
  #recognitionModal div[style*="max-width: 800px"] {
    max-width: 95vw !important;
    margin: 0 1rem !important;
  }
  
  /* Modal header mobile */
  #recognitionModal div[style*="padding: 20px 30px"] {
    padding: 15px 20px !important;
  }
  
  #recognitionModal h3[style*="font-size: 1.5rem"] {
    font-size: 1.25rem !important;
  }
  
  /* Modal content mobile */
  #recognitionModal div[style*="padding: 30px"] {
    padding: 20px !important;
  }
  
  /* Modal background sections mobile */
  #recognitionModal div[style*="padding: 2rem"] {
    padding: 1.5rem !important;
  }

  /* About page general section mobile optimization */
  /* About page section titles mobile */
  section h2[style*="font-size: 2.4rem"] {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
    margin-bottom: 1rem !important;
  }
  
  /* About page section descriptions mobile */
  section p[style*="font-size: 1.2rem"] {
    font-size: 1rem !important;
    max-width: 90% !important;
  }
  
  /* About page main content cards mobile */
  div[style*="padding: 3rem"][style*="max-width: 900px"] {
    padding: 2rem 1.5rem !important;
    margin: 0 0.5rem !important;
  }
  
  /* About page content text mobile */
  div[style*="padding: 3rem"] p[style*="font-size: 1.1rem"] {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 480px) {
  /* About hero further mobile optimization */
  .hero img[alt="Dr. Larry S. Milner"] {
    width: 160px !important;
  }
  
  /* Stack statistics to single column on small mobile */
  .grid-4.stats-row[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    max-width: 320px !important;
  }
  
  .stat-item[style*="padding: 1.5rem 1rem"] {
    padding: 1rem 0.75rem !important;
  }
  
  .stat-number[style*="font-size: 2.2rem"] {
    font-size: 1.6rem !important;
  }

  /* Further optimize credential cards for small mobile */
  .credential-card[style*="min-height: 400px"] {
    padding: 1rem !important;
    margin: 0 0.25rem !important;
  }
  
  .credential-card div[style*="width: 56px; height: 56px"] {
    width: 44px !important;
    height: 44px !important;
  }
  
  .credential-card svg[width="28"] {
    width: 20px !important;
    height: 20px !important;
  }
  
  .credential-card div[style*="font-size: 2.75rem"] {
    font-size: 2rem !important;
  }

  /* Further optimize books section for small mobile */
  div[style*="flex: 1; max-width: 48%"] {
    margin: 0 !important;
    padding: 1.5rem !important;
  }
  
  img[style*="width: 140px; height: 210px"] {
    width: 100px !important;
    height: 150px !important;
  }
  
  h3[style*="font-size: 1.5rem"] {
    font-size: 1.2rem !important;
  }
  
  /* Bibliography stats single column mobile */
  div[style*="display: flex; justify-content: center; gap: 3rem"] {
    max-width: 250px !important;
    gap: 1rem !important;
  }

  /* Further optimize recognition section for small mobile */
  .recognition-card[style*="padding: 3rem"] {
    padding: 1.5rem 1rem !important;
    margin: 0 0.25rem 1.5rem 0.25rem !important;
  }
  
  .recognition-card div[style*="width: 100px; height: 100px"] {
    width: 70px !important;
    height: 70px !important;
    font-size: 0.7rem !important;  /* Changed from 0.9rem to 0.7rem */
  }

  /* Also target the nested div for "Who's Who" text */
  .recognition-card div[style*="width: 100px; height: 100px"] > div[style*="font-size: 0.9rem"] {
    font-size: 0.6rem !important;
  }
  
  .recognition-card h3[style*="font-size: 1.8rem"] {
    font-size: 1.2rem !important;
  }

  /* Further optimize modal for small mobile */
  #recognitionModal div[style*="max-width: 800px"] {
    max-width: 100vw !important;
    margin: 0 !important;
    border-radius: 0 !important;
    min-height: 100vh !important;
  }
  
  #recognitionModal div[style*="padding: 30px"] {
    padding: 15px !important;
  }
  
  #recognitionModal div[style*="padding: 2rem"] {
    padding: 1rem !important;
  }

  /* Further optimize about page sections for small mobile */
  section h2[style*="font-size: 2.4rem"] {
    font-size: clamp(1.35rem, 5.5vw, 1.75rem) !important;
  }
  
  div[style*="padding: 3rem"][style*="max-width: 900px"] {
    padding: 1.5rem 1rem !important;
    margin: 0 0.25rem !important;
  }
  
  div[style*="padding: 3rem"] p[style*="font-size: 1.1rem"] {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
  }
}

/* ============================================
   BOOKS PAGE TABLET OPTIMIZATION
   ============================================ */

/* Books page tablet optimization - maintain desktop-style grid layout */
@media (min-width: 481px) and (max-width: 1024px) {
  /* Books hero optimization for tablet */
  .books-page .hero.hero-books {
    min-height: 380px !important;
    padding: 3rem 0 !important;
  }

  /* Featured book sections - Latest Release and Foundation Work */
  .books-page div[style*="grid-template-columns: 250px 1fr"] {
    grid-template-columns: 200px 1fr !important;
    gap: 1.5rem !important;
  }
  
  /* Featured book section containers for tablet */
  .books-page section:nth-of-type(2) div[style*="padding: 2.5rem"],
  .books-page section:nth-of-type(3) div[style*="padding: 2.5rem"] {
    padding: 2rem 1.5rem !important;
    border-radius: 16px !important;
  }
  
  /* Featured book cover sizing for tablet */
  .books-page img[style*="max-width: 230px"] {
    max-width: 180px !important;
  }
  
  /* Adjust padding for better fit */
  .books-page div[style*="padding: 2.5rem"] {
    padding: 2rem 1.5rem !important;
  }
  
  /* Typography adjustments for tablet */
  .books-page h3[style*="font-size: 1.6rem"] {
    font-size: 1.4rem !important;
    line-height: 1.2 !important;
  }
  
  .books-page p[style*="font-size: 1rem"] {
    font-size: 0.95rem !important;
  }
  
  .books-page li[style*="font-size: 1rem"] {
    font-size: 0.95rem !important;
  }
  
  /* History & Psychology grid - 2 columns on tablet */
  .books-grid-three {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2rem !important;
    max-width: 600px !important;
    margin: 0 auto !important;
  }
  
  /* General Works grid - 2 columns on tablet */
  .books-grid-four {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2rem !important;
    max-width: 700px !important;
    margin: 0 auto !important;
  }
  
  /* Book cards in grids - tablet sizing */
  .books-grid-three > div,
  .books-grid-four > div {
    padding: 1.25rem !important;
    min-height: 380px !important;
  }
  
  /* Jewish Studies slider - adjust card width and spacing */
  .book-slide {
    width: 300px !important;
    flex-shrink: 0 !important;
  }
  
  .book-slide > div {
    height: 400px !important;
    padding: 1.25rem !important;
  }
  
  /* Slider navigation buttons - adjust position for tablet */
  #prev-btn,
  #next-btn {
    width: 45px !important;
    height: 45px !important;
  }
  
  /* Removed rules that pushed arrows off-screen */
}

/* ============================================
   BOOKS PAGE MOBILE OPTIMIZATION
   ============================================ */

/* Books page hero section mobile optimization */
@media (max-width: 767px) {
  /* Books page specific hero adjustments */
  .books-page .hero.hero-books {
    min-height: auto !important;
    padding: 2.5rem 0 !important;
  }
  
/* Latest Release and Foundation Work sections mobile - More aggressive targeting */
  .books-page div[style*="grid-template-columns: 250px 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    text-align: center !important;
  }

  /* Book cover container mobile */
  .books-page div[style*="padding: 2.5rem"] {
    padding: 1.25rem 0.5rem !important;
    margin: 0 !important;
  }

  /* Book cover images in featured sections mobile */
  .books-page img[style*="max-width: 230px"] {
    max-width: 150px !important;
    margin: 0 auto !important;
  }

  /* Book information sections mobile alignment */
  .books-page div[style*="grid-template-columns: 250px 1fr"] > div:last-child {
    text-align: left !important;
  }

  /* Book titles in featured sections mobile */
  .books-page h3[style*="font-size: 1.6rem"] {
    font-size: 1.3rem !important;
    text-align: center !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.1 !important;
  }

  /* Book subtitle mobile */
  .books-page p[style*="font-size: 0.9rem"] {
    font-size: 0.8rem !important;
    margin-bottom: 0.5rem !important;
    text-align: center !important;
  }

  /* Book descriptions mobile */
  .books-page p[style*="font-size: 1rem"][style*="line-height: 1.5"] {
    font-size: 0.85rem !important;
    text-align: center !important;
    margin-bottom: 0.75rem !important;
    line-height: 1.4 !important;
  }

  /* Book bullet lists mobile */
  .books-page ul[style*="margin-bottom: 1.5rem"] {
    margin-bottom: 1rem !important;
  }

  .books-page li[style*="margin-bottom: 0.5rem"] {
    margin-bottom: 0.25rem !important;
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
    padding-left: 1.2rem !important;
  }

  .books-page li span[style*="font-size: 1.2rem"] {
    font-size: 1rem !important;
  }

  /* Book action buttons mobile */
  .books-page div[style*="display: flex; align-items: center; gap: 1.5rem"] {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
  }

  /* General Works grid mobile - books-grid-four optimization */
  .books-grid-four {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    max-width: 400px !important;
    margin: 0 auto !important;
  }
  
  /* Individual book cards in grid mobile */
  .books-grid-four > div {
    min-height: auto !important;
    padding: 1.25rem !important;
    margin: 0 0.5rem !important;
    max-width: none !important;
  }
  
  /* Book cover containers in grid mobile */
  .books-grid-four div[style*="width: 100px; height: 140px"] {
    width: 120px !important;
    height: 168px !important;
    margin: 0 auto 1rem !important;
  }
  
  /* Book cover images in grid mobile */
  .books-grid-four img[style*="width: 100%; height: 100%"] {
    width: 120px !important;
    height: 168px !important;
  }
  
  /* Book titles in grid mobile */
  .books-grid-four h3[style*="font-size: 1.1rem"] {
    font-size: 1.2rem !important;
    margin-bottom: 0.75rem !important;
  }

  /* Jewish Studies slider mobile optimization */
  /* Jewish Studies slider. Tablet + mobile swipe carousel */
  #slider-container {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 0 1rem !important;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 1rem;
    scroll-padding-right: 1rem;
    overscroll-behavior-x: contain;
  }
  
  #slider {
    transform: none !important;
    transition: none !important;
    gap: 1rem !important;
  }
  
  /* Slider book cards mobile */
  .book-slide {
    width: clamp(240px, 78vw, 320px) !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  
  .book-slide > div {
    height: 360px !important;
    padding: 1.25rem !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  
  /* Slider book covers mobile */
  .book-slide div[style*="width: 140px; height: 200px"] {
    width: 120px !important;
    height: 172px !important;
    margin: 0 auto 1rem !important;
  }
  
  .book-slide img[style*="width: 140px; height: 200px"] {
    width: 120px !important;
    height: 172px !important;
  }
  
  /* Slider navigation mobile */
  /* Hide arrows on non desktop */
  #prev-btn,
  #next-btn {
    display: none !important;
  }
  
  /* Enable touch scrolling for slider on mobile */
  #slider-container {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  
  #slider-container::-webkit-scrollbar {
    display: none !important;
  }
}

@media (max-width: 480px) {
  /* Books page small mobile optimization */
  .books-page .hero.hero-books {
    padding: 2rem 0 !important;
  }
  
  /* Featured book covers further reduction */
  .books-page img[style*="max-width: 230px"] {
    max-width: 130px !important;
  }
  
  /* Even tighter container padding for very small screens */
  .books-page div[style*="padding: 2.5rem"] {
    padding: 1rem 0.25rem !important;
  }
  
  /* Reduce gap even more for very small screens */
  .books-page div[style*="grid-template-columns: 250px 1fr"] {
    gap: 0.5rem !important;
  }
  
  /* Smaller text for very small screens */
  .books-page h3[style*="font-size: 1.6rem"] {
    font-size: 1.1rem !important;
  }
  
  .books-page p[style*="font-size: 1rem"] {
    font-size: 0.8rem !important;
  }
  
  .books-page li[style*="font-size: 1rem"] {
    font-size: 0.75rem !important;
  }
  
  /* Book information containers mobile */
  div[style*="padding: 2.5rem"] {
    padding: 1.25rem 0.75rem !important;
    margin: 0 0.25rem !important;
  }
  
  /* Book titles small mobile */
  h3[style*="font-size: 1.6rem"] {
    font-size: 1.2rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.1 !important;
  }

  /* Book descriptions small mobile */
  p[style*="font-size: 1rem"][style*="line-height: 1.5"] {
    font-size: 0.85rem !important;
    margin-bottom: 0.75rem !important;
  }
  
  /* Bullet list items small mobile */
  li[style*="margin-bottom: 0.5rem"] {
    margin-bottom: 0.25rem !important;
    font-size: 0.85rem !important;
    line-height: 1.3 !important;
  .books-grid-four > div {
    padding: 1rem !important;
    margin: 0 0.25rem !important;
  }
  
  .books-grid-four div[style*="width: 100px; height: 140px"] {
    width: 110px !important;
    height: 154px !important;
  }
  
  .books-grid-four img[style*="width: 100%; height: 100%"] {
    width: 110px !important;
    height: 154px !important;
  }
  
  /* Slider small mobile optimization */
  .book-slide {
    width: 250px !important;
  }
  
  .book-slide > div {
    padding: 1rem !important;
  }
  
  .book-slide div[style*="width: 140px; height: 200px"] {
    width: 100px !important;
    height: 144px !important;
  }
  
  .book-slide img[style*="width: 140px; height: 200px"] {
    width: 100px !important;
    height: 144px !important;
  }
  
  /* Slider titles small mobile */
  .book-slide h4[style*="font-size: 1.1rem"] {
    font-size: 1rem !important;
    min-height: 2rem !important;
  }
  
  /* Slider descriptions small mobile */
  .book-slide p[style*="font-size: 0.9rem"] {
    font-size: 0.85rem !important;
  }
  
  /* Enhanced touch targets for small mobile */
  .books-page .btn {
    min-height: 44px !important;
    min-width: 100px !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.85rem !important;
    border-radius: 8px !important;
  }
  
  /* Improved book card spacing for touch on small screens */
  .books-grid-three > div,
  .books-grid-four > div {
    margin-bottom: 1.5rem !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(107, 29, 29, 0.08) !important;
  }
  
  /* Better slider card spacing */
  .book-slide > div {
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(107, 29, 29, 0.08) !important;
    transition: transform 0.2s ease !important;
  }
  
  /* Touch feedback */
  .book-slide > div:active,
  .books-grid-three > div:active,
  .books-grid-four > div:active {
    transform: scale(0.98) !important;
  }
}

/* Books page section spacing mobile optimization */
@media (max-width: 768px) {
  /* Books page section titles mobile */
  .books-page h2[style*="font-size: 2.4rem"] {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
    margin-bottom: 1rem !important;
  }
  
  /* Books page section descriptions mobile */
  .books-page section p[style*="font-size: 1.2rem"],
  .books-page section p[style*="font-size: 1.1rem"] {
    font-size: 1rem !important;
    max-width: 90% !important;
  }
  
  /* Books page sections padding mobile */
  .books-page section[style*="padding: 60px 0"] {
    padding: 2.5rem 0 !important;
  }
  
  /* Books page background sections mobile */
  .books-page section[style*="padding: 4rem 0"] {
    padding: 2rem 0 !important;
  }
}

@media (max-width: 480px) {
  /* Further optimize books page sections for small mobile */
  .books-page h2[style*="font-size: 2.4rem"] {
    font-size: clamp(1.35rem, 5.5vw, 1.75rem) !important;
  }
  
  .books-page section[style*="padding: 60px 0"] {
    padding: 2rem 0 !important;
  }
  
  .books-page section[style*="padding: 4rem 0"] {
    padding: 1.5rem 0 !important;
  }
}

/* MOBILE ONLY: History & Psychology improvements (phones) */
@media (max-width: 480px) {

  /* Keep this section single-column on all phones */
  .books-page .history-psych-grid{
    grid-template-columns: 1fr !important;
  }

  /* Cards: reduce height */
  .books-page .history-psych-grid > div{
    padding: 16px 14px !important;
    border-radius: 14px !important;
  }

  /* Cover boxes: slightly smaller to save height */
  .books-page .history-psych-grid > div > div:first-child > div{
    width: 104px !important;
    height: 142px !important;
  }

  /* REMOVE the global line clamp on mobile.
     It causes the "..." truncation you see. */
  .books-page .history-psych-grid p{
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;

    margin-top: 10px !important;
    margin-bottom: 12px !important;
    line-height: 1.55 !important;
  }

  /* Divider: reduce extra vertical space */
  .books-page .history-psych-grid div[style*="height: 2px"]{
    margin: 10px auto 10px !important;
  }

  /* Buttons: slightly smaller */
  .books-page .history-psych-grid .btn{
    padding: 0.52rem 1.05rem !important;
    font-size: 0.84rem !important;
  }

  /* Make ALL three cards match the Freud mobile layout */
  .books-page .history-psych-grid > div {
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    column-gap: 14px !important;
    align-items: start !important;
    text-align: left !important;

    padding: 16px 14px !important;
  }

  /* Cover column */
  .books-page .history-psych-grid > div > div:first-child {
    grid-column: 1 !important;
    grid-row: 1 / span 6 !important;
    margin: 0 !important;
    display: grid !important;
    place-items: start center !important;
  }

  /* Force all content into the right column */
  .books-page .history-psych-grid > div > *:not(:first-child) {
    grid-column: 2 !important;
  }

  /* Override inline cover wrapper sizing (applies to all 3) */
  .books-page .history-psych-grid > div > div:first-child > div {
    width: 120px !important;
    height: 165px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  .books-page .history-psych-grid > div img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* Title sizing and wrap */
  .books-page .history-psych-grid h3 {
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
    font-size: 1.05rem !important;
  }

  /* Make the divider feel attached to the text block */
  .books-page .history-psych-grid div[style*="height: 2px"] {
    margin: 8px 0 10px !important;
  }

  /* Tighter, more consistent excerpt length (match Freud feel) */
  .books-page .history-psych-grid p {
    margin: 0 0 12px !important;
    line-height: 1.45 !important;

    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    overflow: hidden !important;
  }

  /* Button alignment: keep in the text column, left aligned */
  .books-page .history-psych-grid .btn {
    justify-self: start !important;
    margin-top: 2px !important;
  }

  /* Micro-fix for floating up button overlap (mobile only) */
  .scroll-to-top {
    width: 48px !important;
    height: 48px !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  /* Give the section a little bottom room so the back-to-top button never crowds cards */
  .books-page .history-psychology-section{
    padding-bottom: 56px !important;
  }
}

/* ==========================================
   CONTACT PAGE MOBILE OPTIMIZATION - ENHANCED
   ========================================== */

/* Tablet and below (768px) */
@media (max-width: 768px) {
    /* Contact Hero Section */
    .hero-secondary {
        min-height: 300px !important;
        padding-block: 48px !important;
    }
    
    .hero-secondary h1 {
        font-size: clamp(2rem, 5vw, 2.75rem) !important;
        line-height: 1.2 !important;
        margin-bottom: 1rem !important;
    }
    
    .hero-secondary .hero-subtitle {
        font-size: 1rem !important;
        max-width: 90% !important;
        margin: 0 auto !important;
    }
    
    /* Direct Contact Section */
    .direct-contact h2 {
        font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
        line-height: 1.2 !important;
        text-align: center !important;
        margin-bottom: 1rem !important;
    }
    
    .direct-contact p {
        font-size: 1rem !important;
        text-align: center !important;
        max-width: 90% !important;
        margin: 0 auto 2rem !important;
    }
    
    .contact-card {
        padding: 1.5rem !important;
        margin-top: 1.5rem !important;
        text-align: center !important;
        border-radius: 12px !important;
    }
    
    .contact-card .contact-info {
        margin-bottom: 1rem !important;
    }
    
    .contact-card .contact-email {
        font-size: 1.1rem !important;
        word-break: break-word !important;
    }
    
    .contact-card .response-time {
        font-size: 0.9rem !important;
        line-height: 1.4 !important;
        text-align: center !important;
    }
    
    /* Contact Selector */
    .contact-selector .selector-title {
        font-size: 1.5rem !important;
        text-align: center !important;
        margin-bottom: 1rem !important;
    }
    
    .purpose-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        max-width: 500px !important;
        margin: 0 auto !important;
    }
    
    .purpose-btn {
        min-height: 140px !important;
        padding: 1.5rem 1rem !important;
        text-align: center !important;
        border-radius: 12px !important;
        font-size: 0.95rem !important;
    }
    
    .purpose-btn svg {
        width: 36px !important;
        height: 36px !important;
        margin-bottom: 0.75rem !important;
    }
    
    .purpose-btn h3 {
        font-size: 1.1rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    .purpose-btn p {
        font-size: 0.9rem !important;
        line-height: 1.3 !important;
    }
    
    /* Contact Form */
    .contact-form-container {
        padding: 1.5rem !important;
        border-radius: 12px !important;
        margin-top: 2rem !important;
    }
    
    .form-header .form-title {
        font-size: 1.5rem !important;
        text-align: center !important;
        margin-bottom: 0.75rem !important;
    }
    
    .form-header .form-subtitle {
        font-size: 1rem !important;
        text-align: center !important;
        margin-bottom: 1.5rem !important;
    }
    
    .form-row.two-col {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    
    .form-input,
    .form-textarea {
        padding: 0.875rem !important;
        font-size: 1rem !important;
        border-radius: 8px !important;
        min-height: 44px !important;
    }
    
    .form-label {
        font-size: 0.95rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    .form-textarea {
        min-height: 100px !important;
        resize: vertical !important;
    }
    
    .submit-btn {
        padding: 1rem 2rem !important;
        font-size: 1.1rem !important;
        border-radius: 8px !important;
        min-height: 48px !important;
        margin-top: 1rem !important;
    }
    
    /* Scroll to Top */
    .scroll-to-top {
        bottom: 1rem !important;
        right: 1rem !important;
        width: 48px !important;
        height: 48px !important;
        font-size: 1.1rem !important;
    }
}

/* Mobile (480px) */
@media (max-width: 480px) {
    /* Contact Hero - Extra Mobile */
    .hero-secondary {
        min-height: 250px !important;
        padding-block: 32px !important;
    }
    
    .hero-secondary .container {
        padding: 1rem !important;
    }
    
    .hero-secondary h1 {
        font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
        margin-bottom: 0.75rem !important;
    }
    
    .hero-secondary .hero-subtitle {
        font-size: 0.9rem !important;
        max-width: 95% !important;
    }
    
    /* Direct Contact - Mobile Compact */
    .contact-section {
        padding: 2rem 0 !important;
    }
    
    .direct-contact h2 {
        font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
        margin-bottom: 0.75rem !important;
    }
    
    .direct-contact p {
        font-size: 0.9rem !important;
        margin-bottom: 1.5rem !important;
    }
    
    .contact-card {
        padding: 1rem !important;
        margin-top: 1rem !important;
        border-radius: 8px !important;
    }
    
    .contact-card .contact-info {
        margin-bottom: 0.75rem !important;
    }
    
    .contact-card .contact-email {
        font-size: 1rem !important;
    }
    
    .contact-card .response-time {
        font-size: 0.85rem !important;
        line-height: 1.4 !important;
    }
    
    /* Contact Selector - Mobile */
    .contact-selector .selector-title {
        font-size: 1.25rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    .purpose-grid {
        gap: 0.75rem !important;
        max-width: 100% !important;
        padding: 0 1rem !important;
    }
    
    .purpose-btn {
        min-height: 120px !important;
        padding: 1rem 0.75rem !important;
        border-radius: 8px !important;
        font-size: 0.9rem !important;
    }
    
    .purpose-btn svg {
        width: 32px !important;
        height: 32px !important;
        margin-bottom: 0.5rem !important;
    }
    
    .purpose-btn h3 {
        font-size: 1rem !important;
        margin-bottom: 0.25rem !important;
    }
    
    .purpose-btn p {
        font-size: 0.85rem !important;
        line-height: 1.2 !important;
    }
    
    /* Contact Form - Mobile */
    .contact-form-container {
        padding: 1rem !important;
        border-radius: 8px !important;
        margin-top: 1.5rem !important;
    }
    
    .form-header .form-title {
        font-size: 1.25rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    .form-header .form-subtitle {
        font-size: 0.9rem !important;
        margin-bottom: 1rem !important;
        line-height: 1.4 !important;
    }
    
    .form-group {
        margin-bottom: 1rem !important;
    }
    
    .form-input,
    .form-textarea {
        padding: 0.75rem !important;
        font-size: 1rem !important;
        border-radius: 6px !important;
        min-height: 44px !important;
    }
    
    .form-label {
        font-size: 0.9rem !important;
        margin-bottom: 0.4rem !important;
    }
    
    .form-textarea {
        min-height: 80px !important;
    }
    
    .submit-btn {
        padding: 0.875rem 1.5rem !important;
        font-size: 1rem !important;
        border-radius: 6px !important;
        min-height: 44px !important;
        margin-top: 0.5rem !important;
    }
    
    /* Scroll to Top - Mobile */
    .scroll-to-top {
        bottom: 0.75rem !important;
        right: 0.75rem !important;
        width: 44px !important;
        height: 44px !important;
        font-size: 1rem !important;
    }
}

/* ============================================
   CHART CONTAINER - RESPONSIVE SIZING
   ============================================ */

/*
  Removed duplicate and conflicting .impact-chart-card and .chart-wrap rules.
  All correct rules are defined at the top of the file (lines 14-40):
  - .impact-chart-card: asymmetric padding, !important
  - .chart-wrap: all properties, !important where needed
*/


/* =============================================
   MAP OVERFLOW FIXES - Prevent bottom clipping
   ============================================= */
.map-wrapper {
    overflow: visible !important;
    border-radius: 8px !important;
}

/* Additional map responsiveness */
@media (max-width: 768px) {
    .map-wrapper {
        padding: 0 !important;
    }
}

/* Enhanced mobile map spacing */
@media (max-width: 768px) {
    .map-container {
        margin-bottom: 20px !important;
    }
    
    #datawrapper-chart-HCWOE {
        margin: 10px auto !important;
        display: block !important;
    }
}

/* Ensure map legend visibility */
.map-wrapper iframe {
    box-sizing: border-box !important;
    border: none !important;
}

/* Tablet specific legend fix */
@media (min-width: 769px) and (max-width: 1024px) {
    #datawrapper-chart-HCWOE {
        min-height: 720px !important;
        box-sizing: border-box !important;
    }
    
    .map-wrapper {
        padding: 0 !important;
        margin-bottom: 30px !important;
    }
}

/* Force complete legend display on tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .map-container {
        margin-bottom: 40px !important;
    }
    
    #datawrapper-chart-HCWOE {
        height: 750px !important;
        min-height: 720px !important;
        max-height: none !important;
    }
}

/* ============================================
   ABOUT PAGE MOBILE OPTIMIZATIONS - HIGH SPECIFICITY
   ============================================ */

/* Credentials Section - Tablet optimization (side-by-side layout) */
@media (min-width: 481px) and (max-width: 1024px) {
    /* Maintain side-by-side layout for credential cards */
    .credentials-section div[style*="display: flex"][style*="justify-content: space-between"] {
        flex-direction: row !important;
        gap: 1.5rem !important;
        flex-wrap: wrap !important;
    }
    
    /* Optimize card sizing for tablet */
    .credential-card[style*="min-height: 400px"] {
        min-height: 350px !important;
        padding: 1.5rem !important;
        flex: 1 1 calc(33.333% - 1rem) !important;
    }
    
    /* Scale icons appropriately for tablet */
    .credential-card div[style*="width: 56px; height: 56px"] {
        width: 52px !important;
        height: 52px !important;
    }
    
    .credential-card div[style*="width: 56px; height: 56px"] svg {
        width: 26px !important;
        height: 26px !important;
    }
    
    /* Adjust typography for tablet */
    .credential-card div[style*="font-size: 2.75rem"] {
        font-size: 2.4rem !important;
    }
    
    .credential-card div[style*="font-size: 0.875rem"] {
        font-size: 0.85rem !important;
    }
    
    /* Ensure three cards display properly across tablet widths */
    .credentials-section div[style*="display: flex"][style*="justify-content: space-between"] {
        justify-content: space-between !important;
    }
}

/* Publications/Books Section - Tablet optimization (side-by-side layout) */
@media (min-width: 481px) and (max-width: 1024px) {
    /* Maintain side-by-side layout for books */
    .books-section div[style*="display: flex"][style*="justify-content: space-between"] {
        flex-direction: row !important;
        gap: 2rem !important;
        flex-wrap: wrap !important;
    }
    
    /* Optimize book card sizing */
    .books-section div[style*="max-width: 48%"] {
        max-width: 48% !important;
        padding: 1.8rem !important;
        flex: 1 1 calc(50% - 1rem) !important;
    }
    
    /* Optimize book cover sizing for tablet */
    .books-section img[style*="width: 140px"] {
        width: 120px !important;
        height: 180px !important;
    }
    
    /* Adjust typography for readability */
    .books-section h3[style*="font-size: 1.5rem"] {
        font-size: 1.3rem !important;
        line-height: 1.3 !important;
    }
    
    .books-section li[style*="font-size: 1rem"] {
        font-size: 0.95rem !important;
    }
    
    /* Optimize button sizing */
    .books-section .btn[style*="padding: 1rem"] {
        padding: 0.8rem 1.2rem !important;
        font-size: 0.95rem !important;
    }
    
    /* Bibliography stats - maintain horizontal layout */
    .books-section div[style*="gap: 3rem"] {
        gap: 2rem !important;
        flex-direction: row !important;
    }
    
    .books-section div[style*="font-size: 2.5rem"] {
        font-size: 2.2rem !important;
    }
}

/* Hero Section - Compact mobile layout with !important overrides */
@media (max-width: 480px) {
    section.hero[style*="min-height: 420px"] {
        min-height: 280px !important;
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
    
    .hero .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    .hero .stack {
        gap: 12px !important;
        margin-top: 0 !important;
    }
    
    .hero h1[style*="clamp(2.8rem, 5vw, 4rem)"] {
        font-size: 2rem !important;
        margin-bottom: 8px !important;
    }
    
    .hero-subtitle p:first-child[style*="font-size: 1.4rem"] {
        font-size: 1.1rem !important;
    }
    
    .hero-subtitle p:last-child[style*="font-size: 1.2rem"] {
        font-size: 1rem !important;
        margin-top: 0.5rem !important;
    }
    
    .hero img[style*="width: 220px"] {
        width: 140px !important;
        margin-bottom: 8px !important;
    }
    
    /* CRITICAL: Stats grid override - 2x2 layout instead of 4x1 */
    .hero .stats-row.grid.grid-4[style*="grid-template-columns: repeat(4, 1fr)"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.8rem !important;
        max-width: 280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .hero .stat-item[style*="padding: 1.5rem 1rem"] {
        padding: 0.8rem 0.6rem !important;
        border-radius: 10px !important;
    }
    
    .hero .stat-number[style*="font-size: 2.2rem"] {
        font-size: 1.6rem !important;
        margin-bottom: 0.2rem !important;
    }
    
    .hero .stat-context[style*="font-size: 0.8rem"] {
        font-size: 0.7rem !important;
        line-height: 1.1 !important;
    }
}

/* Journey Section - Reduced padding and compact content */
@media (max-width: 480px) {
    section.journey-section[style*="padding: 60px 0"] {
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }
    
    .journey-section h2[style*="font-size: 2.4rem"] {
        font-size: 1.6rem !important;
        margin-bottom: 0.8rem !important;
    }
    
    .journey-section > div > div:first-child {
        margin-bottom: 2rem !important;
    }
    
    .journey-section > div > div:first-child p[style*="font-size: 1.2rem"] {
        font-size: 1rem !important;
        margin-bottom: 1.5rem !important;
    }
    
    .journey-section div[style*="padding: 3rem"] {
        padding: 1.5rem !important;
        margin-top: 1.5rem !important;
    }
    
    .journey-section div[style*="padding: 3rem"] p[style*="font-size: 1.1rem"] {
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
    }
}

/* Credentials Section - Stack cards vertically and compact */
@media (max-width: 480px) {
    section.credentials-section[style*="padding: 60px 0"] {
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }
    
    .credentials-section h2[style*="font-size: 2.4rem"] {
        font-size: 1.6rem !important;
        margin-bottom: 0.8rem !important;
    }
    
    .credentials-section > div > div:first-child {
        margin-bottom: 1.5rem !important;
    }
    
    .credentials-section > div > div:first-child p[style*="font-size: 1.2rem"] {
        font-size: 1rem !important;
    }
    
    /* CRITICAL: Stack credential cards vertically */
    .credentials-section div[style*="display: flex"][style*="justify-content: space-between"] {
        flex-direction: column !important;
        gap: 1rem !important;
    }
    
    /* Simple uniform card sizing */
    .credential-card[style*="min-height: 400px"] {
        min-height: 160px !important;
        padding: 1rem !important;
        margin-bottom: 0 !important;
    }
    
    /* Scale down icons slightly */
    .credential-card div[style*="width: 56px; height: 56px"] {
        width: 48px !important;
        height: 48px !important;
        margin-bottom: 0.5rem !important;
    }
    
    .credential-card div[style*="width: 56px; height: 56px"] svg {
        width: 24px !important;
        height: 24px !important;
    }
    
    /* Reduce main stat number size */
    .credential-card div[style*="font-size: 2.75rem"] {
        font-size: 2rem !important;
    }
    
    /* Reduce text sizes slightly */
    .credential-card div[style*="font-size: 0.875rem"] {
        font-size: 0.8rem !important;
    }
    
    .credential-card div[style*="font-size: 0.8rem"] {
        font-size: 0.75rem !important;
    }
    
    .credential-card div[style*="font-size: 0.75rem"] {
        font-size: 0.7rem !important;
    }
    
    /* Align Historical Scholarship card width with others */
    .credential-card[onclick="toggleCard('historical')"] {
        width: 98% !important;
        box-sizing: border-box !important;
    }
}

/* Books Section - Compact layout */
@media (max-width: 480px) {
    section.books-section[style*="padding: 60px 0"] {
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }
    
    .books-section h2[style*="font-size: 2.4rem"] {
        font-size: 1.6rem !important;
        margin-bottom: 0.8rem !important;
    }
    
    .books-section > div > div:first-child {
        margin-bottom: 1.5rem !important;
    }
    
    .books-section > div > div:first-child p[style*="font-size: 1.2rem"] {
        font-size: 1rem !important;
    }
    
    /* CRITICAL: Book cards - stack vertically */
    .books-section div[style*="display: flex"][style*="justify-content: space-between"] {
        flex-direction: column !important;
        gap: 1.2rem !important;
    }
    
    .books-section div[style*="max-width: 48%"] {
        max-width: 100% !important;
        padding: 1.2rem !important;
    }
    
    .books-section img[style*="width: 140px"] {
        width: 90px !important;
        height: 135px !important;
    }
    
    .books-section h3[style*="font-size: 1.5rem"] {
        font-size: 1.1rem !important;
        line-height: 1.2 !important;
        margin-bottom: 0.6rem !important;
    }
    
    .books-section li[style*="font-size: 1rem"] {
        font-size: 0.85rem !important;
        margin-bottom: 0.4rem !important;
    }
    
    .books-section .btn[style*="padding: 1rem"] {
        padding: 0.7rem !important;
        font-size: 0.9rem !important;
    }
    
    /* Bibliography stats */
    .books-section div[style*="gap: 3rem"] {
        gap: 1.5rem !important;
        margin-bottom: 1.2rem !important;
    }
    
    .books-section div[style*="font-size: 2.5rem"] {
        font-size: 1.8rem !important;
    }
    
    .books-section div[style*="font-size: 0.875rem"] {
        font-size: 0.75rem !important;
    }
}

  /* Recognition Section - Compact and streamlined */
  @media (max-width: 480px) {
    section.recognition-section[style*="padding: 5rem 0 4rem 0"] {
        padding: 2.5rem 0 1.5rem 0 !important;
    }
    
    .recognition-section h2[style*="font-size: 48px"] {
        font-size: 1.6rem !important;
        margin-bottom: 0.6rem !important;
    }
    
    .recognition-section > div > p[style*="font-size: 18px"] {
        font-size: 1rem !important;
        margin-bottom: 1.5rem !important;
    }
    
    /* Recognition card */
    .recognition-card[style*="padding: 3rem"] {
        padding: 1.5rem 1.2rem !important;
        margin-bottom: 1.2rem !important;
    }
    
    .recognition-card > div[style*="grid-template-columns: auto 1fr"] {
        grid-template-columns: auto 1fr !important;
        gap: 1.2rem !important;
    }
    
    .recognition-card h3[style*="font-size: 1.8rem"] {
        font-size: 1.2rem !important;
        line-height: 1.2 !important;
        margin-bottom: 0.2rem !important;
    }
    
    .recognition-card p[style*="font-size: 1.1rem"] {
        font-size: 0.9rem !important;
        margin-bottom: 0.6rem !important;
    }
    
    .recognition-card p[style*="line-height: 1.6"] {
        font-size: 0.85rem !important;
        margin-bottom: 1rem !important;
    }
    
    .recognition-card button[style*="padding: 12px 24px"],
    .recognition-card a[style*="padding: 10px 22px"] {
        font-size: 0.8rem !important;
        padding: 8px 14px !important;
    }
    
    /* Professional summary */
    .recognition-section div[style*="padding: 2.5rem"] {
        padding: 1.5rem 1.2rem !important;
    }
    
    .recognition-section h4[style*="font-size: 1.3rem"] {
        font-size: 1rem !important;
        margin-bottom: 0.6rem !important;
    }
    
      .recognition-section li[style*="margin-bottom: 0.5rem"] {
          font-size: 0.85rem !important;
          margin-bottom: 0.3rem !important;
          line-height: 1.3 !important;
      }
  }

  /* Recognition logo sizing on tablet */
  @media (min-width: 600px) and (max-width: 1024px) {
      .recognition-card div[style*="width: 100px; height: 100px"] {
          width: 80px !important;
          height: 80px !important;
          font-size: 0.88rem !important;
          line-height: 1.05 !important;
      }

      .recognition-card div[style*="width: 100px; height: 100px"] > div {
          font-size: 0.7rem !important;
          line-height: 1.05 !important;
      }
  }
  
  /* Modal optimizations for mobile */
  @media (max-width: 480px) {
    div#recognitionModal[style*="padding: 20px"] {
        padding: 10px !important;
    }
    
    #recognitionModal > div[style*="max-width: 800px"] {
        margin: 10px !important;
        max-height: 85vh !important;
        max-width: calc(100vw - 20px) !important;
    }
    
    #recognitionModal div[style*="padding: 20px 30px"] {
        padding: 12px 15px !important;
    }
    
    #recognitionModal div[style*="padding: 30px"] {
        padding: 15px !important;
    }
    
    #recognitionModal h3[style*="font-size: 1.5rem"] {
        font-size: 1.1rem !important;
    }
    
    #recognitionModal h4[style*="font-size: 1.3rem"] {
        font-size: 1rem !important;
    }
    
    #recognitionModal h5 {
        font-size: 0.9rem !important;
    }
    
    #recognitionModal p {
        font-size: 0.8rem !important;
        line-height: 1.4 !important;
    }
}

    /* Footer mobile compaction */
    @media (max-width: 560px) {
      .footer-inner {
        padding: 24px 16px 16px;
        font-size: 14px;
      }

      body:not(.books-page) .footer-grid {
        grid-template-columns: 1fr;
        gap: 0;
      }

      /* About spans full width */
      body:not(.books-page) .footer-col.about {
        grid-column: 1 / -1;
      }

      /* Contact spans full width and sits last */
      body:not(.books-page) .footer-col.contact {
        grid-column: 1 / -1;
        order: 3;
      }

      /* Navigation sits in the middle */
      body:not(.books-page) .footer-col.navigation {
        order: 2;
      }

      body:not(.books-page) .footer-col h3 {
        font-size: 13px;
        margin-bottom: 8px;
        padding-bottom: 0;
        border-bottom: none;
      }

      body:not(.books-page) .footer-col p {
        font-size: 14px;
        margin-bottom: 8px;
      }

      body:not(.books-page) .footer-col ul {
        margin: 0;
        padding: 0;
      }
      body:not(.books-page) .footer-col li {
        margin-bottom: 4px;
        line-height: 1.35;
      }

      body:not(.books-page) .footer-col a {
        font-size: 14px;
        line-height: 1.35;
      }

      /* Two-column navigation links */
      body:not(.books-page) .footer-col.navigation ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 14px;
        row-gap: 6px;
      }

      /* Make email link compact on mobile */
      body:not(.books-page) .footer-email {
        display: inline-block;
        padding: 0;
        background: none;
        box-shadow: none;
        border: none;
        font-size: 14px;
      }

      body:not(.books-page) .footer-bottom {
        margin-top: 12px;
        padding-top: 12px;
        font-size: 12px;
        line-height: 1.4;
      }

      /* Smaller scroll-to-top button and clear footer */
      body:not(.books-page) .scroll-to-top {
        width: 40px !important;
        height: 40px !important;
        bottom: 32px !important;
      }
    }

@media (max-width: 560px) {
  .mission-page .footer .footer-inner {
    padding: 56px 24px 28px !important;
  }
  .mission-page .footer .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 56px !important;
    align-items: start !important;
    justify-items: start !important;
  }
  .mission-page .footer .footer-col.about {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .mission-page .footer .footer-col.pages {
    grid-column: 1 / 2 !important;
    grid-row: 2 / 4 !important;
  }
  .mission-page .footer .footer-col.resources {
    grid-column: 2 / 3 !important;
    grid-row: 2 !important;
  }
  .mission-page .footer .footer-col.contact {
    grid-column: 2 / 3 !important;
    grid-row: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin-top: 6px !important;
    justify-self: start !important;
    align-self: start !important;
  }
  .mission-page .footer .footer-col.contact p {
    display: none !important;
  }
  .mission-page .footer .footer-col.contact h3 {
    display: block !important;
    margin: 0 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    padding-bottom: 8px !important;
  }
  .mission-page .footer .footer-col.contact .footer-email {
    display: inline-block !important;
    width: fit-content !important;
    white-space: nowrap !important;
    font-size: 13.5px !important;
    line-height: 1.2 !important;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border-bottom-width: 1px !important;
    margin-top: 2px !important;
  }
  .mission-page .footer .footer-col h3 {
    padding-bottom: 8px !important;
    margin: 0 0 16px !important;
    position: relative !important;
  }
  .mission-page .footer .footer-col h3::after {
    display: block !important;
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 30px !important;
    height: 2px !important;
    background: var(--color-primary) !important;
  }
  .mission-page .footer .footer-bottom {
    margin-top: 40px !important;
    padding-top: 24px !important;
  }
  .mission-page .scroll-to-top {
    width: 48px !important;
    height: 48px !important;
    right: 24px !important;
    bottom: 24px !important;
  }
  .mission-page .scroll-to-top::after {
    font-size: 20px !important;
  }
}

  @media (max-width: 768px) {
    #take-action .action-grid {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    #take-action {
      padding: 40px 0 48px 0;
    }

    #take-action .section-header {
      margin-bottom: 32px;
    }

    #take-action .action-card {
      padding: 24px 20px;
      min-height: unset;
    }

    #take-action .action-card > div:first-child div {
      width: 56px;
      height: 56px;
      border-radius: 14px;
    }

    #take-action .action-card svg {
      width: 24px;
      height: 24px;
    }

    #take-action .action-card h3 {
      font-size: 1.25rem;
    }

    #take-action .action-card p {
      margin-bottom: 16px;
      line-height: 1.5;
    }

    #take-action .action-btn {
      margin-top: 16px;
      padding: 14px 20px;
      font-size: 0.95rem;
    }
  }

/* ============================================
   BOOKS PAGE MOBILE BIO CLAMP - 560px
   Clamp descriptions to 4 lines, prevent overflow
   ============================================ */

@media (max-width: 560px) {
  .books-page .history-psych-grid > div {
    grid-template-columns: 110px minmax(0, 1fr) !important;
  }

  .books-page .history-psych-grid > div > *:not(:first-child) {
    min-width: 0 !important;
  }

  .books-page .history-psych-grid p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    margin-bottom: 0.65rem !important;
    line-height: 1.45 !important;
  }
}


@media (max-width: 560px) {
  .books-page .history-psych-grid {
    gap: 16px !important;
  }

  .books-page .history-psych-grid > div {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    gap: 12px 14px !important;
    align-items: center !important;
    text-align: left !important;
    padding: 16px !important;
    min-height: auto !important;
  }

  .books-page .history-psych-grid > div > div:first-child {
    grid-row: 1 / span 4 !important;
    margin: 0 !important;
  }

  .books-page .history-psych-grid > div > div:first-child > div {
    width: 92px !important;
    height: 124px !important;
    margin: 0 !important;
  }

  .books-page .history-psych-grid > div > h3,
  .books-page .history-psych-grid > div > div[style*="height: 2px"],
  .books-page .history-psych-grid > div > p,
  .books-page .history-psych-grid > div > div:last-child {
    grid-column: 2 !important;
  }

  .books-page .history-psych-grid > div > h3 {
    font-size: 1rem !important;
    margin: 0 0 4px !important;
    line-height: 1.25 !important;
  }

  .books-page .history-psych-grid > div > h3::after {
    content: '';
    display: block;
    height: 2px;
    width: 32px;
    background: linear-gradient(90deg, #6B1D1D, #8B2F2F);
    margin: 6px 0 6px;
    border-radius: 1px;
  }

  .books-page .history-psych-grid div[style*="height: 2px"][style*="width: 40px"] {
    display: none !important;
  }

  .books-page .history-psych-grid p {
    margin-bottom: 10px !important;
  }

  .books-page .history-psych-grid .btn {
    padding: 0.55rem 1.1rem !important;
  }
}


/* ============================================
   BOOKS PAGE: HERO + LATEST RELEASE REFINEMENTS
   ============================================ */
@media (max-width: 600px) {
  .books-page .latest-release-card {
    padding: 1.85rem 1.7rem !important;
  }

  .books-page .latest-release-card p {
    line-height: 1.45 !important;
    margin-bottom: 0.75rem !important;
  }

  .books-page .latest-release-card ul {
    margin-bottom: 1rem !important;
  }

  .books-page .latest-release-card li {
    margin-bottom: 0.4rem !important;
    line-height: 1.45 !important;
  }

  .books-page .latest-release-card .btn {
    padding: 0.7rem 1.2rem !important;
  }

  .books-page .latest-release-card a:not(.btn) {
    font-size: 0.95rem !important;
  }

  .books-page .latest-release-badge {
    top: 6px !important;
    right: 6px !important;
    padding: 0.35rem 0.7rem !important;
    font-size: 0.7rem !important;
    border-radius: 16px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .books-page .hero-books .stack {
    gap: 14px !important;
  }

  .books-page .hero-books .section-underline-hero {
    margin: 0 auto 6px !important;
  }
}

@media (min-width: 1025px) {
  .books-page .latest-release-card {
    border-color: #d2bba6 !important;
    box-shadow: 0 14px 40px rgba(107, 29, 29, 0.12) !important;
  }
}


/* ============================================
   JEWISH STUDIES SLIDER: TABLET/DESKTOP CLEANUP
   ============================================ */
@media (min-width: 768px) {
  #slider-container .book-slide h4 {
    display: block !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }

  #slider-container .book-slide h4::after {
    content: '';
    display: block;
    height: 2px;
    width: 36px;
    background: linear-gradient(90deg, #6B1D1D, #8B2F2F);
    margin: 0.55rem auto 0;
    border-radius: 1px;
  }

  /* Remove inline divider bars so all cards are consistent */
  #slider-container .book-slide div[style*="height: 2px"][style*="width: 40px"] {
    display: none !important;
  }

  /* Clamp descriptions to prevent overflow */
  #slider-container .book-slide p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-bottom: 1rem !important;
  }
}


/* ============================================
   JEWISH STUDIES SLIDER: TABLET/DESKTOP FIXES
   ============================================ */
@media (min-width: 768px) {
  .slider-header p {
    margin-bottom: 1.4rem !important;
  }

  .slider-header .slider-hint {
    margin-top: 0.2rem !important;
  }

  #slider-container .book-slide h4 {
    display: block !important;
    overflow: visible !important;
    text-overflow: unset !important;
    align-items: initial !important;
    justify-content: initial !important;
  }

  #slider-container .book-slide h4::after {
    content: '';
    display: block;
    height: 2px;
    width: 36px;
    background: linear-gradient(90deg, #6B1D1D, #8B2F2F);
    margin: 0.55rem auto 0;
    border-radius: 1px;
  }

  /* Remove inline divider bars so all cards are consistent */
  #slider-container .book-slide div[style*="height: 2px"][style*="width: 40px"] {
    display: none !important;
  }

  /* Clamp descriptions but avoid clipping last word */
  #slider-container .book-slide p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.5 !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.05rem !important;
  }
}


/* Fix underline + bio clip for Achilles: Son of Daniel card */
@media (min-width: 768px) and (max-width: 1024px) {
  #slider-container .book-slide-achilles-son h4 {
    display: block !important;
  }

  #slider-container .book-slide-achilles-son h4::after {
    content: '';
    display: block;
    height: 2px;
    width: 36px;
    background: linear-gradient(90deg, #6B1D1D, #8B2F2F);
    margin: 0.55rem auto 0;
    border-radius: 1px;
  }

  #slider-container .book-slide-achilles-son p {
    -webkit-line-clamp: 5 !important;
    max-width: 230px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 1025px) {
  #slider-container .book-slide-achilles-son h4 {
    display: block !important;
  }

  #slider-container .book-slide-achilles-son h4::after {
    content: '';
    display: block;
    height: 2px;
    width: 36px;
    background: linear-gradient(90deg, #6B1D1D, #8B2F2F);
    margin: 0.55rem auto 0;
    border-radius: 1px;
  }
}


/* Jewish Studies slider: explicit divider element */
#slider-container .book-title-divider {
  height: 2px;
  width: 36px;
  background: linear-gradient(90deg, #6B1D1D, #8B2F2F);
  margin: 0.55rem auto 1rem;
  border-radius: 1px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  #slider-container .book-desc-achilles-son {
    -webkit-line-clamp: 5 !important;
    max-width: 240px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* Jewish Studies slider: spacing + clamp fixes */
@media (min-width: 768px) {
  #slider-container .book-slide > div {
    height: 450px !important;
  }

  #slider-container .book-slide h4 {
    min-height: 3em !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  #slider-container .book-slide.book-slide-achilles-son p.book-desc-achilles-son {
    -webkit-line-clamp: 6 !important;
    max-width: 260px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* Jewish Studies slider: unify divider + prevent clipping */
#slider-container .book-title-divider {
  height: 2px;
  width: 40px;
  background: linear-gradient(90deg, #6B1D1D, #8B2F2F);
  margin: 0.75rem auto 1rem;
  border-radius: 1px;
}

/* Disable ::after for cards with explicit divider to avoid double lines */
#slider-container .book-slide-achilles-son h4::after,
#slider-container .book-slide-legacy h4::after,
#slider-container .book-slide-goshen h4::after {
  display: none !important;
}

@media (min-width: 768px) {
  #slider-container .book-slide > div {
    height: auto !important;
    min-height: 440px !important;
    overflow: visible !important;
  }

  #slider-container .book-slide p {
    -webkit-line-clamp: 4 !important;
    line-height: 1.55 !important;
  }

  .slider-header > div[style*="width: 80px"][style*="height: 4px"] {
    margin-bottom: 1.2rem !important;
  }
}

@media (min-width: 1025px) {
  #slider-container .book-slide > div {
    min-height: 460px !important;
  }
}


/* ============================================
   JEWISH STUDIES SLIDER: FINAL OVERRIDES
   ============================================ */
.books-page #slider-container .book-title-divider {
  height: 2px !important;
  width: 40px !important;
  background: linear-gradient(90deg, #6B1D1D, #8B2F2F) !important;
  margin: 0.75rem auto 1rem !important;
  border-radius: 1px !important;
}

@media (min-width: 768px) {
  .books-page .slider-header p {
    margin-top: 0.5rem !important;
    margin-bottom: 1.2rem !important;
  }

  .books-page #slider-container .book-slide > div {
    height: auto !important;
    min-height: 470px !important;
    overflow: visible !important;
  }

  .books-page #slider-container .book-slide p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    line-height: 1.55 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding-bottom: 0.1rem !important;
  }
}


/* ============================================
   JEWISH STUDIES SLIDER: FORCE LINES + NO CLIP
   ============================================ */
.books-page #slider-container .book-slide h4::after {
  display: none !important;
}

.books-page #slider-container .book-slide div[style*="height: 2px"][style*="width: 40px"] {
  display: block !important;
}

@media (min-width: 768px) {
  .books-page .slider-header > div[style*="width: 80px"][style*="height: 4px"] {
    margin-bottom: 0.9rem !important;
  }

  .books-page #slider-container .book-slide > div {
    height: auto !important;
    min-height: 470px !important;
    overflow: visible !important;
  }

  .books-page #slider-container .book-slide p {
    display: block !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
  }
}


/* ============================================
   JEWISH STUDIES SLIDER: FINAL CONSISTENCY
   ============================================ */
@media (min-width: 768px) {
  .books-page .slider-header p {
    margin-top: 0.4rem !important;
    margin-bottom: 1rem !important;
  }

  .books-page #slider-container .book-slide > div {
    height: auto !important;
    min-height: 480px !important;
    overflow: visible !important;
  }

  .books-page #slider-container .book-slide h4 {
    display: block !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.25 !important;
    min-height: 3.6em !important;
  }

  .books-page #slider-container .book-slide h4::after {
    content: '' !important;
    display: block !important;
    height: 2px !important;
    width: 40px !important;
    background: linear-gradient(90deg, #6B1D1D, #8B2F2F) !important;
    margin: 0.75rem auto 1rem !important;
    border-radius: 1px !important;
  }

  .books-page #slider-container .book-slide div[style*="height: 2px"][style*="width: 40px"] {
    display: none !important;
  }

  .books-page #slider-container .book-slide p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    line-height: 1.55 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding-bottom: 0.1rem !important;
    margin-bottom: 1rem !important;
  }
}


/* ============================================
   ABOUT: RESEARCH LEADERSHIP CARD HEIGHTS
   ============================================ */
@media (min-width: 768px) {
  .credentials-section div[style*="display: flex"][style*="justify-content: space-between"] {
    align-items: stretch !important;
  }

  .credentials-section .credential-card {
    height: 100% !important;
    min-height: 520px !important;
  }
}

/* Nav CTA visibility fixes */
@media (min-width: 1025px) {
  .nav-menu .nav-menu-cta {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .nav-menu .nav-menu-cta {
    display: block !important;
  }
}

/* Tablet drawer polish: match mobile "fancy" styling */
@media (min-width: 768px) and (max-width: 1024px) {
  .nav-menu-header {
    padding: 0 32px !important;
    height: 80px !important;
    min-height: 80px !important;
  }

  .nav-menu-title {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
  }

  .nav-menu-close {
    width: 40px !important;
    height: 40px !important;
    padding: 8px !important;
  }

  .nav-menu a {
    padding: 20px 28px !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    border-left-width: 4px !important;
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
  }

  .nav-menu a:hover,
  .nav-menu a:focus {
    border-left-color: var(--color-primary) !important;
  }

  .nav-menu-cta {
    padding: 24px 24px 20px 24px !important;
    display: block !important;
  }

  .nav-menu-cta .btn {
    font-size: 1.1rem !important;
    padding: 18px 24px !important;
    min-height: 56px !important;
  }
}

/* Desktop hard hide for drawer-only menu items */
@media (min-width: 1025px) {
  .nav-menu li.nav-menu-cta,
  .nav-menu li.nav-menu-header,
  .nav-menu li.nav-menu-spacer {
    display: none !important;
    visibility: hidden !important;
  }
}

/* iPad Pro: match iPad drawer card styling */
@media (min-width: 768px) and (max-width: 1024px) {
  .nav-menu {
    padding-top: 8px !important;
  }

  .nav-menu li {
    border-bottom: none !important;
    padding: 0 18px !important;
  }

  .nav-menu a {
    background: var(--color-white) !important;
    border: 1px solid var(--color-gray-200) !important;
    border-radius: 14px !important;
    margin: 8px 0 !important;
    box-shadow: 0 1px 0 rgba(107, 29, 29, 0.03) !important;
  }

  .nav-menu a.active {
    background: rgba(107, 29, 29, 0.05) !important;
    border-color: rgba(107, 29, 29, 0.25) !important;
  }
}

/* ============================================
   BOOKS PAGE: SLIDER BIO + UNDERLINE FIXES
   Prevent iPad/desktop text clipping and ensure
   all cards render the red underline consistently.
   ============================================ */
@media (min-width: 768px) {
  .books-page #slider-container .book-slide p {
    display: block !important;
    overflow: visible !important;
    text-overflow: unset !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
  }

  .books-page #slider-container .book-slide h4 {
    overflow: visible !important;
  }

  .books-page #slider-container .book-slide h4::after {
    content: '' !important;
    display: block !important;
    height: 2px !important;
    width: 40px !important;
    background: linear-gradient(90deg, #6B1D1D, #8B2F2F) !important;
    margin: 0.75rem auto 1rem !important;
    border-radius: 1px !important;
  }

  /* Use CSS underline bars on tablet/desktop; avoid double lines */
  .books-page #slider-container .book-slide div[style*="height: 2px"][style*="width: 40px"] {
    display: none !important;
  }
}

/* Books slider: prevent desktop title clipping + ensure underline visibility */
@media (min-width: 768px) {
  .books-page #slider-container .book-slide > div {
    height: auto !important;
    min-height: 470px !important;
    overflow: visible !important;
  }

  .books-page #slider-container .book-slide h4 {
    display: block !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.25 !important;
    min-height: 4.2em !important;
  }

  .books-page #slider-container .book-slide h4::after {
    margin-top: 0.5rem !important;
  }
}

/* Books slider: explicit divider element + no text clipping */
.books-page #slider-container .book-title-divider {
  display: block !important;
  height: 2px !important;
  width: 40px !important;
  background: linear-gradient(90deg, #6B1D1D, #8B2F2F) !important;
  margin: 0.75rem auto 1rem !important;
  border-radius: 1px !important;
}

.books-page #slider-container .book-slide h4::after {
  display: none !important;
}

.books-page #slider-container .book-slide > div {
  height: auto !important;
  min-height: 470px !important;
  overflow: visible !important;
}

.books-page #slider-container .book-slide h4 {
  display: block !important;
  overflow: visible !important;
  text-overflow: unset !important;
  line-height: 1.25 !important;
  min-height: 3.6em !important;
}

.books-page #slider-container .book-slide p {
  display: block !important;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
}

/* Large tablets (iPad Pro): use drawer menu styling + show CTA */
@media (min-width: 1025px) and (max-width: 1366px) and (min-height: 1024px) {
  .nav-toggle {
    display: flex !important;
  }

  .desktop-cta,
  .mobile-cta {
    display: none !important;
  }

  .nav-menu {
    position: fixed !important;
    top: 0 !important;
    right: -85vw !important;
    width: 85vw !important;
    max-width: 400px !important;
    height: 100vh !important;
    background: var(--color-white) !important;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15) !important;
    z-index: 200 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    overflow-y: auto !important;
    display: none !important;
    flex-direction: column !important;
  }

  .nav-menu.active {
    display: flex !important;
    right: 0 !important;
  }

  .nav-menu-backdrop {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 190 !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
  }

  .nav-menu-backdrop.active {
    display: block !important;
    opacity: 1 !important;
  }

  .nav-menu li.nav-menu-cta,
  .nav-menu li.nav-menu-header,
  .nav-menu li.nav-menu-spacer {
    display: block !important;
    visibility: visible !important;
  }

  .nav-menu-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 32px !important;
    background: var(--color-white) !important;
    border-bottom: 1px solid var(--color-gray-200) !important;
    height: 80px !important;
    min-height: 80px !important;
    flex-shrink: 0 !important;
  }

  .nav-menu-title {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
  }

  .nav-menu-close {
    width: 40px !important;
    height: 40px !important;
    padding: 8px !important;
  }

  .nav-menu {
    padding-top: 8px !important;
  }

  .nav-menu li {
    border-bottom: none !important;
    padding: 0 18px !important;
  }

  .nav-menu a {
    background: var(--color-white) !important;
    border: 1px solid var(--color-gray-200) !important;
    border-radius: 14px !important;
    margin: 8px 0 !important;
    box-shadow: 0 1px 0 rgba(107, 29, 29, 0.03) !important;
    padding: 20px 28px !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
  }

  .nav-menu a.active {
    background: rgba(107, 29, 29, 0.05) !important;
    border-color: rgba(107, 29, 29, 0.25) !important;
  }

  .nav-menu-cta {
    padding: 24px 24px 20px 24px !important;
    display: block !important;
    border-top: 1px solid var(--color-gray-200) !important;
  }

  .nav-menu-cta .btn {
    width: 100% !important;
    font-size: 1.1rem !important;
    padding: 18px 24px !important;
    min-height: 56px !important;
  }
}

/* Drawer menu: force "fancy" card styling + CTA whenever the drawer is open */
@media (min-width: 768px) {
  .nav-menu.active li.nav-menu-cta,
  .nav-menu.active li.nav-menu-header,
  .nav-menu.active li.nav-menu-spacer {
    display: block !important;
    visibility: visible !important;
  }

  .nav-menu.active .nav-menu-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 32px !important;
    height: 80px !important;
    min-height: 80px !important;
    border-bottom: 1px solid var(--color-gray-200) !important;
  }

  .nav-menu.active .nav-menu-close {
    width: 40px !important;
    height: 40px !important;
    padding: 8px !important;
  }

  .nav-menu.active {
    padding-top: 8px !important;
  }

  .nav-menu.active li {
    border-bottom: none !important;
    padding: 0 18px !important;
  }

  .nav-menu.active a {
    background: var(--color-white) !important;
    border: 1px solid var(--color-gray-200) !important;
    border-radius: 14px !important;
    margin: 8px 0 !important;
    box-shadow: 0 1px 0 rgba(107, 29, 29, 0.03) !important;
    padding: 20px 28px !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
    border-left: 4px solid transparent !important;
  }

  .nav-menu.active a.active {
    background: rgba(107, 29, 29, 0.05) !important;
    border-color: rgba(107, 29, 29, 0.25) !important;
    border-left-color: var(--color-primary) !important;
  }

  .nav-menu.active .nav-menu-cta {
    padding: 24px 24px 20px 24px !important;
    display: block !important;
    border-top: 1px solid var(--color-gray-200) !important;
  }

  .nav-menu.active .nav-menu-cta .btn {
    width: 100% !important;
    font-size: 1.1rem !important;
    padding: 18px 24px !important;
    min-height: 56px !important;
  }
}

/* Tablet/Desktop: ensure overrides apply even if body class differs */
@media (min-width: 768px) {
  #slider-container .book-title-divider {
    display: block !important;
    height: 2px !important;
    width: 40px !important;
    background: linear-gradient(90deg, #6B1D1D, #8B2F2F) !important;
    margin: 0.75rem auto 1rem !important;
    border-radius: 1px !important;
  }

  #slider-container .book-slide h4::after {
    display: none !important;
  }

  #slider-container .book-slide div[style*="height: 2px"][style*="width: 40px"] {
    display: none !important;
  }

  #slider-container .book-slide > div {
    height: auto !important;
    min-height: 470px !important;
    overflow: visible !important;
  }

  #slider-container .book-slide h4 {
    display: block !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.25 !important;
    min-height: 3.6em !important;
  }

  #slider-container .book-slide p {
    display: block !important;
    overflow: visible !important;
    text-overflow: unset !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
  }
}

