@font-face {
    font-family: 'Garet';
    src: url('fonts/Garet-Book.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
    font-family: 'Garet', sans-serif;
    margin: 0;
    padding: 0;
    font-size: 17px;
    line-height: 1.6;
}

/* Prevent horizontal shift between pages with/without scrollbars */
html { scrollbar-gutter: stable; }

/* Skip to content link for accessibility */
.skip-link {
  position: absolute;
  top: 6px;
  left: 6px;
  background: #FF9F1C;
  color: #1a1a1a;
  padding: 8px;
  text-decoration: none;
  border-radius: 4px;
  z-index: 1000;
  transform: translateY(-150%);
  transition: transform .15s ease-in-out;
}
.skip-link:focus {
  transform: translateY(0);
}


/* Extracted from HTML files */

   * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            color: #333;
        }
        
        /* Navigation Styles */
        .navbar {
            background-color: #FF9F1C;
            padding: 0;
            position: relative;
            overflow: hidden; /* clip any artifacts above logo */
        }
        /* Cover any stray rounded shapes bleeding from above */
        .navbar::before { content:""; position:absolute; top:-32px; left:0; right:0; height:32px; background:#FF9F1C; }
        
        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 1rem;
        }
        
        .nav-brand {
            color: #1a1a1a;
            font-size: 1.5rem;
            font-weight: bold;
            text-decoration: none;
            padding: 1rem 0;
        }
        .nav-brand img{height:72px;width:auto;display:block}
        @media screen and (max-width: 768px){.nav-brand img{height:56px}}
        .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
        
        .nav-menu {
            display: flex;
            list-style: none;
            margin: 0;
        }
        
        .nav-menu li {
            margin: 0;
        }
        
        .nav-menu a {
            color: #1a1a1a;
            text-decoration: none;
            padding: 1rem 1.2rem;
            display: block;
            font-size: 1rem;
            transition: background-color 0.3s ease;
        }
        
        .nav-menu a:hover {
            background-color: #E3007F;
            color: #fff;
        }
        
.nav-menu a.active {
    background-color: transparent;
    color: #1a1a1a;
    font-weight: 700;
}
        
        .hamburger {
            display: none;
            flex-direction: column;
            cursor: pointer;
            padding: .75rem;
            border: 2px solid rgba(0,0,0,0.25);
            border-radius: 10px;
            background: rgba(0,0,0,0.08);
            color: #1a1a1a;
        }
        .hamburger:focus { outline: 3px solid #E3007F; outline-offset: 2px; }
        .hamburger span {
            width: 26px;
            height: 3px;
            background-color: #1a1a1a;
            margin: 4px 0;
            transition: transform .2s ease, opacity .2s ease;
        }
        .hamburger.active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
        .hamburger.active span:nth-child(2){ opacity: 0; }
        .hamburger.active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
        
        /* Header Section */
        .hero-section {
            background: #ffffff;
            padding: 3rem 1rem;
        }
        
.hero-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
            align-items: center;
            text-align: center;
        }
        
        .logo-section {
            text-align: center;
        }
        
        .logo-section img {
            max-width: 100%;
            height: auto;
            max-height: 300px;
        }
        
        .services-section {
            background: #ffffff;
            padding: 2rem;
        }
        
        .services-section h2 {
            color: #E3007F;
            margin-bottom: 0rem;
            font-size: 0rem;
        }
        
        .services-list {
            list-style: none;
        }
        
        .services-list li {
            padding: 0.2rem 0;
 
            font-size: 1.1rem;
            color: #555;
        }
        
        .services-list li:last-child {
            border-bottom: none;
        }
        
        .services-list li:before {
                margin-right: 0.5rem;
        }

        /* Supporters styles */
        .supporters-section {
            padding: 3rem 0;
            background: #fff;
        }

        .supporters-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .supporter-card {
            background: white;
            border-radius: 12px;
            padding: 2rem;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            text-align: center;
        }

        .supporter-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .supporter-logo {
            max-width: 200px;
            max-height: 100px;
            margin-bottom: 1rem;
            object-fit: contain;
        }

        .supporter-name {
            font-size: 1.3rem;
            color: #E3007F;
            margin-bottom: 0.5rem;
            font-weight: 600;
        }

        .supporter-description {
            color: #666;
            font-size: 0.9rem;
            line-height: 1.5;
        }

/* Section theming overrides for consistent layout */
.page-hero {
    background: #F8B4CC;
    padding: 2rem 0;
    margin: 0;
}

.info-bar {
    background: #00CFFF;
    color: #1a1a1a;
    padding: 2rem 0;
    margin: 0;
}
.info-bar p { color: #1a1a1a; }
.info-bar .btn {
    display: inline-block;
    background: #FF9F1C;
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    text-decoration: none;
}
.info-bar .btn:hover { background: #E3007F; }

/* Reduce excess whitespace between themed sections and footer */
main.container { padding-bottom: 0; }
main.container > section { margin-bottom: 0; }
footer.footer-section { margin-top: 0; }
        
        /* About Section */
        .about-section {
            background: #00CFFF;
            color: #1a1a1a;
            padding: 3rem 1rem;
        }

/* Events teaser layout fix: make grid stretch full width of content column */
.events-teaser .about-container { align-items: start; grid-template-columns: 1fr; }
.events-teaser .about-logo { display: none; }
.events-teaser .contact-info { display: none; }
.events-teaser .about-text { width: 100%; }
.events-teaser .event-list { width: 100%; }
.events-teaser .event-card { height: 100%; }
.events-teaser .event-actions { margin-top: auto; }
        
        .about-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 200px 1fr 1fr;
            gap: 2rem;
            align-items: center;
        }
        
        .about-logo img {
            width: 100%;
            height: auto;
        }
        
        .about-text {
            font-size: 1.1rem;
            line-height: 1.6;
        }
        
        .contact-info {
            font-size: 1rem;
            line-height: 1.8;
        }
        
        .contact-info a {
            color: #E3007F;
            text-decoration: none;
        }
        
        .contact-info a:hover {
            text-decoration: underline;
        }
        
        /* Footer Section */
        .footer-section {
            background: #1a1a1a;
            color: #fff;
            padding: 2rem 1rem;
        }

/* Generic page wrappers adopt home palette */
.container section:first-child { margin-top: 1rem; }
.page-hero { background:#F8B4CC; padding: 2rem 1rem; }
.page-hero h1 { color:#1a1a1a; }
        
        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
        }
        
        .footer-card {
            background: rgba(255,255,255,0.1);
            padding: 2rem;
            border-radius: 10px;
            text-align: center;
            transition: transform 0.3s ease;
        }
        
        .footer-card:hover {
            transform: translateY(-5px);
        }
        
        .footer-card img {
            height: 60px;
            margin-bottom: 1rem;
        }
        
        .footer-card h3 {
            margin-bottom: 1rem;
            font-size: 1.2rem;
        }
        
        /* Mobile Responsive */
        @media screen and (max-width: 768px) {
            .nav-menu {
                position: fixed;
                left: -100%;
                top: 70px;
                flex-direction: column;
                background-color: #FF9F1C;
                width: 100%;
                text-align: center;
                transition: 0.3s;
                box-shadow: 0 10px 27px rgba(0,0,0,0.05);
                z-index: 1000;
            }
            
            .nav-menu.active {
                left: 0;
            }
            
            .nav-menu li {
                margin: 0;
            }
            
            .nav-menu a {
                padding: 1.5rem;
                border-bottom: 1px solid rgba(255,255,255,0.1);
            }
            
            .hamburger {
                display: flex;
            }
            
            .hamburger.active span:nth-child(2) {
                opacity: 0;
            }
            
            .hamburger.active span:nth-child(1) {
                transform: translateY(6px) rotate(45deg);
            }
            
            .hamburger.active span:nth-child(3) {
                transform: translateY(-6px) rotate(-45deg);
            }
            
            .hero-container {
                grid-template-columns: 1fr;
                text-align: center;
            }
            
            .about-container {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 1.5rem;
            }
            
            .footer-container {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }
            
            .services-section {
                margin-top: 2rem;
            }
        }
        
        @media screen and (max-width: 480px) {
            .hero-section {
                padding: 2rem 1rem;
            }
            
            .services-section {
                padding: 1.5rem;
            }
            
            .about-section {
                padding: 2rem 1rem;
            }
            
            .footer-section {
                padding: 1.5rem 1rem;
            }
        }
  

/* Events styles */
.container { max-width: 1200px; margin: 0 auto; padding: 1rem; }
.card { background: #ffffff; border-radius: 12px; box-shadow: 0 10px 27px rgba(0,0,0,0.05); border: 1px solid rgba(0,0,0,0.06); }
.card-inner { padding: 1rem; }
.muted { color: #777; }

.event-list { display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: stretch; }
.event-card { background: #fff; border: 1px solid rgba(0,0,0,0.06); border-radius: 12px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; transition: all 0.2s ease; }
.event-card:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); }
.event-card:focus-within { outline: 2px solid #FF9F1C; outline-offset: 2px; }
.event-image { width: 100%; height: auto; object-fit: contain; background: transparent; }
.event-body { padding: 1rem; display: flex; flex-direction: column; }
.event-title { margin: 0 0 .5rem 0; color: #E3007F; }
.event-meta { margin: 0 0 .5rem 0; color: #444; font-weight: 600; }
.event-desc { color: #555; }
.event-actions .btn { display: inline-block; }
.event-actions { text-align: center; margin-top: auto; padding-top: 1rem; }

/* Responsive multi-column: 2 cols on tablets, 3 on desktop */
@media (min-width: 640px) {
  .event-list { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .event-list { grid-template-columns: repeat(3, 1fr); }
}

.btn { background: #FF9F1C; color: #fff; text-decoration: none; padding: .55rem .9rem; border-radius: 8px; transition: all 0.2s ease; }
.btn:hover { background: #E3007F; color: #fff; transform: translateY(-1px); }
.btn-outline { background: transparent; color: #E3007F; border: 2px solid #E3007F; }
.btn-outline:hover { background: #E3007F; color: #fff; }
.btn-primary { background: #D1FF70; color: #1a1a1a; }
.btn-primary:hover { background: #bfef50; }

.event-detail { background: #ffffff; border-radius: 12px; padding: 1rem; box-shadow: 0 10px 27px rgba(0,0,0,0.05); }
.event-image-lg { width: 100%; height: auto; border-radius: 12px; margin: .5rem 0 1rem 0; max-height: none; object-fit: contain; background: transparent; }

/* Calendar */
.calendar-nav { display:flex; align-items:center; gap:.75rem; margin: .5rem 0 1rem 0; }
.info-bar .calendar-nav { justify-content: center; flex-wrap: wrap; }
.calendar-title { display: flex; align-items: center; gap: 1rem; }
.schedule-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap: .5rem; }
.schedule-cell { background:#ffffff; border:1px solid rgba(0,0,0,0.06); border-radius:10px; min-height:100px; padding:.5rem; }
.schedule-cell.muted { background: #f7f7f7; }
.schedule-date { font-weight:700; color:#FF9F1C; }
.schedule-items { list-style:none; margin:.25rem 0 0 0; padding:0; }
.schedule-items li { margin: .25rem 0; }
.schedule-items a { color:#E3007F; text-decoration:none; }
.schedule-items a:hover { text-decoration:underline; }


   * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            color: #333;
        }
        
        /* Navigation Styles */
        .navbar {
            background-color: #FF9F1C;
            padding: 0;
            position: relative;
        }
        
        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 1rem;
        }
        
        .nav-brand {
            color: #1a1a1a;
            font-size: 1.5rem;
            font-weight: bold;
            text-decoration: none;
            padding: 1rem 0;
        }
        
        .nav-menu {
            display: flex;
            list-style: none;
            margin: 0;
        }
        
        .nav-menu li {
            margin: 0;
        }
        
        .nav-menu a {
            color: #1a1a1a;
            text-decoration: none;
            padding: 1rem 1.2rem;
            display: block;
            font-size: 1rem;
            transition: background-color 0.3s ease;
        }
        
        .nav-menu a:hover {
            background-color: #E3007F;
            color: #fff;
        }
        
        .nav-menu a.active {
            background-color: transparent;
            color: #1a1a1a;
            font-weight: 700;
        }
        
        .hamburger {
            display: none;
            flex-direction: column;
            cursor: pointer;
            padding: 1rem 0;
        }
        
        .hamburger span {
            width: 25px;
            height: 3px;
            background-color: #1a1a1a;
            margin: 3px 0;
            transition: 0.3s;
        }
        
        /* Header Section */
        .hero-section {
            background: #ffffff;
            padding: 3rem 1rem;
        }
        
        .hero-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 2fr;
            gap: 2rem;
            align-items: center;
        }
        
/* Homepage layout: single centered column for intro copy */
body.home .hero-container {
                grid-template-columns: 1fr;
  gap: 0;
                text-align: center;
            }
body.home .services-section { padding: 0 1rem 1rem; }
body.home .services-section p { max-width: 80ch; margin: 0 auto; }
        
        .logo-section {
            text-align: center;
        }
        
        .logo-section img {
            max-width: 100%;
            height: auto;
            max-height: 300px;
        }
        
        .services-section {
            background: #ffffff;
            padding: 2rem;
        }
        
        .services-section h2 {
            color: #E3007F;
            margin-bottom: 1rem;
            font-size: 1.8rem;
        }
        
        .services-list {
            list-style: none;
        }
        
        .services-list li {
            padding: 0.8rem 0;
 
            font-size: 1.1rem;
            color: #555;
        }
        
        .services-list li:last-child {
            border-bottom: none;
        }
        
        .services-list li:before {
                margin-right: 0.5rem;
        }

        /* Supporters styles */
        .supporters-section {
            padding: 3rem 0;
            background: #fff;
        }

        .supporters-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .supporter-card {
            background: white;
            border-radius: 12px;
            padding: 2rem;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            text-align: center;
        }

        .supporter-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .supporter-logo {
            max-width: 200px;
            max-height: 100px;
            margin-bottom: 1rem;
            object-fit: contain;
        }

        .supporter-name {
            font-size: 1.3rem;
            color: #E3007F;
            margin-bottom: 0.5rem;
            font-weight: 600;
        }

        .supporter-description {
            color: #666;
            font-size: 0.9rem;
            line-height: 1.5;
        }
        
        /* About Section */
        .about-section {
            background: #00CFFF;
            color: #1a1a1a;
            padding: 3rem 1rem;
        }
        
        .about-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 200px 1fr 1fr;
            gap: 2rem;
            align-items: center;
        }
        
        .about-logo img {
            width: 100%;
            height: auto;
        }
        
        .about-text {
            font-size: 1.1rem;
            line-height: 1.6;
        }
        
        .contact-info {
            font-size: 1rem;
            line-height: 1.8;
        }
        
        .contact-info a {
            color: #E3007F;
            text-decoration: none;
        }
        
        .contact-info a:hover {
            text-decoration: underline;
        }
        
        /* Footer Section */
        .footer-section {
            background: #1a1a1a;
            color: #fff;
            padding: 2rem 1rem;
        }
        
        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
        }
        
        .footer-card {
            background: rgba(255,255,255,0.1);
            padding: 2rem;
            border-radius: 10px;
            text-align: center;
            transition: transform 0.3s ease;
        }
        
        .footer-card:hover {
            transform: translateY(-5px);
        }
        
        .footer-card img {
            height: 60px;
            margin-bottom: 1rem;
        }
        
        .footer-card h3 {
            margin-bottom: 1rem;
            font-size: 1.2rem;
        }
        
        /* Mobile Responsive */
        @media screen and (max-width: 768px) {
            .nav-menu {
                position: fixed;
                left: -100%;
                top: 70px;
                flex-direction: column;
                background-color: #FF9F1C;
                width: 100%;
                text-align: center;
                transition: 0.3s;
                box-shadow: 0 10px 27px rgba(0,0,0,0.05);
                z-index: 1000;
            }
            
            .nav-menu.active {
                left: 0;
            }
            
            .nav-menu li {
                margin: 0;
            }
            
            .nav-menu a {
                padding: 1.5rem;
                border-bottom: 1px solid rgba(255,255,255,0.1);
            }
            
            .hamburger {
                display: flex;
            }
            
            .hamburger.active span:nth-child(2) {
                opacity: 0;
            }
            
            .hamburger.active span:nth-child(1) {
                transform: translateY(6px) rotate(45deg);
            }
            
            .hamburger.active span:nth-child(3) {
                transform: translateY(-6px) rotate(-45deg);
            }
            
            .hero-container {
                grid-template-columns: 1fr;
                text-align: center;
            }
            
            .about-container {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 1.5rem;
            }
            
            .footer-container {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }
            
            .services-section {
                margin-top: 2rem;
            }
        }
        
        @media screen and (max-width: 480px) {
            .hero-section {
                padding: 2rem 1rem;
            }
            
            .services-section {
                padding: 1.5rem;
            }
            
            .about-section {
                padding: 2rem 1rem;
            }
            
            .footer-section {
                padding: 1.5rem 1rem;
            }
        }
  

   * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            color: #333;
        }
        
        /* Navigation Styles */
        .navbar {
            background-color: #FF9F1C;
            padding: 0;
            position: relative;
        }
        
        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 1rem;
        }
        
        .nav-brand {
            color: #1a1a1a;
            font-size: 1.5rem;
            font-weight: bold;
            text-decoration: none;
            padding: 1rem 0;
        }
        
        .nav-menu {
            display: flex;
            list-style: none;
            margin: 0;
        }
        
        .nav-menu li {
            margin: 0;
        }
        
        .nav-menu a {
            color: #1a1a1a;
            text-decoration: none;
            padding: 1rem 1.2rem;
            display: block;
            font-size: 1rem;
            transition: background-color 0.3s ease;
        }
        
        .nav-menu a:hover {
            background-color: #E3007F;
            color: #fff;
        }
        
        .nav-menu a.active {
            background-color: transparent;
            color: #1a1a1a;
            font-weight: 700;
        }
        
        .hamburger {
            display: none;
            flex-direction: column;
            cursor: pointer;
            padding: 1rem 0;
        }
        
        .hamburger span {
            width: 25px;
            height: 3px;
            background-color: #1a1a1a;
            margin: 3px 0;
            transition: 0.3s;
        }
        
        /* Header Section */
        .hero-section {
            background: #ffffff;
            padding: 3rem 1rem;
        }
        
        .hero-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 2fr;
            gap: 2rem;
            align-items: center;
        }
        
        .logo-section {
            text-align: center;
        }
        
        .logo-section img {
            max-width: 100%;
            height: auto;
            max-height: 300px;
        }
        
        .services-section {
            background: #ffffff;
            padding: 2rem;
        }
        
        .services-section h2 {
            color: #E3007F;
            margin-bottom: 1rem;
            font-size: 1.8rem;
        }
        
        .services-list {
            list-style: none;
        }
        
        .services-list li {
            padding: 0.8rem 0;
 
            font-size: 1.1rem;
            color: #555;
        }
        
        .services-list li:last-child {
            border-bottom: none;
        }
        
        .services-list li:before {
                margin-right: 0.5rem;
        }

        /* Supporters styles */
        .supporters-section {
            padding: 3rem 0;
            background: #fff;
        }

        .supporters-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .supporter-card {
            background: white;
            border-radius: 12px;
            padding: 2rem;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            text-align: center;
        }

        .supporter-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .supporter-logo {
            max-width: 200px;
            max-height: 100px;
            margin-bottom: 1rem;
            object-fit: contain;
        }

        .supporter-name {
            font-size: 1.3rem;
            color: #E3007F;
            margin-bottom: 0.5rem;
            font-weight: 600;
        }

        .supporter-description {
            color: #666;
            font-size: 0.9rem;
            line-height: 1.5;
        }
        
        /* About Section */
        .about-section {
            background: #00CFFF;
            color: #1a1a1a;
            padding: 3rem 1rem;
        }
        
        .about-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 200px 1fr 1fr;
            gap: 2rem;
            align-items: center;
        }
        
        .about-logo img {
            width: 100%;
            height: auto;
        }
        
        .about-text {
            font-size: 1.1rem;
            line-height: 1.6;
        }
        
        .contact-info {
            font-size: 1rem;
            line-height: 1.8;
        }
        
        .contact-info a {
            color: #E3007F;
            text-decoration: none;
        }
        
        .contact-info a:hover {
            text-decoration: underline;
        }
        
        /* Footer Section */
        .footer-section {
            background: #1a1a1a;
            color: #fff;
            padding: 2rem 1rem;
        }
        
        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
        }
        
        .footer-card {
            background: rgba(255,255,255,0.1);
            padding: 2rem;
            border-radius: 10px;
            text-align: center;
            transition: transform 0.3s ease;
        }
        
        .footer-card:hover {
            transform: translateY(-5px);
        }
        
        .footer-card img {
            height: 60px;
            margin-bottom: 1rem;
        }
        
        .footer-card h3 {
            margin-bottom: 1rem;
            font-size: 1.2rem;
        }
        
        /* Mobile Responsive */
        @media screen and (max-width: 768px) {
            .nav-menu {
                position: fixed;
                left: -100%;
                top: 70px;
                flex-direction: column;
                background-color: #FF9F1C;
                width: 100%;
                text-align: center;
                transition: 0.3s;
                box-shadow: 0 10px 27px rgba(0,0,0,0.05);
                z-index: 1000;
            }
            
            .nav-menu.active {
                left: 0;
            }
            
            .nav-menu li {
                margin: 0;
            }
            
            .nav-menu a {
                padding: 1.5rem;
                border-bottom: 1px solid rgba(255,255,255,0.1);
            }
            
            .hamburger {
                display: flex;
            }
            
            .hamburger.active span:nth-child(2) {
                opacity: 0;
            }
            
            .hamburger.active span:nth-child(1) {
                transform: translateY(6px) rotate(45deg);
            }
            
            .hamburger.active span:nth-child(3) {
                transform: translateY(-6px) rotate(-45deg);
            }
            
            .hero-container {
                grid-template-columns: 1fr;
                text-align: center;
            }
            
            .about-container {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 1.5rem;
            }
            
            .footer-container {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }
            
            .services-section {
                margin-top: 2rem;
            }
        }
        
        @media screen and (max-width: 480px) {
            .hero-section {
                padding: 2rem 1rem;
            }
            
            .services-section {
                padding: 1.5rem;
            }
            
            .about-section {
                padding: 2rem 1rem;
            }
            
            .footer-section {
                padding: 1.5rem 1rem;
            }
        }
  

.nav-link:hover { background-color: #E3007F; color: #fff; }
.nav-link.active { background-color: #E3007F; color: #fff; }

/* Overrides: tighten section whitespace */
.page-hero { background:#F8B4CC; padding:1.25rem 0; margin:0; }
.info-bar { background:#00CFFF; color:#1a1a1a; padding:1.25rem 0; margin:0; }
.info-bar p { color:#1a1a1a; }
.info-bar .btn { background:#FF9F1C; color:#fff; }
.info-bar .btn:hover { background:#E3007F; }
main.container > section { margin:0; }
footer.footer-section { margin-top:0; }

/* Remove inherited extra spacing around first section and main wrapper */
.container section:first-child { margin-top: 0; }
main.container { padding-top: 0; padding-bottom: 0; }

/* Make page-hero and info-bar work like header/footer - full width backgrounds */
.page-hero {
  background: #F8B4CC;
  padding: 2rem 0;
  margin: 0;
}

/* Calendar page — white bg, pink hero band */
body.calendar-page .about-section { background: #00CFFF; }
body.calendar-page .page-hero { background: #F8B4CC; }
body.calendar-page main.container { background: #ffffff; }
body.calendar-page .schedule-grid .schedule-cell { background:#ffffff; }
body.calendar-page .schedule-grid .schedule-cell.muted { background:#f7f7f7; }

.info-bar {
  background: #00CFFF;
  color: #1a1a1a;
  padding: 2rem 0;
  margin: 0;
}

/* Remove page-specific overrides that broke formatting */

/* Style content inside page-hero and info-bar */
.page-hero h1 {
  color: #1a1a1a;
  font-size: 2.5rem;
  margin-bottom: 1rem;
  text-align: center;
}

.page-hero p { color:#1a1a1a; font-size:1.25rem; line-height:1.8; font-weight:600; text-align:center; max-width: 100ch; margin: 0 auto 1.5rem; }
.page-hero .container > * + * { margin-top: 1.5rem; }

/* Breadcrumbs */
.breadcrumbs { background:#ffffff; border-bottom: 1px solid rgba(0,0,0,0.08); padding:.5rem 0; }
.breadcrumbs ol { list-style:none; margin:0 auto; padding:0 1rem; max-width:1200px; display:flex; gap:.5rem; flex-wrap:wrap; }
.breadcrumbs li { color:#555; font-size:.95rem; }
.breadcrumbs a { color:#E3007F; text-decoration:none; }
.breadcrumbs a:hover { text-decoration:underline; }

.info-bar .info-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.info-bar p {
  color: #1a1a1a;
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.info-bar .btn {
  background: #FF9F1C;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  display: inline-block;
  margin-top: 1rem;
}

.info-bar .btn:hover {
  background: #E3007F;
}

/* Contact page: two-column layout in the info bar */
.info-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: start; }
.info-copy h2 { color:#1a1a1a; }
@media (min-width: 900px) {
  .info-grid { grid-template-columns: 1.1fr 1fr; }
}

/* Supporters page: 2x2 grid layout */
.supporters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

@media (min-width: 768px) {
    .supporters-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 1000px;
        margin: 2rem auto 0;
    }
}

/* Footer social links */
.social-links a { text-decoration: none; color: #fff; }
.social-links a:hover { text-decoration: underline; }

/* Header social icons */
.header-social { display:flex; align-items:center; gap:.5rem; }
.header-social .social-icon { color:#1a1a1a; opacity:.9; display:inline-flex; align-items:center; justify-content:center; padding:.35rem; border-radius:6px; }
.header-social .social-icon svg { width:28px; height:28px; }
.header-social .social-icon:hover, .header-social .social-icon:focus { background: #E3007F; color:#fff; opacity:1; outline: none; }
.header-social-desktop { margin-left:.5rem; }

@media screen and (max-width: 768px) {
  .header-social-desktop { display:none; }
  .nav-social-links-mobile { display:block !important; padding: .5rem 1rem 1rem; }
  .nav-social-links-mobile .header-social { justify-content:center; }
}

/* Consistent hover/click colors for nav and social icons (desktop & mobile) */
.nav-menu a:hover { background-color: #E3007F; color: #fff; }
.nav-menu a:active, .nav-menu a:focus { background-color: #E3007F; color: #fff; }
.header-social .social-icon { color: #1a1a1a; }
.header-social .social-icon:hover, .header-social .social-icon:focus { background: #E3007F; color: #fff; opacity: 1; }
.header-social .social-icon:active { background: #1a1a1a; color: #fff; }
.nav-social-links-mobile .social-icon { color: #fff; }

.event-card img.event-image { width: 100% !important; height: auto !important; object-fit: contain !important; display: block; background: transparent; }
.event-image-lg { width: 50% !important; max-width: 400px !important; height: auto !important; object-fit: contain !important; background: transparent; border-radius: 12px; margin: 0 auto 1.5rem !important; display: block !important; }

.footer-card .footer-social { display:flex; justify-content:center; gap:.5rem; margin-top:.75rem; }
.footer-card .footer-social .social-icon { color:#fff; opacity:.95; display:inline-flex; align-items:center; justify-content:center; padding:.35rem; border-radius:8px; text-decoration:none; }
.footer-card .footer-social .social-icon:visited { color:#fff; }
.footer-card .footer-social .social-icon:hover, .footer-card .footer-social .social-icon:focus { background: rgba(255,255,255,0.15); outline:none; color:#fff; text-decoration:none; }
/* Remove old separate social-links row if still present */
.social-links { display:none; }

/* Social icons: dark on orange nav, white on dark footer */
.header-social .social-icon,
.header-social .social-icon:link,
.header-social .social-icon:visited { color: #1a1a1a !important; }
.footer-card .footer-social .social-icon,
.footer-card .footer-social .social-icon:link,
.footer-card .footer-social .social-icon:visited { color: #fff !important; }

/* Share section - Simplified icons only */
.share-section { 
  margin: 1.5rem 0 0; 
  padding: 1rem 0;
  border-top: 1px solid rgba(0,0,0,0.1);
  text-align: center;
}

.share-label { 
  margin: 0 0 0.75rem 0; 
  font-size: 0.9rem; 
  font-weight: 600; 
  color: #666; 
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.share-row { 
  display: flex; 
  gap: 0.75rem; 
  align-items: center; 
  justify-content: center;
}

.share-btn { 
  display: inline-flex; 
  align-items: center; 
  justify-content: center;
  background: #FF9F1C; 
  color: #fff; 
  padding: 0.75rem; 
  border-radius: 12px; 
  text-decoration: none; 
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
  width: 48px;
  height: 48px;
}

.share-btn:hover { 
  background: #E3007F; 
  color: #fff; 
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(227, 0, 127, 0.3);
}

.share-btn:active { 
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(227, 0, 127, 0.2);
}

.share-btn.copy.copied { 
  background: #E3007F; 
  transform: scale(0.95);
}

.share-btn svg { 
  width: 24px; 
  height: 24px; 
}

/* Mobile responsive sharing */
@media (max-width: 768px) {
  .share-section { 
    margin: 1rem 0 0;
    padding: 0.75rem 0;
  }
  
  .share-row { 
    gap: 0.5rem; 
  }
  
  .share-btn { 
    width: 44px;
    height: 44px;
    padding: 0.6rem;
  }
  
  .share-btn svg { 
    width: 20px; 
    height: 20px; 
  }
}

/* =============================================
   CRISIS SUPPORT PAGE
   ============================================= */

/* Hero — reuse page-hero but also support old class name */
.page-hero-cream { background: #F8B4CC; padding: 2rem 1rem; }
.page-hero-cream h1 { color: #1a1a1a; }
.hero-subtitle-blue { color: #1a1a1a; font-size: 1.1rem; margin-top: .5rem; }

/* Urgent alert bar */
.urgent-alert-bar {
  background: #E3007F;
  color: #fff;
  padding: 1rem;
}
.urgent-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
  justify-content: center;
  align-items: center;
}
.urgent-item { display: flex; align-items: center; gap: .75rem; }
.urgent-label { font-weight: 700; font-size: .95rem; letter-spacing: .04em; }
.urgent-link {
  background: #fff;
  color: #E3007F;
  font-weight: 800;
  padding: .4rem 1.2rem;
  border-radius: 50px;
  text-decoration: none;
  font-size: 1rem;
  transition: background .2s, color .2s;
}
.urgent-link:hover { background: #1a1a1a; color: #fff; }

/* 24/7 crisis card grid */
.support-directory { background: #ffffff; padding: 4rem 1rem; }
.section-title-green { color: #E3007F; }

.crisis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}
.crisis-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.crisis-card h3 { color: #E3007F; margin: 0; }
.crisis-card p { color: #555; font-size: .95rem; flex: 1; }
.phone-box {
  background: #FF9F1C;
  color: #fff;
  font-weight: 800;
  font-size: 1.2rem;
  padding: .5rem 1rem;
  border-radius: 8px;
  letter-spacing: .03em;
}
.btn-card {
  display: inline-block;
  background: transparent;
  color: #E3007F;
  border: 2px solid #E3007F;
  padding: .4rem 1rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: .9rem;
  transition: background .2s, color .2s;
  margin-top: auto;
}
.btn-card:hover { background: #E3007F; color: #fff; }

/* Specialised support section */
.specialized-support { background: #f8f8f8; padding: 4rem 1rem; }
.support-categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2rem;
}
.support-cat-box {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.support-cat-box h3 {
  color: #FF9F1C;
  font-size: 1.1rem;
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid #FF9F1C;
}
.support-cat-box h4 { color: #1a1a1a; margin-bottom: .2rem; }
.phone-link { font-weight: 800; color: #E3007F; font-size: 1rem; margin: .2rem 0; }
.support-cat-box a { color: #E3007F; text-decoration: none; font-size: .9rem; }
.support-cat-box a:hover { text-decoration: underline; }
.support-entry { margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; }
.support-entry:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

/* Homepage article grid */
.homepage-articles-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .homepage-articles-grid { grid-template-columns: repeat(2, 1fr); }
}

.homepage-article {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.07);
}
.homepage-article h3 {
  color: #E3007F;
  margin-bottom: .75rem;
  font-size: 1.2rem;
}
.article-layout { display: flex; gap: 1.5rem; align-items: flex-start; flex-wrap: wrap; }
.article-layout.article-right { flex-direction: row-reverse; }
.article-image img { max-width: 220px; height: auto; border-radius: 8px; }
@media (max-width: 640px) {
  .article-layout, .article-layout.article-right { flex-direction: column; }
  .article-image img { max-width: 100%; }
}

/* Event list: center cards when fewer than 3 in final row */
.event-list {
  justify-items: center;
}
.event-card {
  width: 100%;
  max-width: 400px;
}
@media (min-width: 640px) {
  .event-card { max-width: none; }
}

/* THE +AID SUITE — pill nav button (matches live site) */
.nav-app-link, .nav-app-link-hero {
    background: #0f172a !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    border: 2px solid #ffd700 !important;
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.45) !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    text-align: center;
}

.nav-app-link { padding: 10px 24px !important; font-size: 0.8rem !important; margin-left: 15px; }

.nav-app-link-hero {
    padding: 16px 45px !important;
    font-size: 1rem !important;
    letter-spacing: 0.1em;
    margin-top: 1rem;
    display: inline-block;
}

.nav-app-link:hover, .nav-app-link-hero:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 0 25px rgba(255, 215, 0, 0.75) !important;
}

@media screen and (max-width: 768px) {
    .nav-menu .nav-app-link {
        display: inline-block !important;
        margin: 1.5rem auto !important;
        width: auto;
    }
}
