:root { color-scheme: light; --bg-primary: #f0f9ff; --text-primary: #1e293b; --accent-poppy: #ec4899; --accent-fresh: #10b981; --accent-sky: #3b82f6; --accent-sun: #f59e0b; --radius-fun: 24px; --ink: var(--text-primary); --muted: #556577; --panel: #ffffff; --line: rgba(59, 130, 246, 0.18); --wash: #f8fcff; --green: var(--accent-fresh); --green-dark: #047857; --red: #f43f5e; --yellow: #fbbf24; --shadow: 0 20px 55px rgba(59, 130, 246, 0.13); } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; min-height: 100vh; font-family: "Fredoka", "Lexend", "Trebuchet MS", Arial, sans-serif; color: var(--ink); background: radial-gradient(circle at 12% 2%, rgba(236,72,153,0.22), transparent 28%), radial-gradient(circle at 92% 8%, rgba(16,185,129,0.18), transparent 30%), radial-gradient(circle at 50% 100%, rgba(59,130,246,0.16), transparent 34%), var(--bg-primary); transition: background 0.5s ease; } .gateway-shell { min-height: 100vh; display: grid; place-items: stretch; padding: 24px; } .gateway-panel { width: min(1180px, 100%); margin: auto; display: grid; gap: 28px; } .brand-row, .section-heading, .utility-row, .hero-actions, .site-nav { display: flex; align-items: center; gap: 12px; } .brand-row, .section-heading, .utility-row { justify-content: space-between; } .brand-row { position: relative; } .brand-logo { width: min(320px, 58vw); height: auto; background: rgba(255,255,255,0.78); justify-self: center; } .site-nav { flex-wrap: wrap; justify-content: flex-end; gap: 10px; } .top-right-stack { display: grid; justify-items: end; gap: 12px; min-width: min(780px, 62vw); } .partner-strip { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; } .partner-strip > span:not(.partner-logo) { color: var(--muted); font-size: 12px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; } .partner-logo { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 12px; border: 1px solid rgba(0,0,0,0.58); border-radius: 8px; background: #050505; box-shadow: 0 14px 30px -24px rgba(30,41,59,0.5); transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease; } .partner-logo[href]:hover { transform: translateY(-2px); border-color: rgba(236,72,153,0.36); box-shadow: 0 18px 28px -18px rgba(236,72,153,0.45); } .partner-logo:not([href]) { cursor: default; } .partner-wordmark { display: inline-flex; align-items: baseline; color: #f8fafc; font-size: 14px; font-weight: 800; line-height: 1; letter-spacing: -0.03em; white-space: nowrap; } .partner-wordmark b { color: #ff5f6d; font: inherit; } .partner-wordmark i { color: #f8fafc; font: inherit; font-family: Georgia, "Times New Roman", serif; font-weight: 700; } .menu-toggle { display: none; width: 38px; min-height: 34px; padding: 8px; border: 1px solid rgba(4,120,87,0.26); border-radius: 8px; background: rgba(255,255,255,0.88); box-shadow: none; } .menu-toggle span { display: block; height: 3px; width: 100%; margin: 3px 0; border-radius: 999px; background: var(--green-dark); } .site-nav a, .secondary-link, .utility-row a { color: var(--green-dark); text-decoration: none; font-weight: 850; } .site-nav a { min-height: 42px; padding: 12px 15px; border: 1px solid rgba(4,120,87,0.14); border-radius: 14px; background: rgba(255,255,255,0.58); box-shadow: 0 10px 24px -22px rgba(30,41,59,0.5); font-size: 16px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease; } .site-nav a:hover { transform: translateY(-2px); border-color: rgba(236,72,153,0.32); background: #ffffff; box-shadow: 0 16px 28px -22px rgba(236,72,153,0.55); } .hero-piece, .value-strip, .compliance-panel, .ledger-panel, .developer-panel, .source-panel { border: 1px solid var(--line); background: rgba(255,255,255,0.9); border-radius: var(--radius-fun); box-shadow: var(--shadow); } .hero-piece { padding: clamp(26px, 5vw, 54px); display: grid; gap: 22px; overflow: hidden; position: relative; border: 2px solid rgba(255,255,255,0.88); background: radial-gradient(circle at 78% 12%, rgba(255,255,255,0.94), transparent 20%), radial-gradient(circle at 88% 24%, rgba(16,185,129,0.24), transparent 28%), linear-gradient(135deg, #ffffff 0%, #fdf2f8 34%, #dbeafe 68%, #d1fae5 100%); box-shadow: 0 30px 80px rgba(59,130,246,0.18), 0 0 0 10px rgba(255,255,255,0.28); } .hero-piece::after { content: ""; position: absolute; right: -140px; top: -120px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(15,107,87,0.12), transparent 68%); pointer-events: none; } .intro-copy, .mission-copy { max-width: 900px; } .eyebrow { margin: 0 0 8px; color: var(--green-dark); font-size: 13px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; } h1, h2, p { margin-top: 0; } h1 { max-width: 980px; margin-bottom: 0; font-size: clamp(46px, 7.4vw, 96px); line-height: 0.93; letter-spacing: -0.035em; color: #172033; } h2 { margin: 0; font-size: clamp(24px, 3vw, 38px); line-height: 1.02; letter-spacing: -0.03em; } p, label, a, button, input { font-size: 16px; } p, .muted { color: var(--muted); line-height: 1.58; } .mission-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .mission-copy p { margin-bottom: 0; font-size: 18px; } .primary-link, button, .utility-row a { border: 1px solid var(--green); background: var(--green); color: #ffffff; border-radius: 999px; min-height: 42px; padding: 10px 16px; text-decoration: none; font-weight: 900; cursor: pointer; transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease, background 0.2s ease; } .primary-link:hover, button:hover, .utility-row a:hover, .cta-btn:hover { transform: translateY(-3px); box-shadow: 0 18px 28px -14px rgba(236, 72, 153, 0.55); } .secondary-link, button.secondary, #refresh-projects, #refresh-ledger, #preview-unlock, .utility-row a { background: #ffffff; color: var(--green-dark); } button:disabled { opacity: 0.55; cursor: not-allowed; } .value-strip { display: grid; grid-template-columns: minmax(260px, 0.72fr) minmax(320px, 1.28fr); align-items: center; gap: 24px; padding: 24px; background: linear-gradient(135deg, #ffffff 0%, #fff1f2 45%, #ecfeff 100%); } .value-strip strong { font-size: clamp(25px, 2.6vw, 34px); line-height: 1.08; letter-spacing: -0.025em; } .value-strip span { color: var(--muted); line-height: 1.5; font-size: clamp(15px, 1.4vw, 18px); } .compliance-panel { padding: clamp(24px, 4vw, 38px); display: grid; gap: 18px; background: radial-gradient(circle at 100% 0%, rgba(16,185,129,0.12), transparent 30%), linear-gradient(135deg, #ffffff 0%, #f8fcff 100%); } .compliance-layout { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr); gap: clamp(22px, 4vw, 46px); align-items: start; } .compliance-copy { display: grid; gap: 14px; } .compliance-copy h2 { max-width: 620px; } .compliance-copy > p:last-of-type { max-width: 680px; margin: 0; color: var(--muted); font-size: clamp(17px, 1.6vw, 21px); line-height: 1.5; } .compliance-points { margin: 4px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; } .compliance-points li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 14px; align-items: baseline; padding: 12px 0; border-top: 1px solid rgba(59,130,246,0.16); } .compliance-points strong { color: var(--green-dark); font-size: 15px; font-weight: 900; } .compliance-points span { color: #475569; font-size: 15px; font-weight: 700; line-height: 1.45; } .compliance-flow { margin: 0; padding: 14px; border: 1px solid rgba(59,130,246,0.16); border-radius: 24px; background: rgba(255,255,255,0.72); display: grid; gap: 10px; list-style: none; } .compliance-flow li { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: start; padding: 14px; border-radius: 18px; background: #ffffff; border: 1px solid rgba(4,120,87,0.10); } .compliance-flow li span { grid-row: span 2; width: 42px; height: 42px; border-radius: 14px; display: inline-grid; place-items: center; color: #ffffff; background: linear-gradient(135deg, var(--accent-fresh), var(--accent-sky)); font-size: 13px; font-weight: 900; } .compliance-flow strong { color: #111827; font-size: clamp(18px, 1.7vw, 23px); line-height: 1.08; } .compliance-flow p { margin: 0; color: var(--muted); font-size: 15px; font-weight: 700; line-height: 1.4; } .compliance-note { margin: 0; padding-top: 4px; color: var(--muted); font-size: 15px; line-height: 1.45; } .use-case-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .use-case-grid article { min-height: 280px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-fun); background: rgba(255,255,255,0.82); position: relative; overflow: hidden; transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease; } .use-case-grid article:hover { transform: translateY(-10px) rotate(1.2deg); box-shadow: 0 20px 30px -10px rgba(59, 130, 246, 0.22); } .use-case-grid span, .ledger-grid span, code { font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; } .use-case-grid span { display: block; margin-bottom: 18px; color: var(--green-dark); font-size: 13px; font-weight: 900; } .use-case-graphic { height: 78px; margin-bottom: 20px; border: 1px solid rgba(9,71,56,0.18); border-radius: 18px; background: linear-gradient(135deg, rgba(236,72,153,0.12), rgba(59,130,246,0.10)), repeating-linear-gradient(90deg, transparent 0 14px, rgba(59,130,246,0.08) 14px 15px); position: relative; } .use-case-graphic::before, .use-case-graphic::after, .use-case-graphic i { content: ""; position: absolute; display: block; } .graphic-captcha i { width: 26px; height: 26px; top: 25px; border: 2px solid var(--green-dark); background: rgba(255,255,255,0.72); } .graphic-captcha i:nth-child(1) { left: 28px; } .graphic-captcha i:nth-child(2) { left: 62px; } .graphic-captcha i:nth-child(3) { left: 96px; } .graphic-captcha::after { left: 68px; top: 18px; width: 18px; height: 38px; border-radius: 14px 14px 6px 6px; border: 2px solid var(--green-dark); border-bottom-width: 8px; background: rgba(242,207,91,0.26); } .graphic-circuit::before { left: 24px; right: 24px; top: 38px; height: 2px; background: var(--green-dark); } .graphic-circuit i { width: 18px; height: 18px; top: 30px; border-radius: 50%; background: var(--green-dark); box-shadow: 0 0 0 7px rgba(15,107,87,0.12); } .graphic-circuit i:nth-child(1) { left: 30px; } .graphic-circuit i:nth-child(2) { left: calc(50% - 9px); background: var(--yellow); } .graphic-circuit i:nth-child(3) { right: 30px; } .graphic-paywall::before { left: 28px; top: 18px; width: 74px; height: 42px; border: 2px solid var(--green-dark); background: rgba(255,255,255,0.68); } .graphic-paywall i { left: 46px; width: 40px; height: 4px; background: rgba(9,71,56,0.72); } .graphic-paywall i:nth-child(1) { top: 29px; } .graphic-paywall i:nth-child(2) { top: 40px; } .graphic-paywall i:nth-child(3) { top: 51px; width: 26px; } .graphic-paywall::after { right: 34px; top: 22px; width: 32px; height: 32px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 8px rgba(242,207,91,0.20); } .graphic-queue i { width: 22px; height: 22px; top: 28px; border-radius: 50%; background: var(--green-dark); } .graphic-queue i:nth-child(1) { left: 30px; opacity: 0.42; } .graphic-queue i:nth-child(2) { left: 70px; opacity: 0.68; } .graphic-queue i:nth-child(3) { left: 110px; background: var(--yellow); } .graphic-queue::after { right: 30px; top: 20px; width: 38px; height: 38px; transform: rotate(45deg); border-top: 3px solid var(--green-dark); border-right: 3px solid var(--green-dark); } .use-case-grid h2 { margin-bottom: 12px; font-size: 22px; } .use-case-grid p { margin-bottom: 0; font-size: 15px; } .project-section { display: grid; gap: 16px; } .charity-provider-card-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } .charity-provider-card { display: grid; grid-template-rows: auto minmax(86px, auto) 134px 1fr auto; overflow: hidden; min-height: 400px; padding: 0; border: 0; border-radius: var(--radius-fun); background: #fffdf7; color: #26302d; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.07); cursor: pointer; text-align: left; transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease, filter 0.2s ease; } .charity-provider-card:hover, .charity-provider-card.is-selected { transform: translateY(-10px) rotate(1.4deg); box-shadow: 0 20px 30px -10px rgba(59, 130, 246, 0.24), 0 0 0 4px rgba(236,72,153,0.22); filter: saturate(1.04); } .charity-donor-line { padding: 22px 16px 0; color: rgba(25,35,31,0.64); font: 800 0.76rem Inter, Arial, sans-serif; } .charity-provider-card > p { margin: 8px 0 12px; padding: 0 16px; color: rgba(22,32,28,0.9); font: 800 0.9rem/1.45 Inter, Arial, sans-serif; } .charity-card-image { position: relative; display: block; min-height: 126px; background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(0,0,0,0.14)), linear-gradient(135deg, #4cf0ce, #00b879 55%, #ffe277); background-position: center; background-size: cover; background-repeat: no-repeat; } .charity-card-image::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle, #13a385 0 8px, transparent 9px) 12px calc(100% - 34px) / 28px 24px repeat-x, repeating-linear-gradient(180deg, rgba(255,255,255,0.16) 0, rgba(255,255,255,0.16) 1px, transparent 1px, transparent 4px), radial-gradient(circle at 22% 20%, rgba(255,255,255,0.28), transparent 28%); opacity: 0.78; mix-blend-mode: soft-light; } .charity-card-image::after { content: "*"; position: absolute; right: 14px; bottom: 12px; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: #00c98e; color: #fff; font-size: 1.55rem; box-shadow: 0 10px 20px rgba(0,0,0,0.22); } .charity-card-water .charity-card-image { background: linear-gradient(180deg, rgba(255,255,255,0.1), rgba(0,139,111,0.08)), url("https://res.cloudinary.com/everydotorg/image/upload/f_auto%2Cc_limit%2Cw_3840%2Cq_auto/profile_pics/lwm1eyu2xxgewkcftmyq") center / cover no-repeat; filter: saturate(1.28) contrast(1.04) brightness(1.06); } .charity-card-health .charity-card-image { background: linear-gradient(180deg, rgba(255,255,255,0.1), rgba(202,38,124,0.08)), url("https://res.cloudinary.com/everydotorg/image/upload/f_auto%2Cc_limit%2Cw_3840%2Cq_auto/profile_pics/mwdpe7lw3sn6ivthu6ii") center / cover no-repeat; filter: saturate(1.32) contrast(1.04) brightness(1.05); } .charity-card-cash .charity-card-image { background: linear-gradient(180deg, rgba(255,255,255,0.1), rgba(79,190,82,0.08)), url("https://res.cloudinary.com/everydotorg/image/upload/f_auto%2Cc_limit%2Cw_3840%2Cq_auto/profile_pics/mqmcd6jiuyusibklq1pd") center / cover no-repeat; filter: saturate(1.28) contrast(1.04) brightness(1.05); } .charity-card-body { display: grid; gap: 7px; padding: 16px; background: #fef3c7; } .charity-card-health .charity-card-body { background: #fce7f3; } .charity-card-cash .charity-card-body { background: #d1fae5; } .charity-card-body strong { color: #26302d; font: 900 1.08rem/1.08 Inter, Arial, sans-serif; } .charity-card-body small { color: rgba(38,48,45,0.72); font: 700 0.75rem/1.35 Inter, Arial, sans-serif; } .charity-card-footer { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; background: #fffdf7; } .charity-card-footer small { color: #007e60; font: 800 0.72rem Inter, Arial, sans-serif; } .charity-card-footer em { min-width: 76px; padding: 9px 14px; border-radius: 999px; background: #00a87d; color: #fff; font: 900 0.72rem Inter, Arial, sans-serif; text-align: center; font-style: normal; box-shadow: inset 0 1px 8px rgba(255,255,255,0.18), 0 0 0 rgba(0,168,118,0); transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease; } .charity-provider-card:hover .charity-card-footer em, .charity-provider-card.is-selected .charity-card-footer em { background: #00aa7f; box-shadow: inset 0 1px 10px rgba(255,255,255,0.24), 0 0 18px rgba(0,168,118,0.28); transform: translateY(-1px); } .ledger-panel, .developer-panel, .source-panel { padding: 22px; display: grid; gap: 16px; } .developer-panel { grid-template-columns: 0.82fr 1.18fr; align-items: start; } .install-steps { margin: 14px 0 0; padding-left: 22px; color: var(--muted); } .install-steps li { margin: 0 0 10px; padding-left: 4px; } .install-steps li::marker { color: var(--green-dark); font-weight: 900; } .developer-page-link { margin: 16px 0 0; } .developer-page-link a { color: var(--accent-poppy); font-weight: 900; text-decoration: none; } .developer-snippets { display: grid; gap: 10px; } .source-panel .section-heading a, .source-grid a { color: var(--green-dark); text-decoration: none; } .source-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .source-grid a { padding: 18px; min-height: 164px; border: 1px solid var(--line); border-radius: 22px; background: #f9fbfa; display: grid; grid-template-rows: 54px auto 1fr; align-content: start; gap: 10px; overflow: hidden; position: relative; transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease, border-color 0.2s ease; } .source-grid a:hover { transform: translateY(-7px) rotate(0.8deg); border-color: rgba(236,72,153,0.32); box-shadow: 0 18px 28px -16px rgba(59,130,246,0.36); } .source-grid strong, .source-grid span { display: block; } .source-icon { display: block; position: relative; width: 38px; height: 38px; border-radius: 16px; background: linear-gradient(135deg, rgba(236,72,153,0.18), rgba(59,130,246,0.16)); box-shadow: inset 0 0 0 2px rgba(255,255,255,0.72); overflow: visible; } .source-icon::before, .source-icon::after { content: ""; position: absolute; pointer-events: none; } .source-icon::after { left: 12px; top: 12px; width: 14px; height: 14px; } .source-widget .source-icon::after, .source-html .source-icon::after, .source-css .source-icon::after, .source-app .source-icon::after { border-radius: 50%; background: var(--accent-poppy); box-shadow: 0 0 0 8px rgba(236,72,153,0.12), 18px 0 0 var(--accent-sky), 9px 16px 0 var(--accent-fresh); animation: source-orbit 2.7s linear infinite; transform-origin: 10px 10px; } .source-verify .source-icon::after { width: 22px; height: 12px; border-left: 5px solid var(--accent-fresh); border-bottom: 5px solid var(--accent-fresh); transform: rotate(-45deg); animation: source-check 1.5s ease-in-out infinite; } .source-telemetry .source-icon::after { left: 10px; top: 9px; width: 22px; height: 22px; border-radius: 50%; border: 3px solid transparent; border-top-color: var(--accent-sky); border-right-color: var(--accent-poppy); animation: source-signal 1.35s ease-in-out infinite; } .source-ledger .source-icon::after { left: 10px; top: 8px; width: 24px; height: 9px; border-radius: 50%; border: 3px solid var(--accent-sky); background: rgba(59,130,246,0.12); box-shadow: 0 10px 0 -2px rgba(59,130,246,0.18), 0 10px 0 0 var(--accent-sky), 0 20px 0 -2px rgba(16,185,129,0.18), 0 20px 0 0 var(--accent-fresh); animation: source-stack 1.8s ease-in-out infinite; } .source-grid strong { align-self: start; margin-top: 0; position: relative; z-index: 1; color: var(--green-dark); font-size: 17px; font-weight: 900; letter-spacing: 0.01em; } .source-grid span { color: var(--muted); font-size: 14px; font-weight: 700; position: relative; z-index: 1; } .developers-page { gap: 30px; } .developer-topbar a { display: inline-flex; } .developer-nav { justify-content: flex-end; } .developer-hero { background: radial-gradient(circle at 82% 12%, rgba(236,72,153,0.20), transparent 28%), radial-gradient(circle at 10% 100%, rgba(16,185,129,0.18), transparent 32%), linear-gradient(135deg, #ffffff 0%, #eff6ff 42%, #fdf2f8 76%, #dcfce7 100%); } .build-folder-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .build-folder-grid a { min-height: 150px; padding: 20px; border: 2px solid rgba(59,130,246,0.16); border-radius: 24px; background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%); color: var(--green-dark); text-decoration: none; display: grid; align-content: space-between; transition: transform 0.2s ease, box-shadow 0.2s ease; } .build-folder-grid a:hover { transform: translateY(-6px); box-shadow: 0 18px 28px -18px rgba(236,72,153,0.4); } .build-folder-grid strong { color: #111827; font-size: 24px; line-height: 1; } .build-folder-grid span { color: var(--muted); font-size: 15px; font-weight: 700; } .protocol-status { padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #f8fbff; display: grid; gap: 4px; } .protocol-status strong { color: var(--green-dark); } .ledger-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .ledger-grid article, .ledger-item { border: 1px solid var(--line); border-radius: 18px; background: #f9fbfa; } .ledger-grid article { padding: 14px; display: grid; gap: 6px; } .ledger-grid span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; } .ledger-grid strong { font-size: 24px; line-height: 1; } .ledger-list { display: grid; gap: 8px; } .ledger-item { padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; } .ledger-item strong, .ledger-item span { display: block; } .ledger-amount { color: var(--green-dark); font-weight: 900; white-space: nowrap; } .ledger-meta { color: var(--muted); font-size: 12px; } .developer-panel pre { margin: 0; overflow: auto; border: 1px solid var(--line); border-radius: 18px; background: #1e293b; color: #e8f5ef; padding: 14px; } @keyframes bounce-once { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-10px); } 65% { transform: translateY(2px); } } @keyframes mercy-float { 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(0.7) rotate(0deg); } 10% { opacity: 1; } 100% { opacity: 0; transform: translate3d(var(--drift), -150px, 0) scale(1.1) rotate(22deg); } } @keyframes source-orbit { 0% { transform: rotate(0deg) scale(0.88); } 50% { transform: rotate(180deg) scale(1.02); } 100% { transform: rotate(360deg) scale(0.88); } } @keyframes source-check { 0%, 100% { opacity: 0.55; transform: rotate(-45deg) scale(0.82); } 50% { opacity: 1; transform: rotate(-45deg) scale(1.08); } } @keyframes source-signal { 0% { transform: scale(0.76) rotate(0deg); opacity: 0.55; } 50% { transform: scale(1.08) rotate(180deg); opacity: 1; } 100% { transform: scale(0.76) rotate(360deg); opacity: 0.55; } } @keyframes source-stack { 0%, 100% { transform: translateY(0); filter: saturate(0.9); } 50% { transform: translateY(-3px); filter: saturate(1.25); } } .animate-bounce { animation: bounce-once 0.8s ease; } .mercy-particle { position: fixed; left: var(--x); top: var(--y); z-index: 50; width: 14px; height: 14px; border-radius: 999px; background: var(--particle-color); pointer-events: none; animation: mercy-float 1.35s ease-out forwards; } .hero-actions { flex-wrap: wrap; gap: 18px; margin-top: 4px; } .hero-actions a { min-height: 48px; padding: 13px 20px; } .hero-deploy-link { max-width: 260px; justify-content: center; line-height: 1.18; text-align: center; } .hero-ownership-line { max-width: 720px; margin: -2px 0 0; color: var(--green-dark); font-size: clamp(17px, 1.6vw, 22px); font-weight: 900; line-height: 1.3; } .primary-link { background: linear-gradient(135deg, var(--accent-fresh), #22c55e); border-color: transparent; box-shadow: 0 18px 28px -16px rgba(16,185,129,0.75); } .secondary-link { background: #ffffff; border: 2px solid rgba(236,72,153,0.24); border-radius: 999px; padding: 12px 19px; } .section-pop-line { width: 88px; height: 8px; margin: 18px 0 18px; border: 0; border-radius: 999px; background: linear-gradient(90deg, var(--accent-poppy), var(--accent-sky), var(--accent-fresh)); } @media (max-width: 980px) { .brand-row, .section-heading, .utility-row, .hero-actions { align-items: stretch; flex-direction: column; } .brand-row { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 12px; } .brand-logo { grid-column: 1 / -1; grid-row: 1; justify-self: center; width: min(270px, 72vw); } .top-right-stack { grid-column: 2; grid-row: 1; justify-items: end; justify-self: end; align-self: start; min-width: 0; width: auto; z-index: 5; } .partner-strip { justify-content: flex-end; gap: 8px; } .partner-strip > span:not(.partner-logo) { display: none; } .menu-toggle { display: inline-block; } .site-nav { display: none; position: absolute; right: 0; top: 46px; z-index: 20; width: min(260px, calc(100vw - 32px)); padding: 14px; border: 1px solid rgba(59,130,246,0.22); border-radius: 16px; background: rgba(255,255,255,0.96); box-shadow: 0 22px 48px -30px rgba(30,41,59,0.75); align-items: flex-end; flex-direction: column; gap: 10px; } .site-nav.is-open { display: flex; } .site-nav a { width: 100%; padding: 12px 14px; justify-content: flex-end; font-size: 16px; } .hero-piece { padding: 34px 22px; } .hero-actions, .utility-row { gap: 16px; } .hero-actions a, .utility-row button, .utility-row a { width: 100%; justify-content: center; text-align: center; } .mission-copy, .value-strip, .compliance-layout, .use-case-grid, .charity-provider-card-row, .developer-panel, .source-grid, .build-folder-grid, .ledger-grid { grid-template-columns: 1fr; } .gateway-shell { padding: 16px; } .brand-logo { width: min(280px, 100%); } .charity-provider-card { min-height: 0; } .compliance-points li { grid-template-columns: 1fr; gap: 4px; } .compliance-flow { padding: 10px; } .ledger-item { grid-template-columns: 1fr; } }