/**
 * Theme Name: Love Leads Here 2026
 * Theme URI: http://loveleadshere.org
 * Description: A custom made theme for LoveLeadsHere
 * Version: 1.0
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Tags: dark, light, white, black, gray, one-column, two-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready
 * Text Domain: llh
 */
 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            overflow-x: hidden;
        }
        
        body {
            font-family: 'Source Sans 3', sans-serif;
            background-color: #E8DFD0;
            color: #333;
            line-height: 1.6;
            overflow-x: hidden;
        }
		.rainn_message { width:100%;height:auto;text-align: right;}
        @media (min-width: 769px) {
		.rainn_message { width:90%;height:auto;text-align: right;}
            body {
                background-color: #C5C3BF;
                background-image: radial-gradient(ellipse at 50% 0%, #C5C3BF 40%, #A8A6A2 100%);
                background-attachment: fixed;
            }
        }
        
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Oswald', sans-serif;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        
        h1 { font-size: 3.5rem; }
        h2 { font-size: 2.5rem; }
        h3 { font-size: 1.8rem; }
        
        a {
            color: #FF6633;
            text-decoration: none;
        }

        a:hover {
            color: #E91E8C;
            text-decoration: underline;
        }
        
        /* HEADER */
        header {
            background: #E8DFD0;
            padding: 20px 0;
            padding-top: max(20px, env(safe-area-inset-top, 20px));
            position: relative;
            z-index: 10;
            overflow: hidden;
        }
        header::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse at 0% 0%, rgba(140,55,10,0.20) 0%, rgba(120,45,8,0.12) 25%, transparent 65%),
                radial-gradient(ellipse at 5% 40%, rgba(180,80,20,0.09) 0%, transparent 50%),
                linear-gradient(155deg, rgba(70,30,5,0.16) 0%, rgba(90,40,8,0.07) 20%, transparent 55%);
            pointer-events: none;
            z-index: 0;
        }
        header > * {
            position: relative;
            z-index: 2;
        }
        
        
        .header-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }
        
        .logo img {
            height: 236px;
            width: auto;
            margin-top: -10px;
        }
        
        .header-right {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-top: 15px;
        }
        
        .cta-button {
            background: linear-gradient(135deg, #FF6633, #E91E8C);
            color: white;
            padding: 12px 25px;
            border: none;
            border-radius: 25px;
            font-weight: 700;
            cursor: pointer;
            font-size: 1rem;
            transition: opacity 0.3s, transform 0.2s;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        
        .cta-button:hover {
            opacity: 0.9;
            transform: translateY(-2px);
        }
        
        /* GET TOGGLE BUTTON */
        .get-toggle {
            display: inline-flex;
            align-items: center;
            /*background: linear-gradient(135deg, #FF6633, #E91E8C);*/
						background: #e1d9cb;
            border-radius: 10px;
            padding: 10px 16px;
            height: 52px;
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: clamp(0.65rem, 2.5vw, 0.95rem);
            user-select: none;
            white-space: nowrap;
            overflow: hidden;
        }

				.getleft {
					color:#fff;
					font-size:24px;
					border-right:1px solid #fff;
					line-height:1;
					padding:0 5px 0 0;
				}
			
			.getright {
				display:flex;
				flex-direction: column;
			}
			
			.getright a, .getright span {
				color:#fff;
				display:inline-block;
				padding:0 0 0 5px;
				font-size:14px;
				cursor:pointer;
			}
			
			.getright a:hover, .getright span:hover {
				text-decoration: none;	
			}
			
			.getright a:first-of-type {
				border-top:1px solid #fff;	
			}
			
        .get-prefix {
            color: white;
            margin-right: 4px;
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease;
            position: relative;
            z-index: 2;
        }

        /* Ghost of GET left behind when it slides */
        .get-toggle .get-ghost {
            position: absolute;
            color: rgba(255,255,255,0.18);
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.5s ease 0.1s;
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        .get-toggle.treated-mode .get-ghost {
            opacity: 1;
        }

        .get-options {
            display: flex;
            align-items: center;
            gap: 0;
        }

        .get-option {
            color: rgba(255,255,255,0.35);
            transition: color 0.15s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
            padding: 0 8px;
            cursor: pointer;
            transform: scale(1);
            position: relative;
        }

        .get-option::before {
            content: '';
            position: absolute;
            top: -20px;
            bottom: -20px;
            left: -20px;
            right: 0;
            z-index: 1;
        }

        .get-option[data-target="tested"] {
            transform: translateX(-8px);
        }

        .get-option[data-target="treated"] {
            padding-left: 16px;
        }

        .get-option.active {
            color: white;
            animation: optionPop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .get-option[data-target="tested"].active {
            animation: optionPopTested 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        @keyframes optionPop {
            0% { transform: scale(1); }
            50% { transform: scale(1.15); }
            100% { transform: scale(1); }
        }

        @keyframes optionPopTested {
            0% { transform: translateX(-8px) scale(1); }
            50% { transform: translateX(-8px) scale(1.15); }
            100% { transform: translateX(-8px) scale(1); }
        }

        .get-divider {
            display: none;
        }

        /* When treated is selected, shift GET to the right */
        .get-toggle.treated-mode .get-prefix {
            transform: translateX(calc(var(--tested-width) + 16px));
        }
        
				.video-buttons {
					margin:10px 0 0;
					text-align: right;
				}

				.btnnew {
					display: inline-block;
					background: white;
					color: #FF6633;
					padding: 4px 10px;
					border-radius: 6px;
					text-decoration: none;
					font-weight: 600;
					font-size: 0.9rem;	
					cursor:pointer;
					margin:0 0 0 10px;
				}	

				.btnnew.active, .btnnew:hover {
					color:#fff;
					background-color: #FF6633;
					text-decoration: none;
				}
        
        /* HIV LOCATOR WIDGET */
        .hiv-locator-widget {
            margin: 25px 0 0;
            padding: 20px;
            background: rgba(255,252,245,0.7);
            border-radius: 12px;
            box-shadow: 0 2px 12px rgba(60,30,10,0.08);
        }
        .hamburger {
            display: flex;
            flex-direction: column;
            cursor: pointer;
            gap: 5px;
            background: linear-gradient(135deg, #FF6633, #E91E8C);
            padding: 14px;
            border-radius: 10px;
            width: 52px;
            height: 52px;
            align-items: center;
            justify-content: center;
            transition: opacity 0.2s, transform 0.2s;
        }

        .hamburger:hover {
            opacity: 0.9;
            transform: scale(1.05);
        }

        .hamburger:active {
            transform: scale(0.95);
        }

        .hamburger span {
            width: 24px;
            height: 3px;
            background: white;
            border-radius: 2px;
        }

        /* BACK TO TOP BUTTON */
        .back-to-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 52px;
            height: 52px;
            background: linear-gradient(135deg, #FF6633, #E91E8C);
            color: white;
            border: none;
            border-radius: 50%;
            font-size: 1.5rem;
            cursor: pointer;
            z-index: 150;
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px);
            transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
            box-shadow: 0 4px 15px rgba(233,30,140,0.3);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .back-to-top.visible {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .back-to-top:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(233,30,140,0.4);
        }
        
        /* TurnUp Graphic */
        .turnup-section {
            max-width: 1200px;
            margin: -30px auto 0;
            padding: 0 20px;
        }
        
        .turnup-graphic {
            width: 100%;
            max-width: 550px;
            height: auto;
        }
        
        .subtitle {
            font-family: 'Oswald', sans-serif;
            font-size: 2.8rem;
            color: #FF6633;
            margin: 20px 0;
            text-transform: uppercase;
            line-height: 1.1;
            font-weight: 700;
            letter-spacing: 1px;
            max-width: 600px;
        }
        
        /* MOBILE MENU */
        .mobile-menu {
            display: block;
            position: fixed;
            left: -300px;
            top: 0;
            width: 300px;
            height: 100vh;
            background: #1E1A16;
            padding: 40px 20px;
            transition: left 0.3s;
            z-index: 200;
            overflow-y: auto;
        }
        
        .mobile-menu.active {
            left: 0;
        }
        
        .mobile-menu a {
            display: block;
            color: white;
            padding: 15px 0;
            border-bottom: 1px solid transparent;
            border-image: linear-gradient(90deg, #FF6633, #E91E8C) 1;
            text-transform: uppercase;
            font-weight: 600;
        }
        
        .mobile-menu a:hover {
            color: #FF6633;
        }
        
        .mobile-close {
            display: block;
            position: absolute;
            top: 20px;
            right: 20px;
            cursor: pointer;
            color: white;
            font-size: 2rem;
        }
        
        /* PAINT STREAK DIVIDERS */
        .divider-anim {
            position: relative;
            width: 100%;
            margin: -96px 0 0 0;
            padding: 0;
            line-height: 0;
            overflow: visible;
        }

				.is-quotes {
					position:absolute;
					top:100px;
					left:20px;
					width:40%;
					opacity:0;
					transition:all .3s ease-in;
					z-index: 20;
				}

				.is-quotes.lower {
					top:120px;	
				}

				.is-quotes.show {
					opacity:1;
				}

				.slick-next, .slick-prev {
					display:none !important;
				}

				.is-quotes img {
					width:100%;
				}

        .divider-mini {
            margin-top: 0;
            max-height: 80px;
            overflow: hidden;
        }
        .divider-mini .dv-blank {
            height: 80px;
            width: 100%;
            object-fit: cover;
            object-position: bottom center;
        }


        .dv-blank {
            width: 100%;
            height: auto;
            display: block;
            mix-blend-mode: darken;
        }

        .dv-standing, .dv-jumping {
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            height: 100%;
            width: auto;
            max-width: 80%;
            object-fit: contain;
            object-position: bottom center;
            opacity: 0;
        }

        .dv-standing {
            left: 58%;
            transform: translateX(-50%);
            height: 100%;
            max-width: 80%;
        }

        .dv-jumping {
            left: 20%;
            transform: translateX(-50%);
            height: 100%;
            max-width: 90%;
            bottom: 5%;
        }

        .divider-jose .dv-standing {
            left: 63%;
        }
        .divider-jose .dv-jumping {
            left: 25%;
        }

        .divider-jacob .dv-standing {
            left: 78%;
        }
        .divider-jacob .dv-jumping {
            left: 44%;
        }

        .divider-rich .dv-jumping {
            left: 24%;
            bottom: 15%;
        }


        .divider-anim::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.03) 2px, rgba(0,0,0,0.03) 4px);
            pointer-events: none;
            opacity: 0;
            z-index: 2;
        }

        /* Glitch IN animation — plays once, ends at opacity 1 */
        .dv-standing.glitch-in, .dv-jumping.glitch-in {
            animation: glitchIn 0.6s steps(1, end) forwards;
        }

        /* Glitch OUT animation — plays once, ends at opacity 0 */
        .dv-standing.glitch-out, .dv-jumping.glitch-out {
            animation: glitchOut 0.6s steps(1, end) forwards;
        }

        /* Scanline overlay during glitch */
        .divider-anim.glitching::after {
            opacity: 0.7;
        }

        @keyframes glitchIn {
            0% { opacity: 0; clip-path: inset(0 0 0 0); filter: none; }
            10% { opacity: 1; clip-path: inset(0 0 60% 0); filter: hue-rotate(90deg) saturate(3) contrast(2); }
            20% { opacity: 0.8; clip-path: inset(20% 0 30% 0); filter: hue-rotate(-60deg) saturate(2); }
            30% { opacity: 1; clip-path: inset(50% 0 10% 0); filter: saturate(4) contrast(1.5); }
            40% { opacity: 0.6; clip-path: inset(10% 0 40% 0); filter: hue-rotate(180deg); }
            50% { opacity: 1; clip-path: inset(0 0 0 0); filter: contrast(1.3); }
            60% { opacity: 0.9; clip-path: inset(30% 0 20% 0); filter: hue-rotate(45deg) saturate(2); }
            70% { opacity: 0.4; clip-path: inset(60% 0 5% 0); filter: hue-rotate(-30deg) contrast(2); }
            80% { opacity: 1; clip-path: inset(5% 0 15% 0); filter: saturate(2); }
            90% { opacity: 0.9; clip-path: inset(0 0 0 0); filter: contrast(1.1); }
            100% { opacity: 1; clip-path: inset(0 0 0 0); filter: none; }
        }

        @keyframes glitchOut {
            0% { opacity: 1; clip-path: inset(0 0 0 0); filter: none; }
            10% { opacity: 0.8; clip-path: inset(40% 0 20% 0); filter: hue-rotate(-90deg) saturate(3); }
            20% { opacity: 1; clip-path: inset(10% 0 50% 0); filter: contrast(3); }
            30% { opacity: 0.5; clip-path: inset(60% 0 0 0); filter: hue-rotate(120deg); }
            40% { opacity: 0.8; clip-path: inset(0 0 30% 0); filter: saturate(4); }
            50% { opacity: 0.3; clip-path: inset(0 0 70% 0); filter: saturate(5); }
            60% { opacity: 0.6; clip-path: inset(25% 0 35% 0); filter: hue-rotate(60deg); }
            70% { opacity: 0.2; clip-path: inset(50% 0 20% 0); filter: contrast(2); }
            80% { opacity: 0.4; clip-path: inset(15% 0 55% 0); filter: hue-rotate(200deg); }
            90% { opacity: 0.1; clip-path: inset(20% 0 40% 0); filter: hue-rotate(200deg) contrast(2); }
            100% { opacity: 0; clip-path: inset(0 0 0 0); filter: none; }
        }

        /* SECTIONS */
        section {
            max-width: 1200px;
            margin: 0 auto;
            padding: 40px 20px;
            overflow: hidden;
        }
        
        section h2 {
            margin-top: 30px;
            margin-bottom: 25px;
            color: #1E1A16;
        }
        
        /* VIDEO STORIES SECTION */
        .video-stories-intro {
            background: rgba(255,250,240,0.65); backdrop-filter: blur(4px);
            padding: 15px;
            border-radius: 10px;
            margin-bottom: 30px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        
        .video-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin-bottom: 40px;
        }
        
        .video-card {
            position: relative;
            background: #1E1A16;
            border-radius: 10px;
            overflow: hidden;
            cursor: pointer;
            transition: transform 0.3s;
            aspect-ratio: 16/9;
        }
        
        .video-card:hover {
            transform: scale(1.05);
        }
        
        .video-card video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .video-card-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
            padding: 15px;
            color: white;
            font-weight: 600;
            text-transform: uppercase;
        }
        
        .play-button {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 60px;
            height: 60px;
            background: linear-gradient(135deg, #FF6633, #E91E8C);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s;
        }
        
        .video-card:hover .play-button {
            opacity: 1;
        }
        
        .play-button::before {
            content: '▶';
            color: white;
            font-size: 1.5rem;
            margin-left: 3px;
        }
        
        /* THE PLAN SECTION */
        .plan-cards {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin-top: 30px;
        }
        
        .card {
            background: rgba(255,250,240,0.65); backdrop-filter: blur(4px);
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            border-left: 5px solid transparent;
            border-image: linear-gradient(to bottom, #FF6633, #E91E8C) 1;
        }

        .card h3 {
            color: #FF6633;
            margin-bottom: 15px;
        }
        
        .card p {
            font-size: 0.95rem;
            line-height: 1.8;
        }
        
        /* CAMPAIGNS SECTION */
        .campaigns-scroll {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
            margin-top: 30px;
        }
        
        .campaign-card {
            background: rgba(255,250,240,0.65); backdrop-filter: blur(4px);
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            cursor: pointer;
            transition: transform 0.3s;
        }
        
        .campaign-card:hover {
            transform: translateY(-5px);
        }
        
        .campaign-card img {
            width: 100%;
            object-fit: cover;
						display: inline-block;
    				vertical-align: bottom;
        }
        
        .campaign-card-title {
            padding: 15px;
            font-weight: 600;
            text-transform: uppercase;
            color: #1E1A16;
            background: #E8DFD0;
        }
        
        /* TICKER */
        .ticker-container {
            background: #1E1A16;
            color: white;
            padding: 20px 0;
            overflow: hidden;
            margin: 30px 0;
            border-top: 3px solid transparent;
            border-bottom: 3px solid transparent;
            border-image: linear-gradient(90deg, #FF6633, #E91E8C) 1;
        }
        
        .ticker-text {
            font-family: 'Oswald', sans-serif;
            font-size: 1.3rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            white-space: nowrap;
            animation: scroll-left 20s linear infinite;
        }
        
        @keyframes scroll-left {
            0% { transform: translateX(100%); }
            100% { transform: translateX(-100%); }
        }
        
        /* FAQ SECTION */
        .faq-section {
            background: rgba(255,250,240,0.65); backdrop-filter: blur(4px);
            border-radius: 10px;
            margin-bottom: 20px;
            overflow: hidden;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        
        .faq-category-header {
            background: linear-gradient(135deg, #FF6633, #E91E8C);
            color: white;
            padding: 20px;
            cursor: pointer;
            font-weight: 700;
            text-transform: uppercase;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .faq-category-header:hover {
            background: linear-gradient(135deg, #E91E8C, #C4186E);
        }
        
        .faq-category-items {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s;
        }
        
        .faq-category-items.active {
            max-height: 5000px;
        }
        
        .faq-item {
            border-bottom: 1px solid #ddd;
        }
        
        .faq-question {
            background: #f8f8f8;
            padding: 15px;
            cursor: pointer;
            font-weight: 600;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background 0.3s;
        }
        
        .faq-question:hover {
            background: #f0f0f0;
        }
        
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s;
            padding: 0 15px;
        }
        
        .faq-answer.active {
            max-height: 2000px;
            padding: 15px;
        }
        
        /* RESOURCES SECTION */
        /* SERVICE FINDER - Resources Section */
        .service-finder {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
            margin: 30px 0;
        }
        
        .sf-card {
            background: rgba(255,252,245,0.85);
            border-radius: 12px;
            padding: 24px;
            cursor: pointer;
            transition: all 0.3s ease;
            border-left: 4px solid transparent;
        }
        
        .sf-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(60,30,10,0.12);
        }
        
        .sf-card.active {
            border-left-color: var(--card-accent);
        }
        
        .sf-card.dimmed {
            opacity: 0.4;
        }
        
        .sf-card-icon {
            font-size: 2rem;
            margin-bottom: 8px;
        }
        
        .sf-card-title {
            font-family: 'Oswald', sans-serif;
            font-size: 1.1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #1E1A16;
            margin-bottom: 6px;
        }
        
        .sf-card-desc {
            font-size: 0.85rem;
            color: #666;
            margin: 6px 0;
        }
        
        .sf-card-count {
            font-size: 0.8rem;
            font-weight: 700;
            color: var(--card-accent);
            margin-top: 8px;
        }
        
        .sf-list {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease;
            margin-top: 12px;
        }
        
        .sf-card.active .sf-list {
            max-height: 2000px;
        }
        
        .sf-org {
            padding: 12px 0;
            border-bottom: 1px solid rgba(0,0,0,0.06);
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
        }
        
        .sf-org-name {
            font-weight: 600;
            color: #1E1A16;
            flex: 1;
            font-size: 0.95rem;
        }
        
        .sf-org-link {
            color: #FF6633;
            font-size: 0.85rem;
            text-decoration: none;
            white-space: nowrap;
            font-weight: 600;
        }
        
        .sf-org-link:hover {
            text-decoration: underline;
        }
        
        .sf-org-badges {
            display: flex;
            gap: 4px;
            flex-shrink: 0;
        }
        
        .sf-org-badge {
            width: 20px;
            height: 20px;
            border-radius: 4px;
            transition: opacity 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 0.65rem;
            font-weight: 700;
        }
        
        .sf-home-test {
            background: linear-gradient(135deg, #FF6633, #E91E8C);
            color: white;
            border-radius: 12px;
            padding: 20px;
            text-align: center;
            margin: 20px 0;
        }
        
        .sf-home-test h3 {
            font-family: 'Oswald', sans-serif;
        }
        
        .sf-view-all {
            text-align: center;
            margin: 28px 0 8px 0;
        }

        .sf-view-all a {
            color: #FF6633;
            font-size: 1.15rem;
            font-weight: 600;
            font-family: 'Oswald', sans-serif;
            text-decoration: underline;
            cursor: pointer;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .sf-view-all a:hover {
            color: #FF6633;
        }
        
        .sf-all-list {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease;
        }
        
        .sf-all-list.open {
            max-height: 5000px;
        }
        
        .sf-all-list h3 {
            margin-top: 20px;
            color: #1E1A16;
        }
        
        .sf-all-list .sf-org {
            font-size: 0.9rem;
        }
        
        @media (max-width: 768px) {
			.divider-jose {margin:30px 0 0 0;}
			.divider-rich {margin:-40px 0 0 0;}
            .service-finder {
                grid-template-columns: 1fr;
            }
            
            .sf-org {
                flex-direction: column;
                align-items: flex-start;
            }
            
            .sf-org-link {
                align-self: flex-start;
            }
            
            .sf-org-badges {
                align-self: flex-start;
            }
        }
        
        /* EVENTS & NEWS */
        .event-item {
            background: rgba(255,250,240,0.65); backdrop-filter: blur(4px);
            padding: 20px;
            border-radius: 10px;
            border-left: 5px solid transparent;
            border-image: linear-gradient(to bottom, #FF6633, #E91E8C) 1;
            margin-bottom: 15px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }

				.event-item p {
					margin:0 0 15px;
				}

				.video-item {
					margin:0 0 20px;
				}

				.video-item.last {
					margin-bottom:0;
				}

				.share-item-new {
					display:flex;
					margin:0 0 20px;
					align-items: flex-end;
				}

				.share-item-new-left {
					width:32%;
					padding:0 20px 0 0;
				}

				.share-item-new-left img {
					width:100%;
					vertical-align: bottom;
					display:inline-block;
					border-radius:5px;
					object-fit: cover;
					aspect-ratio:1 /1 ;
				}

				.share-item-new-right {
					width:68%;
				}

				.rape-hotline {
					color:#fff;
					background-color: #000;
					padding:10px 30px 10px 10px;
					margin-right:-20px;
					text-align: right;
					width:85%;
					float:right;
					font-size:20px;
					border-radius:10px 0 0 10px;
					position:relative;
					z-index: 5;
				}

				.rape-hotline a {
					color:#fff;
					font-weight:bold;
					transition:all .3s ease-in;
				}

				.rape-hotline a:hover {
					color:#00C9DB;
					text-decoration: none;
				}

				.video-item-video, .video-wrap {
					position: relative;
					padding-bottom: 56.25%; /* 16:9 */
					height: 0;
					width:100%;
				}
				.video-item-video iframe,  .video-item-video video, .video-wrap video {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					border-radius: 10px;
					object-fit: cover;
				}

				.event-item p:last-of-type {
					margin:0;	
				}
        
        .event-date {
            color: #FF6633;
            font-weight: 700;
        }
        
        .collapsible-header {
            background: linear-gradient(135deg, #FF6633, #E91E8C);
            color: white;
            padding: 15px;
            cursor: pointer;
            font-weight: 700;
            text-transform: uppercase;
            display: flex;
            justify-content: space-between;
            border-radius: 10px;
            margin-bottom: 15px;
        }
        
        .collapsible-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s;
        }
        
        .collapsible-content.active {
            max-height: 2000px;
            margin-bottom: 15px;
        }
        
        /* SHARE SECTION */
        .share-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
        }
        
        .share-item {
            position: relative;
            border-radius: 10px;
            overflow: hidden;
            cursor: pointer;
            transition: transform 0.3s;
            aspect-ratio: 1/1;
        }
        
        .share-item:hover {
            transform: scale(1.05);
        }
        
        .share-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .share-item-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
            padding: 15px;
            color: white;
            font-weight: 600;
        }
        
        /* ABOUT SECTION */
        .about-content {
            background: rgba(255,250,240,0.65); backdrop-filter: blur(4px);
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            line-height: 1.8;
        }
        
        /* FOOTER */
        footer {
            background: #1E1A16;
            color: white;
            padding: 40px 20px;
            margin-top: 40px;
        }
        
        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
        }
        
        .footer-top {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 30px;
            margin-bottom: 30px;
        }
        
        .footer-logo img {
            height: 250px;
            width: auto;
            margin-bottom: 15px;
        }
        
        .footer-links h3 {
            color: #FF6633;
            margin-bottom: 15px;
        }
        
        .footer-links a {
            display: block;
            color: white;
            margin-bottom: 10px;
        }
        
        .footer-social a {
            display: inline-block;
            margin-right: 20px;
            color: #FF6633;
        }
        
        .footer-social a:hover {
            color: white;
        }
        
        .footer-bottom {
            border-top: 1px solid transparent;
            border-image: linear-gradient(90deg, #FF6633, #E91E8C) 1;
            padding-top: 30px;
            margin-top: 30px;
            font-size: 0.85rem;
            line-height: 1.6;
        }
        
        /* MODAL */
        .modal {
            display: none;
            position: fixed;
            z-index: 300;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.8);
        }
        
        .modal.active {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .modal-content {
            background: rgba(255,250,240,0.65); backdrop-filter: blur(4px);
            border-radius: 10px;
            max-width: 90%;
            max-height: 90%;
            overflow: auto;
            position: relative;
        }
        
        .modal-close {
            position: absolute;
            right: 20px;
            top: 20px;
            font-size: 2rem;
            cursor: pointer;
            color: #FF6633;
            z-index: 301;
        }
        
        .modal video {
            width: 100%;
            height: auto;
        }
        
        .modal img {
            width: 100%;
            height: auto;
						display: inline-block;
   				  vertical-align: bottom;
        }
        
        /* RESPONSIVE */
        
        .subtitle span { display: block; }
@media (max-width: 768px) {
	
	.share-item-new {
						flex-direction: column;	
						align-items: flex-start;
					}
					
					.share-item-new-right, .share-item-new-left {
						width:100%;
					}
					
					.share-item-new-left img {
						width:240px;
						max-width:100%;
						margin:0 0 20px;
					}
	
	.rape-hotline {
		width:88%;	
	}
	
            h1 { font-size: 2.2rem; }
            h2 { font-size: 1.8rem; }
            h3 { font-size: 1.3rem; }
            
            .hamburger {
                display: flex;
            }
            
            .mobile-close {
                display: block;
            }
            
            .header-right .cta-button {
                padding: 10px 15px;
                font-size: 0.9rem;
            }
            
            .video-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            
            .plan-cards {
                grid-template-columns: 1fr;
            }
            
            .campaigns-scroll {
                grid-template-columns: repeat(2, 1fr);
            }
            
    
        .filter-status {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            padding: 10px 0;
            font-size: 0.95rem;
            color: #333;
        }

        .filter-clear {
            color: #FF6633;
            font-weight: 600;
            text-decoration: none;
        }

        .filter-clear:hover {
            text-decoration: underline;
        }

        .legend-item {
            cursor: pointer;
            transition: opacity 0.3s ease;
        }

        .legend-item.faded {
            opacity: 0.4;
        }

        .legend-item.selected .legend-badge {
            opacity: 1;
        }

        .legend-item.faded .legend-badge {
            opacity: 0.4;
        }

        .resources-grid {
                grid-template-columns: 1fr;
            }
            
            .footer-top {
                grid-template-columns: 1fr;
            }
            
            .subtitle {
                font-size: 2.2rem;
                line-height: 1.15;
            }
        }
        
        @media (max-width: 480px) {
            h1 { font-size: 1.8rem; }
            h2 { font-size: 1.4rem; }
            
            section {
                padding: 25px 15px;
            }
            
            .video-grid {
                grid-template-columns: 1fr;
            }
            
            .campaigns-scroll {
                grid-template-columns: 1fr;
            }
            
            .share-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            
            .logo img {
                height: 170px;
            }

            .footer-logo img {
                height: 200px;
            }


        }
    
        
        

        
        @media (min-width: 960px) {
            .subtitle { font-size: 2.6rem; }

            .turnup-section {
                margin-top: -165px;
            }

            .turnup-graphic {
                max-width: 1030px;
            }

            .subtitle {
                margin-top: -8px;
            }
        }

        
        /* Turn Up typographic animation — v2 */
        .subtitle {
            overflow: hidden;
            padding: 10px 0 20px;
            perspective: 800px;
        }
        .anim-line {
            display: block;
            font-weight: 700;
            opacity: 0;
            will-change: transform, opacity, clip-path, text-shadow, filter;
        }

        /* Line 1: STAMP — crashes in huge & blurry, bounces to size */
        .anim-line.line1 {
            color: #FF6633;
            animation:
                stampIn 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s forwards,
                glowPulse1 3.5s ease-in-out 2.8s infinite;
        }

        /* Line 2: WIPE — clip-path reveal left-to-right with skew */
        .anim-line.line2 {
            color: #E91E8C;
            animation:
                wipeIn 1.1s cubic-bezier(0.25, 1, 0.5, 1) 1.1s forwards,
                glowPulse2 3.5s ease-in-out 3.3s infinite;
        }

        /* Line 3: EXPLODE — wide letter-spacing coalesces from center */
        .anim-line.line3 {
            color: #00C9DB;
            animation:
                explodeIn 1.3s cubic-bezier(0.22, 1, 0.36, 1) 2.0s forwards,
                glowPulse3 3.5s ease-in-out 3.8s infinite;
        }

        @keyframes stampIn {
            0% {
                opacity: 0;
                transform: scale(2.8) translateY(-25px) rotateX(15deg);
                filter: blur(18px);
                text-shadow: 0 0 0 transparent;
            }
            25% {
                opacity: 0.9;
                filter: blur(5px);
            }
            50% {
                opacity: 1;
                transform: scale(0.92) translateY(3px) rotateX(-2deg);
                filter: blur(0);
            }
            70% {
                transform: scale(1.05) translateY(-2px) rotateX(1deg);
            }
            85% {
                transform: scale(0.98) translateY(1px) rotateX(0);
            }
            100% {
                opacity: 1;
                transform: scale(1) translateY(0) rotateX(0);
                filter: blur(0);
                text-shadow: 0 0 20px rgba(255,102,51,0.5);
            }
        }

        @keyframes wipeIn {
            0% {
                opacity: 1;
                clip-path: inset(0 100% 0 0);
                transform: translateX(-40px) skewX(-8deg);
                text-shadow: 0 0 0 transparent;
            }
            35% {
                clip-path: inset(0 50% 0 0);
                transform: translateX(-10px) skewX(-3deg);
            }
            65% {
                clip-path: inset(0 5% 0 0);
                transform: translateX(5px) skewX(1deg);
            }
            80% {
                clip-path: inset(0 0 0 0);
                transform: translateX(-2px) skewX(0);
            }
            100% {
                opacity: 1;
                clip-path: inset(0 0 0 0);
                transform: translateX(0) skewX(0);
                text-shadow: 0 0 20px rgba(233,30,140,0.5);
            }
        }

        @keyframes explodeIn {
            0% {
                opacity: 0;
                letter-spacing: 0.6em;
                transform: scale(0.2) translateY(15px);
                filter: blur(25px);
                text-shadow: 0 0 0 transparent;
            }
            20% {
                opacity: 0.6;
                letter-spacing: 0.35em;
                filter: blur(12px);
            }
            45% {
                opacity: 1;
                letter-spacing: 0.08em;
                transform: scale(1.1) translateY(-5px);
                filter: blur(0);
            }
            65% {
                letter-spacing: 0.01em;
                transform: scale(0.96) translateY(2px);
            }
            80% {
                transform: scale(1.03) translateY(-1px);
            }
            100% {
                opacity: 1;
                letter-spacing: 0.02em;
                transform: scale(1) translateY(0);
                filter: blur(0);
                text-shadow: 0 0 30px rgba(0,201,219,0.6), 0 0 70px rgba(0,201,219,0.2);
            }
        }

        /* Continuous glow breathing after reveal */
        @keyframes glowPulse1 {
            0%, 100% {
                text-shadow: 0 0 20px rgba(255,102,51,0.5);
                transform: scale(1) translateY(0);
            }
            50% {
                text-shadow: 0 0 45px rgba(255,102,51,0.8), 0 0 90px rgba(255,102,51,0.25);
                transform: scale(1.015) translateY(-2px);
            }
        }
        @keyframes glowPulse2 {
            0%, 100% {
                text-shadow: 0 0 20px rgba(233,30,140,0.5);
                transform: scale(1) translateY(0);
            }
            50% {
                text-shadow: 0 0 45px rgba(233,30,140,0.8), 0 0 90px rgba(233,30,140,0.25);
                transform: scale(1.015) translateY(-2px);
            }
        }
        @keyframes glowPulse3 {
            0%, 100% {
                text-shadow: 0 0 30px rgba(0,201,219,0.6), 0 0 70px rgba(0,201,219,0.2);
                transform: scale(1) translateY(0);
            }
            50% {
                text-shadow: 0 0 55px rgba(0,201,219,0.9), 0 0 110px rgba(0,201,219,0.3);
                transform: scale(1.015) translateY(-2px);
            }
        }

        
        /* Color-coded service badges */
        .service-badge[data-type="H"] { background: #999999; }
        .service-badge[data-type="C"] { background: #FF6633; }
        .service-badge[data-type="P"] { background: #00C9DB; }
        .service-badge[data-type="S"] { background: #1A1A1A; }
        .legend-badge[data-type="H"] { background: #999999; }
        .legend-badge[data-type="C"] { background: #FF6633; }
        .legend-badge[data-type="P"] { background: #00C9DB; }
        .legend-badge[data-type="S"] { background: #1A1A1A; }

        /* Instagram Feed Placeholder */
        .instagram-feed {
            margin-top: 30px;
        }
        .instagram-feed h3 {
            color: #00C9DB;
            font-family: 'Oswald', sans-serif;
            text-transform: uppercase;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .instagram-feed h3 .ig-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
            border-radius: 8px;
            color: white;
            font-size: 18px;
            font-weight: 700;
            font-style: italic;
        }
        .ig-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
        }
        .ig-item {
            aspect-ratio: 1;
            border-radius: 8px;
            overflow: hidden;
            position: relative;
            cursor: pointer;
            transition: transform 0.2s;
        }
        .ig-item:hover {
            transform: scale(1.03);
        }
        .ig-item .ig-placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.8rem;
            color: rgba(255,255,255,0.7);
            text-align: center;
            padding: 10px;
            font-weight: 600;
        }
        .ig-item:nth-child(1) .ig-placeholder { background: linear-gradient(135deg, #E91E8C, #FF6633); }
        .ig-item:nth-child(2) .ig-placeholder { background: linear-gradient(135deg, #00C9DB, #0B8457); }
        .ig-item:nth-child(3) .ig-placeholder { background: linear-gradient(135deg, #FF6633, #E91E8C); }
        .ig-item:nth-child(4) .ig-placeholder { background: linear-gradient(135deg, #6B4FBB, #00C9DB); }
        .ig-item:nth-child(5) .ig-placeholder { background: linear-gradient(135deg, #E91E8C, #6B4FBB); }
        .ig-item:nth-child(6) .ig-placeholder { background: linear-gradient(135deg, #00C9DB, #FF6633); }
        .ig-follow-btn {
            display: inline-block;
            margin-top: 15px;
            padding: 12px 30px;
            background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
            color: white;
            border-radius: 25px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-size: 0.9rem;
            text-decoration: none;
            transition: opacity 0.3s, transform 0.2s;
        }
        .ig-follow-btn:hover {
            opacity: 0.9;
            transform: translateY(-2px);
        }
        .ig-cms-note {
            margin-top: 12px;
            padding: 12px 16px;
            background: rgba(0,201,219,0.08);
            border-left: 3px solid #00C9DB;
            border-radius: 4px;
            font-size: 0.8rem;
            color: #666;
            font-style: italic;
        }

        /* Varied section colors */
        #videos h2 { color: #00C9DB; }
        #theplan h2 { color: #00C9DB; margin-top: 0; margin-bottom: 15px; }
        #campaigns h2 { color: #00C9DB; }
        #faqs h2 { color: #00C9DB; }
        #resources h2 { color: #00C9DB; }
        #events {
            background-color: #EDE4D4;
            border-radius: 12px;
            padding: 40px 30px;
        }
        #events h2 { color: #00C9DB; }
        #share h2 { color: #00C9DB; margin-bottom: 10px; }
        #share > p { margin-bottom: 25px; }
        #about h2 { color: #00C9DB; }
        
        /* Video card overlays with varied accent */
        .video-card:nth-child(1) .video-card-overlay { border-left: 4px solid #FF6633; }
        .video-card:nth-child(2) .video-card-overlay { border-left: 4px solid #00C9DB; }
        .video-card:nth-child(3) .video-card-overlay { border-left: 4px solid #1A1A1A; }
        .video-card:nth-child(4) .video-card-overlay { border-left: 4px solid #00C9DB; }
        .video-card:nth-child(5) .video-card-overlay { border-left: 4px solid #999999; }
        .video-card:nth-child(6) .video-card-overlay { border-left: 4px solid #FF6633; }
        .video-card:nth-child(7) .video-card-overlay { border-left: 4px solid #FF6633; }
        .video-card:nth-child(8) .video-card-overlay { border-left: 4px solid #00C9DB; }
        
        /* Action cards with varied borders */
        .action-card:nth-child(1) { border-left: 5px solid #999999; }
        .action-card:nth-child(2) { border-left: 5px solid #00C9DB; }
        .action-card:nth-child(3) { border-left: 5px solid #00C9DB; }
        .action-card:nth-child(1) h3 { color: #999999; }
        .action-card:nth-child(2) h3 { color: #00C9DB; }
        .action-card:nth-child(3) h3 { color: #00C9DB; }

        /* FAQ category headers with color */
        .faq-category:nth-child(1) h3 { color: #999999; border-bottom: 3px solid #999999; padding-bottom: 8px; }
        .faq-category:nth-child(2) h3 { color: #00C9DB; border-bottom: 3px solid #00C9DB; padding-bottom: 8px; }
        .faq-category:nth-child(3) h3 { color: #00C9DB; border-bottom: 3px solid #00C9DB; padding-bottom: 8px; }
        .faq-category:nth-child(4) h3 { color: #1A1A1A; border-bottom: 3px solid #1A1A1A; padding-bottom: 8px; }
        .faq-category:nth-child(5) h3 { color: #FF6633; border-bottom: 3px solid #FF6633; padding-bottom: 8px; }

        
        /* All body headlines turquoise */
        section h2, .section-title { color: #00C9DB; }
        section h3 { color: #00C9DB; }

.desktop-nav { display: none; }
@media (min-width: 769px) {
    .desktop-nav {
        display: flex;
        gap: 24px;
        padding: 8px 20px;
        margin-top: 48px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .desktop-nav a {
        color: #1E1A16;
        text-decoration: none;
        font-family: 'Oswald', sans-serif;
        font-size: 1.02rem;
        text-transform: uppercase;
        letter-spacing: 0.6px;
        transition: color 0.3s ease;
    }
    .desktop-nav a:hover { color: #FF6633; }
}

.site-container {
    background-color: #EDE4D4;
}

@media (min-width: 769px) {
    .site-container {
        max-width: 740px;
        /*margin-left: calc(50vw - 460px);*/
			margin:0 auto;
    }

    .back-to-top {
        right: auto;
        left: calc(50vw - 460px + 740px - 62px);
    }
}

section.section-alt {
    background: linear-gradient(to bottom, #F7F3EC 0%, #F5EFE5 100%);
}