@font-face{font-family:"Atkinson";src:url(/fonts/atkinson-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson";src:url(/fonts/atkinson-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Atkinson";src:url(/fonts/atkinson-800.woff2) format("woff2");font-weight:800;font-display:swap}
:root{
  --ink:#24112f;--muted:#5e4f68;--magenta:#d10d8c;--purple:#662b96;
  --paper:#fff;--wash:#f6f0f9;--line:#e4d9ea;--ok:#0b6b45;
  --brand:linear-gradient(90deg,#d10d8c,#9b1c91 50%,#662b96);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.125rem/1.6 "Atkinson",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--purple);text-underline-offset:.18em}
a:hover{color:var(--magenta)}
:focus-visible{outline:3px solid var(--magenta);outline-offset:3px;border-radius:2px}
.bar{height:8px;background:var(--brand)}
.wrap{max-width:60rem;margin:0 auto;padding:0 1.25rem}
.top{display:flex;justify-content:space-between;align-items:center;padding-top:1.25rem;padding-bottom:1.25rem;font-size:1rem}
.top a{color:var(--ink);text-decoration:none;font-weight:700}
.top img{display:block;width:84px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:9}
h1,h2,h3{line-height:1.15;margin:0;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5.5vw,3.4rem);max-width:18ch}
h2{font-size:clamp(1.5rem,3.2vw,2rem);margin-bottom:1rem}
p{margin:0 0 1rem;max-width:62ch}
.lede{font-size:1.25rem;color:var(--muted);margin-top:1.25rem}
.hero{padding:2.5rem 0 2rem}
/* lookup */
.lookup{background:var(--wash);border-radius:14px;padding:1.5rem;margin:1.5rem 0 3rem}
.lookup label{display:block;font-weight:700;margin-bottom:.5rem;font-size:1.15rem}
.lookup input{width:100%;font:800 clamp(1.4rem,4vw,2rem)/1.2 "Atkinson",system-ui,sans-serif;letter-spacing:.04em;
  padding:.7rem .9rem;border:2px solid var(--purple);border-radius:10px;background:#fff;color:var(--ink);font-variant-numeric:tabular-nums}
.lookup input::placeholder{color:#a898b3;font-weight:400;letter-spacing:0}
.result{min-height:1.6em;margin:.9rem 0 0;font-size:1.15rem}
.result.match{color:var(--ok);font-weight:700}
.result.match a{color:var(--ok)}
/* charity list */
.charities{list-style:none;margin:0 0 3rem;padding:0;border-top:2px solid var(--ink)}
.charity{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.charity .logo{display:flex;align-items:center;justify-content:center;height:96px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem}
.charity .logo img{max-height:80px;width:auto;object-fit:contain}
.charity h3{font-size:1.3rem;font-weight:700;margin-bottom:.35rem}
.charity h3 a{color:var(--ink);text-decoration:none}
.charity h3 a:hover{text-decoration:underline;color:var(--purple)}
.nums{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 2.25rem}
.num{display:block;font-size:clamp(1.5rem,3.6vw,2rem);font-weight:800;color:var(--purple);text-decoration:none;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.num:hover{color:var(--magenta);text-decoration:underline}
.nums small{display:block;color:var(--muted);font-size:.95rem}
.nums small a{color:var(--muted)}
/* number page */
.caller{padding:2.5rem 0 1rem}
.caller .big{display:block;font-size:clamp(2.8rem,11vw,6rem);font-weight:800;color:var(--purple);letter-spacing:.02em;
  font-variant-numeric:tabular-nums;line-height:1;margin-bottom:.9rem;white-space:nowrap}
.caller .who{display:block;font-size:clamp(1.4rem,3.4vw,2.1rem);font-weight:700;max-width:24ch}
.who-card{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin:2rem 0;padding:1.5rem 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.who-card .logo{width:150px;height:100px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;padding:.5rem;background:#fff}
.who-card .logo img{max-height:84px;width:auto}
.actions{display:flex;flex-wrap:wrap;gap:.75rem}
.btn{display:inline-block;padding:.8rem 1.3rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--purple)}
.btn.primary{background:var(--purple);color:#fff}
.btn.primary:hover{background:var(--magenta);border-color:var(--magenta);color:#fff}
.btn.secondary{color:var(--purple);background:#fff}
.btn.secondary:hover{color:var(--magenta);border-color:var(--magenta)}
.formats{color:var(--muted);font-size:1rem}
/* faq */
.faq{margin:0 0 3rem}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:1rem 0;font-weight:700;font-size:1.15rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--purple)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding-bottom:.5rem}
.others{columns:2 14rem;padding:0;list-style:none;margin:0 0 3rem}
.others li{padding:.3rem 0;break-inside:avoid}
.others a{font-weight:700;font-variant-numeric:tabular-nums}
.others span{color:var(--muted)}
footer{margin-top:2rem;padding:2rem 0 2.5rem;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}
footer .wrap{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
footer img{width:110px;display:block}
footer p{margin:0}
.foot-bar{height:8px;background:var(--brand)}
@media (max-width:560px){
  .charity{grid-template-columns:1fr;gap:.9rem}
  .charity .logo{width:140px;height:84px}
  .caller .big{white-space:normal}
}
@media (prefers-reduced-motion:no-preference){
  .result.match{animation:pop .25s ease-out}
  @keyframes pop{from{opacity:0;transform:translateY(4px)}}
}
