@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/inter-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/inter-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(fonts/sora-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(fonts/sora-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-family:'Inter',system-ui,sans-serif;font-size:14px;line-height:1.55}header{max-width:1080px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:29px 32px;border-bottom:1px solid var(--border)}.brand{text-decoration:none;color:var(--text);font-size:26px;letter-spacing:-1px;font-weight:700}.brand span{color:#6c63ff;font-weight:400}.by{font-size:12px;color:#737185}.by strong{font-weight:600;color:#373349}main{max-width:734px;margin:auto;padding:48px 24px 24px}.intro{text-align:center;margin-bottom:32px}.eyebrow{font-size:10px;letter-spacing:2px;color:#5650c5;font-weight:700;margin-bottom:12px}h1{font-size:36px;line-height:1.2;font-weight:500;letter-spacing:-1.2px;margin:0 0 13px}.intro p{font-size:15px;color:var(--muted);margin:0 0 15px}.time{font-size:11px;color:#5650c5;display:inline-block;background:var(--tint);padding:5px 12px;border-radius:20px}form,.success{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 5px 25px #40358008;overflow:hidden}.formtop{display:flex;justify-content:space-between;padding:18px 30px;background:var(--subtle);border-bottom:1px solid var(--border);font-size:12px;font-weight:600}.formtop span{font-size:11px;font-weight:400;color:var(--muted)}section{padding:27px 30px}section+section{border-top:1px solid var(--border)}h2{font-size:19px;font-weight:500;letter-spacing:-.3px;display:flex;gap:12px;align-items:center;margin:0 0 22px}.number{font-size:10px;letter-spacing:.5px;color:#5650c5;background:var(--tint);width:27px;height:27px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}.grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 20px}.full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}label span:not(.check span){font-weight:400;color:var(--muted)}input,select,textarea,button{font:inherit}input:not([type=checkbox]),select,textarea{width:100%;padding:12px 13px;border:1px solid var(--border);background:var(--surface);border-radius:6px;color:var(--text);font-size:13px;outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:focus,select:focus,textarea:focus{outline:2px solid #8780ff;border-color:#8780ff}select{min-height:44px}textarea{resize:vertical;min-height:100px}.hint{font-size:11px;color:var(--muted);margin:-1px 0 10px;line-height:1.6}.submitsection{padding-top:25px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;line-height:1.65;margin-bottom:13px;color:var(--muted)}.check input{width:16px;height:16px;flex-shrink:0;accent-color:#6c63ff;margin:2px 0 0}.optional{color:var(--muted)}details{font-size:11px;color:var(--muted);margin:19px 0 24px}summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}details p{line-height:1.7;margin:12px 0;padding:12px 15px;background:var(--tint);border-radius:5px}.submit{display:flex;justify-content:space-between;align-items:center;width:100%;background:#6c63ff;color:white;border:0;border-radius:6px;padding:14px 19px;font-size:13px;cursor:pointer}.submit:hover{background:#5650c5}.submit:disabled{opacity:.65;cursor:wait}.submit span{font-size:19px;line-height:1}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #8780ff;outline-offset:3px}footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);padding:23px 2px}.success{text-align:center;padding:42px}.success h2{justify-content:center;font-size:25px;margin:15px 0}.success p{color:var(--muted)}.tick{display:inline-grid;place-items:center;background:var(--tint);border-radius:50%;height:52px;width:52px;font-size:27px;color:#5650c5}.reference{font-size:11px;background:var(--tint);padding:17px;border-radius:6px;overflow-wrap:anywhere}.reference strong{font-weight:400;font-family:monospace}.error{background:#fff2ed;color:#a0442e;padding:12px;border-radius:5px;font-size:12px}@media(max-width:600px){header{padding:20px}.brand{font-size:24px}.by{font-size:10px;max-width:120px;text-align:right}main{padding:32px 16px 15px}h1{font-size:29px}.intro p{font-size:13px}section{padding:24px 20px}.formtop{padding:16px 20px}.grid{grid-template-columns:1fr;gap:17px}.full{grid-column:auto}footer{flex-direction:column;text-align:center;gap:4px}.success{padding:30px 20px}}

/* Tinnitus Quest palette with locally hosted modern typefaces. */
body{-webkit-font-smoothing:antialiased}h1,h2,.brand{font-family:'Sora',system-ui,sans-serif}h1{font-size:36px;font-weight:600;letter-spacing:-1.5px}h2{font-size:18px;font-weight:600;letter-spacing:-.5px}.brand{font-weight:600;letter-spacing:-1.2px}.brand span{font-weight:400}.eyebrow{font-weight:600;letter-spacing:1.7px}.intro p{line-height:1.7}.formtop{font-size:12px}label{font-size:12px;font-weight:500}.submit{font-weight:600;background:#5650c5;min-height:49px;transition:background .15s ease}.submit:hover{background:#4943b0}input:not([type=checkbox]),select,textarea{border-radius:7px;min-height:46px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #6c63ff12}input[type=checkbox]{accent-color:#6c63ff}.number{font-weight:600}.time{font-weight:500}.by strong{color:#5650c5}@media(max-width:600px){h1{font-size:28px;letter-spacing:-1px}.brand{font-size:23px}input:not([type=checkbox]),select,textarea{font-size:16px}.intro p{font-size:13px}}

/* Project purpose and nonprofit attribution. */
.by{text-align:right}.nonprofit{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.intro h1{font-size:32px;line-height:1.3;letter-spacing:-1.2px;margin-bottom:20px}.intro .mission{font-size:14px;line-height:1.8;color:var(--muted);max-width:620px;margin:0 auto 13px}.intro .invitation{font-size:13px;line-height:1.8;max-width:570px;margin:0 auto 19px;color:var(--muted)}@media(max-width:600px){.by{max-width:180px}.nonprofit{font-size:9px}.intro h1{font-size:27px;letter-spacing:-1px}.desktopbreak{display:none}.intro .mission{font-size:13px}.intro .invitation{font-size:12px}}

.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}

/* Searchable country picker: flags are served locally. */
.country-picker{position:relative}.country-picker input{padding-right:42px!important}.country-picker.has-country input{padding-left:48px!important}.country-selected-flag{position:absolute;left:14px;top:15px;width:24px;height:18px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #19182512;pointer-events:none}.country-toggle{position:absolute;right:3px;top:3px;width:38px;height:40px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.country-toggle:hover{background:var(--tint)}.country-popup{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:20;max-height:260px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 10px 30px #29203f26}.country-popup ul{list-style:none;margin:0;padding:5px}.country-popup li{display:flex;align-items:center;gap:11px;padding:11px 10px;border-radius:5px;font-size:13px;line-height:1.5;cursor:pointer;color:var(--text)}.country-popup li:hover,.country-popup li[aria-selected=true]{background:var(--tint);color:var(--accent-text)}.country-popup li img{flex-shrink:0;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #19182512}.country-empty{padding:14px;font-size:12px;color:var(--muted);margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.country-popup li{font-size:15px;min-height:46px}.country-popup{max-height:230px}}

.cf-turnstile{margin:18px 0;min-height:65px}

.donate-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border-radius:8px;background:#6c63ff;color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s}.donate-button:hover{background:#5650c5}.donate-button:active{background:#4841af}

.project-partners{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;align-items:center;margin:0 0 28px;padding:24px 22px 20px;border:1px solid #e6e3ef;border-radius:12px;background:var(--surface);text-align:center}.partner{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.partner-label{margin:0;color:#797387;font-size:11px;font-weight:500}.partner img{display:block;max-width:100%;height:auto;object-fit:contain}.partner-tq{width:180px}.partner-rainwater{width:180px}.partner-note{grid-column:1/-1;margin:0;padding-top:16px;border-top:1px solid var(--border);font-size:11px;line-height:1.6;color:var(--muted)}@media(max-width:480px){.project-partners{grid-template-columns:1fr;gap:22px;padding:24px 20px}.partner-tq{width:170px}.partner-rainwater{width:170px}.partner-note{padding-top:18px}}

.project-partners{align-items:start;padding-bottom:24px}.partner{display:grid;grid-template-rows:auto 76px;justify-items:center;align-items:center;gap:12px}.partner img{max-height:76px}

/* Optical alignment with the Tinnitus Quest lettering, rather than its Q symbol. */
@media(min-width:481px){.partner-rainwater{transform:translateY(4px)}}

.partner-link{display:flex;align-items:center;justify-content:center;width:100%;height:76px;border-radius:6px}.partner-link:hover{opacity:.82}
.brand .brand-my{display:inline-block;position:relative;color:var(--text);font-weight:700;transform-origin:50% 80%}.brand .brand-my::after{content:"";position:absolute;left:8%;right:8%;bottom:1px;height:2px;border-radius:2px;background:#6c63ff;transform:scaleX(0);opacity:0}.brand:hover .brand-my,.brand:focus-visible .brand-my{animation:my-wave .7s cubic-bezier(.2,.7,.3,1) both}.brand:hover .brand-my::after,.brand:focus-visible .brand-my::after{animation:my-spark .7s ease-out both}@keyframes my-wave{0%,100%{transform:translateY(0) rotate(0) scale(1);color:var(--text)}30%{transform:translateY(-5px) rotate(-9deg) scale(1.1);color:#6c63ff}58%{transform:translateY(-2px) rotate(6deg) scale(1.05);color:#5650c5}78%{transform:translateY(-1px) rotate(-3deg) scale(1.02)}}@keyframes my-spark{0%{transform:scaleX(0);opacity:0}40%{transform:scaleX(1);opacity:.8}100%{transform:scaleX(1.2);opacity:0}}@media(prefers-reduced-motion:reduce){.brand:hover .brand-my,.brand:focus-visible .brand-my,.brand:hover .brand-my::after,.brand:focus-visible .brand-my::after{animation:none}.brand:hover .brand-my,.brand:focus-visible .brand-my{color:#6c63ff}}

.country-picker.has-country input{padding-right:76px!important;cursor:default}.country-picker.has-country .country-toggle{width:70px;font-size:11px;font-weight:600;color:#5650c5}.country-picker input[readonly]{background:var(--subtle)}

/* Theme tokens: the early head script selects the system theme before paint. */
:root{color-scheme:light;--page:#f8f8fc;--surface:#fff;--text:#191825;--muted:#6b657c;--border:#dcd9e9;--subtle:#faf9ff;--placeholder:#817a90;--tint:#eeecff;--accent-text:#5650c5;--brand-accent:#6c63ff}
:root[data-theme="dark"]{color-scheme:dark;--page:#11101a;--surface:#1c1a29;--text:#f1effa;--muted:#b8b2c9;--border:#413a56;--subtle:#242033;--placeholder:#a59cb8;--tint:#302947;--accent-text:#bcb6ff;--brand-accent:#aaa2ff}
.eyebrow,.time,.number,.tick,.country-picker.has-country .country-toggle{color:var(--accent-text)}
.brand span{color:var(--brand-accent)}
.header-actions{display:flex;align-items:center;gap:12px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer}
.theme-toggle:hover{background:var(--tint);border-color:var(--brand-accent)}
.theme-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:0}.theme-icon svg{display:block;width:18px;height:18px;flex-shrink:0}
/* Keep official partner artwork on a light surface in either theme. */
.project-partners{background:#fff;border-color:var(--border);color-scheme:light}
:root[data-theme="dark"] .project-partners{background:#d8d5e2}
.partner-label{color:#797387}
:root[data-theme="dark"] .partner-label{color:#5d566d}
:root[data-theme="dark"] .error{background:#422820;color:#ffcab9}
@media(max-width:400px){header{padding:18px 16px}.header-actions{gap:8px}.donate-button{padding:10px 14px}.brand{font-size:21px}}
