{"id":842,"date":"2023-09-27T15:45:00","date_gmt":"2023-09-27T15:45:00","guid":{"rendered":"https:\/\/sierra.keydesign.xyz\/crm\/?page_id=842"},"modified":"2026-05-05T14:24:23","modified_gmt":"2026-05-05T14:24:23","slug":"donation-forms","status":"publish","type":"page","link":"https:\/\/www.causevox.com\/donation-forms\/","title":{"rendered":"Donation Forms"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"842\" class=\"elementor elementor-842\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3c50bbf e-con-full e-flex e-con e-parent\" data-id=\"3c50bbf\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fe08c14 elementor-widget elementor-widget-html\" data-id=\"fe08c14\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto:wght@400;500;600;700&family=Rubik:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<div class=\"cv-df-page\">\n\n  <!-- ============================================================ -->\n  <!-- 1. HERO  (two-column: text left, image right)                  -->\n  <!-- (no animation classes \u2014 above the fold)                       -->\n  <!-- ============================================================ -->\n  <section class=\"cv-df-hero\">\n    <!-- Stripe background: 8 staggered straight-line stripes,\n         no gaps, doubled stripe width (106) vs. homepage (53). -->\n    <div class=\"cv-df-stripe-bg\" aria-hidden=\"true\">\n      <svg class=\"cv-df-stripes-svg\" viewBox=\"0 0 1440 600\" preserveAspectRatio=\"xMidYMid slice\">\n        <defs>\n          <linearGradient id=\"cv-df-sg1\" gradientUnits=\"userSpaceOnUse\" x1=\"0\" y1=\"0\" x2=\"2200\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#66AA00\"\/><stop offset=\"100%\" stop-color=\"#C8FF00\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-sg2\" gradientUnits=\"userSpaceOnUse\" x1=\"0\" y1=\"0\" x2=\"2200\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#0A0044\"\/><stop offset=\"100%\" stop-color=\"#0088FF\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-sg3\" gradientUnits=\"userSpaceOnUse\" x1=\"0\" y1=\"0\" x2=\"2200\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#2E004D\"\/><stop offset=\"100%\" stop-color=\"#6622CC\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-sg4\" gradientUnits=\"userSpaceOnUse\" x1=\"0\" y1=\"0\" x2=\"2200\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#CC3300\"\/><stop offset=\"100%\" stop-color=\"#FF6600\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-sg5\" gradientUnits=\"userSpaceOnUse\" x1=\"0\" y1=\"0\" x2=\"2200\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#BBAA00\"\/><stop offset=\"100%\" stop-color=\"#FFFF00\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-sg6\" gradientUnits=\"userSpaceOnUse\" x1=\"0\" y1=\"0\" x2=\"2200\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#4400AA\"\/><stop offset=\"100%\" stop-color=\"#9933FF\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-sg7\" gradientUnits=\"userSpaceOnUse\" x1=\"0\" y1=\"0\" x2=\"2200\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#990044\"\/><stop offset=\"100%\" stop-color=\"#FF0088\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-sg8\" gradientUnits=\"userSpaceOnUse\" x1=\"0\" y1=\"0\" x2=\"2200\" y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#CC00AA\"\/><stop offset=\"100%\" stop-color=\"#FF44FF\"\/>\n          <\/linearGradient>\n        <\/defs>\n        <g transform=\"translate(260, 1040) rotate(-55)\">\n          <line class=\"cv-df-stripe cv-df-stripe-1\" x1=\"0\" y1=\"0\"   x2=\"2200\" y2=\"0\"   stroke=\"url(#cv-df-sg1)\" stroke-width=\"80\" stroke-linecap=\"round\" stroke-dasharray=\"1100 1100\"\/>\n          <line class=\"cv-df-stripe cv-df-stripe-2\" x1=\"0\" y1=\"80\"  x2=\"2200\" y2=\"80\"  stroke=\"url(#cv-df-sg2)\" stroke-width=\"80\" stroke-linecap=\"round\" stroke-dasharray=\"950 1250\"\/>\n          <line class=\"cv-df-stripe cv-df-stripe-3\" x1=\"0\" y1=\"160\" x2=\"2200\" y2=\"160\" stroke=\"url(#cv-df-sg3)\" stroke-width=\"80\" stroke-linecap=\"round\" stroke-dasharray=\"1300 900\"\/>\n          <line class=\"cv-df-stripe cv-df-stripe-4\" x1=\"0\" y1=\"240\" x2=\"2200\" y2=\"240\" stroke=\"url(#cv-df-sg4)\" stroke-width=\"80\" stroke-linecap=\"round\" stroke-dasharray=\"850 1350\"\/>\n          <line class=\"cv-df-stripe cv-df-stripe-5\" x1=\"0\" y1=\"320\" x2=\"2200\" y2=\"320\" stroke=\"url(#cv-df-sg5)\" stroke-width=\"80\" stroke-linecap=\"round\" stroke-dasharray=\"1150 1050\"\/>\n          <line class=\"cv-df-stripe cv-df-stripe-6\" x1=\"0\" y1=\"400\" x2=\"2200\" y2=\"400\" stroke=\"url(#cv-df-sg6)\" stroke-width=\"80\" stroke-linecap=\"round\" stroke-dasharray=\"1000 1200\"\/>\n          <line class=\"cv-df-stripe cv-df-stripe-7\" x1=\"0\" y1=\"480\" x2=\"2200\" y2=\"480\" stroke=\"url(#cv-df-sg7)\" stroke-width=\"80\" stroke-linecap=\"round\" stroke-dasharray=\"1250 950\"\/>\n          <line class=\"cv-df-stripe cv-df-stripe-8\" x1=\"0\" y1=\"560\" x2=\"2200\" y2=\"560\" stroke=\"url(#cv-df-sg8)\" stroke-width=\"80\" stroke-linecap=\"round\" stroke-dasharray=\"900 1300\"\/>\n        <\/g>\n      <\/svg>\n    <\/div>\n    <!-- Readability overlay: dims the text side, lets stripes shine on the right -->\n    <div class=\"cv-df-stripe-glow\" aria-hidden=\"true\"><\/div>\n\n    <div class=\"cv-df-hero-grid\">\n      <div class=\"cv-df-hero-text\">\n        <span class=\"cv-df-badge\">DONATION FORMS<\/span>\n        <h1>Donation forms that don't end at the thank&#8209;you&nbsp;page<\/h1>\n        <p class=\"cv-df-hero-sub\">Create fast, donor-friendly donation forms that help more supporters complete their gift \u2014 and keep every donation connected to the work that happens next. Every gift can flow into your CRM, funds, receipts, reports, and follow&#8209;up automatically.<\/p>\n\n        <div class=\"cv-df-hero-ctas\">\n          <a href=\"https:\/\/admin.causevox.com\/signup\" class=\"cv-df-btn cv-df-btn-primary\" rel=\"noopener\">Get Started Free<\/a>\n          <a href=\"https:\/\/www.causevox.com\/demo\/\" class=\"cv-df-btn cv-df-btn-outline\">Schedule a Demo<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"cv-df-hero-visual\">\n        <!-- TODO: Replace with hero image. Interim placeholder uses the donation-form vignette. -->\n        <div class=\"cv-df-hero-vignette\" aria-hidden=\"true\">\n          <div class=\"cv-df-vignette-card\">\n\n            <!-- Donation type segmented control -->\n            <div class=\"cv-df-vignette-types\">\n              <span class=\"cv-df-vignette-type\">One-time<\/span>\n              <span class=\"cv-df-vignette-type cv-df-vignette-type-active\">Recurring<\/span>\n              <span class=\"cv-df-vignette-type\">Pledge<\/span>\n            <\/div>\n\n            <div class=\"cv-df-vignette-row\">\n              <span class=\"cv-df-vignette-label\">Choose your amount<\/span>\n            <\/div>\n            <div class=\"cv-df-vignette-amounts\">\n              <span class=\"cv-df-vignette-amt\">$25<\/span>\n              <span class=\"cv-df-vignette-amt cv-df-vignette-amt-active\">$50<\/span>\n              <span class=\"cv-df-vignette-amt\">$100<\/span>\n              <span class=\"cv-df-vignette-amt\">$250<\/span>\n            <\/div>\n\n            <!-- Designation row with shield icon -->\n            <div class=\"cv-df-vignette-fund\">\n              <span class=\"cv-df-vignette-fund-left\">\n                <svg class=\"cv-df-vignette-fund-icon\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n                  <path d=\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\" stroke=\"rgba(255,255,255,0.7)\" stroke-width=\"1.6\" stroke-linejoin=\"round\"\/>\n                  <circle cx=\"7\" cy=\"7\" r=\"1.4\" fill=\"rgba(255,255,255,0.7)\"\/>\n                <\/svg>\n                <span class=\"cv-df-vignette-fund-label\">Designate to<\/span>\n              <\/span>\n              <span class=\"cv-df-vignette-fund-value\">Clean Water Fund <span class=\"cv-df-vignette-caret\">\u25be<\/span><\/span>\n            <\/div>\n\n            <!-- Tribute dedication row with heart icon -->\n            <div class=\"cv-df-vignette-tribute\">\n              <svg class=\"cv-df-vignette-tribute-icon\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n                <path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\" stroke=\"#E0277A\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n              <\/svg>\n              <span class=\"cv-df-vignette-tribute-label\">Tribute Dedication<\/span>\n            <\/div>\n\n            <!-- Payment methods (logos) -->\n            <div class=\"cv-df-vignette-pay\">\n              <span class=\"cv-df-vignette-paychip cv-df-vignette-paychip-apple\">\n                <svg viewBox=\"0 0 24 24\" fill=\"#000\" aria-hidden=\"true\"><path d=\"M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z\"\/><\/svg>\n              <\/span>\n              <span class=\"cv-df-vignette-paychip cv-df-vignette-paychip-light\">\n                <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                  <path d=\"M21.35 11.1H12v3.6h5.35c-.5 2.4-2.55 3.8-5.35 3.8-3.25 0-5.9-2.65-5.9-5.9s2.65-5.9 5.9-5.9c1.4 0 2.7.5 3.7 1.4l2.55-2.55C16.7 4.05 14.5 3 12 3 7.05 3 3 7.05 3 12s4.05 9 9 9c5.2 0 8.65-3.65 8.65-8.8 0-.5-.05-1.05-.15-1.65z\" fill=\"#4285F4\"\/>\n                  <path d=\"M3.85 7.7l2.95 2.15c.8-1.95 2.65-3.3 5.2-3.3 1.4 0 2.7.5 3.7 1.4l2.55-2.55C16.7 4.05 14.5 3 12 3 8.55 3 5.55 4.95 3.85 7.7z\" fill=\"#EA4335\"\/>\n                  <path d=\"M12 21c2.45 0 4.6-.85 6.15-2.3l-2.85-2.3c-.8.55-1.85.85-3.3.85-2.75 0-5.05-1.4-5.6-3.6L3.4 16.4C5.05 19.05 8.3 21 12 21z\" fill=\"#34A853\"\/>\n                  <path d=\"M20.85 12c0-.5-.05-1.05-.15-1.65H12v3.6h5.35c-.25 1.2-.95 2.2-2 2.85l2.85 2.3C19.85 17.65 20.85 15.05 20.85 12z\" fill=\"#FBBC04\"\/>\n                <\/svg>\n              <\/span>\n              <span class=\"cv-df-vignette-paychip cv-df-vignette-paychip-light\">\n                <span class=\"cv-df-vignette-paypal\">\n                  <span style=\"color:#003087;\">Pay<\/span><span style=\"color:#009CDE;\">Pal<\/span>\n                <\/span>\n              <\/span>\n              <span class=\"cv-df-vignette-paychip cv-df-vignette-paychip-light\">\n                <span class=\"cv-df-vignette-venmo\">venmo<\/span>\n              <\/span>\n              <span class=\"cv-df-vignette-paychip\">Card<\/span>\n              <span class=\"cv-df-vignette-paychip\">ACH<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"cv-df-hero-accentline\" aria-hidden=\"true\"><\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 2. WORKS WITH (compact bar)                                    -->\n  <!-- ============================================================ -->\n  <section class=\"cv-df-section cv-df-works\">\n    <div class=\"cv-df-inner\">\n      <div class=\"cv-df-works-head cv-df-animate\">\n        <h2>The form is just where it&nbsp;starts<\/h2>\n        <p>Every gift is already wired into the rest of CauseVox. No exports. No integrations. No spreadsheeting.<\/p>\n      <\/div>\n\n      <div class=\"cv-df-works-grid cv-df-animate-children\">\n        <a href=\"https:\/\/www.causevox.com\/crm\/\" class=\"cv-df-works-card\">\n          <span class=\"cv-df-works-icon\" style=\"background:#28217F;\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\"\/><circle cx=\"9\" cy=\"7\" r=\"4\" stroke=\"#fff\" stroke-width=\"2\"\/><path d=\"M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg>\n          <\/span>\n          <span class=\"cv-df-works-text\">\n            <h3>CRM<span class=\"cv-df-works-arrow\" aria-hidden=\"true\">\u2192<\/span><\/h3>\n            <p>Create or match donor profiles automatically.<\/p>\n          <\/span>\n        <\/a>\n        <a href=\"https:\/\/www.causevox.com\/funds-and-designations\/\" class=\"cv-df-works-card\">\n          <span class=\"cv-df-works-icon\" style=\"background:#FBAB42;\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 2L4 7v6c0 5 3.5 9 8 10 4.5-1 8-5 8-10V7l-8-5z\" stroke=\"#fff\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/span>\n          <span class=\"cv-df-works-text\">\n            <h3>Funds &amp; Designations<span class=\"cv-df-works-arrow\" aria-hidden=\"true\">\u2192<\/span><\/h3>\n            <p>Route gifts to the right fund, program, or campaign.<\/p>\n          <\/span>\n        <\/a>\n        <div class=\"cv-df-works-card cv-df-works-card-static\">\n          <span class=\"cv-df-works-icon\" style=\"background:#30B6C9;\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4 6h16v12H4z\" stroke=\"#fff\" stroke-width=\"2\"\/><path d=\"M4 6l8 7 8-7\" stroke=\"#fff\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/span>\n          <span class=\"cv-df-works-text\">\n            <h3>Email &amp; SMS<\/h3>\n            <p>Build follow-up audiences from real donor behavior.<\/p>\n          <\/span>\n        <\/div>\n        <div class=\"cv-df-works-card cv-df-works-card-static\">\n          <span class=\"cv-df-works-icon\" style=\"background:#942EB4;\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4 20V10M10 20V4M16 20v-7M22 20H2\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg>\n          <\/span>\n          <span class=\"cv-df-works-text\">\n            <h3>Reports &amp; Dashboards<\/h3>\n            <p>Track gifts, revenue, and engagement in real time.<\/p>\n          <\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 3. CONNECTED FUNDRAISING \u2014 3D sphere section                   -->\n  <!-- ============================================================ -->\n  <section class=\"cv-sphere-section\">\n    <!-- Decorative background orbs -->\n    <div class=\"cv-sphere-bg-orb cv-sphere-bg-orb-1\"><\/div>\n    <div class=\"cv-sphere-bg-orb cv-sphere-bg-orb-2\"><\/div>\n\n    <div class=\"cv-sphere-inner\">\n      <div class=\"cv-sphere-grid\">\n\n        <!-- LEFT: COPY -->\n        <div class=\"cv-sphere-copy\">\n          <span class=\"cv-sphere-badge\">Connected Fundraising<\/span>\n          <h2>One gift. Everything else <span class=\"cv-sphere-accent\">already connected<\/span>.<\/h2>\n          <p class=\"cv-sphere-lead\">Every CauseVox donation form connects directly to your CRM, receipts, recurring giving, fund tracking, reports, and communications. The moment a donation comes in, the right records update automatically.<\/p>\n          <p class=\"cv-sphere-kicker\">No CSV exports. No duplicate hunting. No manual cleanup.<\/p>\n\n          <ul class=\"cv-sphere-features\">\n            <li>\n              <span class=\"cv-sphere-check\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\" stroke=\"#fff\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n              <\/span>\n              <span>A donor's history is one click away &mdash; never re-built from a CSV<\/span>\n            <\/li>\n            <li>\n              <span class=\"cv-sphere-check\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\" stroke=\"#fff\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n              <\/span>\n              <span>Recurring gifts retry on their own, with notifications you don't have to write<\/span>\n            <\/li>\n            <li>\n              <span class=\"cv-sphere-check\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\" stroke=\"#fff\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n              <\/span>\n              <span>Build a follow-up segment in seconds \u2014 no exports to sync between tools<\/span>\n            <\/li>\n          <\/ul>\n        <\/div>\n\n        <!-- RIGHT: SPHERE STAGE -->\n        <div class=\"cv-sphere-stage\" id=\"cvSphereStage\">\n\n          <!-- Background SVG: magnetic field lines + traveling field dots (sits behind the sphere) -->\n          <svg class=\"cv-sphere-svg-bg\" id=\"cvSphereSvgBg\" aria-hidden=\"true\">\n            <g id=\"cvSphereField\"><\/g>\n          <\/svg>\n\n          <!-- 3D sphere area -->\n          <div class=\"cv-sphere-globe-wrap\">\n\n            <!-- Static logo \"core\" \u2014 sits at the center of the sphere and does NOT rotate -->\n            <div class=\"cv-sphere-core\">\n              <!-- Animated blob gradient backdrop (clipped to a soft circular mask) -->\n              <div class=\"cv-sphere-core-aura\">\n                <span class=\"cv-sphere-blob cv-sphere-blob-a\"><\/span>\n                <span class=\"cv-sphere-blob cv-sphere-blob-b\"><\/span>\n                <span class=\"cv-sphere-blob cv-sphere-blob-c\"><\/span>\n              <\/div>\n              <!-- CauseVox logo mark -->\n              <svg class=\"cv-sphere-core-logo\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 195.06 131.66\" aria-hidden=\"true\">\n                <polygon points=\"71.99 87.59 163.23 0 166.34 68.93 100.92 121.53 71.99 87.59\" fill=\"#f37c59\"\/>\n                <polygon points=\"195.06 93.11 182.75 61.95 160.69 61.95 131.5 74.84 53.56 0 50.44 75.19 63.94 87.59 0 87.59 111.96 131.66 125.63 118.44 169.94 73.62 195.06 93.11\" fill=\"#2ebdd0\"\/>\n              <\/svg>\n            <\/div>\n\n            <div class=\"cv-sphere-globe\" id=\"cvSphereGlobe\">\n\n              <!-- Wireframe rings: 8 longitudes (every 22.5\u00b0) + equator + 2 latitudes -->\n              <div class=\"cv-sphere-ring cv-sphere-ring-lng\" style=\"--ring-ry:0deg;\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lng\" style=\"--ring-ry:22.5deg;\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lng\" style=\"--ring-ry:45deg;\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lng\" style=\"--ring-ry:67.5deg;\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lng\" style=\"--ring-ry:90deg;\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lng\" style=\"--ring-ry:112.5deg;\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lng\" style=\"--ring-ry:135deg;\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lng\" style=\"--ring-ry:157.5deg;\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-eq\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lat cv-sphere-ring-lat-up\"><\/div>\n              <div class=\"cv-sphere-ring cv-sphere-ring-lat cv-sphere-ring-lat-dn\"><\/div>\n\n              <!-- Activity dots and feature anchors are inserted here by JS -->\n\n            <\/div>\n          <\/div>\n\n          <!-- SVG overlay for connection lines -->\n          <svg class=\"cv-sphere-svg\" id=\"cvSphereSvg\" aria-hidden=\"true\">\n            <g id=\"cvSphereLines\"><\/g>\n          <\/svg>\n\n          <!-- Flat 2D labels (pool of 4) are inserted here by JS, positioned per-frame to track their anchors -->\n\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 4. CAPABILITY 1 \u2014 Make giving easy to complete                 -->\n  <!-- ============================================================ -->\n  <!-- Layout: shadcnblocks Feature362 \u2014 sticky left header + card grid right. -->\n  <section class=\"cv-df-section cv-df-section-light\">\n    <div class=\"cv-df-inner\">\n      <div class=\"cv-df-feat\">\n        <!-- Left: sticky header -->\n        <div class=\"cv-df-feat-header cv-df-animate\">\n          <span class=\"cv-df-badge cv-df-badge-teal-soft\">MAKE GIVING EASY<\/span>\n          <h2>Remove the small moments that cause donors to abandon the&nbsp;page<\/h2>\n          <p>Your donation form should feel fast, clear, and trustworthy. Flexible gift options, modern payment methods, and mobile-friendly checkout \u2014 built&nbsp;in.<\/p>\n        <\/div>\n\n        <!-- Right: feature card grid + see-more for additional features -->\n        <div class=\"cv-df-feat-body cv-df-animate\">\n          <div class=\"cv-df-feat-grid\">\n            <!-- 4 highlighted features -->\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z\"\/><path d=\"m12 5 1.5 1.5\"\/><\/svg>\n              <\/div>\n              <h3>Multiple gift types<\/h3>\n              <p>Accept one-time, recurring, and pledge donations on the same form.<\/p>\n            <\/div>\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.91a1 1 0 0 0 0-1.83Z\"\/><path d=\"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65\"\/><path d=\"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65\"\/><\/svg>\n              <\/div>\n              <h3>Suggested amounts<\/h3>\n              <p>Preset gift tiers and donation amounts guide donors toward larger gifts.<\/p>\n            <\/div>\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"2\" y1=\"10\" x2=\"22\" y2=\"10\"\/><\/svg>\n              <\/div>\n              <h3>Modern payments<\/h3>\n              <p>Apple&nbsp;Pay, Google&nbsp;Pay, PayPal, Venmo, ACH, credit, and debit \u2014 built in.<\/p>\n            <\/div>\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\"\/><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"\/><\/svg>\n              <\/div>\n              <h3>Mobile-first checkout<\/h3>\n              <p>Optimized for phones, with optional donor-covered processing fees.<\/p>\n            <\/div>\n          <\/div>\n\n          <div class=\"cv-df-seemore cv-df-feat-seemore\">\n            <div class=\"cv-df-feat-more-wrap\">\n              <div class=\"cv-df-feat-grid cv-df-feat-more\" id=\"cv-df-cap1-more\">\n              <div class=\"cv-df-feat-card\">\n                <div class=\"cv-df-feat-icon\">\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"\/><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"\/><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"\/><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"\/><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"\/><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"\/><\/svg>\n                <\/div>\n                <h3>Descriptive tiers<\/h3>\n                <p>Tier names that explain what each gift makes possible.<\/p>\n              <\/div>\n              <div class=\"cv-df-feat-card\">\n                <div class=\"cv-df-feat-icon\">\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"4\" rx=\"1\"\/><rect x=\"3\" y=\"10\" width=\"18\" height=\"4\" rx=\"1\"\/><rect x=\"3\" y=\"17\" width=\"18\" height=\"4\" rx=\"1\"\/><\/svg>\n                <\/div>\n                <h3>Compact tiers<\/h3>\n                <p>A condensed tier layout for forms with limited space.<\/p>\n              <\/div>\n              <div class=\"cv-df-feat-card\">\n                <div class=\"cv-df-feat-icon\">\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"9 11 12 14 22 4\"\/><path d=\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\"\/><\/svg>\n                <\/div>\n                <h3>Pre-selected amounts<\/h3>\n                <p>Default selections lower donor cognitive load at decision time.<\/p>\n              <\/div>\n              <div class=\"cv-df-feat-card\">\n                <div class=\"cv-df-feat-icon\">\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n                <\/div>\n                <h3>Address autocomplete<\/h3>\n                <p>Faster checkout with address suggestions as donors type.<\/p>\n              <\/div>\n              <div class=\"cv-df-feat-card\">\n                <div class=\"cv-df-feat-icon\">\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg>\n                <\/div>\n                <h3>Returning donor pre-fill<\/h3>\n                <p>Repeat donors skip fields they've already given you.<\/p>\n              <\/div>\n              <div class=\"cv-df-feat-card\">\n                <div class=\"cv-df-feat-icon\">\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"17 1 21 5 17 9\"\/><path d=\"M3 11V9a4 4 0 0 1 4-4h14\"\/><polyline points=\"7 23 3 19 7 15\"\/><path d=\"M21 13v2a4 4 0 0 1-4 4H3\"\/><\/svg>\n                <\/div>\n                <h3>Recurring upgrade prompts<\/h3>\n                <p>Convert one-time gifts to monthly with built-in upgrade nudges.<\/p>\n              <\/div>\n              <div class=\"cv-df-feat-card\">\n                <div class=\"cv-df-feat-icon\">\n                  <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"18\" cy=\"5\" r=\"3\"\/><circle cx=\"6\" cy=\"12\" r=\"3\"\/><circle cx=\"18\" cy=\"19\" r=\"3\"\/><line x1=\"8.59\" y1=\"13.51\" x2=\"15.42\" y2=\"17.49\"\/><line x1=\"15.41\" y1=\"6.51\" x2=\"8.59\" y2=\"10.49\"\/><\/svg>\n                <\/div>\n                <h3>Social sharing<\/h3>\n                <p>Donors can share their gift on social media right after checkout.<\/p>\n              <\/div>\n              <\/div>\n            <\/div>\n            <button class=\"cv-df-seemore-btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"cv-df-cap1-more\">\n              <span>See more<\/span>\n              <span class=\"cv-df-seemore-chev\" aria-hidden=\"true\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 9l6 6 6-6\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n              <\/span>\n            <\/button>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 5. CAPABILITY 2 \u2014 Match the form to the campaign               -->\n  <!-- ============================================================ -->\n  <!-- Layout: shadcnblocks Feature132 \u2014 3-column image card grid. -->\n  <section class=\"cv-df-section cv-df-section-tint\">\n    <div class=\"cv-df-inner\">\n      <div class=\"cv-df-section-header cv-df-animate\">\n        <span class=\"cv-df-badge cv-df-badge-amber-soft\">MATCH THE FORM TO THE CAMPAIGN<\/span>\n        <h2>Build forms around the fundraising&nbsp;moment<\/h2>\n        <p>A year-end appeal, memorial gift, scholarship fund, and monthly giving program shouldn't all feel the same. Customize the donor experience while keeping the underlying data structured and useful.<\/p>\n      <\/div>\n\n      <div class=\"cv-df-cap2-grid cv-df-animate-children\">\n        <!-- 6 visible cards -->\n        <div class=\"cv-df-cap2-card\">\n          <div class=\"cv-df-cap2-image cv-df-cap2-image--bleed cv-df-cap2-image--teal\">\n            <div class=\"cv-df-cap2-branding-mock\" aria-hidden=\"true\">\n              <div class=\"cv-df-cap2-branding-banner\"><\/div>\n              <div class=\"cv-df-cap2-branding-body\">\n                <div class=\"cv-df-cap2-branding-label\">Select a donation amount<\/div>\n                <div class=\"cv-df-cap2-branding-tiers\">\n                  <span class=\"cv-df-cap2-branding-tier\">$25<\/span>\n                  <span class=\"cv-df-cap2-branding-tier cv-df-cap2-branding-tier-active\">$50<\/span>\n                  <span class=\"cv-df-cap2-branding-tier\">$100<\/span>\n                <\/div>\n                <div class=\"cv-df-cap2-branding-cta\">DONATE<\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"cv-df-cap2-body\">\n            <h3>Custom branding<\/h3>\n            <p>Colors, fonts, logos, and images that match the campaign you're running.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cv-df-cap2-card\">\n          <div class=\"cv-df-cap2-image cv-df-cap2-image--purple cv-df-cap2-image--field\">\n            <!-- Birthday confetti \u2014 16 triangles drop on card hover -->\n            <div class=\"cv-df-cap2-confetti\" aria-hidden=\"true\">\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:4%;  --cf-c:#FBAB42; --cf-d:0s;     --cf-r:90deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:12%; --cf-c:#30B6C9; --cf-d:0.18s;  --cf-r:-130deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:18%; --cf-c:#E57556; --cf-d:0.06s;  --cf-r:200deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:24%; --cf-c:#942EB4; --cf-d:0.30s;  --cf-r:-70deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:32%; --cf-c:#FBAB42; --cf-d:0.10s;  --cf-r:140deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:38%; --cf-c:#30B6C9; --cf-d:0.24s;  --cf-r:-200deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:46%; --cf-c:#E57556; --cf-d:0.02s;  --cf-r:60deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:52%; --cf-c:#942EB4; --cf-d:0.36s;  --cf-r:-160deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:58%; --cf-c:#FBAB42; --cf-d:0.14s;  --cf-r:180deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:64%; --cf-c:#30B6C9; --cf-d:0.28s;  --cf-r:-90deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:72%; --cf-c:#E57556; --cf-d:0.08s;  --cf-r:120deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:78%; --cf-c:#942EB4; --cf-d:0.34s;  --cf-r:-220deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:84%; --cf-c:#FBAB42; --cf-d:0.16s;  --cf-r:75deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:88%; --cf-c:#30B6C9; --cf-d:0.04s;  --cf-r:-110deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:93%; --cf-c:#E57556; --cf-d:0.26s;  --cf-r:160deg;\"><\/span>\n              <span class=\"cv-df-cap2-confetti-bit\" style=\"--cf-x:97%; --cf-c:#942EB4; --cf-d:0.12s;  --cf-r:-50deg;\"><\/span>\n            <\/div>\n            <div class=\"cv-df-cap2-field-mock\">\n              <label class=\"cv-df-cap2-field-label\">Birthday<\/label>\n              <div class=\"cv-df-cap2-field-input\">\n                <span class=\"cv-df-cap2-field-placeholder\">MM \/ DD \/ YYYY<\/span>\n                <svg class=\"cv-df-cap2-field-icon\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n                  <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" stroke=\"currentColor\" stroke-width=\"2\"\/>\n                  <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n                  <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n                  <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\" stroke=\"currentColor\" stroke-width=\"2\"\/>\n                <\/svg>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"cv-df-cap2-body\">\n            <h3>Custom fields<\/h3>\n            <p>Add campaign-specific questions to gather the donor info you actually need.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cv-df-cap2-card\">\n          <div class=\"cv-df-cap2-image cv-df-cap2-image--bleed cv-df-cap2-image--amber\">\n            <div class=\"cv-df-cap2-fund-mock\" aria-hidden=\"true\">\n              <div class=\"cv-df-cap2-fund-header\">\n                <div class=\"cv-df-cap2-fund-title\">Designate a Fund<\/div>\n              <\/div>\n              <div class=\"cv-df-cap2-fund-body\">\n                <div class=\"cv-df-cap2-fund-search\">\n                  <svg class=\"cv-df-cap2-fund-search-icon\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n                    <circle cx=\"11\" cy=\"11\" r=\"7\" stroke=\"currentColor\" stroke-width=\"2\"\/>\n                    <line x1=\"16.5\" y1=\"16.5\" x2=\"21\" y2=\"21\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n                  <\/svg>\n                  <span>Search for a fund by name\u2026<\/span>\n                <\/div>\n                <div class=\"cv-df-cap2-fund-list\">\n                  <div class=\"cv-df-cap2-fund-item\">\n                    <div class=\"cv-df-cap2-fund-item-text\">\n                      <div class=\"cv-df-cap2-fund-item-name\">Student Athletics Fund<\/div>\n                      <div class=\"cv-df-cap2-fund-item-desc\">Support student-athletes across every sport.<\/div>\n                    <\/div>\n                    <span class=\"cv-df-cap2-fund-assign\">Assign<\/span>\n                  <\/div>\n                  <div class=\"cv-df-cap2-fund-item\">\n                    <div class=\"cv-df-cap2-fund-item-text\">\n                      <div class=\"cv-df-cap2-fund-item-name\">College-Wide Fund<\/div>\n                      <div class=\"cv-df-cap2-fund-item-desc\">Direct gifts where they're needed most.<\/div>\n                    <\/div>\n                    <span class=\"cv-df-cap2-fund-assign\">Assign<\/span>\n                  <\/div>\n                  <div class=\"cv-df-cap2-fund-item\">\n                    <div class=\"cv-df-cap2-fund-item-text\">\n                      <div class=\"cv-df-cap2-fund-item-name\">Libraries Fund<\/div>\n                      <div class=\"cv-df-cap2-fund-item-desc\">Expand library collections and study spaces.<\/div>\n                    <\/div>\n                    <span class=\"cv-df-cap2-fund-assign\">Assign<\/span>\n                  <\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"cv-df-cap2-body\">\n            <h3>Fund &amp; designation<\/h3>\n            <p>Route gifts to the right fund, program, or designation automatically.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cv-df-cap2-card\">\n          <div class=\"cv-df-cap2-image cv-df-cap2-image--green cv-df-cap2-image--tribute\">\n            <div class=\"cv-df-cap2-tribute-mock\">\n              <div class=\"cv-df-cap2-tribute-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"#1F6F75\" aria-hidden=\"true\">\n                  <path d=\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\/>\n                <\/svg>\n              <\/div>\n              <div class=\"cv-df-cap2-tribute-text\">\n                <div class=\"cv-df-cap2-tribute-title\">Tribute Dedication<\/div>\n                <div class=\"cv-df-cap2-tribute-desc\">Make your donation in honor of or in memory of someone.<\/div>\n              <\/div>\n              <div class=\"cv-df-cap2-tribute-chevron\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n                  <path d=\"M9 6l6 6-6 6\" stroke=\"#B5B5C0\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                <\/svg>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"cv-df-cap2-body\">\n            <h3>Tribute &amp; honor giving<\/h3>\n            <p>Memorial, honor, and peer-to-peer attribution fields built into the form.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cv-df-cap2-card\">\n          <div class=\"cv-df-cap2-image cv-df-cap2-image--amber cv-df-cap2-image--button\">\n            <div class=\"cv-df-cap2-button-mock\"><span class=\"cv-df-cap2-button-text\">DONATE NOW<\/span><span class=\"cv-df-cap2-button-caret\" aria-hidden=\"true\"><\/span><\/div>\n          <\/div>\n          <div class=\"cv-df-cap2-body\">\n            <h3>Form copy &amp; thank-you<\/h3>\n            <p>Tailor button text, helper copy, and the thank-you message for every campaign.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"cv-df-cap2-card\">\n          <div class=\"cv-df-cap2-image cv-df-cap2-image--bleed cv-df-cap2-image--teal\">\n            <div class=\"cv-df-cap2-receipt-mock\" aria-hidden=\"true\">\n              <div class=\"cv-df-cap2-receipt-header\">\n                <div class=\"cv-df-cap2-receipt-logo\">\n                  <span class=\"cv-df-cap2-receipt-logo-mark\">h<sub>2<\/sub>go<\/span>\n                  <span class=\"cv-df-cap2-receipt-logo-stride\"><\/span>\n                <\/div>\n              <\/div>\n              <div class=\"cv-df-cap2-receipt-accent\"><\/div>\n              <div class=\"cv-df-cap2-receipt-body\">\n                <div class=\"cv-df-cap2-receipt-greeting\">Hi Frankie,<\/div>\n                <div class=\"cv-df-cap2-receipt-line\">Thank you for your donation of <strong>$216.00<\/strong> to Well Aware. This email serves as your transaction receipt.<\/div>\n                <div class=\"cv-df-cap2-receipt-signoff\">Deepest gratitude,<br><span class=\"cv-df-cap2-receipt-org\">Well Aware<\/span><\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"cv-df-cap2-body\">\n            <h3>Branded receipts<\/h3>\n            <p>Tax receipts that match your brand and the specific campaign the gift came from.<\/p>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"cv-df-seemore cv-df-cap2-seemore\">\n        <div class=\"cv-df-cap2-more-wrap\">\n          <div class=\"cv-df-cap2-grid cv-df-cap2-more\" id=\"cv-df-cap2-more\">\n            <div class=\"cv-df-cap2-card\">\n              <div class=\"cv-df-cap2-image cv-df-cap2-image--purple cv-df-cap2-image--field\">\n                <div class=\"cv-df-cap2-field-mock\">\n                  <label class=\"cv-df-cap2-field-label\">General Ledger Code<\/label>\n                  <div class=\"cv-df-cap2-field-input\">\n                    <span class=\"cv-df-cap2-field-placeholder\">4001 \u2014 Annual Fund<\/span>\n                    <svg class=\"cv-df-cap2-field-icon\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n                      <path d=\"M6 9l6 6 6-6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                  <\/div>\n                <\/div>\n              <\/div>\n              <div class=\"cv-df-cap2-body\">\n                <h3>GL code tracking<\/h3>\n                <p>Track finance codes alongside fund designations for clean accounting handoff.<\/p>\n              <\/div>\n            <\/div>\n            <div class=\"cv-df-cap2-card\">\n              <div class=\"cv-df-cap2-image cv-df-cap2-image--green cv-df-cap2-image--confirm\">\n                <div class=\"cv-df-cap2-confirm-mock\">\n                  <div class=\"cv-df-cap2-confirm-icon\">\n                    <svg class=\"cv-df-cap2-confirm-heart\" viewBox=\"0 0 24 24\" fill=\"#E57556\" aria-hidden=\"true\">\n                      <path d=\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\/>\n                    <\/svg>\n                    <!-- Burst particles \u2014 hidden until card hover -->\n                    <svg class=\"cv-df-cap2-heart-bit\" style=\"--hb-x:-22px; --hb-y:-18px; --hb-d:0.04s;\" viewBox=\"0 0 24 24\" fill=\"#E57556\" aria-hidden=\"true\"><path d=\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\/><\/svg>\n                    <svg class=\"cv-df-cap2-heart-bit\" style=\"--hb-x:22px;  --hb-y:-18px; --hb-d:0s;\"    viewBox=\"0 0 24 24\" fill=\"#FBAB42\" aria-hidden=\"true\"><path d=\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\/><\/svg>\n                    <svg class=\"cv-df-cap2-heart-bit\" style=\"--hb-x:-30px; --hb-y:0px;   --hb-d:0.10s;\" viewBox=\"0 0 24 24\" fill=\"#942EB4\" aria-hidden=\"true\"><path d=\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\/><\/svg>\n                    <svg class=\"cv-df-cap2-heart-bit\" style=\"--hb-x:30px;  --hb-y:0px;   --hb-d:0.06s;\" viewBox=\"0 0 24 24\" fill=\"#30B6C9\" aria-hidden=\"true\"><path d=\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\/><\/svg>\n                    <svg class=\"cv-df-cap2-heart-bit\" style=\"--hb-x:0px;   --hb-y:-28px; --hb-d:0.14s;\" viewBox=\"0 0 24 24\" fill=\"#E57556\" aria-hidden=\"true\"><path d=\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"\/><\/svg>\n                  <\/div>\n                  <div class=\"cv-df-cap2-confirm-text\">Thank you for your gift!<\/div>\n                <\/div>\n              <\/div>\n              <div class=\"cv-df-cap2-body\">\n                <h3>Custom confirmation<\/h3>\n                <p>Tailor what donors see immediately after they complete their gift.<\/p>\n              <\/div>\n            <\/div>\n            <div class=\"cv-df-cap2-card\">\n              <div class=\"cv-df-cap2-image cv-df-cap2-image--teal cv-df-cap2-image--social\">\n                <div class=\"cv-df-cap2-social-mock\">\n                  <span class=\"cv-df-cap2-social-btn\" style=\"background:#1877F2;\" aria-label=\"Facebook\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"#fff\" aria-hidden=\"true\"><path d=\"M13.5 21.5v-7.5h2.5l.4-2.9h-2.9V9.2c0-.84.23-1.41 1.44-1.41h1.54V5.2c-.27-.04-1.18-.11-2.24-.11-2.22 0-3.74 1.36-3.74 3.85v2.15h-2.5v2.9h2.5v7.5h2.99z\"\/><\/svg>\n                  <\/span>\n                  <span class=\"cv-df-cap2-social-btn\" style=\"background:#000;\" aria-label=\"X\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"#fff\" aria-hidden=\"true\"><path d=\"M17.53 3h3.32l-7.25 8.29L22 21h-6.69l-5.24-6.85L4.06 21H.74l7.76-8.87L0 3h6.86l4.74 6.27L17.53 3zm-1.16 16.04h1.84L7.72 4.86H5.74l10.63 14.18z\"\/><\/svg>\n                  <\/span>\n                  <span class=\"cv-df-cap2-social-btn\" style=\"background:#0A66C2;\" aria-label=\"LinkedIn\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"#fff\" aria-hidden=\"true\"><path d=\"M19 3a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h14M8.5 18v-8H6v8h2.5M7.25 8.85a1.45 1.45 0 100-2.9 1.45 1.45 0 000 2.9M18 18v-4.4c0-2.32-1.5-3.4-3.07-3.4-1.04 0-1.83.55-2.18 1.21V10H10.5v8H13v-4.39c0-.84.6-1.39 1.36-1.39.74 0 1.14.5 1.14 1.39V18H18z\"\/><\/svg>\n                  <\/span>\n                  <span class=\"cv-df-cap2-social-btn\" style=\"background:#5A5A6E;\" aria-label=\"Email\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"#fff\" aria-hidden=\"true\"><path d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z\"\/><\/svg>\n                  <\/span>\n                <\/div>\n              <\/div>\n              <div class=\"cv-df-cap2-body\">\n                <h3>Post-donation redirects<\/h3>\n                <p>Send donors to a specific URL after checkout \u2014 perfect for next-step CTAs.<\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n        <button class=\"cv-df-seemore-btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"cv-df-cap2-more\">\n          <span>See more<\/span>\n          <span class=\"cv-df-seemore-chev\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 9l6 6 6-6\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/span>\n        <\/button>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 6. CAPABILITY 3 \u2014 Publish forms wherever donors are            -->\n  <!-- ============================================================ -->\n  <!-- Layout: shadcnblocks Feature362 \u2014 sticky-less left header + card grid right. -->\n  <section class=\"cv-df-section cv-df-section-light\">\n    <div class=\"cv-df-inner\">\n      <div class=\"cv-df-feat\">\n        <!-- Left: header -->\n        <div class=\"cv-df-feat-header cv-df-animate\">\n          <span class=\"cv-df-badge cv-df-badge-purple\">DONATE ANYWHERE<\/span>\n          <h2>Use the right donation experience for every&nbsp;channel<\/h2>\n          <p>Embed a form on your site, launch a standalone page, drop in a popup, or spin up a full campaign \u2014 without rebuilding your website.<\/p>\n        <\/div>\n\n        <!-- Right: feature card grid (all 6 visible \u2014 no see-more needed). -->\n        <div class=\"cv-df-feat-body cv-df-animate\">\n          <div class=\"cv-df-feat-grid\">\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"16 18 22 12 16 6\"\/><polyline points=\"8 6 2 12 8 18\"\/><\/svg>\n              <\/div>\n              <h3>Embedded forms<\/h3>\n              <p>Drop a donation form into any page of your existing website.<\/p>\n            <\/div>\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\"\/><path d=\"M2 8h20\"\/><circle cx=\"6\" cy=\"6\" r=\"0.5\" fill=\"currentColor\"\/><circle cx=\"9\" cy=\"6\" r=\"0.5\" fill=\"currentColor\"\/><\/svg>\n              <\/div>\n              <h3>Buttons &amp; popups<\/h3>\n              <p>One-line donate buttons and lightbox popups for high-conversion CTAs.<\/p>\n            <\/div>\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M15 3h6v6\"\/><path d=\"M10 14 21 3\"\/><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\/><\/svg>\n              <\/div>\n              <h3>Hosted pages<\/h3>\n              <p>Standalone donation pages you can launch in minutes \u2014 no website needed.<\/p>\n            <\/div>\n            <a href=\"https:\/\/www.causevox.com\/fundraising-sites-pages\/\" class=\"cv-df-feat-card cv-df-feat-card-link\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\/><path d=\"M3 9h18\"\/><path d=\"M9 21V9\"\/><\/svg>\n              <\/div>\n              <h3>Campaign sites<span class=\"cv-df-feat-arrow\" aria-hidden=\"true\">\u2192<\/span><\/h3>\n              <p>Full campaign pages tied to peer-to-peer, events, auctions, and funds.<\/p>\n            <\/a>\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"4\" x2=\"4\" y1=\"21\" y2=\"14\"\/><line x1=\"4\" x2=\"4\" y1=\"10\" y2=\"3\"\/><line x1=\"12\" x2=\"12\" y1=\"21\" y2=\"12\"\/><line x1=\"12\" x2=\"12\" y1=\"8\" y2=\"3\"\/><line x1=\"20\" x2=\"20\" y1=\"21\" y2=\"16\"\/><line x1=\"20\" x2=\"20\" y1=\"12\" y2=\"3\"\/><line x1=\"2\" x2=\"6\" y1=\"14\" y2=\"14\"\/><line x1=\"10\" x2=\"14\" y1=\"8\" y2=\"8\"\/><line x1=\"18\" x2=\"22\" y1=\"16\" y2=\"16\"\/><\/svg>\n              <\/div>\n              <h3>Form variants<\/h3>\n              <p>Forms tuned for website giving, appeals, campaigns, and fund-based giving.<\/p>\n            <\/div>\n            <div class=\"cv-df-feat-card\">\n              <div class=\"cv-df-feat-icon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\"\/><path d=\"M2 12h20\"\/><\/svg>\n              <\/div>\n              <h3>Global giving<\/h3>\n              <p>Multi-currency support for international donors, where available.<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 7. CAPABILITY 4 \u2014 Connect every gift to follow-up (DARK)       -->\n  <!-- ============================================================ -->\n  <!-- Layout: shadcnblocks Feature361 \u2014 2\u00d72 box grid with consolidated themes. -->\n  <section class=\"cv-df-section cv-df-section-dark\">\n    <div class=\"cv-df-grid-overlay\" aria-hidden=\"true\"><\/div>\n    <div class=\"cv-df-orb cv-df-orb-dark-1\" aria-hidden=\"true\"><\/div>\n    <div class=\"cv-df-orb cv-df-orb-dark-2\" aria-hidden=\"true\"><\/div>\n\n    <div class=\"cv-df-inner\">\n      <div class=\"cv-df-section-header cv-df-animate\">\n        <span class=\"cv-df-badge cv-df-badge-dark\">CONNECT EVERY GIFT TO FOLLOW-UP<\/span>\n        <h2>Turn donations into cleaner data and better&nbsp;stewardship<\/h2>\n        <p class=\"cv-df-section-header-desc-dark\">A completed donation isn't the end of the workflow \u2014 it's the start of the relationship. Every gift flows into CRM, receipts, dashboards, and follow-up so your team can respond faster and with better&nbsp;context.<\/p>\n      <\/div>\n\n      <div class=\"cv-df-cap4-grid cv-df-animate-children\">\n\n        <div class=\"cv-df-cap4-card\">\n          <div class=\"cv-df-cap4-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"8.5\" cy=\"7\" r=\"4\"\/><line x1=\"20\" y1=\"8\" x2=\"20\" y2=\"14\"\/><line x1=\"23\" y1=\"11\" x2=\"17\" y2=\"11\"\/><\/svg>\n          <\/div>\n          <h3>Automatic donor profiles<\/h3>\n          <p>New donors get a CRM profile created automatically. Repeat donors get matched to their existing record \u2014 with full giving history attached.<\/p>\n        <\/div>\n\n        <div class=\"cv-df-cap4-card\">\n          <div class=\"cv-df-cap4-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><path d=\"M7 20.66a8 8 0 0 1 10 0\"\/><\/svg>\n          <\/div>\n          <h3>Self-service for donors<\/h3>\n          <p>Tax receipts, donor portal access, and the ability to update or pause recurring gifts \u2014 all built in. Less inbox noise for your team.<\/p>\n        <\/div>\n\n        <div class=\"cv-df-cap4-card\">\n          <div class=\"cv-df-cap4-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"3\" y1=\"3\" x2=\"3\" y2=\"21\"\/><line x1=\"3\" y1=\"21\" x2=\"21\" y2=\"21\"\/><rect x=\"7\" y=\"13\" width=\"3\" height=\"6\"\/><rect x=\"12\" y=\"9\" width=\"3\" height=\"10\"\/><rect x=\"17\" y=\"5\" width=\"3\" height=\"14\"\/><\/svg>\n          <\/div>\n          <h3>Real-time insights<\/h3>\n          <p>Live dashboards and reports across forms, funds, campaigns, and donor segments. AI-enabled summaries explain what changed and&nbsp;why.<\/p>\n        <\/div>\n\n        <div class=\"cv-df-cap4-card\">\n          <div class=\"cv-df-cap4-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M22 2 11 13\"\/><path d=\"M22 2 15 22l-4-9-9-4Z\"\/><\/svg>\n          <\/div>\n          <h3>Follow-up workflows<\/h3>\n          <p>Staff notifications, donor segments, and ready-made email or SMS audiences \u2014 built from real giving behavior, not exports and&nbsp;guesswork.<\/p>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 8. CUSTOMER PROOF \u2014 pricing-page testimonial style, one featured card -->\n  <!-- ============================================================ -->\n  <section class=\"cv-df-section cv-df-testi\">\n    <!-- Warm aurora blobs -->\n    <div class=\"cv-df-testi-aurora\" aria-hidden=\"true\">\n      <span class=\"cv-df-testi-blob cv-df-testi-blob-1\"><\/span>\n      <span class=\"cv-df-testi-blob cv-df-testi-blob-2\"><\/span>\n      <span class=\"cv-df-testi-blob cv-df-testi-blob-3\"><\/span>\n    <\/div>\n\n    <div class=\"cv-df-inner\" style=\"position:relative;z-index:2;\">\n      <div class=\"cv-df-section-header cv-df-animate\">\n        <span class=\"cv-df-badge cv-df-badge-light cv-df-badge-heart\">NONPROFITS <svg class=\"cv-df-heart-icon\" viewBox=\"0 0 24 24\" fill=\"#E57556\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"love\"><path d=\"M12 21C12 21 3 14.5 3 8.5C3 5.42 5.42 3 8.5 3C10.24 3 11.8 3.84 12 4C12.2 3.84 13.76 3 15.5 3C18.58 3 21 5.42 21 8.5C21 14.5 12 21 12 21Z\"\/><\/svg> CAUSEVOX<\/span>\n        <h2>Trusted by thousands of <span style=\"color:#28217F;\">nonprofits<\/span><\/h2>\n        <div class=\"cv-df-testi-stars-row\">\n          <span class=\"cv-df-testi-stars\" aria-label=\"5 out of 5 stars\">\n            <svg viewBox=\"0 0 24 24\" fill=\"#FBAB42\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26\"\/><\/svg>\n            <svg viewBox=\"0 0 24 24\" fill=\"#FBAB42\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26\"\/><\/svg>\n            <svg viewBox=\"0 0 24 24\" fill=\"#FBAB42\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26\"\/><\/svg>\n            <svg viewBox=\"0 0 24 24\" fill=\"#FBAB42\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26\"\/><\/svg>\n            <svg viewBox=\"0 0 24 24\" fill=\"#FBAB42\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26\"\/><\/svg>\n          <\/span>\n          <span class=\"cv-df-testi-stars-label\">Loved by thousands of nonprofits<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"cv-df-testi-grid cv-df-animate\">\n        <div class=\"cv-df-testi-card cv-df-testi-card--featured\">\n          <p class=\"cv-df-testi-quote\">CauseVox makes it so simple for donors and for fundraisers. I've never had a fundraiser need help donating or raising funds for us, it's that straightforward.<\/p>\n          <div class=\"cv-df-testi-attrib\">\n            <div class=\"cv-df-testi-avatar\">NR<\/div>\n            <div class=\"cv-df-testi-meta\">\n              <div class=\"cv-df-testi-name\">Nancy Ramos<\/div>\n              <div class=\"cv-df-testi-org\">Girl Scouts of Northern Illinois<\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 9. PLAN AVAILABILITY \u2014 pricing-page Free + Pro card style -->\n  <!-- ============================================================ -->\n  <section class=\"cv-df-section cv-df-plans-section\">\n    <div class=\"cv-df-inner\">\n      <div class=\"cv-df-section-header cv-df-animate\">\n        <span class=\"cv-df-badge cv-df-badge-teal-soft\">PLAN AVAILABILITY<\/span>\n        <h2>Donation forms are included on CauseVox&nbsp;<span style=\"color:#28217F;\">Free<\/span><\/h2>\n        <p>Start with Free. Move to Pro when your team is ready for more.<\/p>\n      <\/div>\n\n      <div class=\"cv-df-plan-grid cv-df-animate-children\">\n\n        <!-- FREE PLAN -->\n        <div class=\"cv-df-plan cv-df-plan-free\">\n          <div class=\"cv-df-plan-head\">\n            <span class=\"cv-df-plan-tag\">For new and growing nonprofits<\/span>\n            <h3 class=\"cv-df-plan-name\">Free<\/h3>\n            <div class=\"cv-df-plan-price\">\n              <span class=\"cv-df-price-amount\"><span class=\"cv-df-price-currency\">$<\/span>0<\/span>\n              <span class=\"cv-df-price-suffix\">no fees<\/span>\n            <\/div>\n            <p class=\"cv-df-plan-desc\">Launch fundraising and donor management with no license fee and 0% platform fees supported by optional donor tips.<\/p>\n            <a href=\"https:\/\/admin.causevox.com\/signup\" class=\"cv-df-btn cv-df-plans-btn cv-df-plans-btn-secondary cv-df-plan-cta\" rel=\"noopener\">Get started free<\/a>\n          <\/div>\n        <\/div>\n\n        <!-- PRO PLAN -->\n        <div class=\"cv-df-plan cv-df-plan-pro\">\n          <div class=\"cv-df-plan-head\">\n            <span class=\"cv-df-plan-tag cv-df-plan-tag-pro\">For scaling nonprofits<\/span>\n            <h3 class=\"cv-df-plan-name\">Pro<\/h3>\n            <div class=\"cv-df-plan-price\">\n              <span class=\"cv-df-price-amount cv-df-price-amount-pro\">Contact us<\/span>\n              <span class=\"cv-df-price-suffix cv-df-price-suffix-pro\">pricing tailored to your team<\/span>\n            <\/div>\n            <p class=\"cv-df-plan-desc\">Everything in Free, plus advanced workflows, built-in communications, stronger support, and more control behind the scenes.<\/p>\n            <a href=\"https:\/\/www.causevox.com\/demo\/\" class=\"cv-df-btn cv-df-plans-btn cv-df-plans-btn-primary cv-df-plan-cta\">Schedule a Demo<\/a>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 10. COMMON USE CASES                                           -->\n  <!-- ============================================================ -->\n  <section class=\"cv-df-section cv-df-section-tint\">\n    <div class=\"cv-df-inner\">\n      <div class=\"cv-df-section-header cv-df-animate\">\n        <span class=\"cv-df-badge cv-df-badge-purple\">COMMON USE CASES<\/span>\n        <h2>Built for the way you actually&nbsp;fundraise<\/h2>\n      <\/div>\n\n      <div class=\"cv-df-usecases cv-df-animate-children\">\n        <a href=\"https:\/\/www.causevox.com\/use-case-website-donations\/\" class=\"cv-df-uc\">\n          <h3>Website donation forms<\/h3>\n          <p>Add a donor-friendly form to your existing website.<\/p>\n          <span class=\"cv-df-uc-link\">Learn more <span class=\"cv-df-arrow\">\u2192<\/span><\/span>\n        <\/a>\n        <a href=\"https:\/\/www.causevox.com\/use-case-recurring-donations\/\" class=\"cv-df-uc\">\n          <h3>Recurring donations<\/h3>\n          <p>Make monthly giving easy to start and easier to manage.<\/p>\n          <span class=\"cv-df-uc-link\">Learn more <span class=\"cv-df-arrow\">\u2192<\/span><\/span>\n        <\/a>\n        <a href=\"https:\/\/www.causevox.com\/use-case-pledge-donations\/\" class=\"cv-df-uc\">\n          <h3>Pledge donations<\/h3>\n          <p>Capture commitments now and track future payments.<\/p>\n          <span class=\"cv-df-uc-link\">Learn more <span class=\"cv-df-arrow\">\u2192<\/span><\/span>\n        <\/a>\n        <a href=\"https:\/\/www.causevox.com\/peer-to-peer-fundraising\/\" class=\"cv-df-uc\">\n          <h3>Peer-to-peer fundraising<\/h3>\n          <p>Let fundraisers collect donations through personal, team, or campaign pages.<\/p>\n          <span class=\"cv-df-uc-link\">Learn more <span class=\"cv-df-arrow\">\u2192<\/span><\/span>\n        <\/a>\n        <a href=\"https:\/\/www.causevox.com\/use-case-matching-gifts\/\" class=\"cv-df-uc\">\n          <h3>Matching gifts<\/h3>\n          <p>Pair donation forms with matching gift campaigns to increase urgency.<\/p>\n          <span class=\"cv-df-uc-link\">Learn more <span class=\"cv-df-arrow\">\u2192<\/span><\/span>\n        <\/a>\n        <div class=\"cv-df-uc cv-df-uc-static\">\n          <h3>Memorial and tribute giving<\/h3>\n          <p>Collect gifts in honor or memory of someone while keeping the details connected to donor records.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ============================================================ -->\n  <!-- 11. CLOSING CTA                                                -->\n  <!-- ============================================================ -->\n  <section class=\"cv-df-cta\">\n\n    <!-- Stripe rings \u2014 same animation as homepage close section, mirrored to right side -->\n    <div class=\"cv-df-cta-stripe-bg\" aria-hidden=\"true\">\n      <svg class=\"cv-df-cta-stripe-svg\" viewBox=\"0 0 1440 500\" preserveAspectRatio=\"xMidYMid slice\">\n        <defs>\n          <linearGradient id=\"cv-df-csg1\" gradientUnits=\"userSpaceOnUse\" x1=\"1440\" y1=\"500\" x2=\"540\"  y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#66AA00\"\/><stop offset=\"100%\" stop-color=\"#C8FF00\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-csg2\" gradientUnits=\"userSpaceOnUse\" x1=\"1440\" y1=\"500\" x2=\"440\"  y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#0A0044\"\/><stop offset=\"100%\" stop-color=\"#0088FF\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-csg3\" gradientUnits=\"userSpaceOnUse\" x1=\"1240\" y1=\"500\" x2=\"440\"  y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#2E004D\"\/><stop offset=\"100%\" stop-color=\"#6622CC\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-csg4\" gradientUnits=\"userSpaceOnUse\" x1=\"1040\" y1=\"500\" x2=\"240\"  y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#CC3300\"\/><stop offset=\"100%\" stop-color=\"#FF6600\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-csg5\" gradientUnits=\"userSpaceOnUse\" x1=\"1240\" y1=\"500\" x2=\"240\"  y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#BBAA00\"\/><stop offset=\"100%\" stop-color=\"#FFFF00\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-csg6\" gradientUnits=\"userSpaceOnUse\" x1=\"940\"  y1=\"500\" x2=\"140\"  y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#4400AA\"\/><stop offset=\"100%\" stop-color=\"#9933FF\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-csg7\" gradientUnits=\"userSpaceOnUse\" x1=\"1040\" y1=\"500\" x2=\"140\"  y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#990044\"\/><stop offset=\"100%\" stop-color=\"#FF0088\"\/>\n          <\/linearGradient>\n          <linearGradient id=\"cv-df-csg8\" gradientUnits=\"userSpaceOnUse\" x1=\"1240\" y1=\"500\" x2=\"140\"  y2=\"0\">\n            <stop offset=\"0%\" stop-color=\"#CC00AA\"\/><stop offset=\"100%\" stop-color=\"#FF44FF\"\/>\n          <\/linearGradient>\n        <\/defs>\n        <g transform=\"translate(990, 590)\">\n          <g class=\"cv-df-cta-rings\">\n            <g class=\"cv-df-cta-ring-1\"><circle r=\"638\"  fill=\"none\" stroke=\"url(#cv-df-csg1)\" stroke-width=\"53\" stroke-linecap=\"round\" stroke-dasharray=\"779 3229\"  transform=\"rotate(140)\"\/><\/g>\n            <g class=\"cv-df-cta-ring-2\"><circle r=\"691\"  fill=\"none\" stroke=\"url(#cv-df-csg2)\" stroke-width=\"53\" stroke-linecap=\"round\" stroke-dasharray=\"1206 3136\" transform=\"rotate(130)\"\/><\/g>\n            <g class=\"cv-df-cta-ring-3\"><circle r=\"744\"  fill=\"none\" stroke=\"url(#cv-df-csg3)\" stroke-width=\"53\" stroke-linecap=\"round\" stroke-dasharray=\"519 4155\"  transform=\"rotate(150)\"\/><\/g>\n            <g class=\"cv-df-cta-ring-4\"><circle r=\"797\"  fill=\"none\" stroke=\"url(#cv-df-csg4)\" stroke-width=\"53\" stroke-linecap=\"round\" stroke-dasharray=\"389 4618\"  transform=\"rotate(140)\"\/><\/g>\n            <g class=\"cv-df-cta-ring-5\"><circle r=\"850\"  fill=\"none\" stroke=\"url(#cv-df-csg5)\" stroke-width=\"53\" stroke-linecap=\"round\" stroke-dasharray=\"920 4421\"  transform=\"rotate(145)\"\/><\/g>\n            <g class=\"cv-df-cta-ring-6\"><circle r=\"903\"  fill=\"none\" stroke=\"url(#cv-df-csg6)\" stroke-width=\"53\" stroke-linecap=\"round\" stroke-dasharray=\"1040 4634\" transform=\"rotate(145)\"\/><\/g>\n            <g class=\"cv-df-cta-ring-7\"><circle r=\"956\"  fill=\"none\" stroke=\"url(#cv-df-csg7)\" stroke-width=\"53\" stroke-linecap=\"round\" stroke-dasharray=\"801 5206\"  transform=\"rotate(155)\"\/><\/g>\n            <g class=\"cv-df-cta-ring-8\"><circle r=\"1009\" fill=\"none\" stroke=\"url(#cv-df-csg8)\" stroke-width=\"53\" stroke-linecap=\"round\" stroke-dasharray=\"1937 4403\" transform=\"rotate(125)\"\/><\/g>\n          <\/g>\n        <\/g>\n      <\/svg>\n    <\/div>\n\n    <!-- Radial glow softens the stripes behind the text -->\n    <div class=\"cv-df-cta-glow\" aria-hidden=\"true\"><\/div>\n\n    <div class=\"cv-df-cta-inner cv-df-animate\">\n      <h2>Launch donation forms that keep every gift&nbsp;<span class=\"cv-df-cta-highlight\">connected<\/span><\/h2>\n      <p>Start for free, connect every gift to your CRM, and give your team cleaner data from the first donation.<\/p>\n      <div class=\"cv-df-cta-ctas\">\n        <a href=\"https:\/\/admin.causevox.com\/signup\" class=\"cv-df-cta-btn cv-df-cta-btn-primary\" rel=\"noopener\">Get Started Free<\/a>\n        <a href=\"https:\/\/www.causevox.com\/demo\/\" class=\"cv-df-cta-btn cv-df-cta-btn-outline\">Schedule a Demo<\/a>\n      <\/div>\n      <p class=\"cv-df-microcopy\">Start simply. Stay flexible. Grow with a platform built to connect more over&nbsp;time.<\/p>\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<style>\n\/* ===================================================================\n   DONATION FORMS \u2014 scoped under .cv-df-page\n   =================================================================== *\/\n\n\/* === RESET & BASE ================================================ *\/\n.cv-df-page { font-family:'Roboto',sans-serif; color:#333; line-height:1.6; -webkit-font-smoothing:antialiased; }\n.cv-df-page * { box-sizing:border-box; margin:0; padding:0; }\n.cv-df-page h1,\n.cv-df-page h2,\n.cv-df-page h3,\n.cv-df-page h4 { font-family:'Rubik',sans-serif; font-weight:700; line-height:1.2; text-wrap:balance; }\n.cv-df-page p { color:#444; }\n.cv-df-page a { text-decoration:none; color:inherit; }\n.cv-df-page img { max-width:100%; height:auto; display:block; }\n.cv-df-page ul,\n.cv-df-page ol { list-style:none; }\n\n\/* === LAYOUT ====================================================== *\/\n.cv-df-inner { max-width:1100px; margin:0 auto; padding:0 20px; position:relative; z-index:2; }\n.cv-df-section { padding:80px 20px; position:relative; overflow:hidden; }\n.cv-df-section-light { background:#fff; }\n.cv-df-section-tint { background:#F5F4FA; }\n\n\/* === BADGES ====================================================== *\/\n.cv-df-badge {\n  display:inline-block;\n  background:rgba(255,255,255,0.14);\n  border:1px solid rgba(255,255,255,0.28);\n  backdrop-filter:blur(8px);\n  border-radius:50px;\n  padding:8px 22px;\n  font-size:11px;\n  font-weight:700;\n  letter-spacing:1.5px;\n  text-transform:uppercase;\n  color:#fff;\n  margin-bottom:22px;\n}\n.cv-df-badge-light { background:rgba(40,33,127,0.08); border:1px solid rgba(40,33,127,0.15); color:#28217F; backdrop-filter:none; }\n.cv-df-badge-teal  { background:#30B6C9; border:none; color:#fff; backdrop-filter:none; }\n.cv-df-badge-teal-soft { background:rgba(48,182,201,0.14); border:1px solid rgba(48,182,201,0.32); color:#1F8092; backdrop-filter:none; }\n.cv-df-badge-amber { background:#FBAB42; border:none; color:#fff; backdrop-filter:none; }\n.cv-df-badge-amber-soft{ background:rgba(251,171,66,0.16); border:1px solid rgba(251,171,66,0.36); color:#9C5E13; backdrop-filter:none; }\n.cv-df-badge-purple{ background:rgba(40,33,127,0.08); border:1px solid rgba(40,33,127,0.15); color:#28217F; backdrop-filter:none; }\n.cv-df-badge-dark  { background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.22); color:#fff; }\n\n\/* === HERO (two-column: text left, image right) =================== *\/\n.cv-df-hero {\n  background:linear-gradient(135deg,#1F0A28 0%,#2D1138 40%,#38143F 70%,#2D1138 100%);\n  padding:90px 20px 80px;\n  position:relative;\n  overflow:hidden;\n}\n\/* Stripe background \u2014 8 parallel diagonal stripes, no gaps, doubled width.\n   Adapted from causevox.com homepage (concentric arcs \u2192 straight lines). *\/\n.cv-df-stripe-bg {\n  position:absolute;\n  inset:0;\n  overflow:hidden;\n  z-index:0;\n  pointer-events:none;\n}\n.cv-df-stripes-svg {\n  width:100%;\n  height:100%;\n  display:block;\n}\n\/* Stripe slide animation \u2014 each stripe slides its visible segments along the line.\n   Each stripe's dasharray sums to 2200, so shifting dashoffset by exactly 2200 makes\n   a perfect loop. Varied durations (matching homepage's 170\u2013248s spread) keep the\n   stripes from syncing up. *\/\n.cv-df-stripe { animation-timing-function:linear; animation-iteration-count:infinite; }\n.cv-df-stripe-1 { animation-name:cv-df-flow-1; animation-duration:178s; }\n.cv-df-stripe-2 { animation-name:cv-df-flow-2; animation-duration:215s; }\n.cv-df-stripe-3 { animation-name:cv-df-flow-3; animation-duration:210s; }\n.cv-df-stripe-4 { animation-name:cv-df-flow-4; animation-duration:180s; }\n.cv-df-stripe-5 { animation-name:cv-df-flow-5; animation-duration:222s; }\n.cv-df-stripe-6 { animation-name:cv-df-flow-6; animation-duration:170s; }\n.cv-df-stripe-7 { animation-name:cv-df-flow-7; animation-duration:248s; }\n.cv-df-stripe-8 { animation-name:cv-df-flow-8; animation-duration:208s; }\n\/* Starting dashoffsets spread across the full 2200 period so visible segments\n   land at clearly different positions in the viewBox \u2014 not clustered. *\/\n@keyframes cv-df-flow-1 { from { stroke-dashoffset:-550;  } to { stroke-dashoffset:-2750; } }\n@keyframes cv-df-flow-2 { from { stroke-dashoffset:-1925; } to { stroke-dashoffset:-4125; } }\n@keyframes cv-df-flow-3 { from { stroke-dashoffset:-275;  } to { stroke-dashoffset:-2475; } }\n@keyframes cv-df-flow-4 { from { stroke-dashoffset:-1100; } to { stroke-dashoffset:-3300; } }\n@keyframes cv-df-flow-5 { from { stroke-dashoffset:-1650; } to { stroke-dashoffset:-3850; } }\n@keyframes cv-df-flow-6 { from { stroke-dashoffset:-825;  } to { stroke-dashoffset:-3025; } }\n@keyframes cv-df-flow-7 { from { stroke-dashoffset:-1375; } to { stroke-dashoffset:-3575; } }\n@keyframes cv-df-flow-8 { from { stroke-dashoffset:-50;   } to { stroke-dashoffset:-2250; } }\n@media (prefers-reduced-motion: reduce) {\n  .cv-df-stripe { animation:none; }\n}\n\/* Readability overlay \u2014 dims the text side (left) so stripes don't fight the copy.\n   Stripes stay vivid on the right (image side). Tinted plum to match the new base. *\/\n.cv-df-stripe-glow {\n  position:absolute;\n  inset:0;\n  z-index:1;\n  pointer-events:none;\n  background:\n    radial-gradient(ellipse 75% 90% at 22% 50%, rgba(31,10,40,0.92) 0%, rgba(31,10,40,0.55) 45%, rgba(31,10,40,0) 80%),\n    radial-gradient(ellipse 60% 60% at 85% 95%, rgba(140,40,100,0.20) 0%, rgba(0,0,0,0) 65%);\n}\n.cv-df-hero-grid {\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:60px;\n  align-items:center;\n  max-width:1180px;\n  margin:0 auto;\n  position:relative;\n  z-index:2;\n}\n.cv-df-hero-text { text-align:left; }\n.cv-df-hero h1 { font-size:48px; color:#fff; margin-bottom:22px; }\n.cv-df-page p.cv-df-hero-sub {\n  font-size:17.5px;\n  line-height:1.65;\n  color:#E8E8E8;\n  margin:0 0 30px;\n  max-width:560px;\n}\n.cv-df-hero-ctas { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:14px; }\n.cv-df-page p.cv-df-microcopy {\n  font-size:13px;\n  color:rgba(255,255,255,0.55);\n  margin-top:14px;\n  max-width:560px;\n  line-height:1.6;\n}\n.cv-df-hero-visual { position:relative; }\n.cv-df-hero-visual img {\n  width:100%;\n  border-radius:12px;\n  box-shadow:0 16px 50px rgba(0,0,0,0.30);\n}\n.cv-df-hero-accentline {\n  position:absolute;\n  bottom:0; left:0; right:0;\n  height:1px;\n  background:linear-gradient(90deg,transparent,#FBAB42,#30B6C9,#FBAB42,transparent);\n  opacity:0.6;\n  z-index:2;\n}\n.cv-df-hero-vignette { margin:0; max-width:420px; margin-left:auto; position:relative; z-index:2; }\n.cv-df-vignette-card {\n  background:rgba(255,255,255,0.14);\n  border:1px solid rgba(255,255,255,0.28);\n  border-radius:14px;\n  padding:18px 18px 16px;\n  text-align:left;\n  backdrop-filter:blur(14px);\n  box-shadow:0 12px 40px rgba(0,0,0,0.28);\n}\n\/* Donation type segmented control \u2014 One-time \/ Recurring \/ Pledge *\/\n.cv-df-vignette-types {\n  display:flex;\n  background:rgba(255,255,255,0.06);\n  border:1px solid rgba(255,255,255,0.14);\n  border-radius:999px;\n  padding:3px;\n  margin-bottom:14px;\n  gap:2px;\n}\n.cv-df-vignette-type {\n  flex:1;\n  text-align:center;\n  padding:7px 10px;\n  font-family:'Roboto',sans-serif;\n  font-size:11.5px;\n  font-weight:600;\n  color:rgba(255,255,255,0.65);\n  border-radius:999px;\n  line-height:1;\n}\n.cv-df-vignette-type-active {\n  background:#fff;\n  color:#28217F;\n  box-shadow:0 2px 6px rgba(0,0,0,0.18);\n}\n.cv-df-vignette-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }\n.cv-df-vignette-label { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:rgba(255,255,255,0.55); font-weight:600; }\n.cv-df-vignette-pill { background:#FBAB42; color:#1a1554; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; letter-spacing:0.4px; }\n.cv-df-vignette-amounts { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:10px; }\n.cv-df-vignette-amt {\n  background:rgba(255,255,255,0.08);\n  border:1px solid rgba(255,255,255,0.14);\n  border-radius:8px;\n  padding:10px 0;\n  text-align:center;\n  font-family:'Rubik',sans-serif;\n  font-weight:600;\n  font-size:14px;\n  color:#fff;\n}\n.cv-df-vignette-amt-active { background:#fff; color:#28217F; border-color:#fff; box-shadow:0 4px 14px rgba(255,255,255,0.18); }\n.cv-df-vignette-fund {\n  background:rgba(255,255,255,0.06);\n  border:1px solid rgba(255,255,255,0.14);\n  border-radius:8px;\n  padding:10px 12px;\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  margin-bottom:8px;\n}\n\/* Left side of designation row \u2014 icon + label grouped together *\/\n.cv-df-vignette-fund-left {\n  display:inline-flex;\n  align-items:center;\n  gap:8px;\n}\n.cv-df-vignette-fund-icon { width:14px; height:14px; flex-shrink:0; }\n.cv-df-vignette-fund-label { font-size:11px; color:rgba(255,255,255,0.55); text-transform:uppercase; letter-spacing:0.8px; font-weight:600; }\n.cv-df-vignette-fund-value { font-size:13px; color:#fff; font-weight:500; }\n.cv-df-vignette-caret { color:rgba(255,255,255,0.5); margin-left:4px; }\n\n\/* Tribute Dedication row \u2014 heart icon + label *\/\n.cv-df-vignette-tribute {\n  background:rgba(255,255,255,0.06);\n  border:1px solid rgba(255,255,255,0.14);\n  border-radius:8px;\n  padding:9px 12px;\n  display:flex;\n  align-items:center;\n  gap:8px;\n  margin-bottom:12px;\n}\n.cv-df-vignette-tribute-icon { width:14px; height:14px; flex-shrink:0; }\n.cv-df-vignette-tribute-label { font-size:12px; color:#fff; font-weight:600; }\n\n.cv-df-vignette-pay { display:flex; gap:5px; flex-wrap:wrap; }\n.cv-df-vignette-paychip {\n  display:inline-flex;\n  align-items:center;\n  gap:4px;\n  background:rgba(255,255,255,0.08);\n  border:1px solid rgba(255,255,255,0.14);\n  border-radius:6px;\n  padding:5px 9px;\n  font-size:11px;\n  color:#fff;\n  font-weight:500;\n  line-height:1;\n}\n\/* Apple Pay chip \u2014 white pill with just the apple silhouette icon *\/\n.cv-df-vignette-paychip-apple {\n  background:#fff;\n  border-color:#fff;\n  padding:5px 11px;\n}\n.cv-df-vignette-paychip-apple svg { width:14px; height:14px; display:block; }\n\/* Light variant for G Pay \/ PayPal \/ Venmo chips on dark background *\/\n.cv-df-vignette-paychip-light {\n  background:#fff;\n  border-color:#fff;\n  color:#000;\n}\n\/* G Pay chip \u2014 Google \"G\" logo only, no text *\/\n.cv-df-vignette-paychip-light svg {\n  width:14px;\n  height:14px;\n  display:block;\n}\n.cv-df-vignette-paychip-light .cv-df-vignette-paytext {\n  font-family:'Rubik',sans-serif;\n  font-weight:600;\n  font-size:11px;\n  letter-spacing:-0.2px;\n}\n.cv-df-vignette-paypal {\n  font-family:'Rubik',sans-serif;\n  font-weight:700;\n  font-size:11.5px;\n  font-style:italic;\n  letter-spacing:-0.3px;\n  line-height:1;\n}\n.cv-df-vignette-venmo {\n  font-family:'Rubik',sans-serif;\n  font-weight:700;\n  font-size:12px;\n  color:#3D95CE;\n  letter-spacing:-0.3px;\n  line-height:1;\n}\n\n\/* === SECTION HEADER =============================================== *\/\n.cv-df-section-header { text-align:center; max-width:760px; margin:0 auto 40px; }\n.cv-df-section-header h2 { font-size:38px; color:#1A1A2E; margin-bottom:14px; }\n.cv-df-page .cv-df-section-header p { font-size:17px; color:#555; line-height:1.7; }\n.cv-df-page .cv-df-section-header p.cv-df-section-header-desc-dark { color:#E8E8E8; }\n.cv-df-section-dark .cv-df-section-header h2 { color:#fff; }\n\n\/* === WORKS WITH (compact bar) ====================================== *\/\n.cv-df-works.cv-df-section { padding:36px 20px 40px; background:#FAFAFC; border-bottom:1px solid #ECECF2; }\n.cv-df-works-head { text-align:center; max-width:760px; margin:0 auto 20px; }\n.cv-df-works-head h2 { font-size:22px; color:#1A1A2E; margin-bottom:6px; }\n.cv-df-page .cv-df-works-head p { font-size:14px; color:#666; line-height:1.5; }\n.cv-df-works-grid {\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:12px;\n}\n.cv-df-page .cv-df-works-card-static,\n.cv-df-page a.cv-df-works-card {\n  background:#fff;\n  border:1px solid #ECECF2;\n  border-radius:10px;\n  padding:14px 14px;\n  display:flex;\n  align-items:flex-start;\n  gap:12px;\n  transition:transform .2s, box-shadow .2s, border-color .2s;\n}\n.cv-df-page a.cv-df-works-card:hover {\n  transform:translateY(-2px);\n  box-shadow:0 6px 18px rgba(40,33,127,0.08);\n  border-color:#D9D8E5;\n}\n.cv-df-works-icon {\n  flex-shrink:0;\n  width:36px; height:36px;\n  border-radius:8px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n.cv-df-works-icon svg { width:18px; height:18px; }\n.cv-df-works-text { display:flex; flex-direction:column; gap:3px; min-width:0; }\n.cv-df-works-card h3 {\n  font-size:14px;\n  color:#1A1A2E;\n  margin:0;\n  line-height:1.25;\n}\n\/* Arrow inline with the title \u2014 signals the card is a clickable link.\n   Brand-purple, slides right on hover for a small interactive cue. *\/\n.cv-df-works-arrow {\n  display:inline-block;\n  margin-left:6px;\n  color:#28217F;\n  font-weight:500;\n  transition:transform 0.2s ease;\n}\n.cv-df-page a.cv-df-works-card:hover .cv-df-works-arrow {\n  transform:translateX(3px);\n}\n.cv-df-page .cv-df-works-card p {\n  font-size:12.5px;\n  color:#666;\n  line-height:1.45;\n  margin:0;\n}\n\n\/* === CONNECTED FUNDRAISING \u2014 3D sphere section ====================== *\/\n.cv-sphere-section {\n  position:relative;\n  background:linear-gradient(135deg, #F6F4FC 0%, #EFEDF8 60%, #F4F1FB 100%);\n  padding:90px 20px;\n  overflow:hidden;\n}\n\/* Subtle aurora ribbons drifting diagonally across the section background.\n   Two elongated, blurred ellipses with linear-gradient ends-to-transparent. *\/\n.cv-sphere-bg-orb {\n  position:absolute;\n  border-radius:50%;\n  filter:blur(75px);\n  opacity:0.55;\n  pointer-events:none;\n}\n.cv-sphere-bg-orb-1 {\n  width:760px;\n  height:240px;\n  top:4%;\n  left:-200px;\n  background:linear-gradient(90deg,\n    rgba(48,182,201,0) 0%,\n    rgba(48,182,201,0.55) 35%,\n    rgba(80,200,220,0.65) 50%,\n    rgba(48,182,201,0.55) 65%,\n    rgba(48,182,201,0) 100%);\n  animation:cv-sphere-aurora-1 24s ease-in-out infinite;\n}\n.cv-sphere-bg-orb-2 {\n  width:720px;\n  height:220px;\n  bottom:2%;\n  right:-200px;\n  background:linear-gradient(90deg,\n    rgba(148,46,180,0) 0%,\n    rgba(148,46,180,0.50) 35%,\n    rgba(170,100,200,0.60) 50%,\n    rgba(148,46,180,0.45) 65%,\n    rgba(148,46,180,0) 100%);\n  animation:cv-sphere-aurora-2 30s ease-in-out infinite;\n}\n@keyframes cv-sphere-aurora-1 {\n  0%, 100% { transform:rotate(-12deg) translateX(0)    translateY(0); }\n  33%      { transform:rotate(-9deg)  translateX(60px) translateY(-20px); }\n  66%      { transform:rotate(-14deg) translateX(110px) translateY(12px); }\n}\n@keyframes cv-sphere-aurora-2 {\n  0%, 100% { transform:rotate(14deg) translateX(0)     translateY(0); }\n  33%      { transform:rotate(17deg) translateX(-70px) translateY(15px); }\n  66%      { transform:rotate(11deg) translateX(-120px) translateY(-12px); }\n}\n.cv-sphere-inner {\n  position:relative;\n  z-index:1;\n  max-width:1180px;\n  margin:0 auto;\n}\n.cv-sphere-grid {\n  display:grid;\n  grid-template-columns:1fr 1.35fr;\n  gap:50px;\n  align-items:center;\n}\n\n\/* === LEFT COPY === *\/\n.cv-sphere-copy { max-width:460px; }\n.cv-sphere-badge {\n  display:inline-block;\n  background:rgba(40,33,127,0.08);\n  border:1px solid rgba(40,33,127,0.15);\n  border-radius:50px;\n  padding:8px 22px;\n  font-size:11px;\n  font-weight:700;\n  letter-spacing:1.5px;\n  text-transform:uppercase;\n  color:#28217F;\n  margin-bottom:22px;\n}\n.cv-sphere-copy h2 {\n  font-size:46px;\n  color:#1A1645;\n  margin-bottom:20px;\n  line-height:1.15;\n}\n.cv-sphere-accent { color:#30B6C9; }\n.cv-df-page p.cv-sphere-lead {\n  font-size:17px;\n  color:#555;\n  margin-bottom:14px;\n  line-height:1.65;\n}\n.cv-df-page p.cv-sphere-kicker {\n  font-size:15px;\n  font-style:italic;\n  color:#444;\n  margin-bottom:28px;\n  line-height:1.5;\n}\n.cv-sphere-features {\n  display:flex;\n  flex-direction:column;\n  gap:14px;\n  list-style:none;\n  margin:0;\n  padding:0;\n}\n.cv-sphere-features li {\n  display:flex;\n  align-items:center;\n  gap:12px;\n  font-size:15px;\n  color:#2A2747;\n  line-height:1.5;\n}\n.cv-sphere-check {\n  flex-shrink:0;\n  width:24px; height:24px;\n  border-radius:50%;\n  background:#30B6C9;\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n}\n.cv-sphere-check svg { width:14px; height:14px; }\n\n\/* === STAGE === *\/\n.cv-sphere-stage {\n  --sphere-r:260px;\n  --globe-size:580px;\n  position:relative;\n  width:100%;\n  max-width:720px;\n  height:620px;\n  margin:0 auto;\n}\n\n\/* Z-index layering:\n   0 = magnetic field SVG (behind sphere)\n   1 = globe (sphere wireframe + core + activity dots)\n   2 = foreground SVG (ambient + scene connection lines)\n   3 = scene labels (flat 2D, JS-positioned at static layouts) *\/\n.cv-sphere-svg-bg {\n  position:absolute;\n  top:0; left:0;\n  width:100%; height:100%;\n  pointer-events:none;\n  overflow:visible;\n  z-index:0;\n}\n.cv-sphere-globe-wrap {\n  position:absolute;\n  right:0;\n  top:50%;\n  width:var(--globe-size);\n  height:var(--globe-size);\n  transform:translateY(-50%);\n  perspective:1500px;\n  perspective-origin:50% 50%;\n  z-index:1;\n}\n.cv-sphere-globe {\n  position:relative;\n  width:100%;\n  height:100%;\n  transform-style:preserve-3d;\n  animation:cv-sphere-spin 60s linear infinite;\n}\n\/* Static logo core \u2014 centered in the sphere, behind the rotating wireframe *\/\n.cv-sphere-core {\n  position:absolute;\n  top:50%; left:50%;\n  transform:translate(-50%, -50%);\n  width:calc(var(--sphere-r) * 0.52);\n  height:calc(var(--sphere-r) * 0.52);\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  pointer-events:none;\n  filter:\n    drop-shadow(0 0 24px rgba(40,33,127,0.55))\n    drop-shadow(0 0 60px rgba(40,33,127,0.25));\n  z-index:0;\n}\n\/* Animated blob gradient backdrop \u2014 soft mesh of brand colors with feathered circular edge *\/\n.cv-sphere-core-aura {\n  position:absolute;\n  inset:0;\n  overflow:hidden;\n  background:#28217F;\n  -webkit-mask-image:radial-gradient(circle closest-side, #000 95%, rgba(0,0,0,0.7) 98%, transparent 100%);\n          mask-image:radial-gradient(circle closest-side, #000 95%, rgba(0,0,0,0.7) 98%, transparent 100%);\n}\n.cv-sphere-blob {\n  position:absolute;\n  width:75%;\n  height:75%;\n  border-radius:50%;\n  filter:blur(22px);\n  opacity:0.92;\n  will-change:transform;\n}\n.cv-sphere-blob-a {\n  background:#30B6C9;\n  top:-12%; left:-8%;\n  animation:cv-sphere-blob-a 8s ease-in-out infinite;\n}\n.cv-sphere-blob-b {\n  background:#942EB4;\n  top:-8%; right:-22%;\n  animation:cv-sphere-blob-b 11s ease-in-out infinite;\n}\n.cv-sphere-blob-c {\n  background:#1A1645;\n  bottom:-22%; left:5%;\n  animation:cv-sphere-blob-c 14s ease-in-out infinite;\n}\n@keyframes cv-sphere-blob-a {\n  0%, 100% { transform:translate(0%, 0%) scale(1); }\n  33%      { transform:translate(60%, 35%) scale(1.30); }\n  66%      { transform:translate(15%, 65%) scale(0.78); }\n}\n@keyframes cv-sphere-blob-b {\n  0%, 100% { transform:translate(0%, 0%) scale(1); }\n  33%      { transform:translate(-40%, 55%) scale(0.75); }\n  66%      { transform:translate(-65%, 10%) scale(1.25); }\n}\n@keyframes cv-sphere-blob-c {\n  0%, 100% { transform:translate(0%, 0%) scale(1); }\n  33%      { transform:translate(25%, -55%) scale(1.35); }\n  66%      { transform:translate(50%, -25%) scale(0.85); }\n}\n.cv-sphere-core-logo {\n  position:relative;\n  z-index:1;\n  width:78%;\n  height:auto;\n  display:block;\n}\n@keyframes cv-sphere-spin {\n  from { transform:rotateY(0deg); }\n  to   { transform:rotateY(360deg); }\n}\n\n\/* === WIREFRAME RINGS === *\/\n.cv-sphere-ring {\n  position:absolute;\n  top:50%; left:50%;\n  width:calc(var(--sphere-r) * 2);\n  height:calc(var(--sphere-r) * 2);\n  margin-left:calc(var(--sphere-r) * -1);\n  margin-top:calc(var(--sphere-r) * -1);\n  border-radius:50%;\n  border:1px solid rgba(40,33,127,0.16);\n  transform-style:preserve-3d;\n}\n.cv-sphere-ring-lng { transform:rotateY(var(--ring-ry, 0deg)); }\n.cv-sphere-ring-eq {\n  border-color:rgba(48,182,201,0.32);\n  transform:rotateX(90deg);\n}\n.cv-sphere-ring-lat {\n  width:calc(var(--sphere-r) * 1.732);\n  height:calc(var(--sphere-r) * 1.732);\n  margin-left:calc(var(--sphere-r) * -0.866);\n  margin-top:calc(var(--sphere-r) * -0.866);\n  border-color:rgba(40,33,127,0.24);\n}\n.cv-sphere-ring-lat-up { transform:translateY(calc(var(--sphere-r) * -0.5)) rotateX(90deg); }\n.cv-sphere-ring-lat-dn { transform:translateY(calc(var(--sphere-r) * 0.5)) rotateX(90deg); }\n\n\/* === AMBIENT ACTIVITY DOTS === *\/\n.cv-sphere-activity {\n  position:absolute;\n  top:50%; left:50%;\n  width:6px; height:6px;\n  border-radius:50%;\n  background:#30B6C9;\n  box-shadow:0 0 6px rgba(48,182,201,0.5);\n  transform:rotateY(var(--ry)) rotateX(var(--rx)) translateZ(var(--sphere-r)) translate(-50%, -50%);\n  transform-style:preserve-3d;\n  backface-visibility:hidden;\n  opacity:.55;\n}\n.cv-sphere-activity.cv-sphere-activity-alt {\n  background:#942EB4;\n  box-shadow:0 0 6px rgba(148,46,180,0.5);\n}\n\n\/* === ACTION LABELS (flat 2D, JS-positioned at static per-scene layouts) === *\/\n.cv-sphere-label {\n  position:absolute;\n  top:0; left:0;\n  display:inline-flex;\n  align-items:center;\n  gap:6px;\n  padding:7px 12px;\n  background:#fff;\n  color:#2A2747;\n  border-radius:8px;\n  box-shadow:\n    0 6px 20px rgba(40,33,127,0.18),\n    0 2px 6px rgba(40,33,127,0.08),\n    0 0 0 1px rgba(40,33,127,0.06);\n  font-size:11px;\n  font-weight:600;\n  letter-spacing:0.2px;\n  white-space:nowrap;\n  pointer-events:none;\n  transform:translate(-50%, -50%);\n  opacity:0;\n  z-index:3;\n}\n.cv-sphere-label-icon {\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  width:14px; height:14px;\n  flex-shrink:0;\n  color:#30B6C9;\n}\n.cv-sphere-label-icon svg { width:13px; height:13px; }\n.cv-sphere-label-text { line-height:1; }\n\n\/* Trigger label \u2014 first label of each scene (the cause) is visually emphasized\n   with a slightly larger pill, an orange shadow + border, and an orange icon.\n   Lines emanate FROM this label to the downstream effects. *\/\n.cv-sphere-label.cv-sphere-label-trigger {\n  padding:8px 14px;\n  font-size:12px;\n  box-shadow:\n    0 8px 24px rgba(229,117,86,0.32),\n    0 2px 7px rgba(229,117,86,0.18),\n    0 0 0 1.5px rgba(229,117,86,0.55);\n}\n.cv-sphere-label.cv-sphere-label-trigger .cv-sphere-label-icon {\n  color:#E57556;\n}\n\/* Brief scale pulse runs once each time a new scene starts on the trigger. *\/\n.cv-sphere-label.cv-sphere-label-pulse {\n  animation:cv-sphere-label-pulse 0.7s ease-out;\n}\n@keyframes cv-sphere-label-pulse {\n  0%   { transform:translate(-50%, -50%) scale(1); }\n  30%  { transform:translate(-50%, -50%) scale(1.18); }\n  100% { transform:translate(-50%, -50%) scale(1); }\n}\n\n\/* === MAGNETIC FIELD LINES (background SVG) === *\/\n.cv-sphere-field-line {\n  fill:none;\n  stroke:rgba(120,110,170,0.50);\n  stroke-width:1.1;\n  stroke-linecap:round;\n  stroke-dasharray:0 5;\n}\n.cv-sphere-field-dot {\n  fill:#9CA0AE;\n  filter:drop-shadow(0 0 3px rgba(110,114,128,0.55));\n  pointer-events:none;\n}\n.cv-sphere-field-dot-alt {\n  fill:#7E8392;\n  filter:drop-shadow(0 0 3px rgba(126,131,146,0.55));\n}\n\n\/* === SVG OVERLAY (CONNECTION LINES) === *\/\n.cv-sphere-svg {\n  position:absolute;\n  top:0; left:0;\n  width:100%;\n  height:100%;\n  pointer-events:none;\n  overflow:visible;\n  z-index:2;\n}\n.cv-sphere-line {\n  fill:none;\n  stroke:#30B6C9;\n  stroke-width:1.7;\n  stroke-linecap:round;\n  opacity:0;\n}\n\n\/* === SPHERE RESPONSIVE === *\/\n@media (max-width: 1100px) {\n  .cv-sphere-stage {\n    --sphere-r:220px;\n    --globe-size:500px;\n    height:540px;\n  }\n}\n@media (max-width: 980px) {\n  .cv-sphere-grid {\n    grid-template-columns:1fr;\n    gap:30px;\n  }\n  .cv-sphere-copy { max-width:600px; margin:0 auto; text-align:center; }\n  .cv-sphere-features { display:inline-flex; align-items:flex-start; text-align:left; }\n  .cv-sphere-stage {\n    --sphere-r:200px;\n    --globe-size:460px;\n    height:520px;\n  }\n  \/* Re-center the globe inside the stage when the grid collapses to single\n     column. On desktop it's anchored right:0 to sit beside the copy column;\n     on mobile it needs to be horizontally centered. *\/\n  .cv-sphere-globe-wrap {\n    right:auto;\n    left:50%;\n    transform:translate(-50%, -50%);\n  }\n}\n@media (max-width: 600px) {\n  .cv-sphere-section { padding:60px 16px; }\n  .cv-sphere-copy h2 { font-size:32px; }\n  .cv-df-page p.cv-sphere-lead { font-size:16px; }\n  .cv-sphere-stage {\n    --sphere-r:145px;\n    --globe-size:340px;\n    height:460px;\n    max-width:380px;\n  }\n  .cv-sphere-label { font-size:10px; padding:6px 10px; }\n  .cv-sphere-bg-orb-1 { width:460px; height:160px; top:5%; left:-140px; }\n  .cv-sphere-bg-orb-2 { width:440px; height:150px; bottom:3%; right:-140px; }\n}\n@media (max-width: 380px) {\n  .cv-sphere-stage {\n    --sphere-r:105px;\n    --globe-size:250px;\n    max-width:300px;\n    height:400px;\n  }\n  .cv-sphere-label { font-size:9px; padding:5px 9px; }\n  .cv-sphere-bg-orb-1 { width:360px; height:130px; top:4%; left:-110px; }\n  .cv-sphere-bg-orb-2 { width:340px; height:120px; bottom:3%; right:-110px; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cv-sphere-globe { animation:none; }\n  .cv-sphere-blob { animation:none; }\n  .cv-sphere-bg-orb { animation:none; }\n  .cv-sphere-label.cv-sphere-label-pulse { animation:none; }\n}\n\/* === CAPABILITY SECTION (key + see-more) ========================= *\/\n.cv-df-cap {\n  max-width:920px;\n  margin:0 auto;\n}\n.cv-df-cap-key {\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:16px 28px;\n  margin-bottom:32px;\n}\n.cv-df-cap-key li {\n  display:flex;\n  align-items:flex-start;\n  gap:14px;\n  font-size:16px;\n  color:#1A1A2E;\n  line-height:1.55;\n  font-weight:500;\n}\n.cv-df-check {\n  flex-shrink:0;\n  width:24px;\n  height:24px;\n  border-radius:50%;\n  background:#30B6C9;\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  margin-top:1px;\n  position:relative;\n}\n.cv-df-check::after {\n  content:\"\";\n  position:absolute;\n  width:7px;\n  height:11px;\n  border-right:2.5px solid #fff;\n  border-bottom:2.5px solid #fff;\n  transform:rotate(45deg) translate(-1px,-2px);\n}\n.cv-df-check-dark { background:#FBAB42; }\n.cv-df-cap-dark .cv-df-cap-key li { color:#fff; }\n\n\/* === CAP 4 \u2014 2\u00d72 box grid (shadcnblocks Feature361) ===============\n   Dark-themed cards on the dark section background. Four substantial\n   boxes that consolidate the follow-up story into clear themes. *\/\n.cv-df-cap4-grid {\n  display:grid;\n  grid-template-columns:repeat(2, 1fr);\n  gap:24px;\n  max-width:1100px;\n  margin:0 auto;\n}\n.cv-df-cap4-card {\n  background:rgba(255,255,255,0.04);\n  border:1px solid rgba(255,255,255,0.10);\n  border-radius:16px;\n  padding:32px 32px 30px;\n  transition:background-color .25s ease, border-color .25s ease, transform .25s ease;\n  display:flex;\n  flex-direction:column;\n}\n.cv-df-cap4-card:hover {\n  background:rgba(255,255,255,0.06);\n  border-color:rgba(255,255,255,0.20);\n  transform:translateY(-2px);\n}\n.cv-df-cap4-icon {\n  width:48px;\n  height:48px;\n  border-radius:10px;\n  background:rgba(251,171,66,0.18);\n  border:1px solid rgba(251,171,66,0.32);\n  color:#FBAB42;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  margin-bottom:18px;\n  flex-shrink:0;\n}\n.cv-df-cap4-icon svg { width:22px; height:22px; }\n.cv-df-cap4-card h3 {\n  font-size:20px;\n  font-weight:700;\n  color:#fff;\n  margin:0 0 10px;\n  line-height:1.3;\n  letter-spacing:-0.2px;\n}\n.cv-df-page .cv-df-cap4-card p {\n  font-size:15px;\n  color:rgba(255,255,255,0.72);\n  line-height:1.65;\n  margin:0;\n}\n\n@media (max-width: 800px) {\n  .cv-df-cap4-grid { grid-template-columns:1fr; gap:16px; }\n  .cv-df-cap4-card { padding:24px 24px 22px; }\n}\n\n\/* === CAP 2 \u2014 3-column image card grid (shadcnblocks Feature132) ====\n   Centered header + 3-column grid of cards each with a top image. *\/\n.cv-df-cap2-grid {\n  display:grid;\n  grid-template-columns:repeat(3, 1fr);\n  gap:24px;\n  max-width:1100px;\n  margin:0 auto;\n}\n.cv-df-cap2-card {\n  background:#fff;\n  border:1px solid #ECECF2;\n  border-radius:14px;\n  overflow:hidden;\n  display:flex;\n  flex-direction:column;\n  transition:transform .25s, box-shadow .25s, border-color .25s;\n}\n.cv-df-cap2-card:hover {\n  transform:translateY(-3px);\n  box-shadow:0 12px 32px rgba(40,33,127,0.10);\n  border-color:rgba(40,33,127,0.18);\n}\n.cv-df-cap2-image {\n  width:100%;\n  aspect-ratio:21 \/ 9; \/* shorter banner-style image \u2014 drops the card to ~60% of its old height *\/\n  background-repeat:no-repeat;\n  background-position:center;\n  overflow:hidden; \/* keep <img> children (and the field mockup) inside the image area so they can't bleed onto the title below *\/\n}\n\/* Bleed \u2014 image inset by 16px on top\/left\/right at its natural width,\n   bleeds off the bottom. Reads as a screenshot \"peeking up from below\"\n   the box edge. Uses an <img> child so we can round its corners. *\/\n.cv-df-cap2-image--bleed {\n  position:relative;\n  background-image:none;\n}\n.cv-df-cap2-bleed-img {\n  position:absolute;\n  top:16px;\n  left:16px;\n  width:calc(100% - 32px);\n  height:auto;\n  border-radius:8px;\n  display:block;\n  box-shadow:0 6px 18px rgba(40,33,127,0.10);\n}\n\n\/* Custom branding \u2014 inline donation form mockup with branded header,\n   tier selection, and CTA. Bleeds off the bottom of the image area. *\/\n.cv-df-cap2-branding-mock {\n  position:absolute;\n  top:16px;\n  left:16px;\n  width:calc(100% - 32px);\n  background:#fff;\n  border-radius:8px;\n  overflow:hidden;\n  box-shadow:0 6px 18px rgba(40,33,127,0.10);\n}\n.cv-df-cap2-branding-banner {\n  height:78px;\n  background-image:url('https:\/\/www.causevox.com\/wp-content\/uploads\/2024\/03\/donation-form-branding-1.png');\n  background-size:cover;\n  background-position:center top;\n  background-repeat:no-repeat;\n  background-color:#2D6A4F; \/* fallback while image loads *\/\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  position:relative;\n}\n\/* Wordmark overlay \u2014 sits over the photo, with a subtle text-shadow so it\n   stays readable regardless of the image content underneath. *\/\n.cv-df-cap2-branding-logo {\n  position:relative;\n  z-index:1;\n  font-family:'Caveat','Rubik',cursive;\n  font-size:24px;\n  font-weight:700;\n  color:#fff;\n  letter-spacing:0.5px;\n  line-height:1;\n  text-shadow:0 2px 8px rgba(0,0,0,0.40);\n}\n.cv-df-cap2-branding-body {\n  padding:12px 14px 16px;\n}\n.cv-df-cap2-branding-label {\n  font-family:'Roboto',sans-serif;\n  font-size:10.5px;\n  font-weight:600;\n  color:#666;\n  margin-bottom:8px;\n}\n.cv-df-cap2-branding-tiers {\n  display:grid;\n  grid-template-columns:repeat(3, 1fr);\n  gap:6px;\n  margin-bottom:10px;\n}\n.cv-df-cap2-branding-tier {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  padding:7px 4px;\n  border:1px solid #DDDDE2;\n  border-radius:5px;\n  font-family:'Roboto',sans-serif;\n  font-size:11px;\n  font-weight:600;\n  color:#444;\n  background:#fff;\n  line-height:1;\n}\n.cv-df-cap2-branding-tier-active {\n  background:#2D6A4F;\n  color:#fff;\n  border-color:#2D6A4F;\n  box-shadow:0 2px 6px rgba(45,106,79,0.25);\n}\n.cv-df-cap2-branding-cta {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  width:100%;\n  background:#2D6A4F;\n  color:#fff;\n  border-radius:999px;\n  padding:9px;\n  font-family:'Roboto',sans-serif;\n  font-size:11px;\n  font-weight:700;\n  letter-spacing:1px;\n  line-height:1;\n  box-shadow:0 4px 12px rgba(45,106,79,0.30);\n}\n\n\/* Fund & designation \u2014 inline fund-picker mockup with title, search,\n   and a list of fund options each with its own Assign action. Bleeds\n   off the bottom of the image area, same pattern as branding mock. *\/\n.cv-df-cap2-fund-mock {\n  position:absolute;\n  top:16px;\n  left:16px;\n  width:calc(100% - 32px);\n  background:#fff;\n  border-radius:8px;\n  overflow:hidden;\n  box-shadow:0 6px 18px rgba(40,33,127,0.10);\n}\n.cv-df-cap2-fund-header {\n  padding:12px 14px 8px;\n}\n.cv-df-cap2-fund-title {\n  font-family:'Rubik',sans-serif;\n  font-size:13px;\n  font-weight:700;\n  color:#1A1A2E;\n  position:relative;\n  padding-bottom:6px;\n}\n.cv-df-cap2-fund-title::after {\n  \/* Small amber accent under the title \u2014 typical CauseVox heading underline *\/\n  content:'';\n  position:absolute;\n  left:0;\n  bottom:0;\n  width:24px;\n  height:2px;\n  background:#FBAB42;\n  border-radius:2px;\n}\n.cv-df-cap2-fund-body { padding:0 14px 14px; }\n.cv-df-cap2-fund-search {\n  display:flex;\n  align-items:center;\n  gap:6px;\n  background:#F4F4F7;\n  border:1px solid #E0E0E5;\n  border-radius:5px;\n  padding:6px 9px;\n  margin-bottom:8px;\n  font-family:'Roboto',sans-serif;\n  font-size:10.5px;\n  color:#9897AC;\n}\n.cv-df-cap2-fund-search-icon {\n  width:11px;\n  height:11px;\n  color:#9897AC;\n  flex-shrink:0;\n}\n.cv-df-cap2-fund-list { display:flex; flex-direction:column; }\n.cv-df-cap2-fund-item {\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:10px;\n  padding:8px 0;\n  border-bottom:1px solid #F0F0F4;\n}\n.cv-df-cap2-fund-item:last-child { border-bottom:0; }\n.cv-df-cap2-fund-item-text {\n  flex:1;\n  min-width:0;\n}\n.cv-df-cap2-fund-item-name {\n  font-family:'Roboto',sans-serif;\n  font-size:11px;\n  font-weight:700;\n  color:#1A1A2E;\n  margin-bottom:2px;\n  line-height:1.2;\n}\n.cv-df-cap2-fund-item-desc {\n  font-family:'Roboto',sans-serif;\n  font-size:10px;\n  color:#7A7A8E;\n  line-height:1.35;\n}\n.cv-df-cap2-fund-assign {\n  font-family:'Roboto',sans-serif;\n  font-size:10px;\n  font-weight:700;\n  color:#E09830;\n  flex-shrink:0;\n}\n\n\/* Branded receipts \u2014 inline tax-receipt mockup with logo, pink horizontal\n   accent, greeting, donation amount, and signature. Bleeds off the bottom\n   of the image area, same pattern as branding\/fund mocks. *\/\n.cv-df-cap2-receipt-mock {\n  position:absolute;\n  top:16px;\n  left:16px;\n  width:calc(100% - 32px);\n  background:#fff;\n  border-radius:8px;\n  overflow:hidden;\n  box-shadow:0 6px 18px rgba(40,33,127,0.10);\n}\n.cv-df-cap2-receipt-header {\n  display:flex;\n  justify-content:center;\n  padding:10px 14px 6px;\n}\n.cv-df-cap2-receipt-logo {\n  display:inline-flex;\n  align-items:baseline;\n  gap:3px;\n}\n.cv-df-cap2-receipt-logo-mark {\n  font-family:'Rubik',sans-serif;\n  font-size:18px;\n  font-weight:700;\n  color:#E0277A;\n  letter-spacing:-0.5px;\n  line-height:1;\n}\n.cv-df-cap2-receipt-logo-mark sub {\n  font-size:11px;\n  font-weight:600;\n  vertical-align:baseline;\n  position:relative;\n  top:2px;\n}\n\/* Small pink stride\/accent dot to suggest a runner\/movement icon next to the wordmark *\/\n.cv-df-cap2-receipt-logo-stride {\n  display:inline-block;\n  width:6px;\n  height:6px;\n  border-radius:50%;\n  background:#E0277A;\n  box-shadow:\n    -4px -3px 0 -1px #E0277A,\n    -8px 0 0 -1px #E0277A;\n}\n\/* Pink horizontal accent \u2014 matches the colored line under the receipt header *\/\n.cv-df-cap2-receipt-accent {\n  height:2px;\n  background:#E0277A;\n  margin:0 14px;\n}\n.cv-df-cap2-receipt-body {\n  padding:12px 14px 14px;\n  display:flex;\n  flex-direction:column;\n  gap:8px;\n}\n.cv-df-cap2-receipt-greeting {\n  font-family:'Roboto',sans-serif;\n  font-size:11px;\n  font-weight:700;\n  color:#1A1A2E;\n}\n.cv-df-cap2-receipt-line {\n  font-family:'Roboto',sans-serif;\n  font-size:10.5px;\n  color:#5A5A6E;\n  line-height:1.45;\n}\n.cv-df-cap2-receipt-line strong {\n  color:#1A1A2E;\n  font-weight:700;\n}\n.cv-df-cap2-receipt-signoff {\n  font-family:'Roboto',sans-serif;\n  font-size:10.5px;\n  color:#5A5A6E;\n  line-height:1.5;\n}\n.cv-df-cap2-receipt-org {\n  font-family:'Rubik',sans-serif;\n  font-weight:700;\n  color:#1A1A2E;\n}\n\/* Custom Fields card \u2014 inline form-field mockup centered in the colored\n   image area. Reads as \"this is what a custom field looks like in the form.\" *\/\n.cv-df-cap2-image--field {\n  position:relative;\n}\n.cv-df-cap2-field-mock {\n  position:absolute;\n  top:50%;\n  left:50%;\n  transform:translate(-50%, -50%);\n  width:calc(100% - 48px);\n  max-width:280px;\n  background:#fff;\n  border-radius:10px;\n  padding:12px 14px;\n  box-shadow:0 4px 14px rgba(40,33,127,0.10);\n}\n.cv-df-cap2-field-label {\n  display:block;\n  font-family:'Roboto',sans-serif;\n  font-size:12px;\n  font-weight:600;\n  color:#1A1A2E;\n  margin-bottom:6px;\n  letter-spacing:0.1px;\n}\n.cv-df-cap2-field-input {\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:10px;\n  background:#fff;\n  border:1px solid rgba(40,33,127,0.18);\n  border-radius:6px;\n  padding:9px 12px;\n  box-shadow:0 2px 6px rgba(40,33,127,0.06);\n}\n.cv-df-cap2-field-placeholder {\n  font-family:'Roboto',sans-serif;\n  font-size:13px;\n  color:#9897AC;\n}\n.cv-df-cap2-field-icon {\n  width:14px;\n  height:14px;\n  color:#28217F;\n  opacity:0.7;\n  flex-shrink:0;\n}\n\n\/* Tribute & honor giving \u2014 list-item mockup centered in the green area.\n   Heart icon + title + description + chevron, like a selectable form option. *\/\n.cv-df-cap2-image--tribute,\n.cv-df-cap2-image--button {\n  position:relative;\n}\n.cv-df-cap2-tribute-mock {\n  position:absolute;\n  top:50%;\n  left:50%;\n  transform:translate(-50%, -50%);\n  width:calc(100% - 36px);\n  max-width:320px;\n  display:flex;\n  align-items:center;\n  gap:12px;\n  background:#fff;\n  border-radius:10px;\n  padding:12px 14px;\n  box-shadow:0 4px 14px rgba(40,33,127,0.10);\n}\n.cv-df-cap2-tribute-icon {\n  flex-shrink:0;\n  width:22px;\n  height:22px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n.cv-df-cap2-tribute-icon svg { width:22px; height:22px; }\n.cv-df-cap2-tribute-text { flex:1; min-width:0; }\n.cv-df-cap2-tribute-title {\n  font-family:'Roboto',sans-serif;\n  font-size:13px;\n  font-weight:700;\n  color:#1A1A2E;\n  line-height:1.2;\n  margin-bottom:2px;\n}\n.cv-df-cap2-tribute-desc {\n  font-family:'Roboto',sans-serif;\n  font-size:11.5px;\n  color:#777;\n  line-height:1.35;\n}\n.cv-df-cap2-tribute-chevron {\n  flex-shrink:0;\n  width:14px;\n  height:14px;\n}\n.cv-df-cap2-tribute-chevron svg { width:14px; height:14px; display:block; }\n\n\/* === Birthday confetti \u2014 drops on Custom fields card hover === *\/\n.cv-df-cap2-confetti {\n  position:absolute;\n  inset:0;\n  pointer-events:none;\n  z-index:0;\n  overflow:hidden;\n}\n.cv-df-cap2-confetti-bit {\n  position:absolute;\n  top:-14px;\n  left:var(--cf-x);\n  width:9px;\n  height:9px;\n  background:var(--cf-c);\n  \/* Triangle shape via clip-path \u2014 point at top, base at bottom *\/\n  clip-path:polygon(50% 0%, 100% 100%, 0% 100%);\n  opacity:0;\n  transform-origin:center;\n}\n.cv-df-cap2-card:hover .cv-df-cap2-confetti-bit {\n  animation:cv-df-cap2-confetti-fall 2s cubic-bezier(.42,0,.58,1) forwards;\n  animation-delay:var(--cf-d);\n}\n@keyframes cv-df-cap2-confetti-fall {\n  0%   { top:-14px; opacity:0; transform:rotate(0deg); }\n  10%  { opacity:1; }\n  90%  { opacity:1; }\n  100% { top:115%; opacity:0; transform:rotate(var(--cf-r)); }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cv-df-cap2-card:hover .cv-df-cap2-confetti-bit { animation:none; }\n}\n\n\/* Custom confirmation \u2014 small white card with heart icon + thank-you text. *\/\n.cv-df-cap2-image--confirm { position:relative; }\n.cv-df-cap2-confirm-mock {\n  position:absolute;\n  top:50%;\n  left:50%;\n  transform:translate(-50%, -50%);\n  display:flex;\n  align-items:center;\n  gap:10px;\n  background:#fff;\n  border-radius:10px;\n  padding:11px 16px;\n  box-shadow:0 4px 14px rgba(40,33,127,0.10);\n}\n.cv-df-cap2-confirm-icon {\n  position:relative;        \/* anchor for the burst particles *\/\n  flex-shrink:0;\n  width:22px;\n  height:22px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n.cv-df-cap2-confirm-icon svg.cv-df-cap2-confirm-heart {\n  width:22px;\n  height:22px;\n  transform-origin:center;\n  transition:transform .25s ease;\n}\n\/* Main heart pulses when card is hovered *\/\n.cv-df-cap2-card:hover .cv-df-cap2-confirm-heart {\n  animation:cv-df-cap2-heart-pulse 0.65s cubic-bezier(.34,1.56,.64,1);\n}\n@keyframes cv-df-cap2-heart-pulse {\n  0%   { transform:scale(1); }\n  35%  { transform:scale(1.35); }\n  60%  { transform:scale(0.92); }\n  100% { transform:scale(1); }\n}\n\n\/* Burst particles \u2014 small colored hearts that fly out from the main heart *\/\n.cv-df-cap2-heart-bit {\n  position:absolute;\n  top:50%;\n  left:50%;\n  width:14px;\n  height:14px;\n  margin:-7px 0 0 -7px;\n  opacity:0;\n  pointer-events:none;\n  transform-origin:center;\n}\n.cv-df-cap2-card:hover .cv-df-cap2-heart-bit {\n  animation:cv-df-cap2-heart-burst 0.75s cubic-bezier(.22,1,.36,1) forwards;\n  animation-delay:var(--hb-d, 0s);\n}\n@keyframes cv-df-cap2-heart-burst {\n  0%   { opacity:0; transform:translate(0, 0) scale(0.3); }\n  20%  { opacity:1; transform:translate(calc(var(--hb-x) * 0.4), calc(var(--hb-y) * 0.4)) scale(1.1); }\n  100% { opacity:0; transform:translate(var(--hb-x), var(--hb-y)) scale(0.5); }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cv-df-cap2-card:hover .cv-df-cap2-confirm-heart { animation:none; }\n  .cv-df-cap2-card:hover .cv-df-cap2-heart-bit { animation:none; }\n}\n.cv-df-cap2-confirm-text {\n  font-family:'Roboto',sans-serif;\n  font-size:13px;\n  font-weight:600;\n  color:#1A1A2E;\n  white-space:nowrap;\n}\n\n\/* Post-donation redirects \u2014 row of brand-colored social share buttons. *\/\n.cv-df-cap2-image--social { position:relative; }\n.cv-df-cap2-social-mock {\n  position:absolute;\n  top:50%;\n  left:50%;\n  transform:translate(-50%, -50%);\n  display:flex;\n  align-items:center;\n  gap:10px;\n}\n.cv-df-cap2-social-btn {\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  width:32px;\n  height:32px;\n  border-radius:50%;\n  box-shadow:0 3px 10px rgba(0,0,0,0.18);\n}\n.cv-df-cap2-social-btn svg { width:16px; height:16px; display:block; }\n\n\/* Form copy & thank-you \u2014 teal pill button mock with typing animation\n   that backspaces \"DONATE NOW\" \u2192 types \"SUPPORT US\" \u2192 repeats.\n   Visualizes that you can customize button copy. *\/\n.cv-df-cap2-button-mock {\n  position:absolute;\n  top:50%;\n  left:50%;\n  transform:translate(-50%, -50%);\n  background:#30B6C9;\n  color:#fff;\n  font-family:'Roboto',sans-serif;\n  font-size:13px;\n  font-weight:700;\n  letter-spacing:1.5px;\n  line-height:1;             \/* fixed line-height so empty text doesn't collapse *\/\n  padding:11px 26px;\n  border-radius:999px;\n  box-shadow:0 4px 14px rgba(48,182,201,0.35);\n  white-space:nowrap;\n  display:inline-flex;\n  align-items:center;\n  min-width:140px;            \/* stops the pill from collapsing horizontally mid-typing *\/\n  min-height:38px;            \/* stops the pill from collapsing vertically when text is empty *\/\n  justify-content:center;\n}\n.cv-df-cap2-button-text { display:inline-block; }\n\/* Blinking caret cursor \u2014 sits at the end of the typed text *\/\n.cv-df-cap2-button-caret {\n  display:inline-block;\n  width:1.5px;\n  height:1em;\n  background:#fff;\n  margin-left:2px;\n  vertical-align:-2px;\n  animation:cv-df-cap2-caret-blink 1s step-end infinite;\n}\n@keyframes cv-df-cap2-caret-blink {\n  0%, 50%   { opacity:1; }\n  50.01%, 100% { opacity:0; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cv-df-cap2-button-caret { display:none; }\n}\n\/* Tinted background colors \u2014 lifted from the homepage feature tile palette.\n   Apply behind cover images (visible in any transparent areas) and behind\n   contain images (visible as the colored frame). Cards without an image\n   use only the tint as the visual. *\/\n.cv-df-cap2-image--teal   { background-color:#E8F4F7; }\n.cv-df-cap2-image--amber  { background-color:#FCF1DC; }\n.cv-df-cap2-image--purple { background-color:#EDEAF6; }\n.cv-df-cap2-image--green  { background-color:#E5F0EA; }\n.cv-df-cap2-body {\n  padding:16px 20px 20px;\n}\n.cv-df-cap2-card h3 {\n  font-size:16.5px;\n  font-weight:700;\n  color:#1A1A2E;\n  margin:0 0 6px;\n  line-height:1.3;\n}\n.cv-df-page .cv-df-cap2-card p {\n  font-size:14px;\n  color:#5A5A6E;\n  line-height:1.5;\n  margin:0;\n}\n\n\/* See more \u2014 fade teaser of the 3 hidden cards, button below *\/\n.cv-df-cap2-seemore {\n  text-align:center;\n  margin-top:0;\n}\n.cv-df-cap2-grid.cv-df-cap2-more { margin:0; }\n.cv-df-cap2-more-wrap {\n  position:relative;\n  max-height:120px;\n  overflow:hidden;\n  margin:24px 0 6px;\n  transition:max-height .55s ease, margin-bottom .25s ease;\n}\n.cv-df-cap2-more-wrap::after {\n  content:'';\n  position:absolute;\n  inset:0;\n  \/* Fade to the section's tinted background color (#F5F4FA) *\/\n  background:linear-gradient(to bottom, rgba(245,244,250,0) 0%, rgba(245,244,250,0) 25%, rgba(245,244,250,0.96) 90%, rgba(245,244,250,1) 100%);\n  pointer-events:none;\n  transition:opacity .35s ease;\n}\n.cv-df-seemore.cv-df-seemore-open .cv-df-cap2-more-wrap {\n  max-height:2400px;\n  margin-bottom:18px;\n}\n.cv-df-seemore.cv-df-seemore-open .cv-df-cap2-more-wrap::after {\n  opacity:0;\n}\n\n@media (max-width: 900px) {\n  .cv-df-cap2-grid { grid-template-columns:repeat(2, 1fr); }\n}\n@media (max-width: 600px) {\n  .cv-df-cap2-grid { grid-template-columns:1fr; }\n}\n\n\/* === FEATURE GRID (shadcnblocks Feature362-style) =================\n   Sticky left header + right card grid. Used in capability sections. *\/\n.cv-df-feat {\n  display:grid;\n  grid-template-columns:1fr;\n  gap:36px;\n  align-items:start;\n}\n@media (min-width: 900px) {\n  .cv-df-feat {\n    grid-template-columns:1fr 2fr;\n    gap:56px;\n  }\n}\n\/* Header \u2014 top-aligned with the cards. No sticky positioning (sticky was\n   causing the badge to drift down as the user scrolled into the section). *\/\n.cv-df-feat-header {\n  display:flex;\n  flex-direction:column;\n  gap:14px;\n  margin:0;\n  padding:0;\n  align-self:start;\n}\n.cv-df-feat-header > *:first-child { margin-top:0; }\n.cv-df-feat-header .cv-df-badge {\n  align-self:flex-start;\n  margin:0; \/* kill the global .cv-df-badge margin-bottom \u2014 gap on parent handles spacing *\/\n}\n.cv-df-feat-header h2 {\n  font-size:32px;\n  color:#1A1A2E;\n  margin:0;\n  line-height:1.2;\n}\n.cv-df-page .cv-df-feat-header p {\n  font-size:16px;\n  color:#555;\n  line-height:1.6;\n  margin:0;\n}\n.cv-df-feat-body {\n  display:flex;\n  flex-direction:column;\n  gap:0;\n}\n.cv-df-feat-grid {\n  display:grid;\n  grid-template-columns:1fr;\n  gap:14px;\n}\n@media (min-width: 600px) {\n  .cv-df-feat-grid { grid-template-columns:repeat(2, 1fr); }\n}\n.cv-df-feat-card {\n  background:#fff;\n  border:1px solid #ECECF2;\n  border-radius:12px;\n  padding:20px;\n  display:flex;\n  flex-direction:column;\n  align-items:flex-start;\n  gap:10px;\n  text-align:left;\n  transition:border-color .2s, box-shadow .2s, transform .2s;\n}\n.cv-df-feat-card:hover {\n  border-color:#D9D8E5;\n  box-shadow:0 4px 14px rgba(40,33,127,0.05);\n}\n\/* Link variant \u2014 when the whole card is an <a>. Adds inline arrow next\n   to the title that slides on hover, same pattern as the WORKS WITH cards. *\/\n.cv-df-page a.cv-df-feat-card-link {\n  text-decoration:none;\n  color:inherit;\n  cursor:pointer;\n}\n.cv-df-page a.cv-df-feat-card-link:hover {\n  border-color:rgba(40,33,127,0.3);\n  box-shadow:0 6px 18px rgba(40,33,127,0.08);\n  transform:translateY(-1px);\n}\n.cv-df-feat-arrow {\n  display:inline-block;\n  margin-left:6px;\n  color:#28217F;\n  font-weight:500;\n  transition:transform 0.2s ease;\n}\n.cv-df-page a.cv-df-feat-card-link:hover .cv-df-feat-arrow {\n  transform:translateX(3px);\n}\n.cv-df-feat-icon {\n  width:36px;\n  height:36px;\n  border-radius:8px;\n  background:#F0EEF8;\n  color:#28217F;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  flex-shrink:0;\n}\n.cv-df-feat-icon svg { width:18px; height:18px; }\n.cv-df-feat-card h3 {\n  font-size:15px;\n  font-weight:700;\n  color:#1A1A2E;\n  margin:0;\n  line-height:1.3;\n}\n.cv-df-page .cv-df-feat-card p {\n  font-size:13.5px;\n  color:#5A5A6E;\n  line-height:1.55;\n  margin:0;\n}\n\n\/* See-more block \u2014 collapsed state shows a teaser of the additional\n   cards with a fade-to-white gradient at the bottom; \"See more\" button\n   sits below the fade. Click expands the wrap to full height and fades\n   out the gradient. Inspired by the pricing-page comparison teaser. *\/\n.cv-df-feat-seemore { text-align:center; }\n.cv-df-feat-grid.cv-df-feat-more {\n  margin:0;\n}\n.cv-df-feat-more-wrap {\n  position:relative;\n  max-height:130px;\n  overflow:hidden;\n  margin:14px 0 4px; \/* top margin matches the card grid's gap so the teaser row sits one grid-gap below the main cards *\/\n  transition:max-height .55s ease, margin-bottom .25s ease;\n}\n.cv-df-feat-more-wrap::after {\n  content:'';\n  position:absolute;\n  inset:0;\n  background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 25%, rgba(255,255,255,0.96) 90%, rgba(255,255,255,1) 100%);\n  pointer-events:none;\n  transition:opacity .35s ease;\n}\n.cv-df-seemore.cv-df-seemore-open .cv-df-feat-more-wrap {\n  max-height:2400px;\n  margin-bottom:18px;\n}\n.cv-df-seemore.cv-df-seemore-open .cv-df-feat-more-wrap::after {\n  opacity:0;\n}\n.cv-df-feat-seemore .cv-df-seemore-btn {\n  margin-top:0;\n}\n\n\/* \"See more\" toggle pill *\/\n.cv-df-seemore {\n  text-align:center;\n}\n.cv-df-page .cv-df-seemore-btn {\n  display:inline-flex;\n  align-items:center;\n  gap:10px;\n  background:#fff;\n  background-color:#fff;\n  border:1px solid rgba(40,33,127,0.18);\n  border-radius:999px;\n  padding:10px 24px;\n  font-family:'Roboto',sans-serif;\n  font-size:14px;\n  font-weight:600;\n  color:#28217F;\n  cursor:pointer;\n  outline:none;\n  box-shadow:0 1px 3px rgba(40,33,127,0.05), 0 4px 14px rgba(40,33,127,0.04);\n  transition:background-color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;\n}\n.cv-df-page .cv-df-seemore-btn:hover,\n.cv-df-page .cv-df-seemore-btn:focus {\n  background:#fff;\n  background-color:#fff;\n  border-color:rgba(40,33,127,0.45);\n  color:#28217F;\n  box-shadow:0 2px 6px rgba(40,33,127,0.08), 0 8px 18px rgba(40,33,127,0.08);\n  transform:translateY(-1px);\n}\n.cv-df-page .cv-df-seemore-btn:focus-visible {\n  outline:2px solid #28217F;\n  outline-offset:3px;\n}\n\/* Dark variant *\/\n.cv-df-page .cv-df-seemore-dark .cv-df-seemore-btn {\n  background:rgba(255,255,255,0.10);\n  background-color:rgba(255,255,255,0.10);\n  border-color:rgba(255,255,255,0.25);\n  color:#fff;\n  box-shadow:none;\n}\n.cv-df-page .cv-df-seemore-dark .cv-df-seemore-btn:hover,\n.cv-df-page .cv-df-seemore-dark .cv-df-seemore-btn:focus {\n  background:rgba(255,255,255,0.15);\n  background-color:rgba(255,255,255,0.15);\n  border-color:rgba(255,255,255,0.40);\n  color:#fff;\n}\n.cv-df-seemore-chev {\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  transition:transform .25s;\n}\n.cv-df-seemore-chev svg { width:14px; height:14px; }\n.cv-df-seemore.cv-df-seemore-open .cv-df-seemore-chev { transform:rotate(180deg); }\n\n.cv-df-seemore-list {\n  max-height:0;\n  overflow:hidden;\n  transition:max-height .45s ease, margin-top .25s ease;\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:14px 28px;\n  text-align:left;\n  margin:0 auto;\n  max-width:920px;\n}\n.cv-df-seemore.cv-df-seemore-open .cv-df-seemore-list {\n  max-height:1200px;\n  margin-top:24px;\n}\n.cv-df-seemore-list li {\n  display:flex;\n  align-items:flex-start;\n  gap:14px;\n  font-size:15px;\n  color:#444;\n  line-height:1.55;\n}\n.cv-df-cap-dark .cv-df-seemore-list li { color:#E8E8E8; }\n\n\/* === DARK SECTION (Cap 4) ======================================== *\/\n.cv-df-section-dark {\n  background:linear-gradient(135deg,#1a1554 0%,#28217F 50%,#231b75 100%);\n  padding:90px 20px;\n  position:relative;\n  overflow:hidden;\n}\n.cv-df-grid-overlay {\n  position:absolute;\n  inset:0;\n  z-index:0;\n  background-image:\n    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),\n    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);\n  background-size:48px 48px;\n  -webkit-mask-image:radial-gradient(ellipse at center, rgba(0,0,0,0.6) 0%, transparent 75%);\n  mask-image:radial-gradient(ellipse at center, rgba(0,0,0,0.6) 0%, transparent 75%);\n}\n.cv-df-orb {\n  position:absolute;\n  border-radius:50%;\n  filter:blur(110px);\n  opacity:0.32;\n  pointer-events:none;\n  z-index:0;\n}\n.cv-df-orb-dark-1 { width:520px; height:520px; background:radial-gradient(circle,#FBAB42,transparent 70%); top:-160px; right:-100px; }\n.cv-df-orb-dark-2 { width:460px; height:460px; background:radial-gradient(circle,#30B6C9,transparent 70%); bottom:-180px; left:-120px; }\n\n\/* === CUSTOMER PROOF (pricing-page testimonial style) =============== *\/\n.cv-df-testi {\n  background:#FFFBF5;\n  padding:90px 20px 100px;\n  position:relative;\n  overflow:hidden;\n}\n\/* Aurora blob background \u2014 soft amber\/coral\/purple atmosphere *\/\n.cv-df-testi-aurora { position:absolute; inset:0; pointer-events:none; z-index:0; }\n.cv-df-testi-blob {\n  position:absolute;\n  border-radius:50%;\n  filter:blur(90px);\n  pointer-events:none;\n}\n.cv-df-testi-blob-1 {\n  width:560px; height:380px;\n  background:rgba(251,171,66,0.22);\n  top:-100px; left:-80px;\n  animation:cv-df-testi-drift1 18s ease-in-out infinite alternate;\n}\n.cv-df-testi-blob-2 {\n  width:480px; height:360px;\n  background:rgba(229,117,86,0.18);\n  top:-40px; right:-80px;\n  animation:cv-df-testi-drift2 22s ease-in-out infinite alternate;\n}\n.cv-df-testi-blob-3 {\n  width:420px; height:340px;\n  background:rgba(148,46,180,0.10);\n  bottom:-80px; left:30%;\n  animation:cv-df-testi-drift3 24s ease-in-out infinite alternate;\n}\n@keyframes cv-df-testi-drift1 {\n  0%   { transform:translate(0,0) scale(1); }\n  100% { transform:translate(40px,30px) scale(1.06); }\n}\n@keyframes cv-df-testi-drift2 {\n  0%   { transform:translate(0,0) scale(1); }\n  100% { transform:translate(-30px,40px) scale(1.04); }\n}\n@keyframes cv-df-testi-drift3 {\n  0%   { transform:translate(0,0) scale(1); }\n  100% { transform:translate(30px,-25px) scale(1.05); }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cv-df-testi-blob { animation:none !important; }\n}\n\n\/* Heart icon inside the eyebrow badge (\"NONPROFITS \u2764 CAUSEVOX\") *\/\n.cv-df-badge-heart { display:inline-flex; align-items:center; gap:6px; }\n.cv-df-heart-icon { width:14px; height:14px; }\n\n\/* Star row + label *\/\n.cv-df-testi-stars-row {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:14px;\n  margin-top:22px;\n  flex-wrap:wrap;\n}\n.cv-df-testi-stars { display:inline-flex; align-items:center; gap:3px; }\n.cv-df-testi-stars svg { width:18px; height:18px; }\n.cv-df-testi-stars-label {\n  font-size:14px;\n  font-weight:500;\n  color:#666;\n  letter-spacing:0.2px;\n}\n\n\/* Single featured card centered \u2014 same dark-purple gradient as pricing *\/\n.cv-df-testi-grid {\n  max-width:640px;\n  margin:0 auto;\n}\n.cv-df-testi-card {\n  background:#fff;\n  border:1px solid rgba(40,33,127,0.08);\n  border-radius:16px;\n  padding:36px 34px;\n  display:flex;\n  flex-direction:column;\n  box-shadow:0 4px 20px rgba(40,33,127,0.05);\n  transition:transform .25s, box-shadow .25s, border-color .25s;\n}\n.cv-df-testi-card:hover {\n  transform:translateY(-3px);\n  box-shadow:0 12px 32px rgba(40,33,127,0.10);\n  border-color:rgba(40,33,127,0.18);\n}\n.cv-df-testi-card--featured {\n  background:linear-gradient(160deg,#1a1554 0%,#28217F 60%,#3a2fa0 100%);\n  border:1px solid rgba(251,171,66,0.30);\n  color:#fff;\n}\n.cv-df-testi-card--featured:hover {\n  transform:translateY(-3px);\n  box-shadow:0 16px 42px rgba(40,33,127,0.30);\n  border-color:rgba(251,171,66,0.45);\n}\n.cv-df-page .cv-df-testi-quote {\n  font-family:'Rubik',sans-serif;\n  font-size:18px;\n  line-height:1.6;\n  color:#fff;\n  font-weight:500;\n  margin:0 0 24px;\n  flex-grow:1;\n}\n.cv-df-testi-attrib {\n  display:flex;\n  align-items:center;\n  gap:14px;\n  margin-top:auto;\n}\n.cv-df-testi-avatar {\n  width:48px; height:48px;\n  border-radius:50%;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  background:#FBAB42;\n  color:#1a1554;\n  font-family:'Rubik',sans-serif;\n  font-size:14px;\n  font-weight:700;\n  letter-spacing:0.5px;\n  flex-shrink:0;\n}\n.cv-df-testi-meta { display:flex; flex-direction:column; gap:2px; }\n.cv-df-testi-name { font-weight:600; font-size:15px; color:#fff; }\n.cv-df-testi-org { font-size:13.5px; color:rgba(255,255,255,0.72); }\n\n\/* === PLAN AVAILABILITY (pricing-page Free + Pro card style) ======== *\/\n.cv-df-plans-section {\n  background:linear-gradient(180deg,#F7F7FB 0%,#FFFFFF 100%);\n  padding:90px 20px 100px;\n}\n.cv-df-plan-grid {\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:28px;\n  align-items:stretch;\n  max-width:1100px;\n  margin:0 auto;\n}\n.cv-df-plan {\n  border-radius:20px;\n  overflow:hidden;\n  display:flex;\n  flex-direction:column;\n  position:relative;\n}\n.cv-df-plan-free {\n  background:#fff;\n  border:1px solid #E4E4ED;\n  box-shadow:0 4px 24px rgba(40,33,127,0.05);\n}\n.cv-df-plan-head {\n  padding:36px 32px 32px;\n  display:flex;\n  flex-direction:column;\n}\n.cv-df-plan-tag {\n  display:inline-block;\n  font-size:12px;\n  font-weight:600;\n  color:#777;\n  text-transform:uppercase;\n  letter-spacing:0.8px;\n  margin-bottom:14px;\n}\n.cv-df-plan-name {\n  font-size:30px;\n  color:#1A1A2E;\n  margin-bottom:6px;\n  letter-spacing:-0.3px;\n}\n.cv-df-plan-price {\n  margin-bottom:18px;\n  display:flex;\n  align-items:baseline;\n  flex-wrap:wrap;\n  gap:10px;\n  min-height:42px; \/* matches the taller $0 line so Pro's \"Contact us\" lines up *\/\n}\n.cv-df-price-amount {\n  font-family:'Rubik',sans-serif;\n  font-size:32px;\n  font-weight:700;\n  color:#28217F;\n  letter-spacing:-0.5px;\n  line-height:1.1;\n}\n.cv-df-price-currency {\n  font-size:22px;\n  font-weight:600;\n  vertical-align:5px;\n  margin-right:1px;\n  color:#28217F;\n}\n.cv-df-price-suffix {\n  font-size:13px;\n  font-weight:500;\n  color:#888;\n  line-height:1.3;\n}\n.cv-df-price-amount-pro {\n  font-size:24px;\n  font-weight:600;\n  color:#FBAB42;\n  letter-spacing:-0.3px;\n}\n.cv-df-price-suffix-pro { color:rgba(255,255,255,0.55); }\n.cv-df-page .cv-df-plan-desc {\n  font-size:15px;\n  color:#555;\n  line-height:1.65;\n  margin-bottom:22px;\n  min-height:4.95em; \/* 3 lines worth \u2014 keeps button + divider aligned across cards *\/\n}\n.cv-df-plan-cta { width:100%; margin-top:auto; }\n\n\/* Pro plan card \u2014 prominent dark teal\/charcoal *\/\n.cv-df-plan-pro {\n  background:linear-gradient(160deg,#0c2229 0%,#143a44 50%,#0e2c34 100%);\n  border:1px solid rgba(251,171,66,0.35);\n  box-shadow:0 20px 60px rgba(12,34,41,0.45);\n  color:#fff;\n}\n.cv-df-plan-tag-pro { color:#FBAB42; }\n.cv-df-plan-pro .cv-df-plan-name { color:#fff; }\n.cv-df-page .cv-df-plan-pro p.cv-df-plan-desc { color:rgba(255,255,255,0.78); }\n\n\/* Plan-card CTA buttons (scoped to this section so they don't conflict\n   with the page's primary CTA buttons used elsewhere). *\/\n.cv-df-page a.cv-df-plans-btn {\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  font-family:'Roboto',sans-serif;\n  font-size:16px;\n  font-weight:600;\n  padding:14px 30px;\n  border-radius:8px;\n  border:none;\n  text-decoration:none;\n  line-height:1.2;\n  white-space:nowrap;\n  transition:background .2s, box-shadow .3s, transform .2s, color .2s;\n  cursor:pointer;\n}\n.cv-df-page a.cv-df-plans-btn-secondary {\n  background:#30B6C9;\n  color:#fff;\n  box-shadow:0 6px 22px rgba(48,182,201,0.32);\n}\n.cv-df-page a.cv-df-plans-btn-secondary:hover {\n  background:#28A3B4;\n  color:#fff;\n  box-shadow:0 8px 30px rgba(48,182,201,0.45);\n  transform:translateY(-1px);\n}\n.cv-df-page .cv-df-plan-pro a.cv-df-plans-btn-primary {\n  background:#FBAB42;\n  color:#0c2229;\n  box-shadow:0 6px 24px rgba(251,171,66,0.40);\n}\n.cv-df-page .cv-df-plan-pro a.cv-df-plans-btn-primary:hover {\n  background:#f49a23;\n  color:#0c2229;\n  box-shadow:0 10px 32px rgba(251,171,66,0.55);\n  transform:translateY(-1px);\n}\n\n\/* === COMMON USE CASES ============================================ *\/\n.cv-df-usecases {\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n  gap:20px;\n}\n.cv-df-page a.cv-df-uc {\n  background:#fff;\n  border:1px solid #ECECF2;\n  border-top:3px solid #28217F;\n  border-radius:12px;\n  padding:24px 24px 20px;\n  display:block;\n  transition:transform .25s, box-shadow .25s, border-color .25s;\n}\n.cv-df-usecases > a.cv-df-uc:nth-child(2) { border-top-color:#30B6C9; }\n.cv-df-usecases > a.cv-df-uc:nth-child(3) { border-top-color:#FBAB42; }\n.cv-df-usecases > a.cv-df-uc:nth-child(4) { border-top-color:#942EB4; }\n.cv-df-usecases > a.cv-df-uc:nth-child(5) { border-top-color:#E57556; }\n.cv-df-usecases > a.cv-df-uc:nth-child(6) { border-top-color:#2D6A4F; }\n.cv-df-page a.cv-df-uc:hover {\n  transform:translateY(-3px);\n  box-shadow:0 12px 32px rgba(0,0,0,0.07);\n}\n\/* Non-linked use-case card (no hover lift) *\/\n.cv-df-uc-static {\n  background:#fff;\n  border:1px solid #ECECF2;\n  border-top:3px solid #2D6A4F;\n  border-radius:12px;\n  padding:24px 24px 20px;\n}\n.cv-df-uc h3 { font-size:18px; color:#1A1A2E; margin-bottom:8px; }\n.cv-df-page .cv-df-uc p { font-size:14.5px; color:#555; line-height:1.6; margin-bottom:14px; }\n.cv-df-uc-link {\n  display:inline-flex;\n  align-items:center;\n  gap:6px;\n  font-size:13.5px;\n  font-weight:600;\n  color:#28217F;\n  transition:gap .2s;\n}\n.cv-df-page a.cv-df-uc:hover .cv-df-uc-link { gap:10px; }\n\n\/* === ARROW UTIL =================================================== *\/\n.cv-df-arrow { display:inline-block; transition:transform .2s; }\n\n\/* === BUTTONS ====================================================== *\/\n.cv-df-btn {\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  font-family:'Roboto',sans-serif;\n  font-size:16px;\n  font-weight:600;\n  padding:14px 30px;\n  border-radius:6px;\n  transition:background .2s, box-shadow .25s, transform .2s;\n  cursor:pointer;\n  border:none;\n  line-height:1.2;\n  text-decoration:none;\n}\n.cv-df-page a.cv-df-btn-primary,\n.cv-df-page button.cv-df-btn-primary {\n  background:#30B6C9;\n  color:#fff;\n  box-shadow:0 4px 18px rgba(48,182,201,0.30);\n}\n.cv-df-page a.cv-df-btn-primary:hover,\n.cv-df-page button.cv-df-btn-primary:hover {\n  background:#28A3B4;\n  color:#fff;\n  box-shadow:0 6px 26px rgba(48,182,201,0.45);\n  transform:translateY(-1px);\n}\n.cv-df-page a.cv-df-btn-outline,\n.cv-df-page button.cv-df-btn-outline {\n  background:transparent;\n  color:#fff;\n  border:2px solid rgba(255,255,255,0.45);\n}\n.cv-df-page a.cv-df-btn-outline:hover,\n.cv-df-page button.cv-df-btn-outline:hover {\n  background:rgba(255,255,255,0.10);\n  border-color:rgba(255,255,255,0.75);\n  color:#fff;\n  transform:translateY(-1px);\n}\n.cv-df-page a.cv-df-btn-dark,\n.cv-df-page button.cv-df-btn-dark {\n  background:#FBAB42;\n  color:#1A1A2E;\n  box-shadow:0 4px 16px rgba(251,171,66,0.35);\n}\n.cv-df-page a.cv-df-btn-dark:hover,\n.cv-df-page button.cv-df-btn-dark:hover {\n  background:#F59A28;\n  color:#1A1A2E;\n  transform:translateY(-1px);\n}\n.cv-df-btn-lg { padding:18px 40px; font-size:17px; }\n\n\/* === CTA SECTION (homepage close-section style) ==================== *\/\n.cv-df-cta {\n  background:linear-gradient(135deg,#1a1554 0%,#28217F 40%,#3a2fa0 70%,#28217F 100%);\n  padding:100px 20px 90px;\n  position:relative;\n  overflow:hidden;\n  text-align:center;\n}\n\n\/* Stripe rings \u2014 concentric SVG arcs, mirrored to right side, slow rotate *\/\n.cv-df-cta-stripe-bg {\n  position:absolute;\n  inset:0;\n  pointer-events:none;\n  opacity:0.5;\n}\n.cv-df-cta-stripe-svg {\n  position:absolute;\n  inset:0;\n  width:100%;\n  height:100%;\n}\n.cv-df-cta-rings > g { transform-origin:0px 0px; }\n.cv-df-cta-ring-1 { animation:cv-df-cta-spin 178s linear infinite; animation-play-state:paused; }\n.cv-df-cta-ring-2 { animation:cv-df-cta-spin 215s linear infinite; animation-play-state:paused; }\n.cv-df-cta-ring-3 { animation:cv-df-cta-spin 210s linear infinite; animation-play-state:paused; }\n.cv-df-cta-ring-4 { animation:cv-df-cta-spin 180s linear infinite; animation-play-state:paused; }\n.cv-df-cta-ring-5 { animation:cv-df-cta-spin 222s linear infinite; animation-play-state:paused; }\n.cv-df-cta-ring-6 { animation:cv-df-cta-spin 170s linear infinite; animation-play-state:paused; }\n.cv-df-cta-ring-7 { animation:cv-df-cta-spin 248s linear infinite; animation-play-state:paused; }\n.cv-df-cta-ring-8 { animation:cv-df-cta-spin 208s linear infinite; animation-play-state:paused; }\n.cv-df-cta.cv-df-cta-rings-active .cv-df-cta-ring-1,\n.cv-df-cta.cv-df-cta-rings-active .cv-df-cta-ring-2,\n.cv-df-cta.cv-df-cta-rings-active .cv-df-cta-ring-3,\n.cv-df-cta.cv-df-cta-rings-active .cv-df-cta-ring-4,\n.cv-df-cta.cv-df-cta-rings-active .cv-df-cta-ring-5,\n.cv-df-cta.cv-df-cta-rings-active .cv-df-cta-ring-6,\n.cv-df-cta.cv-df-cta-rings-active .cv-df-cta-ring-7,\n.cv-df-cta.cv-df-cta-rings-active .cv-df-cta-ring-8 { animation-play-state:running; }\n@keyframes cv-df-cta-spin {\n  from { transform:rotate(0deg); }\n  to   { transform:rotate(-360deg); }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cv-df-cta-rings > g { animation-duration:600s !important; }\n}\n\n\/* Glow overlay \u2014 softens the stripes behind the text *\/\n.cv-df-cta-glow {\n  position:absolute;\n  inset:0;\n  background:\n    radial-gradient(ellipse at 50% 60%, rgba(30,22,110,0.80) 0%, transparent 65%),\n    radial-gradient(ellipse at 15% 50%, rgba(40,33,127,0.20) 0%, transparent 50%);\n  pointer-events:none;\n  z-index:1;\n}\n\n\/* Content *\/\n.cv-df-cta-inner {\n  position:relative;\n  z-index:2;\n  max-width:680px;\n  margin:0 auto;\n  text-align:center;\n}\n.cv-df-cta h2 {\n  font-size:44px;\n  color:#fff;\n  margin:0 auto 20px;\n  letter-spacing:-0.3px;\n  line-height:1.15;\n  text-wrap:balance;\n}\n.cv-df-cta-highlight { color:#30B6C9; }\n.cv-df-page .cv-df-cta p {\n  font-size:18px;\n  color:rgba(255,255,255,0.72);\n  line-height:1.7;\n  margin:0 auto 40px;\n  max-width:560px;\n  text-wrap:balance;\n}\n\n\/* CTA buttons \u2014 same as homepage close section: 15px tall, 36px wide *\/\n.cv-df-cta-ctas {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:16px;\n  margin:0 auto 28px;\n  flex-wrap:wrap;\n}\n.cv-df-page a.cv-df-cta-btn,\n.cv-df-page button.cv-df-cta-btn {\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  font-family:'Roboto',sans-serif;\n  font-size:16px;\n  font-weight:600;\n  padding:15px 36px;\n  border-radius:6px;\n  border:none;\n  text-decoration:none;\n  line-height:1.2;\n  cursor:pointer;\n  transition:background .2s, box-shadow .3s, transform .2s, border-color .2s, color .2s;\n}\n.cv-df-page a.cv-df-cta-btn-primary,\n.cv-df-page button.cv-df-cta-btn-primary {\n  background:#30B6C9;\n  color:#fff;\n  box-shadow:0 4px 20px rgba(48,182,201,0.35);\n}\n.cv-df-page a.cv-df-cta-btn-primary:hover,\n.cv-df-page button.cv-df-cta-btn-primary:hover {\n  background:#28A3B4;\n  color:#fff;\n  box-shadow:0 6px 28px rgba(48,182,201,0.55);\n  transform:translateY(-1px);\n}\n.cv-df-page a.cv-df-cta-btn-outline,\n.cv-df-page button.cv-df-cta-btn-outline {\n  background:transparent;\n  color:#fff;\n  border:2px solid rgba(255,255,255,0.4);\n  padding:13px 34px; \/* compensates for the 2px border to keep buttons same height *\/\n}\n.cv-df-page a.cv-df-cta-btn-outline:hover,\n.cv-df-page button.cv-df-cta-btn-outline:hover {\n  background:rgba(255,255,255,0.10);\n  border-color:rgba(255,255,255,0.70);\n  color:#fff;\n  transform:translateY(-1px);\n}\n\n\/* Microcopy \u2014 centered as a block *\/\n.cv-df-page .cv-df-cta p.cv-df-microcopy {\n  font-size:13px;\n  color:rgba(255,255,255,0.50);\n  letter-spacing:0.2px;\n  margin:0 auto;\n  max-width:560px;\n  line-height:1.6;\n}\n\n\/* === ANIMATIONS =================================================== *\/\n.cv-df-animate {\n  opacity:0;\n  transform:translateY(32px);\n  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);\n}\n.cv-df-animate.cv-df-visible { opacity:1; transform:translateY(0); }\n.cv-df-animate-children > * {\n  opacity:0;\n  transform:translateY(24px);\n  transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);\n}\n.cv-df-animate-children.cv-df-visible > * { opacity:1; transform:translateY(0); }\n.cv-df-animate-children.cv-df-visible > *:nth-child(1) { transition-delay:.05s; }\n.cv-df-animate-children.cv-df-visible > *:nth-child(2) { transition-delay:.12s; }\n.cv-df-animate-children.cv-df-visible > *:nth-child(3) { transition-delay:.19s; }\n.cv-df-animate-children.cv-df-visible > *:nth-child(4) { transition-delay:.26s; }\n.cv-df-animate-children.cv-df-visible > *:nth-child(5) { transition-delay:.33s; }\n.cv-df-animate-children.cv-df-visible > *:nth-child(6) { transition-delay:.40s; }\n.cv-df-animate-children.cv-df-visible > *:nth-child(7) { transition-delay:.47s; }\n.cv-df-animate-children.cv-df-visible > *:nth-child(8) { transition-delay:.54s; }\n\n\/* === RESPONSIVE =================================================== *\/\n@media (max-width: 1000px) {\n  .cv-df-works-grid { grid-template-columns:repeat(2,1fr); }\n  .cv-df-usecases { grid-template-columns:repeat(2,1fr); }\n\n}\n\n@media (max-width: 768px) {\n  .cv-df-section { padding:60px 16px; }\n  .cv-df-section-dark,\n  .cv-df-cta { padding:70px 16px; }\n\n  .cv-df-hero { padding:64px 18px 60px; }\n  .cv-df-hero-grid { grid-template-columns:1fr; gap:40px; text-align:center; }\n  .cv-df-hero-text { text-align:center; }\n  .cv-df-hero h1 { font-size:34px; }\n  .cv-df-page p.cv-df-hero-sub { font-size:16px; max-width:none; margin-left:auto; margin-right:auto; }\n  .cv-df-hero-ctas { justify-content:center; }\n  .cv-df-page p.cv-df-microcopy { max-width:none; margin-left:auto; margin-right:auto; }\n  .cv-df-hero-vignette { margin:0 auto; }\n\n  .cv-df-section-header h2 { font-size:30px; }\n  .cv-df-cta h2 { font-size:32px; }\n  .cv-df-page .cv-df-quote blockquote p { font-size:19px; }\n\n  \/* Capability key list \u2192 single column *\/\n  .cv-df-cap-key { grid-template-columns:1fr; gap:14px; }\n  .cv-df-seemore-list { grid-template-columns:1fr; gap:12px; }\n\n  .cv-df-works-grid { grid-template-columns:1fr; }\n  .cv-df-plan-grid { grid-template-columns:1fr; }\n  .cv-df-page .cv-df-plan-desc { min-height:0; }\n  .cv-df-usecases { grid-template-columns:1fr; }\n}\n\n@media (max-width: 480px) {\n  .cv-df-hero h1 { font-size:30px; }\n  .cv-df-section-header h2 { font-size:26px; }\n  .cv-df-cta h2 { font-size:26px; }\n\n  .cv-df-vignette-amounts { gap:4px; }\n  .cv-df-vignette-amt { font-size:13px; padding:8px 0; }\n}\n<\/style>\n\n<script>\n(function(){\n  \/* === Reveal-on-scroll animations === *\/\n  function revealEl(el){el.classList.add('cv-df-visible');}\n  function isInView(el){var r=el.getBoundingClientRect();return r.top<window.innerHeight && r.bottom>0;}\n  var els,obs;\n  function revealVisible(){if(!els) return; els.forEach(function(el){if(isInView(el)) revealEl(el);});}\n  function revealAll(){if(!els) return; els.forEach(revealEl);}\n\n  function initAnimations(){\n    els=document.querySelectorAll('.cv-df-animate, .cv-df-animate-children');\n    if(!els.length) return;\n\n    revealVisible();\n    requestAnimationFrame(function(){requestAnimationFrame(revealVisible);});\n\n    if('IntersectionObserver' in window){\n      obs=new IntersectionObserver(function(entries){\n        entries.forEach(function(e){if(e.isIntersecting){revealEl(e.target); obs.unobserve(e.target);}});\n      },{threshold:0.05, rootMargin:'0px 0px -20px 0px'});\n      els.forEach(function(el){if(!el.classList.contains('cv-df-visible')) obs.observe(el);});\n    }\n\n    var done=false;\n    function onInteract(){\n      if(done) return;\n      done=true;\n      revealVisible();\n      window.removeEventListener('scroll', onInteract, true);\n      window.removeEventListener('touchstart', onInteract, true);\n    }\n    window.addEventListener('scroll', onInteract, true);\n    window.addEventListener('touchstart', onInteract, true);\n    window.addEventListener('load', revealVisible);\n\n    setTimeout(revealAll, 2000);\n  }\n\n  \/* === \"See more\" expandable lists === *\/\n  function initSeeMore(){\n    var wraps = document.querySelectorAll('.cv-df-seemore');\n    wraps.forEach(function(wrap){\n      var btn = wrap.querySelector('.cv-df-seemore-btn');\n      if(!btn) return;\n      btn.addEventListener('click', function(){\n        var open = wrap.classList.toggle('cv-df-seemore-open');\n        btn.setAttribute('aria-expanded', open ? 'true' : 'false');\n        var label = btn.querySelector('span:not(.cv-df-seemore-chev)');\n        if(label) label.textContent = open ? 'See less' : 'See more';\n      });\n    });\n  }\n\n  \/* === Form copy & thank-you button mock \u2014 typing animation cycle ===\n     Backspaces \"DONATE NOW\" \u2192 types \"SUPPORT US\" \u2192 backspaces \u2192 types\n     \"DONATE NOW\" \u2192 ... and stops after a few transitions on DONATE NOW.\n     Visualizes that the button copy is customizable without running\n     forever in the viewer's peripheral vision. *\/\n  function initButtonTyping(){\n    var textEl = document.querySelector('.cv-df-cap2-button-text');\n    var caretEl = document.querySelector('.cv-df-cap2-button-caret');\n    if(!textEl) return;\n    var prefersReduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n    if(prefersReduce) return; \/* leave the static \"DONATE NOW\" in place *\/\n\n    var phrases = ['DONATE NOW', 'SUPPORT US'];\n    var idx = 0;\n    var current = phrases[0];\n    var charIdx = current.length;\n    var deleting = false;\n    var typeCount = 0;     \/* increments each time a phrase finishes typing *\/\n    var MAX_TYPES = 4;     \/* 4 retypes after initial = settles on DONATE NOW *\/\n    var DELETE_MS = 70;\n    var TYPE_MS = 100;\n    var HOLD_MS = 2200;\n    var GAP_MS = 400;\n    var timer = null;\n\n    function settle(){\n      \/* Stop animation, remove caret, leave button on DONATE NOW. *\/\n      if(caretEl) caretEl.style.display = 'none';\n      timer = null;\n    }\n\n    function tick(){\n      if(deleting){\n        charIdx--;\n        textEl.textContent = current.substring(0, charIdx);\n        if(charIdx === 0){\n          deleting = false;\n          idx = (idx + 1) % phrases.length;\n          current = phrases[idx];\n          timer = setTimeout(tick, GAP_MS);\n        } else {\n          timer = setTimeout(tick, DELETE_MS);\n        }\n      } else {\n        charIdx++;\n        textEl.textContent = current.substring(0, charIdx);\n        if(charIdx === current.length){\n          typeCount++;\n          \/* When we've hit the cap AND we're back on DONATE NOW, stop here. *\/\n          if(typeCount >= MAX_TYPES && idx === 0){\n            settle();\n            return;\n          }\n          timer = setTimeout(function(){ deleting = true; tick(); }, HOLD_MS);\n        } else {\n          timer = setTimeout(tick, TYPE_MS);\n        }\n      }\n    }\n\n    \/* Start the cycle after the initial hold of the default \"DONATE NOW\" *\/\n    timer = setTimeout(function(){ deleting = true; tick(); }, HOLD_MS);\n\n    \/* Pause animation when tab is hidden so we don't waste cycles *\/\n    document.addEventListener('visibilitychange', function(){\n      if(document.hidden){\n        if(timer){ clearTimeout(timer); timer = null; }\n      } else if(!timer && typeCount < MAX_TYPES){\n        timer = setTimeout(tick, TYPE_MS);\n      }\n    });\n  }\n\n  \/* === CTA stripe rings \u2014 start rotating only when section enters viewport === *\/\n  function initCtaStripes(){\n    var section = document.querySelector('.cv-df-cta');\n    if(!section) return;\n    if('IntersectionObserver' in window){\n      var stripeObs = new IntersectionObserver(function(entries){\n        entries.forEach(function(e){\n          if(e.isIntersecting){\n            section.classList.add('cv-df-cta-rings-active');\n            stripeObs.unobserve(section);\n          }\n        });\n      }, { threshold:0.1 });\n      stripeObs.observe(section);\n    } else {\n      section.classList.add('cv-df-cta-rings-active');\n    }\n  }\n\n  function init(){\n    initAnimations();\n    initSeeMore();\n    initButtonTyping();\n    initCtaStripes();\n  }\n\n  if(document.readyState==='loading'){\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n\n\/* ===================================================================\n   CONNECTED FUNDRAISING \u2014 sphere section animation\n   =================================================================== *\/\n(function(){\n  'use strict';\n\n  \/\/ Honor prefers-reduced-motion: skip rAF, intervals, scene cycle, and the\n  \/\/ traveling field dots. Render a single static scene with no animations.\n  const reduceMotion = !!(window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches);\n\n  \/\/ ========= CONFIG =========\n  \/\/ Scenes \u2014 first action in each scene is the trigger; the rest are downstream\n  \/\/ effects. Lines emanate from the trigger out to each effect (hub-and-spoke).\n  const ACTION_SCENES = [\n    ['Donation Received', 'CRM Updated', 'Contact Deduped'],\n    ['Recurring Gift Started', 'Receipt Sent', 'Donor Profile Updated'],\n    ['Donation Received', 'Fund Allocated', 'Report Updated'],\n    ['Pledge Created', 'Segment Added', 'Dashboard Updated', 'Task Created']\n  ];\n\n  const ACTION_ICONS = {\n    'Donation Received':      '<svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z\" fill=\"currentColor\"\/><\/svg>',\n    'CRM Updated':             '<svg viewBox=\"0 0 24 24\" fill=\"none\"><circle cx=\"12\" cy=\"8\" r=\"4\" stroke=\"currentColor\" stroke-width=\"2\"\/><path d=\"M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg>',\n    'Contact Deduped':         '<svg viewBox=\"0 0 24 24\" fill=\"none\"><circle cx=\"9\" cy=\"9\" r=\"3\" stroke=\"currentColor\" stroke-width=\"2\"\/><circle cx=\"15\" cy=\"9\" r=\"3\" stroke=\"currentColor\" stroke-width=\"2\"\/><path d=\"M5 19c0-2.5 2-4.5 4.5-4.5h5c2.5 0 4.5 2 4.5 4.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg>',\n    'Recurring Gift Started':  '<svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M21 12a9 9 0 11-3.5-7.1\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><path d=\"M21 4v5h-5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>',\n    'Receipt Sent':            '<svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M5 3h14v18l-3-2-2 2-2-2-2 2-2-2-3 2V3z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><line x1=\"9\" y1=\"13\" x2=\"15\" y2=\"13\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg>',\n    'Donor Profile Updated':   '<svg viewBox=\"0 0 24 24\" fill=\"none\"><circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"2\"\/><circle cx=\"12\" cy=\"10\" r=\"3\" stroke=\"currentColor\" stroke-width=\"2\"\/><path d=\"M6.3 19c.7-3 3-4.5 5.7-4.5s5 1.5 5.7 4.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg>',\n    'Fund Allocated':          '<svg viewBox=\"0 0 24 24\" fill=\"none\"><circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"2\"\/><path d=\"M12 3v9h9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>',\n    'Report Updated':          '<svg viewBox=\"0 0 24 24\" fill=\"none\"><line x1=\"4\" y1=\"20\" x2=\"20\" y2=\"20\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><rect x=\"6\" y=\"11\" width=\"3\" height=\"9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><rect x=\"11\" y=\"6\" width=\"3\" height=\"14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><rect x=\"16\" y=\"13\" width=\"3\" height=\"7\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><\/svg>',\n    'Pledge Created':          '<svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><path d=\"M14 2v6h6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><path d=\"M9 15l2 2 4-4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>',\n    'Segment Added':           '<svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M3 4h18l-7 9v7l-4-2v-5L3 4z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><\/svg>',\n    'Dashboard Updated':       '<svg viewBox=\"0 0 24 24\" fill=\"none\"><rect x=\"3\" y=\"3\" width=\"8\" height=\"8\" rx=\"1\" stroke=\"currentColor\" stroke-width=\"2\"\/><rect x=\"13\" y=\"3\" width=\"8\" height=\"8\" rx=\"1\" stroke=\"currentColor\" stroke-width=\"2\"\/><rect x=\"3\" y=\"13\" width=\"8\" height=\"8\" rx=\"1\" stroke=\"currentColor\" stroke-width=\"2\"\/><rect x=\"13\" y=\"13\" width=\"8\" height=\"8\" rx=\"1\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg>',\n    'Task Created':            '<svg viewBox=\"0 0 24 24\" fill=\"none\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"2\"\/><path d=\"M8 12l3 3 5-5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>'\n  };\n\n  \/\/ Static label layout per scene. Each entry is an offset from the sphere\n  \/\/ center, in units of sphere radius (R).\n  const SCENE_LAYOUTS = [\n    [\n      { x:  0.05, y: -0.55 },\n      { x:  0.60, y:  0.10 },\n      { x: -0.55, y:  0.30 }\n    ],\n    [\n      { x: -0.55, y: -0.20 },\n      { x:  0.55, y: -0.30 },\n      { x: -0.05, y:  0.55 }\n    ],\n    [\n      { x: -0.60, y:  0.05 },\n      { x:  0.30, y: -0.50 },\n      { x:  0.50, y:  0.35 }\n    ],\n    [\n      { x: -0.55, y: -0.30 },\n      { x:  0.55, y: -0.30 },\n      { x:  0.55, y:  0.35 },\n      { x: -0.55, y:  0.35 }\n    ]\n  ];\n\n  const SCENE_FADE_IN_MS  = 450;\n  const SCENE_HOLD_MS     = 2200;\n  const SCENE_FADE_OUT_MS = 450;\n  const SCENE_STAGGER_MS  = 110;\n  const SCENE_GAP_MS      = 900;\n\n  const ACTIVITY_DOT_COUNT = 26;\n\n  \/\/ ========= ELEMENTS =========\n  const stage       = document.getElementById('cvSphereStage');\n  const globe       = document.getElementById('cvSphereGlobe');\n  const svg         = document.getElementById('cvSphereSvg');\n  const linesGroup  = document.getElementById('cvSphereLines');\n  const fieldGroup  = document.getElementById('cvSphereField');\n  const globeWrap   = document.querySelector('.cv-sphere-globe-wrap');\n\n  if (!stage || !globe || !svg) return;\n\n  let cachedSphereR = parseFloat(getComputedStyle(stage).getPropertyValue('--sphere-r')) || 200;\n  function refreshCachedSphereR(){\n    cachedSphereR = parseFloat(getComputedStyle(stage).getPropertyValue('--sphere-r')) || 200;\n  }\n\n  \/\/ ========= ACTIVITY DOTS (Fibonacci sphere distribution) =========\n  const activityDots = [];\n  (function placeActivityDots(){\n    const golden = Math.PI * (3 - Math.sqrt(5));\n    for (let i = 0; i < ACTIVITY_DOT_COUNT; i++) {\n      const t = (i + 0.5) \/ ACTIVITY_DOT_COUNT;\n      const y = 1 - 2 * t;\n      const r = Math.sqrt(Math.max(0, 1 - y * y));\n      const theta = golden * i;\n      const x = Math.cos(theta) * r;\n      const z = Math.sin(theta) * r;\n      const ry = Math.atan2(x, z) * 180 \/ Math.PI;\n      const rx = -Math.asin(y) * 180 \/ Math.PI;\n\n      const dot = document.createElement('span');\n      dot.className = 'cv-sphere-activity' + (i % 3 === 0 ? ' cv-sphere-activity-alt' : '');\n      dot.style.setProperty('--ry', ry + 'deg');\n      dot.style.setProperty('--rx', rx + 'deg');\n      globe.appendChild(dot);\n\n      activityDots.push({ el: dot, ry: ry, rx: rx });\n    }\n  })();\n\n  \/\/ ========= LABEL POOL (4 reusable flat labels \u2014 max scene size) =========\n  const LABEL_POOL_SIZE = 4;\n  const labels = [];\n  for (let i = 0; i < LABEL_POOL_SIZE; i++) {\n    const el = document.createElement('div');\n    el.className = 'cv-sphere-label';\n    el.innerHTML =\n      '<span class=\"cv-sphere-label-icon\"><\/span>' +\n      '<span class=\"cv-sphere-label-text\"><\/span>';\n    stage.appendChild(el);\n    labels.push({\n      el: el,\n      iconEl: el.querySelector('.cv-sphere-label-icon'),\n      textEl: el.querySelector('.cv-sphere-label-text'),\n      active: false,\n      revealStart: 0,\n      hideStart: 0,\n      layoutX: 0,\n      layoutY: 0,\n      x: 0, y: 0,\n      opacity: 0\n    });\n  }\n\n  \/\/ ========= CONNECTION LINES =========\n  const LINE_POOL_SIZE = 4;\n  const sceneLines = [];\n  for (let i = 0; i < LINE_POOL_SIZE; i++) {\n    const path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n    path.setAttribute('class', 'cv-sphere-line');\n    path.setAttribute('d', 'M 0 0');\n    linesGroup.appendChild(path);\n    sceneLines.push({ pathEl: path, a: -1, b: -1 });\n  }\n\n  function getLinePairs(n){\n    if (n <= 1) return [];\n    const pairs = [];\n    for (let i = 1; i < n; i++) pairs.push([0, i]);\n    return pairs;\n  }\n\n  \/\/ ========= MAGNETIC FIELD LINES =========\n  const FIELD_BANDS = [\n    { Lx: 1.40, Ly: 0.42 },\n    { Lx: 1.72, Ly: 0.62 }\n  ];\n  const fieldDots = [];\n\n  function buildField(){\n    if (!fieldGroup || !globeWrap) return;\n    while (fieldGroup.firstChild) fieldGroup.removeChild(fieldGroup.firstChild);\n    fieldDots.length = 0;\n\n    const stageRect = stage.getBoundingClientRect();\n    const wrapRect  = globeWrap.getBoundingClientRect();\n    const cx = wrapRect.left + wrapRect.width \/ 2 - stageRect.left;\n    const cy = wrapRect.top  + wrapRect.height \/ 2 - stageRect.top;\n    const R  = parseFloat(getComputedStyle(stage).getPropertyValue('--sphere-r')) || 200;\n\n    FIELD_BANDS.forEach(function(band, idx){\n      const Lx = R * band.Lx;\n      const Ly = R * band.Ly;\n\n      [-1, 1].forEach(function(side){\n        const sLx = Lx * side;\n        const d =\n          'M ' + cx + ' ' + (cy - R) +\n          ' C ' + cx + ' ' + (cy - R - Ly) +\n          ', ' + (cx + sLx) + ' ' + (cy - Ly) +\n          ', ' + (cx + sLx) + ' ' + cy +\n          ' C ' + (cx + sLx) + ' ' + (cy + Ly) +\n          ', ' + cx + ' ' + (cy + R + Ly) +\n          ', ' + cx + ' ' + (cy + R);\n\n        const path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n        path.setAttribute('d', d);\n        path.setAttribute('class', 'cv-sphere-field-line');\n        fieldGroup.appendChild(path);\n\n        if (reduceMotion) return;\n        const dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n        dot.setAttribute('r', '2.4');\n        dot.setAttribute('class', 'cv-sphere-field-dot' + (idx % 2 === 1 ? ' cv-sphere-field-dot-alt' : ''));\n        fieldGroup.appendChild(dot);\n        fieldDots.push({\n          el: dot,\n          path: path,\n          pathLength: path.getTotalLength(),\n          phase: ((idx * 0.31 + (side > 0 ? 0 : 0.47)) % 1),\n          duration: 14000 + idx * 2800,\n          direction: (idx % 2 === 0 ? side : -side)\n        });\n      });\n    });\n  }\n\n  function updateField(now){\n    fieldDots.forEach(function(d){\n      const len = d.pathLength;\n      let t = ((now \/ d.duration) + d.phase) % 1;\n      if (d.direction < 0) t = 1 - t;\n      const pt = d.path.getPointAtLength(t * len);\n      d.el.setAttribute('cx', pt.x);\n      d.el.setAttribute('cy', pt.y);\n      const edge = Math.min(t, 1 - t);\n      d.el.style.opacity = Math.min(1, edge * 6) * 0.85;\n    });\n  }\n\n  \/\/ ========= STATE =========\n  let sceneIdx = 0;\n  let cycleTimer = null;\n\n  \/\/ ========= SCENE CYCLE =========\n  function startScene(){\n    const scene = ACTION_SCENES[sceneIdx];\n    const layout = SCENE_LAYOUTS[sceneIdx];\n    sceneIdx = (sceneIdx + 1) % ACTION_SCENES.length;\n\n    const sceneSize = scene.length;\n\n    const now = performance.now();\n    for (let i = 0; i < LABEL_POOL_SIZE; i++) {\n      if (i < sceneSize) {\n        const action = scene[i];\n        const pos = layout[i] || { x: 0, y: 0 };\n        labels[i].active = true;\n        labels[i].layoutX = pos.x;\n        labels[i].layoutY = pos.y;\n        labels[i].iconEl.innerHTML = ACTION_ICONS[action] || '';\n        labels[i].textEl.textContent = action;\n        labels[i].revealStart = now + i * SCENE_STAGGER_MS;\n        labels[i].hideStart = 0;\n\n        if (i === 0) {\n          labels[i].el.classList.add('cv-sphere-label-trigger');\n          labels[i].el.classList.remove('cv-sphere-label-pulse');\n          void labels[i].el.offsetWidth;\n          labels[i].el.classList.add('cv-sphere-label-pulse');\n        } else {\n          labels[i].el.classList.remove('cv-sphere-label-trigger');\n          labels[i].el.classList.remove('cv-sphere-label-pulse');\n        }\n      } else {\n        labels[i].active = false;\n        labels[i].hideStart = 0;\n        labels[i].revealStart = 0;\n        labels[i].el.classList.remove('cv-sphere-label-trigger');\n        labels[i].el.classList.remove('cv-sphere-label-pulse');\n      }\n    }\n\n    const pairs = getLinePairs(sceneSize);\n    for (let i = 0; i < LINE_POOL_SIZE; i++) {\n      if (i < pairs.length) {\n        sceneLines[i].a = pairs[i][0];\n        sceneLines[i].b = pairs[i][1];\n      } else {\n        sceneLines[i].a = -1;\n        sceneLines[i].b = -1;\n      }\n    }\n\n    cycleTimer = setTimeout(endScene, SCENE_HOLD_MS + (sceneSize - 1) * SCENE_STAGGER_MS + SCENE_FADE_IN_MS);\n  }\n\n  function endScene(){\n    const now = performance.now();\n    labels.forEach(function(l){ if (l.active) l.hideStart = now; });\n    cycleTimer = setTimeout(startScene, SCENE_FADE_OUT_MS + SCENE_GAP_MS);\n  }\n\n  \/\/ ========= GEOMETRY HELPERS =========\n  function curvePath(x1, y1, x2, y2, sphereCx, sphereCy){\n    const dx = x2 - x1;\n    const dy = y2 - y1;\n    const len = Math.sqrt(dx * dx + dy * dy);\n    if (len < 1) return 'M ' + x1 + ' ' + y1;\n    const mx = (x1 + x2) \/ 2;\n    const my = (y1 + y2) \/ 2;\n    const amt = Math.min(40, len * 0.18);\n\n    let cx, cy;\n    if (sphereCx != null && sphereCy != null) {\n      const odx = mx - sphereCx;\n      const ody = my - sphereCy;\n      const odist = Math.sqrt(odx * odx + ody * ody);\n      if (odist > 1) {\n        cx = mx + (odx \/ odist) * amt;\n        cy = my + (ody \/ odist) * amt;\n        return 'M ' + x1 + ' ' + y1 + ' Q ' + cx + ' ' + cy + ' ' + x2 + ' ' + y2;\n      }\n    }\n    let px = -dy \/ len * amt;\n    let py = dx \/ len * amt;\n    if (py > 0) { px = -px; py = -py; }\n    return 'M ' + x1 + ' ' + y1 + ' Q ' + (mx + px) + ' ' + (my + py) + ' ' + x2 + ' ' + y2;\n  }\n\n  \/\/ ========= MAIN ANIMATION LOOP =========\n  function frame(now){\n    const stageRect = stage.getBoundingClientRect();\n\n    const wrapRect = globeWrap.getBoundingClientRect();\n    const sphereCx = wrapRect.left + wrapRect.width \/ 2 - stageRect.left;\n    const sphereCy = wrapRect.top + wrapRect.height \/ 2 - stageRect.top;\n\n    const sphereR = cachedSphereR;\n    labels.forEach(function(l){\n      if (!l.active) { l.el.style.opacity = 0; l.opacity = 0; return; }\n\n      l.x = sphereCx + l.layoutX * sphereR;\n      l.y = sphereCy + l.layoutY * sphereR;\n      l.el.style.left = l.x + 'px';\n      l.el.style.top = l.y + 'px';\n\n      let sceneOp;\n      if (l.hideStart > 0) {\n        sceneOp = Math.max(0, 1 - (now - l.hideStart) \/ SCENE_FADE_OUT_MS);\n      } else {\n        sceneOp = Math.max(0, Math.min(1, (now - l.revealStart) \/ SCENE_FADE_IN_MS));\n      }\n\n      l.opacity = sceneOp;\n      l.el.style.opacity = l.opacity;\n    });\n\n    sceneLines.forEach(function(line){\n      if (line.a < 0 || line.b < 0) {\n        line.pathEl.style.opacity = 0;\n        return;\n      }\n      const la = labels[line.a];\n      const lb = labels[line.b];\n      if (la.opacity > 0.04 && lb.opacity > 0.04) {\n        line.pathEl.setAttribute('d', curvePath(la.x, la.y, lb.x, lb.y, sphereCx, sphereCy));\n        line.pathEl.style.opacity = Math.min(la.opacity, lb.opacity) * 0.75;\n      } else {\n        line.pathEl.style.opacity = 0;\n      }\n    });\n\n    updateField(now);\n\n    if (!reduceMotion) requestAnimationFrame(frame);\n  }\n\n  function showStaticScene(){\n    const scene = ACTION_SCENES[0];\n    const layout = SCENE_LAYOUTS[0];\n    for (let i = 0; i < LABEL_POOL_SIZE; i++) {\n      if (i < scene.length) {\n        const action = scene[i];\n        const pos = layout[i] || { x: 0, y: 0 };\n        labels[i].active = true;\n        labels[i].layoutX = pos.x;\n        labels[i].layoutY = pos.y;\n        labels[i].iconEl.innerHTML = ACTION_ICONS[action] || '';\n        labels[i].textEl.textContent = action;\n        labels[i].revealStart = -10000;\n        labels[i].hideStart = 0;\n        if (i === 0) labels[i].el.classList.add('cv-sphere-label-trigger');\n        else         labels[i].el.classList.remove('cv-sphere-label-trigger');\n      } else {\n        labels[i].active = false;\n        labels[i].el.classList.remove('cv-sphere-label-trigger');\n      }\n    }\n    const pairs = getLinePairs(scene.length);\n    for (let i = 0; i < LINE_POOL_SIZE; i++) {\n      if (i < pairs.length) {\n        sceneLines[i].a = pairs[i][0];\n        sceneLines[i].b = pairs[i][1];\n      } else {\n        sceneLines[i].a = -1;\n        sceneLines[i].b = -1;\n      }\n    }\n  }\n\n  \/\/ ========= START =========\n  function start(){\n    buildField();\n    if (reduceMotion) {\n      showStaticScene();\n      requestAnimationFrame(frame);\n    } else {\n      requestAnimationFrame(frame);\n      cycleTimer = setTimeout(startScene, 1400);\n    }\n  }\n\n  let resizeTimer = null;\n  function scheduleRebuild(){\n    if (resizeTimer) clearTimeout(resizeTimer);\n    resizeTimer = setTimeout(function(){\n      refreshCachedSphereR();\n      buildField();\n    }, 180);\n  }\n  if (typeof ResizeObserver !== 'undefined') {\n    new ResizeObserver(scheduleRebuild).observe(stage);\n  } else {\n    window.addEventListener('resize', scheduleRebuild);\n  }\n\n  document.addEventListener('visibilitychange', function(){\n    if (reduceMotion) return;\n    if (document.hidden) {\n      if (cycleTimer) { clearTimeout(cycleTimer); cycleTimer = null; }\n    } else if (!cycleTimer) {\n      startScene();\n    }\n  });\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', start);\n  } else {\n    start();\n  }\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>DONATION FORMS Donation forms that don&#8217;t end at the thank&#8209;you&nbsp;page Create fast, donor-friendly donation forms that help more supporters complete their gift \u2014 and keep every donation connected to the work that happens next. Every gift can flow into your CRM, funds, receipts, reports, and follow&#8209;up automatically. Get Started Free Schedule a Demo One-time Recurring [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-842","page","type-page","status-publish","hentry"],"acf":[],"rankMath":{"parentDomain":"www.causevox.com","noFollowDomains":[],"noFollowExcludeDomains":[],"noFollowExternalLinks":false,"featuredImageNotice":"The featured image should be at least 200 by 200 pixels to be picked up by Facebook and other social media sites.","pluginReviewed":false,"postSettings":{"linkSuggestions":true,"useFocusKeyword":false},"frontEndScore":false,"postName":"donation-forms","permalinkFormat":"https:\/\/www.causevox.com\/%pagename%\/","showLockModifiedDate":true,"assessor":{"focusKeywordLink":"https:\/\/www.causevox.com\/wp-admin\/edit.php?focus_keyword=%focus_keyword%&post_type=%post_type%","hasTOCPlugin":true,"primaryTaxonomy":false,"serpData":{"title":"Free Donation Forms with Built-in CRM | CauseVox","description":"Launch unlimited donation forms \u2014 recurring, one-time, and pledge \u2014 with Apple Pay, fund designation, and built-in CRM and receipts. Free on CauseVox.","focusKeywords":"donation forms","pillarContent":false,"canonicalUrl":"","breadcrumbTitle":"","advancedRobots":[],"facebookTitle":"","facebookDescription":"","facebookImage":"","facebookImageID":"","facebookHasOverlay":false,"facebookImageOverlay":"","facebookAuthor":"","twitterCardType":"","twitterUseFacebook":true,"twitterTitle":"","twitterDescription":"","twitterImage":"","twitterImageID":"","twitterHasOverlay":false,"twitterImageOverlay":"","twitterPlayerUrl":"","twitterPlayerSize":"","twitterPlayerStream":"","twitterPlayerStreamCtype":"","twitterAppDescription":"","twitterAppIphoneName":"","twitterAppIphoneID":"","twitterAppIphoneUrl":"","twitterAppIpadName":"","twitterAppIpadID":"","twitterAppIpadUrl":"","twitterAppGoogleplayName":"","twitterAppGoogleplayID":"","twitterAppGoogleplayUrl":"","twitterAppCountry":"","robots":{"index":true},"twitterAuthor":"causevox","primaryTerm":0,"authorName":"Jeff Chang","titleTemplate":"%title% %page% %sep% %sitename%","descriptionTemplate":"%excerpt%","showScoreFrontend":true,"lockModifiedDate":false},"powerWords":["a cut above","absolute","absolutely","absolutely lowest","absurd","abuse","accurate","accuse","achieve","actionable","adaptable","adequate","admit","adorable","advantage","advice","affordable","aggravate","aggressive","agitated","agonizing","agony","alarmed","alarming","alienated","aligned","alive","all-inclusive","alluring","always","amazing","amp","animated","annihilate","announcing","anonymous","antagonistic","anxious","apocalypse","appalled","approved","approving","argumentative","armageddon","arrogant","ass kicking","assault","assured","astonishing","astounded","astounding","at ease","atrocious","attack","attractive","audacity","authentic","authoritative","authority","avoid","aware","awe-inspiring","awesome","awkward","backbone","backdoor","backed","backlash","backstabbing","badass","balanced","banned","bargain","barrage","basic","battle","beaming","beat down","beating","beautiful","beauty","begging","behind the scenes","belief","belong","best","best-selling","better","beware","big","billion","black market","blacklisted","blast","blessed","blinded","blissful","blood","bloodbath","bloodcurdling","bloody","blunder","blushing","bold","bomb","bona","bona fide","bonanza","bonus","bootleg","bottom line","bountiful","brave","bravery","brazen","break","breaking","breakthrough","breathtaking","bright","brilliant","broke","brutal","budget","buffoon","bullshit","bully","bumbling","buy","cadaver","calm","cancel anytime","capable","captivate","captivating","carefree","case study","cash","cataclysmic","catapult","catastrophe","caution","censored","centered","certain","certainly","certified","challenge","charming","cheap","cheat","cheat-sheet","cheer","cheerful","child-like","clarity","classified","clear","clueless","collapse","colorful","colossal","comfortable","compare","competitive","complete","completely","completeness","comprehensive","compromise","compulsive","concealed","conclusive","condemning","condescending","confess","confession","confessions","confident","confidential","conquer","conscientious","constructive","content","contrary","controlling","controversial","convenient","convert","cool","cooperative","copy","corpse","corrupt","corrupting","courage","courageous","cover-up","covert","coward","cowardly","crammed","crave","crazy","create","creative","cringeworthy","cripple","crisis","critical","crooked","crush","crushing","damaging","danger","dangerous","daring","dazzling","dead","deadline","deadly","death","decadent","deceived","deceptive","deep","defiance","definitely","definitive","defying","dejected","delicious","delight","delighted","delightful","delirious","delivered","demoralizing","deplorable","depraved","desire","desperate","despicable","destiny","destroy","detailed","devastating","devoted","diagnosed","direct","dirty","disadvantages","disastrous","discount","discover","disdainful","disempowered","disgusted","disgusting","dishonest","disillusioned","disoriented","distracted","distraught","distressed","distrustful","divulge","document","dollar","dominate","doomed","double","doubtful","download","dreadful","dreamy","drive","drowning","dumb","dynamic","eager","earnest","easily","easy","economical","ecstatic","edge","effective","efficient","effortless","elated","eliminate","elite","embarrass","embarrassed","embarrassing","emergency","emerging","emphasize","empowered","enchant","encouraged","endorsed","energetic","energy","enormous","enraged","enthusiastic","envy","epic","epidemic","essential","ethical","euphoric","evil","exactly","exasperated","excellent","excited","excitement","exciting","exclusive","exclusivity","excruciating","exhilarated","expensive","expert","explode","exploit","explosive","exposed","exquisite","extra","extraordinary","extremely","exuberant","eye-opening","fail","fail-proof","failure","faith","famous","fantasy","fascinating","fatigued","faux","faux pas","fearless","feast","feeble","festive","fide","fierce","fight","final","fine","fired","first","first ever","flirt","fluid","focus","focused","fool","fooled","foolish","forbidden","force-fed","forever","forgiving","forgotten","formula","fortune","foul","frantic","free","freebie","freedom","frenzied","frenzy","frightening","frisky","frugal","frustrated","fulfill","fulfilled","full","fully","fun","fun-loving","fundamentals","funniest","funny","furious","gambling","gargantuan","genius","genuine","gift","gigantic","giveaway","glamorous","gleeful","glorious","glowing","goddamn","gorgeous","graceful","grateful","gratified","gravity","great","greatest","greatness","greed","greedy","gripping","grit","grounded","growth","guaranteed","guilt","guilt-free","gullible","guts","hack","happiness","happy","harmful","harsh","hate","have you heard","havoc","hazardous","healthy","heart","heartbreaking","heartwarming","heavenly","hell","helpful","helplessness","hero","hesitant","hidden","high tech","highest","highly effective","hilarious","hoak","hoax","honest","honored","hope","hopeful","horribly","horrific","horrifying","horror","hostile","how to","huge","humility","humor","hurricane","hurry","hypnotic","idiot","ignite","illegal","illusive","imagination","immediately","imminently","impatience","impatient","impenetrable","important","impressive","improved","in the zone","incapable","incapacitated","incompetent","inconsiderate","increase","incredible","indecisive","indulgence","indulgent","inexpensive","inferior","informative","infuriated","ingredients","innocent","innovative","insane","insecure","insider","insidious","inspired","inspiring","instant savings","instantly","instructive","insult","intel","intelligent","intense","interesting","intriguing","introducing","invasion","investment","iron-clad","ironclad","irresistible","irs","is here","jackpot","jail","jaw-dropping","jealous","jeopardy","jittery","jovial","joyous","jubilant","judgmental","jumpstart","just arrived","keen","kickass","kickstart","kill","killed","killing","kills","know it all","lame","largest","lascivious","last","last chance","last minute","latest","laugh","laughing","launch","launching","lavishly","lawsuit","lazy","left behind","legendary","legitimate","liberal","liberated","lick","lies","life-changing","lifetime","light","lighthearted","likely","limited","literally","little-known","loathsome","lonely","looming","loser","lost","love","lucrative","lunatic","lurking","lust","luxurious","luxury","lying","magic","magical","magnificent","mainstream","malicious","mammoth","manipulative","marked down","massive","master","masterclass","maul","mediocre","meditative","meltdown","memorability","memorable","menacing","mesmerizing","meticulous","mind-blowing","minimalist","miracle","mired","mischievous","misgiving","missing out","mistake","monetize","money","moneyback","moneygrubbing","monumental","most important","motivated","mouth-watering","murder","mystery","nail","naked","natural","naughty","nazi","nest egg","never","new","nightmare","no good","no obligation","no one talks about","no questions asked","no risk","no strings attached","non-controlling","noted","novelty","now","obnoxious","obsessed","obsession","obvious","odd","off-kilter","off-limits","off-the record","offensive","official","okay","on-demand","open-minded","opportunities","optimistic","ordeal","outlawed","outrageousness","outstanding","overcome","overjoyed","overnight","overwhelmed","packed","painful","painless","painstaking","pale","panic","panicked","paralyzed","pas","passionate","pathetic","pay zero","payback","perfect","peril","perplexed","perspective","pessimistic","pioneering","piranha","pitfall","pitiful","placid","plague","played","playful","pleased","pluck","plummet","plunge","poison","poisonous","polarizing","poor","popular","portfolio","pound","powerful","powerless","practical","preposterous","prestige","price","priceless","pride","prison","privacy","private","privileged","prize","problem","productive","professional","profit","profitable","profound","promiscuous","promising","promote","protect","protected","proven","provocative","provoke","psychological","pummel","punch","punish","pus","quadruple","quality","quarrelsome","quick","quick-start","quickly","quiet","radiant","rare","ravenous","rebellious","recession-proof","reckoning","recognized","recommend","recreate","reduced","reflective","refugee","refund","refundable","reject","relaxed","release","relentless","reliable","remarkable","replicate","report","reprimanding","repulsed","repulsive","research","resentful","resourceful","responsible","responsive","rested","restricted","results","retaliating","reveal","revealing","revenge","revengeful","revisited","revolting","revolutionary","reward","rich","ridiculous","risky","riveting","rookie","rowdy","ruin","rules","ruthless","sabotaging","sacred","sadistic","sadly","sadness","safe","safety","sale","sampler","sarcastic","satisfied","savage","savagery","save","savings","savvy","scam","scandal","scandalous","scarce","scared","scary","scornful","scream","searing","secret","secret agenda","secret plot","secrets","secure","security","seductive","seething","seize","selected","self-hating","self-sufficient","sensational","senseless","sensual","serene","seriously","severe","sex","sexy","shaking","shameful","shameless","shaming","shatter","shellacking","shocking","should","shrewd","sick and tired","signs","silly","simple","simplicity","simplified","simplistic","sincere","sinful","sins","six-figure","sizable","sizzle","sizzled","sizzles","sizzling","sizzlingly","skill","skyrocket","slaughter","slave","sleazy","sleeping","sly","smash","smiling","smug","smuggle","smuggled","sneak-peek","sneaky","sniveling","snob","snooty","snotty","soar","soaring","solid","solution","spank","special","spectacular","speedy","spell-binding","spine","spirit","spirited","spiteful","spoiler","spontaneous","spotlight","spunky","squirming","stable","staggering","startling","steady","steal","stealthy","steamy","step-by-step","still","stoic","stop","strange","strangle","strategy","stressed","strong","strongly suggest","struggle","stuck up","studies","stunning","stupid","stupid-simple","sturdy","sublime","succeed","success","successful","suck","suddenly","suffer","sunny","super","super-human","superb","supercharge","superior","supported","supportive","sure","sure fire","surefire","surge","surging","surprise","surprised","surprising","survival","survive","suspicious","sweaty","swoon","swoon-worthy","tailspin","tank","tantalizing","targeted","tawdry","tease","technology","teetering","tempting","tenacious","tense","terrible","terrific","terrified","terrifying","terror","terrorist","tested","thankful","the truth","threaten","threatened","thrilled","thrilling","thug","ticked off","tickled","timely","today","torture","toxic","track record","trade secret","tragedy","tragic","transform","transparency","trap","trapped","trauma","traumatized","treacherous","treasure","tremendous","trend","tricks","triggers","triple","triumph","truly","trusting","trustworthy","truth","truthful","turbo-charge","turbocharges","tweaks","twitching","ultimate","unadulterated","unassuming","unauthorized","unbelievable","unburdened","uncaring","uncensored","uncertain","uncomfortable","unconditional","uncontrollable","unconventional","uncovered","undeniable","under priced","undercover","underground","underhanded","underused","unexpected","unforgettable","unheard of","unhurried","uninterested","unique","unjustified","unknowingly","unleashed","unlimited","unlock","unparalleled","unpopular","unreliable","unresponsive","unseen","unstable","unstoppable","unsure","unsurpassed","untapped","unusual","up-sell","upbeat","uplifted","uplifting","urge","urgent","useful","useless","validate","valor","valuable","value","vanquish","vaporize","venomous","verify","vibrant","vicious","victim","victory","vigorous","vilified","vindictive","violated","violent","volatile","vulnerable","waiting","wanted","wanton","warning","waste","weak","wealth","weird","what no one tells you","whip","whopping","wicked","wild","willpower","withheld","wonderful","wondrous","woozy","world","worry","worst","worthwhile","wounded","wreaking","youthful","zen","zinger"],"diacritics":{"A":"[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]","AA":"[\\uA732]","AE":"[\\u00C6\\u01FC\\u01E2]","AO":"[\\uA734]","AU":"[\\uA736]","AV":"[\\uA738\\uA73A]","AY":"[\\uA73C]","B":"[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]","C":"[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]","D":"[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779]","DZ":"[\\u01F1\\u01C4]","Dz":"[\\u01F2\\u01C5]","E":"[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E]","F":"[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B]","G":"[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E]","H":"[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D]","I":"[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197]","J":"[\\u004A\\u24BF\\uFF2A\\u0134\\u0248]","K":"[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2]","L":"[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780]","LJ":"[\\u01C7]","Lj":"[\\u01C8]","M":"[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C]","N":"[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4]","NJ":"[\\u01CA]","Nj":"[\\u01CB]","O":"[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C]","OI":"[\\u01A2]","OO":"[\\uA74E]","OU":"[\\u0222]","P":"[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754]","Q":"[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A]","R":"[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782]","S":"[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784]","T":"[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786]","TZ":"[\\uA728]","U":"[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244]","V":"[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245]","VY":"[\\uA760]","W":"[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72]","X":"[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C]","Y":"[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE]","Z":"[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]","a":"[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]","aa":"[\\uA733]","ae":"[\\u00E6\\u01FD\\u01E3]","ao":"[\\uA735]","au":"[\\uA737]","av":"[\\uA739\\uA73B]","ay":"[\\uA73D]","b":"[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253]","c":"[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184]","d":"[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A]","dz":"[\\u01F3\\u01C6]","e":"[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD]","f":"[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C]","g":"[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F]","h":"[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265]","hv":"[\\u0195]","i":"[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131]","j":"[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249]","k":"[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3]","l":"[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747]","lj":"[\\u01C9]","m":"[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F]","n":"[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5]","nj":"[\\u01CC]","o":"[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275]","oi":"[\\u01A3]","ou":"[\\u0223]","oo":"[\\uA74F]","p":"[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755]","q":"[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759]","r":"[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783]","s":"[\\u0073\\u24E2\\uFF53\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B]","ss":"[\\u00DF]","t":"[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787]","tz":"[\\uA729]","u":"[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289]","v":"[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C]","vy":"[\\uA761]","w":"[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73]","x":"[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D]","y":"[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF]","z":"[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]"},"researchesTests":["contentHasTOC","contentHasShortParagraphs","contentHasAssets","keywordInTitle","keywordInMetaDescription","keywordInPermalink","keywordIn10Percent","keywordInContent","keywordInSubheadings","keywordInImageAlt","keywordDensity","keywordNotUsed","lengthContent","lengthPermalink","linksHasInternal","linksHasExternals","linksNotAllExternals","titleStartWithKeyword","titleSentiment","titleHasPowerWords","titleHasNumber","hasContentAI"],"hasRedirection":true,"hasBreadcrumb":false},"homeUrl":"https:\/\/www.causevox.com","objectID":842,"objectType":"post","locale":"en","localeFull":"en_US","overlayImages":{"play":{"name":"Play icon","url":"https:\/\/www.causevox.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-play.png","path":"\/nas\/content\/live\/causevox2\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-play.png","position":"middle_center"},"gif":{"name":"GIF icon","url":"https:\/\/www.causevox.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-gif.png","path":"\/nas\/content\/live\/causevox2\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-gif.png","position":"middle_center"}},"defautOgImage":"https:\/\/www.causevox.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/social-placeholder.jpg","customPermalinks":true,"isUserRegistered":true,"autoSuggestKeywords":true,"connectSiteUrl":"https:\/\/rankmath.com\/auth?site=https%3A%2F%2Fwww.causevox.com&r=https%3A%2F%2Fwww.causevox.com%2Fwp-json%2Fwp%2Fv2%2Fpages%2F842%3Fnonce%3De79eb7d60a&pro=1","maxTags":100,"trendsIcon":"<svg viewBox=\"0 0 610 610\"><path d=\"M18.85,446,174.32,290.48l58.08,58.08L76.93,504a14.54,14.54,0,0,1-20.55,0L18.83,466.48a14.54,14.54,0,0,1,0-20.55Z\" style=\"fill:#4285f4\"\/><path d=\"M242.65,242.66,377.59,377.6l-47.75,47.75a14.54,14.54,0,0,1-20.55,0L174.37,290.43l47.75-47.75A14.52,14.52,0,0,1,242.65,242.66Z\" style=\"fill:#ea4335\"\/><polygon points=\"319.53 319.53 479.26 159.8 537.34 217.88 377.61 377.62 319.53 319.53\" style=\"fill:#fabb05\"\/><path d=\"M594.26,262.73V118.61h0a16.94,16.94,0,0,0-16.94-16.94H433.2a16.94,16.94,0,0,0-12,28.92L565.34,274.71h0a16.94,16.94,0,0,0,28.92-12Z\" style=\"fill:#34a853\"\/><rect width=\"610\" height=\"610\" style=\"fill:none\"\/><\/svg>","showScore":true,"siteFavIcon":"https:\/\/www.causevox.com\/wp-content\/uploads\/2024\/05\/cv-logo-150x150.png","canUser":{"general":false,"advanced":false,"snippet":false,"social":false,"analysis":false,"analytics":false,"content_ai":false},"isPro":true,"is_front_page":false,"trendsUpgradeLink":"https:\/\/rankmath.com\/pricing\/?utm_source=Plugin&utm_medium=CE%20General%20Tab%20Trends&utm_campaign=WP","trendsUpgradeLabel":"Upgrade","trendsPreviewImage":"https:\/\/www.causevox.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/trends-preview.jpg","currentEditor":false,"homepageData":{"assessor":{"powerWords":["a cut above","absolute","absolutely","absolutely lowest","absurd","abuse","accurate","accuse","achieve","actionable","adaptable","adequate","admit","adorable","advantage","advice","affordable","aggravate","aggressive","agitated","agonizing","agony","alarmed","alarming","alienated","aligned","alive","all-inclusive","alluring","always","amazing","amp","animated","annihilate","announcing","anonymous","antagonistic","anxious","apocalypse","appalled","approved","approving","argumentative","armageddon","arrogant","ass kicking","assault","assured","astonishing","astounded","astounding","at ease","atrocious","attack","attractive","audacity","authentic","authoritative","authority","avoid","aware","awe-inspiring","awesome","awkward","backbone","backdoor","backed","backlash","backstabbing","badass","balanced","banned","bargain","barrage","basic","battle","beaming","beat down","beating","beautiful","beauty","begging","behind the scenes","belief","belong","best","best-selling","better","beware","big","billion","black market","blacklisted","blast","blessed","blinded","blissful","blood","bloodbath","bloodcurdling","bloody","blunder","blushing","bold","bomb","bona","bona fide","bonanza","bonus","bootleg","bottom line","bountiful","brave","bravery","brazen","break","breaking","breakthrough","breathtaking","bright","brilliant","broke","brutal","budget","buffoon","bullshit","bully","bumbling","buy","cadaver","calm","cancel anytime","capable","captivate","captivating","carefree","case study","cash","cataclysmic","catapult","catastrophe","caution","censored","centered","certain","certainly","certified","challenge","charming","cheap","cheat","cheat-sheet","cheer","cheerful","child-like","clarity","classified","clear","clueless","collapse","colorful","colossal","comfortable","compare","competitive","complete","completely","completeness","comprehensive","compromise","compulsive","concealed","conclusive","condemning","condescending","confess","confession","confessions","confident","confidential","conquer","conscientious","constructive","content","contrary","controlling","controversial","convenient","convert","cool","cooperative","copy","corpse","corrupt","corrupting","courage","courageous","cover-up","covert","coward","cowardly","crammed","crave","crazy","create","creative","cringeworthy","cripple","crisis","critical","crooked","crush","crushing","damaging","danger","dangerous","daring","dazzling","dead","deadline","deadly","death","decadent","deceived","deceptive","deep","defiance","definitely","definitive","defying","dejected","delicious","delight","delighted","delightful","delirious","delivered","demoralizing","deplorable","depraved","desire","desperate","despicable","destiny","destroy","detailed","devastating","devoted","diagnosed","direct","dirty","disadvantages","disastrous","discount","discover","disdainful","disempowered","disgusted","disgusting","dishonest","disillusioned","disoriented","distracted","distraught","distressed","distrustful","divulge","document","dollar","dominate","doomed","double","doubtful","download","dreadful","dreamy","drive","drowning","dumb","dynamic","eager","earnest","easily","easy","economical","ecstatic","edge","effective","efficient","effortless","elated","eliminate","elite","embarrass","embarrassed","embarrassing","emergency","emerging","emphasize","empowered","enchant","encouraged","endorsed","energetic","energy","enormous","enraged","enthusiastic","envy","epic","epidemic","essential","ethical","euphoric","evil","exactly","exasperated","excellent","excited","excitement","exciting","exclusive","exclusivity","excruciating","exhilarated","expensive","expert","explode","exploit","explosive","exposed","exquisite","extra","extraordinary","extremely","exuberant","eye-opening","fail","fail-proof","failure","faith","famous","fantasy","fascinating","fatigued","faux","faux pas","fearless","feast","feeble","festive","fide","fierce","fight","final","fine","fired","first","first ever","flirt","fluid","focus","focused","fool","fooled","foolish","forbidden","force-fed","forever","forgiving","forgotten","formula","fortune","foul","frantic","free","freebie","freedom","frenzied","frenzy","frightening","frisky","frugal","frustrated","fulfill","fulfilled","full","fully","fun","fun-loving","fundamentals","funniest","funny","furious","gambling","gargantuan","genius","genuine","gift","gigantic","giveaway","glamorous","gleeful","glorious","glowing","goddamn","gorgeous","graceful","grateful","gratified","gravity","great","greatest","greatness","greed","greedy","gripping","grit","grounded","growth","guaranteed","guilt","guilt-free","gullible","guts","hack","happiness","happy","harmful","harsh","hate","have you heard","havoc","hazardous","healthy","heart","heartbreaking","heartwarming","heavenly","hell","helpful","helplessness","hero","hesitant","hidden","high tech","highest","highly effective","hilarious","hoak","hoax","honest","honored","hope","hopeful","horribly","horrific","horrifying","horror","hostile","how to","huge","humility","humor","hurricane","hurry","hypnotic","idiot","ignite","illegal","illusive","imagination","immediately","imminently","impatience","impatient","impenetrable","important","impressive","improved","in the zone","incapable","incapacitated","incompetent","inconsiderate","increase","incredible","indecisive","indulgence","indulgent","inexpensive","inferior","informative","infuriated","ingredients","innocent","innovative","insane","insecure","insider","insidious","inspired","inspiring","instant savings","instantly","instructive","insult","intel","intelligent","intense","interesting","intriguing","introducing","invasion","investment","iron-clad","ironclad","irresistible","irs","is here","jackpot","jail","jaw-dropping","jealous","jeopardy","jittery","jovial","joyous","jubilant","judgmental","jumpstart","just arrived","keen","kickass","kickstart","kill","killed","killing","kills","know it all","lame","largest","lascivious","last","last chance","last minute","latest","laugh","laughing","launch","launching","lavishly","lawsuit","lazy","left behind","legendary","legitimate","liberal","liberated","lick","lies","life-changing","lifetime","light","lighthearted","likely","limited","literally","little-known","loathsome","lonely","looming","loser","lost","love","lucrative","lunatic","lurking","lust","luxurious","luxury","lying","magic","magical","magnificent","mainstream","malicious","mammoth","manipulative","marked down","massive","master","masterclass","maul","mediocre","meditative","meltdown","memorability","memorable","menacing","mesmerizing","meticulous","mind-blowing","minimalist","miracle","mired","mischievous","misgiving","missing out","mistake","monetize","money","moneyback","moneygrubbing","monumental","most important","motivated","mouth-watering","murder","mystery","nail","naked","natural","naughty","nazi","nest egg","never","new","nightmare","no good","no obligation","no one talks about","no questions asked","no risk","no strings attached","non-controlling","noted","novelty","now","obnoxious","obsessed","obsession","obvious","odd","off-kilter","off-limits","off-the record","offensive","official","okay","on-demand","open-minded","opportunities","optimistic","ordeal","outlawed","outrageousness","outstanding","overcome","overjoyed","overnight","overwhelmed","packed","painful","painless","painstaking","pale","panic","panicked","paralyzed","pas","passionate","pathetic","pay zero","payback","perfect","peril","perplexed","perspective","pessimistic","pioneering","piranha","pitfall","pitiful","placid","plague","played","playful","pleased","pluck","plummet","plunge","poison","poisonous","polarizing","poor","popular","portfolio","pound","powerful","powerless","practical","preposterous","prestige","price","priceless","pride","prison","privacy","private","privileged","prize","problem","productive","professional","profit","profitable","profound","promiscuous","promising","promote","protect","protected","proven","provocative","provoke","psychological","pummel","punch","punish","pus","quadruple","quality","quarrelsome","quick","quick-start","quickly","quiet","radiant","rare","ravenous","rebellious","recession-proof","reckoning","recognized","recommend","recreate","reduced","reflective","refugee","refund","refundable","reject","relaxed","release","relentless","reliable","remarkable","replicate","report","reprimanding","repulsed","repulsive","research","resentful","resourceful","responsible","responsive","rested","restricted","results","retaliating","reveal","revealing","revenge","revengeful","revisited","revolting","revolutionary","reward","rich","ridiculous","risky","riveting","rookie","rowdy","ruin","rules","ruthless","sabotaging","sacred","sadistic","sadly","sadness","safe","safety","sale","sampler","sarcastic","satisfied","savage","savagery","save","savings","savvy","scam","scandal","scandalous","scarce","scared","scary","scornful","scream","searing","secret","secret agenda","secret plot","secrets","secure","security","seductive","seething","seize","selected","self-hating","self-sufficient","sensational","senseless","sensual","serene","seriously","severe","sex","sexy","shaking","shameful","shameless","shaming","shatter","shellacking","shocking","should","shrewd","sick and tired","signs","silly","simple","simplicity","simplified","simplistic","sincere","sinful","sins","six-figure","sizable","sizzle","sizzled","sizzles","sizzling","sizzlingly","skill","skyrocket","slaughter","slave","sleazy","sleeping","sly","smash","smiling","smug","smuggle","smuggled","sneak-peek","sneaky","sniveling","snob","snooty","snotty","soar","soaring","solid","solution","spank","special","spectacular","speedy","spell-binding","spine","spirit","spirited","spiteful","spoiler","spontaneous","spotlight","spunky","squirming","stable","staggering","startling","steady","steal","stealthy","steamy","step-by-step","still","stoic","stop","strange","strangle","strategy","stressed","strong","strongly suggest","struggle","stuck up","studies","stunning","stupid","stupid-simple","sturdy","sublime","succeed","success","successful","suck","suddenly","suffer","sunny","super","super-human","superb","supercharge","superior","supported","supportive","sure","sure fire","surefire","surge","surging","surprise","surprised","surprising","survival","survive","suspicious","sweaty","swoon","swoon-worthy","tailspin","tank","tantalizing","targeted","tawdry","tease","technology","teetering","tempting","tenacious","tense","terrible","terrific","terrified","terrifying","terror","terrorist","tested","thankful","the truth","threaten","threatened","thrilled","thrilling","thug","ticked off","tickled","timely","today","torture","toxic","track record","trade secret","tragedy","tragic","transform","transparency","trap","trapped","trauma","traumatized","treacherous","treasure","tremendous","trend","tricks","triggers","triple","triumph","truly","trusting","trustworthy","truth","truthful","turbo-charge","turbocharges","tweaks","twitching","ultimate","unadulterated","unassuming","unauthorized","unbelievable","unburdened","uncaring","uncensored","uncertain","uncomfortable","unconditional","uncontrollable","unconventional","uncovered","undeniable","under priced","undercover","underground","underhanded","underused","unexpected","unforgettable","unheard of","unhurried","uninterested","unique","unjustified","unknowingly","unleashed","unlimited","unlock","unparalleled","unpopular","unreliable","unresponsive","unseen","unstable","unstoppable","unsure","unsurpassed","untapped","unusual","up-sell","upbeat","uplifted","uplifting","urge","urgent","useful","useless","validate","valor","valuable","value","vanquish","vaporize","venomous","verify","vibrant","vicious","victim","victory","vigorous","vilified","vindictive","violated","violent","volatile","vulnerable","waiting","wanted","wanton","warning","waste","weak","wealth","weird","what no one tells you","whip","whopping","wicked","wild","willpower","withheld","wonderful","wondrous","woozy","world","worry","worst","worthwhile","wounded","wreaking","youthful","zen","zinger"],"diacritics":true,"researchesTests":["contentHasTOC","contentHasShortParagraphs","contentHasAssets","keywordInTitle","keywordInMetaDescription","keywordInPermalink","keywordIn10Percent","keywordInContent","keywordInSubheadings","keywordInImageAlt","keywordDensity","keywordNotUsed","lengthContent","lengthPermalink","linksHasInternal","linksHasExternals","linksNotAllExternals","titleStartWithKeyword","titleSentiment","titleHasPowerWords","titleHasNumber","hasContentAI"],"hasBreadcrumb":false,"serpData":{"title":"%sitename% %page% %sep% %sitedesc%","description":"","titleTemplate":"%sitename% %page% %sep% %sitedesc%","descriptionTemplate":"","focusKeywords":"","breadcrumbTitle":"Home","robots":{"index":true},"advancedRobots":[],"facebookTitle":"","facebookDescription":"","facebookImage":"","facebookImageID":""}}},"isAnalyticsConnected":false,"tocTitle":"Table of Contents","tocExcludeHeadings":[],"listStyle":"ul"},"featured_image_src":null,"featured_image_src_square":null,"_links":{"self":[{"href":"https:\/\/www.causevox.com\/wp-json\/wp\/v2\/pages\/842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.causevox.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.causevox.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.causevox.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.causevox.com\/wp-json\/wp\/v2\/comments?post=842"}],"version-history":[{"count":0,"href":"https:\/\/www.causevox.com\/wp-json\/wp\/v2\/pages\/842\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.causevox.com\/wp-json\/wp\/v2\/media?parent=842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}