/* =========================================================
   FRENCH BULLDOG CLUB, FINAL
   Skeleton: version 5 (posters, sticky scoreboard, cream map). Hero: version 1 (night, Fraunces black, the puppy photo).
   ONE SYSTEM
   Colours: night #0F0E0D, warm white #F2EADB (text on night), cream #FFF1DC (poster and map land), coral #FF6B57 (the one accent).
   Fonts: two only. Fraunces (headlines and every big number, in Black) and Inter (body, labels, names). Labels are Inter uppercase with wide letter spacing.
   Contrast rules: warm white or coral on night. Night on coral. Night on cream. Never warm white or cream on coral (2.4:1),
   never coral on cream (2.5:1). Muted text is warm white at 74% (about 9:1 on night).
   Shape rule: everything is square, hard night shadows only.
   Layers: map 1, captions 3, header 60, scoreboard 70.
   ========================================================= */
:root{
  --night:#0F0E0D; --white:#F2EADB; --cream:#FFF1DC; --coral:#FF6B57;
  --dim:rgba(242,234,219,.74);
  --pad:clamp(20px,4.5vw,64px);
  --hdr:60px; --bar:64px;
  --dog:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDA3IDE0OTgiPjxwYXRoIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTY3NC4wIDE0OTUuNEM2NzIuNiAxNDk1LjIgNjY3LjUgMTQ5NC41IDY2Mi41IDE0OTQuMEM2MzUuMCAxNDkwLjggNjAwLjcgMTQ4NC4wIDU4Ny4wIDE0NzkuMEM1ODUuNiAxNDc4LjYgNTgxLjEgMTQ3Ny4xIDU3Ny4wIDE0NzUuOUM1NzIuOSAxNDc0LjcgNTY4LjggMTQ3My4zIDU2OC4wIDE0NzIuOUM1NjcuMiAxNDcyLjUgNTY0LjIgMTQ3MS40IDU2MS41IDE0NzAuNUM1NTguOCAxNDY5LjUgNTU1LjEgMTQ2OC4yIDU1My41IDE0NjcuNUM1NTEuOSAxNDY2LjggNTQ0LjkgMTQ2My44IDUzOC4wIDE0NjEuMEM1MjQuMCAxNDU1LjEgNTE5LjAgMTQ1Mi40IDUxOS4wIDE0NTAuN0M1MTkuMCAxNDUwLjAgNTI1LjIgMTQ0Mi44IDUzMi42IDE0MzQuNUM1NDQuNyAxNDIxLjIgNTU3LjQgMTQwNS42IDU3MS4wIDEzODcuNUM2MDkuNiAxMzM1LjggNjM4LjUgMTMwOC41IDY3MC4wIDEyOTMuNkM2OTYuMyAxMjgxLjMgNzEyLjEgMTI4MS45IDc0MS41IDEyOTYuNUM3NzQuMiAxMzEyLjcgNzkzLjIgMTMzMS40IDgzOC4wIDEzOTEuMEM4NTguOCAxNDE4LjcgODY4LjUgMTQzMC40IDg3OC41IDE0MzkuOEM4ODkuMSAxNDQ5LjcgODg5LjIgMTQ1MC40IDg3OS44IDE0NTUuNkM4NzEuOSAxNDU5LjkgODcwLjQgMTQ2MC42IDg1My4wIDE0NjcuM0M4MjkuMyAxNDc2LjYgODE2LjggMTQ4MC43IDgwNC41IDE0ODMuNUM3NzguMCAxNDg5LjUgNzY5LjkgMTQ5MC45IDc0My41IDE0OTQuMEM3MjguOCAxNDk1LjggNjgzLjEgMTQ5Ni43IDY3NC4wIDE0OTUuNFpNOTc1LjAgMTQ2MC41QzkzNy41IDE0NTQuNSA5MTIuNCAxNDM0LjMgODY5LjAgMTM3NS4wQzg2Mi44IDEzNjYuNSA4NTIuNiAxMzUyLjggODQ2LjQgMTM0NC41QzgxNi42IDEzMDQuNyA3ODIuNCAxMjc1LjcgNzM5LjIgMTI1My42QzcyNy4zIDEyNDcuNSA3MjMuNiAxMjQ0LjIgNzIyLjEgMTIzOC4yQzcyMS42IDEyMzYuMiA3MjEuMCAxMjE2LjIgNzIwLjggMTE5My45QzcyMC40IDExNDYuMyA3MTkuMCAxMTUxLjUgNzM0LjQgMTE0My45Qzc1Mi45IDExMzQuOCA3NzAuNCAxMTE5LjggNzc1LjUgMTEwOC44Qzc3OS44IDEwOTkuNSA3NzguOSAxMDk3LjggNzY2LjkgMTA5My45Qzc0NS4wIDEwODYuOCA3MzguNiAxMDc4LjAgNzM4LjUgMTA1NS41TDczOC41IDEwNDIuNUw3NDIuMSAxMDM2LjBDNzQ4LjMgMTAyNC43IDc1OS41IDEwMTkuNyA3NjYuNCAxMDI1LjFMNzY5LjMgMTAyNy40TDc2OC42IDEwMzcuOEM3NjcuNSAxMDU1LjggNzcxLjYgMTA2Mi42IDc4NS44IDEwNjcuMEM3OTYuMyAxMDcwLjIgODA3LjIgMTA2OC42IDgxNi43IDEwNjIuM0M4MjkuNyAxMDUzLjcgODM1LjAgMTA0MS4wIDgzMi44IDEwMjMuNUM4MjYuNiA5NzMuNyA3MzkuMiA5MzkuNyA2NTkuNSA5NTYuMUM2MDQuMCA5NjcuNSA1NjkuOCA5OTcuNyA1NzIuMyAxMDMyLjhDNTczLjEgMTA0Mi45IDU3Ni4zIDEwNDkuMyA1ODQuNyAxMDU3LjBDNTk0LjUgMTA2Ni4wIDYwMC40IDEwNjguNSA2MTEuNSAxMDY4LjVDNjIxLjggMTA2OC41IDYyNC43IDEwNjcuMyA2MzAuOSAxMDYwLjlDNjM3LjIgMTA1NC41IDYzOC4wIDEwNTEuOSA2MzguMCAxMDM3LjZDNjM4LjAgMTAyNi4zIDYzOC4yIDEwMjQuOCA2NDAuMCAxMDIzLjBDNjQ3LjEgMTAxNS45IDY2NC4zIDEwMjcuNCA2NjguMyAxMDQxLjhDNjc1LjMgMTA2Ni42IDY2NC4wIDEwODguMCA2NDEuNCAxMDkzLjBDNjI5LjYgMTA5NS43IDYyNy4zIDExMDAuOCA2MzMuMCAxMTEyLjFDNjM3LjkgMTEyMS41IDY1Ny44IDExMzguMSA2NzMuMyAxMTQ1LjZDNjg2LjAgMTE1MS43IDY4NS4wIDExNDcuNCA2ODUuMCAxMTk2LjZMNjg1LjAgMTIzOS4wTDY4MS42IDEyNDIuOEM2NzkuNyAxMjQ0LjggNjc2LjUgMTI0Ny41IDY3NC4zIDEyNDguNkM2NzIuMiAxMjQ5LjggNjY2LjAgMTI1My4yIDY2MC41IDEyNTYuMkM2MTQuNiAxMjgxLjIgNTgwLjMgMTMxNC4yIDUzOS40IDEzNzIuNUM1MDAuOCAxNDI3LjYgNDY1LjcgMTQ1NC45IDQyNi44IDE0NjAuMkMzOTAuMCAxNDY1LjEgMzUyLjkgMTQ1My4wIDMyOC4xIDE0MjcuOUMyOTguOCAxMzk4LjQgMjkwLjMgMTM1Mi4xIDMwMS41IDEyODMuMEMzMDYuNiAxMjUyLjAgMzE5LjUgMTIwOS40IDMzMS44IDExODMuMEMzMzcuNiAxMTcwLjcgMzM4LjggMTE2Ni4zIDMzNi44IDExNjQuNEMzMzMuMSAxMTYwLjcgMzI2LjkgMTE2OC45IDMwNS4wIDEyMDcuMEMyODkuOCAxMjMzLjUgMjc3LjIgMTI2Ni4yIDI3MS40IDEyOTQuMEMyNzAuMSAxMzAwLjMgMjY4LjggMTMwNi41IDI2OC41IDEzMDcuOEMyNjcuOSAxMzEwLjUgMjY0LjkgMTMxMC43IDI2Mi44IDEzMDguMkMyNjEuOSAxMzA3LjMgMjU3LjQgMTMwMC4yIDI1Mi44IDEyOTIuNUMyNDguMSAxMjg0LjggMjQxLjggMTI3NC41IDIzOC44IDEyNjkuNUMyMTcuMyAxMjM0LjYgMTkzLjAgMTE3OC40IDE4NC4wIDExNDMuMEMxODIuOCAxMTM4LjMgMTgxLjQgMTEzMi45IDE4MC45IDExMzEuMEMxNzUuNCAxMTEwLjQgMTcwLjcgMTA2NS4wIDE3MS42IDEwNDIuMEMxNzIuNCAxMDIzLjAgMTc0LjYgMTAwMy42IDE3OS42IDk3Mi41QzE4NC43IDk0MC41IDE4Ni4xIDkyMS43IDE4NS4wIDkwMi44QzE4Mi43IDg2Ni40IDE3OC4xIDg0NS45IDE2Ny40IDgyNC43QzE1OC4zIDgwNi41IDE1MS4xIDc5Ny44IDExNS42IDc2Mi41Qzg1LjAgNzMyLjEgNzYuOSA3MjIuNiA2NS4yIDcwMy4wQzUyLjQgNjgxLjkgNDMuOSA2NTkuNSA0MC4wIDYzNy41QzM3LjcgNjIzLjggMzcuMSA1NzguMiAzOS4xIDU1NS41QzM5LjcgNTQ4LjkgNDAuNCA1MzQuMSA0MC43IDUyMi42QzQxLjUgNDkxLjMgMzkuNiA0NzcuOSAyOC42IDQzOS41QzEwLjcgMzc2LjggMi45IDMyOC44IDEuNCAyNzEuMEMtMS42IDE1NC4wIDI4LjIgNjYuOSA4NS45IDIzLjRDMTIyLjAgLTMuNyAxNzEuMyAtNi4zIDIxOC42IDE2LjRDMjgzLjggNDcuNyAzNDguMiAxMjMuMCA0MTcuNyAyNDkuMEM0MjEuNyAyNTYuMiA0NDMuMiAyOTkuMSA0NTAuNSAzMTQuNUM0NjAuMiAzMzQuNyA0NjIuOCAzNDAuNiA0NzQuMCAzNjYuNUM0NzkuOSAzODAuMiA0ODYuMiAzOTQuNiA0ODguMCAzOTguNUM0ODkuOCA0MDIuMyA0OTIuMiA0MDguMiA0OTMuNSA0MTEuNUM0OTQuNyA0MTQuOCA0OTcuOCA0MjEuOSA1MDAuMyA0MjcuMkM1MDUuNCA0MzguMCA1MDUuMyA0MzguMCA1MTMuNiA0MzUuNkM1MTYuMyA0MzQuOCA1MjMuMCA0MzMuMiA1MjguNSA0MzIuMUM1MzQuMCA0MzEuMCA1NDIuNSA0MjkuMiA1NDcuNSA0MjguMUM1NjUuMyA0MjQuMyA1ODEuOCA0MjEuOSA2MTYuNSA0MTguMUM2NzQuMyA0MTEuNyA3NDIuOCA0MTEuNyA3OTQuMCA0MTguMEM4MTkuNiA0MjEuMSA4NTAuOCA0MjYuMyA4NjkuNSA0MzAuNEM4NzUuNSA0MzEuNyA4ODIuNSA0MzMuMSA4ODUuMCA0MzMuNUM4ODcuNSA0MzMuOSA4OTEuOSA0MzQuOSA4OTQuOSA0MzUuN0M5MDEuNyA0MzcuNiA5MDIuNCA0MzYuOSA5MDcuMCA0MjQuNUM5MTAuNCA0MTQuOSA5MTguNyAzOTQuOCA5MjIuNSAzODYuNUM5MjUuOCAzNzkuNCA5MjguOCAzNzIuNyA5MzIuNSAzNjQuMEM5NDQuOSAzMzUuNCA5NzcuMSAyNjkuNiA5OTIuMiAyNDIuMEM5OTYuMyAyMzQuNiAxMDAxLjQgMjI1LjMgMTAwMy41IDIyMS41QzEwNDYuNCAxNDMuMiAxMTEyLjcgNjQuMyAxMTY1LjAgMjkuNUMxMjE4LjIgLTUuOSAxMjcyLjcgLTguMSAxMzE5LjMgMjMuMkMxMzQ2LjcgNDEuNSAxMzc1LjkgODYuNiAxMzg5LjMgMTMxLjBDMTQwOC41IDE5NC4zIDE0MTAuNyAyOTAuNSAxMzk0LjkgMzY4LjBDMTM5My45IDM3My4zIDEzOTMuMCAzNzkuMCAxMzkzLjAgMzgwLjhDMTM5My4wIDM4Mi41IDEzOTEuOSAzODcuMiAxMzkwLjYgMzkxLjJDMTM4OS4zIDM5NS4yIDEzODcuNyA0MDEuMCAxMzg3LjAgNDA0LjBDMTM4Ni4zIDQwNy4wIDEzODMuOCA0MTYuNSAxMzgxLjQgNDI1LjBDMTM3OS4wIDQzMy41IDEzNzYuMyA0NDMuMiAxMzc1LjQgNDQ2LjVDMTM3NC41IDQ0OS44IDEzNzMuMiA0NTQuNSAxMzcyLjUgNDU3LjBDMTM3MS4xIDQ2MS43IDEzNjkuNyA0NjcuOSAxMzY3LjQgNDc5LjVDMTM2NS40IDQ4OS41IDEzNjQuNSA1MjMuOCAxMzY1LjkgNTM5LjVDMTM2Ni42IDU0Ni42IDEzNjcuMyA1NjkuMSAxMzY3LjcgNTg5LjVDMTM2OC4yIDYyNC4zIDEzNjguMSA2MjcuMiAxMzY2LjEgNjM5LjBDMTM2MS4xIDY2OC4xIDEzNTAuNCA2OTEuNyAxMzMxLjYgNzE1LjZDMTMyOS4zIDcxOC41IDEzMjQuOCA3MjQuMyAxMzIxLjUgNzI4LjZDMTMxOC4yIDczMy4wIDEzMDIuNCA3NDkuOCAxMjg2LjUgNzY2LjBDMTI1MS4xIDgwMS45IDEyNDMuNyA4MTEuNiAxMjM1LjIgODMyLjhDMTIxOS45IDg3MS4wIDEyMTcuMSA5MTQuNCAxMjI2LjUgOTcxLjVDMTIzNC4zIDEwMTkuMSAxMjM2LjAgMTA1MC4xIDEyMzIuNSAxMDgzLjVDMTIyOS4wIDExMTYuNCAxMjIxLjQgMTE0OS4zIDEyMTAuMCAxMTgwLjBDMTE5OC4zIDEyMTEuNiAxMTY3LjQgMTI3MS4yIDExNDkuMyAxMjk3LjBDMTE0Ny45IDEyOTguOSAxMTQ1LjUgMTMwMi43IDExNDMuOCAxMzA1LjNDMTEzOS4zIDEzMTIuNSAxMTM4LjYgMTMxMS42IDExMzYuMCAxMjk2LjBDMTEzNC4yIDEyODUuNCAxMTI2LjAgMTI1OC4zIDExMjEuOCAxMjQ5LjBDMTEyMC42IDEyNDYuNSAxMTE4LjIgMTI0MC45IDExMTYuMyAxMjM2LjVDMTExMC4xIDEyMjIuMCAxMDkwLjIgMTE4Ny4yIDEwNzkuNyAxMTcyLjVDMTA3NC44IDExNjUuNyAxMDcwLjggMTE2Mi44IDEwNjguOCAxMTY0LjhDMTA2Ny40IDExNjYuMiAxMDY4LjcgMTE3MC4wIDEwNzguNSAxMTkzLjBDMTA4OS42IDEyMTguNyAxMDk2LjAgMTIzOS41IDExMDEuNCAxMjY3LjVDMTEwNS4xIDEyODYuMyAxMTA2LjAgMTI5Mi4zIDExMDcuNiAxMzA3LjVDMTExMS41IDEzNDQuOSAxMTA3LjYgMTM3Ny43IDEwOTYuNSAxNDAwLjVDMTA5MC45IDE0MTIuMSAxMDg5LjAgMTQxNS4wIDEwNzkuNiAxNDI2LjJDMTA1OC42IDE0NTEuMiAxMDEyLjQgMTQ2Ni40IDk3NS4wIDE0NjAuNVpNOTgwLjggMTA2MC43Qzk4MS45IDEwNTkuNCA5ODAuNSAxMDUyLjYgOTc4LjEgMTA0Ny41Qzk3Ny41IDEwNDYuNCA5NzUuOSAxMDQyLjggOTc0LjQgMTAzOS41Qzk2Ny41IDEwMjQuMCA5NjQuNyAxMDE4LjUgOTU4LjUgMTAwNy40QzkzOC42IDk3Mi4zIDkxOC4zIDk0OC41IDg5MC41IDkyNy41Qzg1Mi40IDg5OC44IDgwOS40IDg3OS43IDc2NS4wIDg3MS42QzcyOS44IDg2NS4zIDY4OC42IDg2NC40IDY1Ni4wIDg2OS40QzYwMy43IDg3Ny40IDU2MS45IDg5My45IDUyNi4xIDkyMC41QzQ4Ni4zIDk1MC4xIDQ2MS4zIDk4MC40IDQzNy43IDEwMjcuNUM0MjYuMiAxMDUwLjUgNDIzLjEgMTA2MC4xIDQyNy4wIDEwNjAuN0M0MjkuNSAxMDYxLjIgNDMwLjMgMTA2MC4xIDQzOS4wIDEwNDUuNkM0NjMuNCAxMDA0LjkgNDkzLjggOTc1LjkgNTQ0LjMgOTQ1LjNDNTcwLjggOTI5LjMgNjA0LjkgOTE2LjEgNjM5LjUgOTA4LjZDNjc3LjAgOTAwLjUgNzI2LjQgOTAwLjMgNzYzLjUgOTA4LjFDNzk3LjIgOTE1LjIgODE5LjAgOTIyLjUgODQ1LjUgOTM1LjdDODg3LjAgOTU2LjQgOTI1LjggOTg4LjcgOTUzLjAgMTAyNS4wQzk2MS4yIDEwMzUuOSA5NjUuMSAxMDQxLjcgOTc1LjYgMTA1OC4yQzk3OC4yIDEwNjIuMyA5NzkuMSAxMDYyLjcgOTgwLjggMTA2MC43Wk0yMDIuMCA2OTIuOUMyMjguMyA2NDEuNSAyNTIuOCA2MDcuMiAyODcuNyA1NzIuOUMzMDYuNCA1NTQuNCAzMTYuOCA1NDUuMSAzMjcuNyA1MzYuOUMzNDQuMyA1MjQuMyAzNTAuOSA1MTQuMSAzNTguOSA0ODguNUMzNzQuNiA0MzguMiAzNzYuNyAzOTYuNyAzNjYuNCAzNDYuMEMzNDUuMCAyNDAuOSAyNjUuOCAxMTUuMiAxOTkuNSA4MS4xQzE1Ni44IDU5LjIgMTE1LjggNzQuMiA5MS41IDEyMC41QzcxLjYgMTU4LjQgNjIuNiAyMDIuNSA2Mi41IDI2Mi41QzYyLjUgMjkyLjYgNjMuMSAzMDAuNyA2OC4xIDM0Mi41QzY5LjAgMzUwLjAgNzIuOCAzNjkuNSA3OC40IDM5Ni4wQzgxLjIgNDA5LjIgOTEuOCA0NTEuMSA5NS42IDQ2NC40Qzk3LjEgNDY5LjQgOTkuNSA0NzcuOCAxMDEuMSA0ODMuMEMxMTEuOCA1MTkuNCAxMTMuNCA1MjcuOCAxMTMuNCA1NDYuMEMxMTMuNSA1NjAuNiAxMTMuMyA1NjIuMiAxMTAuMiA1NzIuNUMxMDguNSA1NzguNSAxMDYuMyA1ODYuMCAxMDUuNCA1ODkuMEMxMDQuNSA1OTIuMCAxMDMuNCA1OTUuOSAxMDIuOCA1OTcuNUMxMDAuOCA2MDMuNSAxMDAuNiA2MjUuNCAxMDIuNSA2MzMuM0MxMDYuMyA2NDkuMSAxMTYuNyA2NjQuMiAxMzIuNyA2NzcuMkMxNDQuMSA2ODYuNSAxNDkuMiA2ODkuNyAxNjguNSA3MDAuMEMxNzIuOSA3MDIuMyAxNzguNSA3MDUuNCAxODEuMCA3MDYuOEMxODguNSA3MTEuMSAxOTAuNSA3MTIuMCAxOTEuNSA3MTEuN0MxOTIuMSA3MTEuNiAxOTYuOCA3MDMuMSAyMDIuMCA2OTIuOVpNMTIyNC43IDcwNy43QzEyMjYuOCA3MDYuNCAxMjMyLjggNzAzLjIgMTIzOC4wIDcwMC41QzEyNzMuOCA2ODIuMiAxMjkxLjMgNjY1LjYgMTMwMC44IDY0MC43QzEzMDQuMSA2MzIuMiAxMzA0LjQgNjMwLjUgMTMwNC44IDYxNy45TDEzMDUuMiA2MDQuM0wxMzAwLjUgNTkwLjRDMTI4Ny4yIDU1MS4wIDEyODcuNyA1MzQuOCAxMzAzLjAgNDkwLjVDMTMwNC43IDQ4NS42IDEzMDcuMiA0NzcuNyAxMzA4LjUgNDczLjBDMTMwOS45IDQ2OC4zIDEzMTEuNCA0NjMuMSAxMzExLjkgNDYxLjVDMTMxNC43IDQ1Mi44IDEzMTkuMiA0MzYuMiAxMzIxLjQgNDI2LjNDMTMyMi45IDQyMC4xIDEzMjQuNSA0MTMuOSAxMzI1LjAgNDEyLjVDMTMyNS42IDQxMS4wIDEzMjYuNyA0MDYuNiAxMzI3LjYgNDAyLjdDMTMyOC40IDM5OC43IDEzMzAuMCAzOTEuNCAxMzMxLjEgMzg2LjVDMTM0MS4wIDM0MS40IDEzNDMuNCAzMTcuNCAxMzQzLjQgMjY3LjBDMTM0My40IDIxMy4zIDEzNDAuMyAxODguMCAxMzI5LjkgMTU1LjRDMTMwNi4zIDgxLjcgMTI2Mi4xIDU0LjYgMTIwOC45IDgxLjNDMTE3NC41IDk4LjUgMTEyOS4wIDE0Ni4zIDExMDAuNyAxOTUuMEMxMDg5LjYgMjE0LjAgMTA2OC4wIDI1Ni45IDEwNjguMCAyNTkuN0MxMDY4LjAgMjYwLjEgMTA2Ny4xIDI2Mi4yIDEwNjYuMCAyNjQuNEMxMDYyLjEgMjcyLjYgMTA1NC43IDI5My4zIDEwNDkuMiAzMTEuNUMxMDI5LjAgMzc4LjEgMTAzMS43IDQ0OS4xIDEwNTYuNiA1MDcuMEMxMDYyLjYgNTIxLjAgMTA2Ny4xIDUyNy4yIDEwNzYuNiA1MzQuOEMxMDkyLjggNTQ3LjcgMTA5OS4wIDU1My40IDExMjAuMSA1NzQuN0MxMTUxLjcgNjA2LjcgMTE2Ni40IDYyNi4wIDExOTQuMiA2NzIuMUMxMTk2LjggNjc2LjMgMTIwMi4zIDY4Ni40IDEyMDYuNSA2OTQuNkMxMjE2LjggNzE0LjQgMTIxNS41IDcxMy41IDEyMjQuNyA3MDcuN1oiLz48L3N2Zz4=);
  --f-disp:"Fraunces",serif;
  --f-body:"Inter",sans-serif;
  /* the cream map: land is cream, source countries coral, the route coral with a night edge */
  --m-sea:#0F0E0D; --m-land:#FFF1DC; --m-src:#FF6B57;
  --m-border:rgba(15,14,13,.28); --m-border2:rgba(15,14,13,.65);
  --m-route:#0F0E0D; --m-hero:#FF6B57; --m-case:#0F0E0D; --m-label:#0F0E0D; --m-dot:#0F0E0D; --m-halo:#FFF1DC;
  --m-hero-w:4.6; --m-route-w:1.6; --m-case-extra:3.4; --m-label-px:12; --m-dot-px:4.6;
  --m-fx:.62; --m-fy:.4; --m-final-cx:404; --m-min-s:.68;
}
@media (min-width:900px){:root{--bar:78px}}
@media (max-width:600px){:root{--m-label-px:10.5;--m-dot-px:4;--m-fx:.5;--m-fy:.36}}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;background:var(--night);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--hdr)}
body{margin:0;background:var(--night);color:var(--white);font:400 1.0625rem/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;padding-bottom:var(--bar)}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3,blockquote{margin:0;font-weight:400}
:focus-visible{outline:4px solid var(--white);outline-offset:3px;box-shadow:0 0 0 4px var(--night)}
.on-coral :focus-visible,.on-cream :focus-visible{outline-color:var(--night);box-shadow:none}
.skip{position:absolute;left:12px;top:-70px;z-index:100;background:var(--white);color:var(--night);padding:10px 16px;font:700 1rem var(--f-body);text-decoration:none}
.skip:focus{top:12px}
.on-coral{background:var(--coral);color:var(--night)}
.on-cream{background:var(--cream);color:var(--night)}
.on-night{background:var(--night);color:var(--white)}
.h-disp{font-family:var(--f-disp);font-weight:900;letter-spacing:-.035em;line-height:.92}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border:3px solid var(--night);background:var(--coral);color:var(--night);font:800 1.0625rem/1 var(--f-body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}
@media (hover:hover){.btn:hover{background:var(--white)}}
.btn:active{transform:translate(2px,2px)}
.btn--lg{min-height:88px;padding:0 64px;font-size:1.9rem;border-width:4px}
.btn--sm{min-height:40px;padding:0 16px;font-size:.9375rem;border-width:2px}
.btn--dark{background:var(--night);color:var(--white);box-shadow:8px 8px 0 var(--cream)}
@media (hover:hover){.btn--dark:hover{background:var(--cream);color:var(--night);box-shadow:8px 8px 0 var(--night)}}
.btn--ghost{background:transparent;color:var(--night)}
@media (hover:hover){.btn--ghost:hover{background:var(--night);color:var(--cream)}}
.hdr .btn{border-color:var(--coral)}

/* ---------- Lila banner and header ---------- */
.banner{position:relative;display:flex;align-items:center;background:var(--coral);color:var(--night)}
.banner__link{display:flex;align-items:center;gap:12px;flex:1;min-height:56px;padding:8px 56px 8px var(--pad);color:inherit;text-decoration:none;font:600 .9375rem/1.35 var(--f-body)}
.banner__link img{width:40px;height:40px;flex:none;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--night)}
.banner__meet{font-weight:800;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.banner .dismiss{position:absolute;right:8px;top:50%;translate:0 -50%;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--night);font:400 1.7rem/1 var(--f-body);cursor:pointer}
.banner :focus-visible{outline-color:var(--night);box-shadow:none}
.hdr{position:sticky;top:0;z-index:60;height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--pad);background:var(--night);color:var(--white)}
.brand{display:flex;align-items:center;gap:10px;color:var(--white);text-decoration:none;font:700 1.0625rem/1 var(--f-disp);letter-spacing:-.01em;white-space:nowrap}
.logo{width:22px;height:auto;aspect-ratio:1992/2662;flex:none}
@media (max-width:400px){.brand{font-size:.95rem;gap:8px}.hdr .btn{padding:0 14px;min-height:42px}}


/* ---------- header navigation, the phone menu ---------- */
.nav{display:flex;gap:clamp(1rem,2.4vw,2rem);margin-left:auto;margin-right:clamp(1rem,2vw,1.75rem)}
.nav a{font:600 .9375rem/1 var(--f-body);color:var(--white);text-decoration:none;padding:.5rem 0;border-bottom:2px solid transparent}
@media (hover:hover){.nav a:hover{border-bottom-color:var(--coral)}}
.nav a[aria-current="page"]{border-bottom-color:var(--coral)}
.hdr__act{display:flex;align-items:center;gap:.6rem}
.menu-btn{display:none;align-items:center;gap:.5rem;min-height:42px;padding:0 14px;background:transparent;color:var(--white);border:2px solid rgba(242,234,219,.55);font:700 .6875rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.14em;cursor:pointer}
.menu-btn i{position:relative;display:block;width:14px;height:2px;background:currentColor}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;width:14px;height:2px;background:currentColor}
.menu-btn i::before{top:-5px}.menu-btn i::after{top:5px}
@media (max-width:699px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;top:var(--hdr);left:0;right:0;flex-direction:column;gap:0;margin:0;padding:.25rem var(--pad) 1.25rem;background:var(--night);border-top:1px solid rgba(242,234,219,.18);border-bottom:3px solid var(--coral)}
  .nav.is-open{display:flex}
  .nav a{padding:1rem 0;font-size:1.25rem;border-bottom:1px solid rgba(242,234,219,.14)}
}
@media (max-width:479px){.menu-btn{min-width:44px;justify-content:center;padding:0 12px}.menu-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hdr__act{gap:.5rem}}
@media (max-width:379px){.brand span{display:none}}

/* ---------- the scoreboard bar ---------- */
.sb{position:fixed;left:0;right:0;bottom:0;z-index:70;height:var(--bar);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--pad);background:var(--night);color:var(--white);border-top:3px solid var(--coral);transition:transform .35s ease}
.sb.hide{transform:translateY(100%)}
.sb__n{display:flex;align-items:baseline;gap:.6rem}
.sb__n b{font:900 2.25rem/1 var(--f-disp);letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums}
.sb__n span{font:700 .75rem/0.9167 var(--f-body);text-transform:uppercase;letter-spacing:.14em}
.sb__n--home b{color:var(--coral)}
.sb__dogs{display:none;flex-wrap:nowrap;align-items:center;gap:3px}
.sb__dogs i{flex:none;width:22px;aspect-ratio:1407/1498;background:var(--white);opacity:.22;-webkit-mask:var(--dog) center/contain no-repeat;mask:var(--dog) center/contain no-repeat}
.sb__dogs i.on{background:var(--coral);opacity:1}
@media (min-width:900px){.sb__dogs{display:flex}.sb__n b{font-size:2.75rem}}

/* ---------- 1. THE HERO (night). Static layout by default; the scroll story switches on with .hero--anim ---------- */
.hero{position:relative;background:var(--night);color:var(--white);padding:clamp(2rem,5vh,3.5rem) 0 clamp(3rem,8vh,5rem)}
.hero__h1wrap{padding:0 var(--pad)}
.hero h1{font:900 clamp(3rem,13.6vw,8.4rem)/.9 var(--f-disp);letter-spacing:-.04em;text-wrap:balance}
.hero__sub{margin-top:clamp(.7rem,1.8vh,1.1rem);max-width:30rem;font:500 clamp(1rem,1.9vw,1.25rem)/1.4 var(--f-body);color:rgba(242,234,219,.88)}
.hero__photo{position:relative;margin-top:clamp(1.5rem,4vh,2.5rem);aspect-ratio:4/3;overflow:hidden}
.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 76%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 76%,transparent 100%)}
.hero__steps{display:grid;gap:1rem;padding:2rem var(--pad) 0;max-width:48rem}
.hero__steps p{font:700 clamp(1.5rem,5.4vw,2.7rem)/1.12 var(--f-disp);letter-spacing:-.015em}
.hero__steps .s4{display:flex;align-items:center;gap:1rem;margin-top:.4rem}
.rescue{color:var(--coral)}
.s4__t{font:700 .75rem/1.3 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.s4__l{display:block;flex:1;max-width:min(22rem,40vw);height:2px;background:var(--coral)}
/* line masks made by the splitter */
.ln{display:block;overflow:hidden;padding:.12em 0 .2em;margin:-.12em 0 -.2em}
.ln__in{display:block;white-space:nowrap;will-change:transform}
.w{display:inline-block}
/* the pinned, animated hero */
.hero--anim{height:calc(100dvh - var(--hdr) - var(--bar));min-height:380px;padding:0;overflow:hidden;--steps-top:31%}
.hero--anim .hero__inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);padding-top:clamp(.9rem,2.6vh,1.6rem)}
.hero--anim .hero__h1wrap{transform-origin:0 0;will-change:transform,opacity}
.hero--anim .hero__photo{margin-top:clamp(.6rem,2vh,1.2rem);aspect-ratio:auto;min-height:0;will-change:opacity}
.hero--anim .hero__steps{position:absolute;left:var(--pad);right:var(--pad);top:var(--steps-top);padding:0;max-width:none}
.hero--anim .hero__steps p{max-width:46rem}
@media (min-width:900px){.hero--anim{--steps-top:34%}}
html.hero-wait .hero__inner,html.hero-wait .hero__steps{visibility:hidden}

/* ---------- 2. THE PIPELINE: pinned cream map ---------- */
.pipeline{position:relative;background:var(--night)}
.stage{position:relative;overflow:hidden;background:var(--m-sea);height:62svh;min-height:340px}
.pipeline:not(.is-static){height:100vh;height:100dvh}
.pipeline:not(.is-static) .stage{height:calc(100% - var(--bar))}
.map{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.map .countries path{fill:var(--m-land);stroke:var(--m-border);stroke-width:.4;stroke-linejoin:round}
.map .countries .rc{stroke:var(--m-border2);stroke-width:.8}
.map .countries .src{fill:var(--m-land)}
.map .routes .rt{fill:none;stroke:var(--m-route);stroke-linecap:round}
.map .routes .rt.hero{stroke:var(--m-hero)}
.map .routes .rt.casing{stroke:var(--m-case)}
.rt{marker-end:none}
.rt.drawn{marker-end:url(#arC)}
.rt.hero.drawn{marker-end:url(#arH)}
.rt.casing,.rt.casing.drawn{marker-end:none}
#arH path{fill:var(--coral);stroke:var(--night);stroke-width:1.4;stroke-linejoin:round}
#arC path{fill:var(--m-route)}
.rt.flow{stroke-dasharray:4 8!important;animation:flow 1.05s linear infinite}
.rt.hero.flow{stroke-dasharray:10 3!important;animation-duration:.8s}
.rt.casing.flow{stroke-dasharray:none!important;animation:none}
@keyframes flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-12}}
.cities circle{fill:var(--m-dot)}
.cities text{font-family:var(--f-body);font-weight:700;text-transform:uppercase;letter-spacing:.08em;fill:var(--m-label);paint-order:stroke;stroke:var(--m-halo);stroke-width:.34em;stroke-linejoin:round}
.scrim{display:none}
.foot{position:absolute;z-index:3;left:var(--pad);top:14px;max-width:min(46rem,calc(100% - 2 * var(--pad)));padding:.45rem .7rem;background:var(--night);color:var(--white);font:600 .75rem/1.4667 var(--f-body);text-transform:uppercase;letter-spacing:.12em}
.pipeline:not(.is-static) .foot{top:calc(var(--hdr) + 14px)}
.beats{position:relative;z-index:3}
.pipeline:not(.is-static) .beats{position:absolute;left:var(--pad);right:var(--pad);bottom:calc(var(--bar) + clamp(.9rem,3vh,1.75rem));max-width:38rem}
.pipeline:not(.is-static) .beat{position:absolute;left:0;right:0;bottom:0;opacity:0;visibility:hidden}
.is-static .beats{display:grid;gap:2rem;padding:2.5rem var(--pad) 3.5rem}
.beat{background:var(--coral);color:var(--night);border:4px solid var(--night);padding:1rem 1.2rem 1.3rem;box-shadow:8px 8px 0 var(--night)}
.eyebrow{display:inline-block;margin-bottom:.8rem;padding:.45em .7em;background:var(--night);color:var(--white);font:700 .75rem/0.9167 var(--f-body);text-transform:uppercase;letter-spacing:.14em}
.big{font:900 clamp(1.7rem,min(4.2vw,5.8svh),3.1rem)/1 var(--f-disp);letter-spacing:-.03em;margin-bottom:.65rem;text-wrap:balance}
.is-static .big{font-size:clamp(1.8rem,4.6vw,2.8rem)}
.sub{font:500 clamp(.9375rem,1.4vw,1.0625rem)/1.5 var(--f-body);color:var(--night)}

/* ---------- the transition: one smooth change from night to coral, scrubbed by scroll ---------- */
.bridge{position:relative;height:150svh;background:var(--night);color:var(--white)}
.bridge__wash{position:absolute;inset:0;background:var(--coral);opacity:0;pointer-events:none}
.bridge__in{position:sticky;top:var(--hdr);height:calc(100svh - var(--hdr) - var(--bar));display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad)}
.bridge p{font:900 clamp(3rem,11vw,10rem)/.94 var(--f-disp);letter-spacing:-.04em}
.bridge .b{font-style:italic}
.bridge.is-coral .bridge__wash{opacity:1}
.bridge.is-coral{color:var(--night)}

/* ---------- posters ---------- */
.poster{position:relative;padding:clamp(3rem,8vh,5.5rem) var(--pad) clamp(3.5rem,9vh,6rem)}
.tag{display:inline-block;padding:.5em .8em;background:var(--night);color:var(--white);font:800 .75rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.16em}

/* 3. what I do now (coral) */
.now__grid{display:grid;gap:2.25rem;align-items:start}
.mega{font:900 clamp(3.2rem,13.6vw,10rem)/.92 var(--f-disp);letter-spacing:-.04em;text-wrap:balance}
.now__lead{margin-top:1.4rem;font:800 clamp(1.3rem,2.6vw,1.9rem)/1.3 var(--f-body);max-width:30rem}
.reel{position:relative;margin:0;aspect-ratio:4/3;background:#000;border:6px solid var(--night);box-shadow:12px 12px 0 var(--night)}
.reel video{width:100%;height:100%;object-fit:cover}
.reel .btn{position:absolute;left:10px;bottom:10px;background:var(--cream)}
.now__note{margin-top:2rem;display:grid;gap:1rem;max-width:34rem}
.now__note p{font:500 1.125rem/1.55 var(--f-body)}
.now__note .strong{font:900 clamp(1.7rem,3.4vw,2.6rem)/1 var(--f-disp);letter-spacing:-.03em}
@media (min-width:900px){.now__grid{grid-template-columns:6fr 6fr;gap:clamp(2.5rem,6vw,6rem)}}

/* 4. proof (night) */
.proof__big{font:900 clamp(4.6rem,24vw,18rem)/.84 var(--f-disp);letter-spacing:-.05em}
.proof__big span{color:var(--coral)}
.proof__grid{display:grid;gap:2.5rem;margin-top:clamp(1.75rem,5vh,3rem);align-items:start}
.proof__facts{display:grid;gap:1.1rem;max-width:34rem}
.proof__facts p{font:600 clamp(1.2rem,2.2vw,1.65rem)/1.35 var(--f-body)}
.proof__facts .third{font:900 clamp(1.8rem,3.6vw,2.9rem)/1 var(--f-disp);letter-spacing:-.03em;color:var(--coral)}
.frog{margin:0;max-width:30rem}
.frog__pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.frog img{width:100%;aspect-ratio:4/5;object-fit:cover;border:4px solid var(--white)}
.frog figcaption{margin-top:.9rem;font:500 .875rem/1.5 var(--f-body)}
@media (min-width:900px){.proof__grid{grid-template-columns:7fr 5fr;gap:clamp(2.5rem,6vw,6rem)}}

/* 5. the goal: a split poster, then the sentences */
.goal{padding:0}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - var(--hdr))}
.half{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;overflow:hidden}
.half b{font:900 min(36vw,54svh)/.9 var(--f-disp);letter-spacing:-.05em;font-variant-numeric:lining-nums tabular-nums;padding-bottom:.04em}
.half span{margin-top:clamp(.9rem,3.5svh,2.2rem);font:700 clamp(.75rem,1.6vw,1.1rem)/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.18em}
.half--home{background:var(--night);color:var(--white)}
.half--home b{color:var(--coral)}
.half--wait{background:var(--coral);color:var(--night)}
.goal__text{padding:clamp(3rem,8vh,5.5rem) var(--pad) clamp(3.5rem,9vh,6rem);background:var(--night);color:var(--white);display:grid;gap:1.25rem;justify-items:start}
.goal__a{font:900 clamp(2.2rem,5.6vw,4.6rem)/.98 var(--f-disp);letter-spacing:-.035em;max-width:20ch;text-wrap:balance}
.goal__b{font:500 clamp(1.15rem,1.9vw,1.4rem)/1.55 var(--f-body);max-width:34rem}
.dogs{display:flex;flex-wrap:wrap;gap:8px;max-width:34rem;margin-top:.5rem}
.dogs i{flex:none;width:34px;aspect-ratio:1407/1498;background:var(--white);opacity:.22;-webkit-mask:var(--dog) center/contain no-repeat;mask:var(--dog) center/contain no-repeat;transition:background-color .2s ease,opacity .2s ease}
.dogs i.on{background:var(--coral);opacity:1}
.raised{font:700 1rem/1.4 var(--f-body)}

/* 6. donate (coral) */
.give{min-height:calc(100svh - var(--bar));display:flex;flex-direction:column;justify-content:center;gap:clamp(1.75rem,4vh,3rem)}
.give h2{font:900 clamp(3.4rem,15vw,13rem)/.9 var(--f-disp);letter-spacing:-.045em;text-wrap:balance}
.give__act{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem 2.4rem}
.give__note{font:700 1rem/1.4 var(--f-body)}


/* ---------- saved dogs wall (one component, used on the homepage and the About page) ---------- */
.dogwall{padding:clamp(3.5rem,9vh,6rem) var(--pad)}
.dogwall__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 2rem;margin-bottom:clamp(1.5rem,4vh,2.5rem)}
.dogwall h2{font:900 clamp(2.4rem,6vw,4.8rem)/.95 var(--f-disp);letter-spacing:-.035em}
.dogwall__all{font:700 .75rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.16em;color:var(--coral);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.dogwall__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.9rem,2vw,1.5rem)}
@media (min-width:700px){.dogwall__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1200px){.dogwall__list{grid-template-columns:repeat(5,minmax(0,1fr))}}
.dogcard{margin:0}
.dogcard figure{margin:0}
.dogcard img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#1b1917}
.dogcard figcaption{margin-top:.65rem;text-align:center;font:600 .9375rem/1.3 var(--f-body)}
.dogcard figcaption span{display:block;font-weight:400;color:var(--dim)}
.dogwall__note{margin-top:1.25rem;font:700 .75rem/0.9167 var(--f-body);text-transform:uppercase;letter-spacing:.18em;color:var(--dim)}
.dogwall.on-cream .dogwall__all{color:var(--night)}
.dogwall.on-cream .dogwall__note,.dogwall.on-cream .dogcard figcaption span{color:rgba(15,14,13,.7)}

/* ---------- the donor quote: a quiet moment between two loud sections ---------- */
.quiet{display:flex;justify-content:center;padding:max(12vh,4rem) var(--pad)}
.quiet figure{margin:0}
.quiet__rule{display:block;width:40px;height:2px;margin-bottom:1.5rem;background:var(--coral)}
.quiet blockquote{margin:0;max-width:34ch;font:italic 400 clamp(1.375rem,2.2vw,1.875rem)/1.4 var(--f-disp)}
.quiet blockquote p{font:inherit;color:rgba(242,234,219,.88)}
.quiet figcaption{margin-top:1.5rem;font:400 .9375rem/1.5 var(--f-body);color:var(--dim)}
.quiet figcaption b{font-weight:600;color:var(--white)}
.quiet figcaption a{color:var(--white);font-weight:600;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px}

/* 7. WALL OF LOVE (night) */
.wall{padding:clamp(4rem,11vh,7.5rem) var(--pad)}
.wall__eyebrow{margin-bottom:1.1rem;font:700 .75rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.18em;color:var(--coral)}
.wall h2{font:900 clamp(2.8rem,9vw,7.5rem)/.94 var(--f-disp);letter-spacing:-.04em;max-width:12ch;text-wrap:balance}
.wall__intro{margin-top:1.4rem;font:400 clamp(1.15rem,2vw,1.4rem)/1.55 var(--f-body);max-width:34rem}
.wall__list{list-style:none;margin:clamp(2rem,6vh,3.5rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.25rem;font:500 1rem/1.4 var(--f-body)}
.wall__list li{display:flex;align-items:baseline;gap:.6rem;overflow-wrap:anywhere}
.wall__list li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--coral);transform:translateY(-.08em)}
@media (min-width:640px){.wall__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem 1.75rem}}
@media (min-width:1024px){.wall__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.wall__more{margin-top:clamp(2rem,5vh,3rem);font:italic 600 clamp(1.4rem,3vw,2.2rem)/1.2 var(--f-disp);letter-spacing:-.015em;max-width:40rem}
.wall__off{margin-top:1.5rem;font:400 .9375rem/1.5 var(--f-body);color:var(--dim)}
.wall__off a{color:var(--white);font-weight:700;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px}

/* 8. Lila (cream) */
.lila{scroll-margin-top:var(--hdr)}
.lila__grid{display:grid;gap:clamp(2.25rem,5vh,3.5rem);align-items:start}
.lila .tag{margin-bottom:1rem;color:var(--coral)}
.lila h2{font:900 clamp(3rem,10.5vw,8.4rem)/.92 var(--f-disp);letter-spacing:-.04em;margin-bottom:1.5rem}
.lila__copy{display:grid;gap:1.1rem;max-width:36rem}
.lila__copy p{font:500 1.1875rem/1.6 var(--f-body)}
.lila__copy a:not(.btn){font-weight:800;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:4px;text-underline-offset:4px}
.lila__act{margin:.5rem 0 .25rem}
.lila__money{padding-top:1.1rem;border-top:3px solid var(--night);font:800 1.0625rem/1.5 var(--f-body)}
.lila__pics{display:grid;grid-auto-flow:column;grid-auto-columns:66%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 12px 16px 0;-webkit-overflow-scrolling:touch}
.lila__pics figure{margin:0;scroll-snap-align:start}
.lila__pics img{width:100%;aspect-ratio:3/4;object-fit:cover;border:5px solid var(--night);box-shadow:8px 8px 0 var(--coral)}
@media (min-width:900px){
  .lila__grid{grid-template-columns:5fr 7fr}
  .lila__pics{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible;padding:0 12px 12px 0}
}



/* ---------- shared footer, centred ---------- */
.ftr{padding:clamp(3rem,8vh,5rem) var(--pad) 3.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;background:var(--night);color:var(--white);border-top:3px solid var(--coral)}
.flowers{display:flex;width:200px;aspect-ratio:1200/453}
@media (min-width:700px){.flowers{width:300px}}
.fl{display:block;height:100%;background-repeat:no-repeat;background-image:url(footer-flowers.png);background-image:image-set(url(footer-flowers.webp) type("image/webp"),url(footer-flowers.png) type("image/png"));transform-origin:50% 100%}
.fl:nth-child(1){flex:0 0 26.8333%;background-size:372.671% 100%;background-position:0.000% 0}
.fl:nth-child(2){flex:0 0 23.4167%;background-size:427.046% 100%;background-position:35.038% 0}
.fl:nth-child(3){flex:0 0 24.0833%;background-size:415.225% 100%;background-position:66.191% 0}
.fl:nth-child(4){flex:0 0 25.6667%;background-size:389.610% 100%;background-position:100.000% 0}
.ftr__ill{margin-top:-.4rem;font:700 .625rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.2em;color:rgba(242,234,219,.55)}
.ftr__label{margin-top:.9rem;font:600 .75rem/1.375 var(--f-body);text-transform:uppercase;letter-spacing:.2em;color:rgba(242,234,219,.8)}
.pay{display:flex;flex-direction:column;align-items:center;gap:.9rem}
@media (min-width:640px){.pay{flex-direction:row;gap:1.5rem}}
.pay__wd{display:block}
.pay__wd img{display:block;height:30px;width:auto}
.pay__plate{display:inline-flex;align-items:center;padding:.55rem .95rem;background:var(--cream);border-radius:10px}
.pay__plate img{display:block;height:20px;width:auto}
.ftr__how{font:600 .875rem/1.2 var(--f-body);color:var(--white);text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:5px}
.ftr__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.6rem;margin-top:1.1rem}
.ftr__links a{font:600 .9375rem/1 var(--f-body);color:var(--white);text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
@media (hover:hover){.ftr__links a:hover{border-bottom-color:var(--coral)}}
.ftr__links .go{color:var(--coral)}
.ftr__third{margin-top:.4rem;font:600 .9375rem/1.5 var(--f-body)}
.ftr__copy{font:400 .8125rem/1.5 var(--f-body);color:rgba(242,234,219,.7)}

/* Lila switch: set LILA_ON to false at the top of the file */
html.lila-off .lila-only{display:none!important}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- shared page pieces (About and FAQ) ---------- */
.btn--outline{background:transparent;color:var(--white);border-color:var(--white)}
@media (hover:hover){.btn--outline:hover{background:var(--white);color:var(--night)}}
.page-hero{padding:clamp(3.5rem,10vh,7rem) var(--pad) clamp(3rem,8vh,5rem);background:var(--night);color:var(--white)}
.page-hero h1{font:900 clamp(2.8rem,8.2vw,7rem)/.95 var(--f-disp);letter-spacing:-.04em;max-width:15ch;text-wrap:balance}
.page-hero__sub{margin-top:1.5rem;font:500 clamp(1.15rem,2.2vw,1.6rem)/1.4 var(--f-body);max-width:30rem}
.page-hero__act{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;margin-top:2rem}
.page-hero .btn{min-height:56px;padding:0 32px;font-size:1.125rem}
.sec{padding:clamp(3.5rem,9vh,6.5rem) var(--pad)}
.sec__in{max-width:72rem;margin-inline:auto}
.sec h2{font:900 clamp(2.2rem,5.4vw,4.4rem)/.98 var(--f-disp);letter-spacing:-.035em;text-wrap:balance}
.label{margin-bottom:1rem;font:700 .75rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.18em}
.on-night .label{color:var(--coral)}
.on-coral .label,.on-cream .label{color:var(--night)}
.prose{max-width:40rem;margin-top:1.25rem}
.prose p{margin-top:1.1rem;font:400 clamp(1.0625rem,1.4vw,1.25rem)/1.7 var(--f-body)}
.prose p:first-child{margin-top:0}
.prose strong{font-weight:700}
.prose a,.faq a{font-weight:700;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px}
.on-coral .prose a{text-decoration-color:var(--night)}

/* About: numbers strip */
.strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:900px){.strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
.strip p{padding:1.1rem 1.25rem 1.4rem 0;border-top:3px solid var(--night);font:700 clamp(1.05rem,1.7vw,1.4rem)/1.3 var(--f-disp);letter-spacing:-.01em}
.strip b{font-weight:900;font-size:1.3em;letter-spacing:-.03em}

/* About: how it began */
.began{display:grid;gap:2.5rem;align-items:start}
@media (min-width:900px){.began{grid-template-columns:6fr 5fr;gap:clamp(2.5rem,6vw,5rem)}}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:34rem}
.pair img{width:100%;aspect-ratio:4/5;object-fit:cover;border:4px solid var(--white)}
.pair__cap{margin-top:.9rem;max-width:34rem;font:500 .875rem/1.5 var(--f-body);color:var(--dim)}

/* About: how we rescue */
.steps{display:grid;grid-template-columns:1fr;margin-top:2rem}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.step{padding:1.4rem 1.5rem 1.8rem 0;border-top:3px solid var(--night)}
.step h3{font:900 clamp(2rem,3.6vw,3rem)/1 var(--f-disp);letter-spacing:-.03em}
.step p{margin-top:.8rem;max-width:20rem;font:500 1.0625rem/1.55 var(--f-body)}

/* About: the night that changed everything */
.more{margin-top:1.75rem}
.more summary{display:inline-flex;align-items:center;gap:.8rem;min-height:54px;padding:0 24px;border:3px solid var(--night);background:var(--night);color:var(--white);font:800 1rem/1 var(--f-body);cursor:pointer;list-style:none}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(var(--coral),var(--coral)) center/100% 2px no-repeat,linear-gradient(var(--coral),var(--coral)) center/2px 100% no-repeat}
.more[open] summary::after{background:linear-gradient(var(--coral),var(--coral)) center/100% 2px no-repeat}
.more__body{margin-top:1.25rem}
.hospital{margin-top:1.5rem;max-width:40rem;padding-left:1rem;border-left:4px solid var(--coral);font:600 .9375rem/1.5 var(--f-body)}

/* About: where your money goes */
.money{display:grid;grid-template-columns:1fr;margin-top:2rem}
@media (min-width:800px){.money{grid-template-columns:repeat(3,minmax(0,1fr))}}
.money p{padding:1.2rem 1.25rem 1.5rem 0;border-top:3px solid var(--night);font:600 1.0625rem/1.4 var(--f-body)}
.money b{display:block;font:900 clamp(2.2rem,3.4vw,3.4rem)/1 var(--f-disp);letter-spacing:-.04em;white-space:nowrap}
.fees{margin-top:2rem;max-width:38rem;font:700 clamp(1.15rem,1.8vw,1.4rem)/1.45 var(--f-body)}

/* About: we don't stop, and the closing */
.stop h2{font-size:clamp(3rem,10vw,8.5rem);line-height:.92;letter-spacing:-.045em}
.closing{text-align:left}
.closing h2{max-width:14ch}
.closing .btn{margin-top:2rem}

/* FAQ */
.faq-group{margin-top:clamp(2.5rem,6vh,4rem);scroll-margin-top:calc(var(--hdr) + 16px)}
.faq-group:first-of-type{margin-top:0}
.faq-group h2{margin-bottom:.9rem;font:900 clamp(1.8rem,3.6vw,2.8rem)/1 var(--f-disp);letter-spacing:-.03em}
.faq details{border-top:1px solid rgba(242,234,219,.24)}
.faq details:last-child{border-bottom:1px solid rgba(242,234,219,.24)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;cursor:pointer;list-style:none;font:700 clamp(1.05rem,1.8vw,1.3rem)/1.3 var(--f-body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(var(--coral),var(--coral)) center/100% 2px no-repeat,linear-gradient(var(--coral),var(--coral)) center/2px 100% no-repeat}
.faq details[open] summary::after{background:linear-gradient(var(--coral),var(--coral)) center/100% 2px no-repeat}
.faq .a{max-width:42rem;padding:0 0 1.5rem;font:400 1.0625rem/1.7 var(--f-body);color:rgba(242,234,219,.92)}
.faq .a p+p{margin-top:.8rem}
.faq .a a{color:var(--white)}

/* ---------- header: Menu button on every screen, the old inline links are gone ---------- */
.hdr .menu-btn{display:inline-flex;min-height:40px;padding:0 14px;font-size:.75rem}
.hdr .menu-btn span{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important}
.hdr .nav{display:none!important}

/* ---------- the full-screen menu ---------- */
html.menu-open{overflow:hidden}
.fsmenu{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;padding:0 var(--pad) calc(18px + env(safe-area-inset-bottom,0px));background:var(--night);color:var(--white);overflow:hidden;height:100vh;height:100dvh;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.7,0,.2,1)}
.fsmenu.open{clip-path:inset(0 0 0 0)}
.fsmenu__bar,.fsmenu__nav,.fsmenu__foot{position:relative;z-index:1;width:100%;max-width:76rem;margin-inline:auto}
.fsmenu__bar{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);flex:none}
.fsmenu__close i{position:relative;display:block;width:14px;height:14px}
.fsmenu__close i::before,.fsmenu__close i::after{content:"";position:absolute;left:0;top:5px;width:14px;height:2px;background:var(--night)}
.fsmenu__close i::before{transform:rotate(45deg)}.fsmenu__close i::after{transform:rotate(-45deg)}
.fsmenu__close{gap:.6rem}
.fsmenu__nav{flex:1;display:flex;align-items:center;padding-block:1.5dvh;min-height:0}
.fsmenu__nav ol{list-style:none;width:100%;margin:0;padding:0}
.fsmenu__nav li{overflow:hidden;border-bottom:2px solid rgba(242,234,219,.2)}
.fsmenu__nav li:first-child{border-top:2px solid rgba(242,234,219,.2)}
.fsmenu__nav a{display:flex;align-items:baseline;gap:clamp(14px,3vw,36px);padding:clamp(2px,1.1dvh,12px) 0;color:var(--white);text-decoration:none;font:900 clamp(1.1rem,min(8.8vw,calc((78dvh - 96px - var(--mf)) / 8)),8rem)/1 var(--f-disp);letter-spacing:-.04em;transition:color .2s ease,transform .3s ease}
.fsmenu__nav .n{min-width:2.4em;font:700 clamp(.75rem,1.3vw,.95rem)/1 var(--f-body);letter-spacing:.18em;color:var(--coral)}
.fsmenu__nav .t{display:inline-block;transform:translateY(105%);transition:transform .75s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*70ms + .3s)}
.fsmenu.open .t{transform:none}
.fsmenu__nav a:hover,.fsmenu__nav a:focus-visible,.fsmenu__nav a[aria-current="page"]{color:var(--coral)}
@media (hover:hover){.fsmenu__nav a:hover{transform:translateX(.12em)}}
.fsmenu__foot{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;padding-top:1.25rem}
.fsmenu__foot p{font:500 1rem/1.4 var(--f-body);color:var(--dim)}
.fsmenu__foot p a,.fsmenu__lila{font-weight:700;color:var(--white);text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:5px}
.fsmenu__lila{color:var(--coral)}
.fsmenu__mark{position:absolute;right:-5vw;bottom:-8vh;height:78vh;width:auto;opacity:.06;pointer-events:none}

/* ---------- pieces shared by the new pages ---------- */
.strip b{display:block}
.on-night .step,.on-night .strip p,.on-night .money p{border-top-color:var(--white)}
.steps--3{grid-template-columns:1fr}
@media (min-width:700px){.steps--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.5rem}}
.step .btn{margin-top:1.3rem}
.step p+p{margin-top:.7rem}
.step .lnk,.prose .lnk{font-weight:700;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px}
.on-coral .lnk{text-decoration-color:var(--night)}
.also2{display:grid;gap:2.5rem}
@media (min-width:800px){.also2{grid-template-columns:1fr 1fr;gap:4rem}}
.also2 h2{font-size:clamp(1.8rem,3.4vw,2.8rem);max-width:14ch}
.also2 .prose{margin-top:1rem}
.page-prose h2{margin-top:2.25rem;font:900 clamp(1.5rem,3vw,2.2rem)/1.05 var(--f-disp);letter-spacing:-.03em}
.page-prose h2:first-child{margin-top:0}
.page-prose p{margin-top:.8rem;max-width:40rem;font:400 1.125rem/1.7 var(--f-body)}
.page-prose a{font-weight:700;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px}

/* ---------- Lila ---------- */
.facts{list-style:none;margin:1.5rem 0 0;padding:0;max-width:34rem}
.facts li{padding:1rem 0;border-top:3px solid var(--night);font:500 1.125rem/1.5 var(--f-body)}
.facts li:last-child{border-bottom:3px solid var(--night)}
.facts b{display:block;margin-bottom:.3rem;font:700 .75rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.18em}
.lgal{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:34rem}
.lgal img{width:100%;aspect-ratio:3/4;object-fit:cover;border:4px solid var(--night)}
.lgal img:first-child{grid-column:1/-1;aspect-ratio:4/5}
.tip h2{max-width:16ch}
.tip .page-hero__act{margin-top:1.75rem}
.tip .fine{margin-top:2rem;padding-top:1.1rem;max-width:36rem;border-top:2px solid rgba(242,234,219,.3);font:700 1rem/1.5 var(--f-body)}

/* ---------- stories and the dogs waiting ---------- */
.sfig{margin:0;max-width:34rem}
.sfig img{width:100%;aspect-ratio:4/5;object-fit:cover;border:4px solid var(--night)}
.on-night .sfig img,.on-night .pair img{border-color:var(--white)}
.wcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1.5rem;margin-top:2rem}
.wcards:empty{display:none}
.wcard{background:var(--cream);color:var(--night);border:4px solid var(--night);box-shadow:8px 8px 0 var(--night)}
.wcard img{width:100%;aspect-ratio:4/5;object-fit:cover;border-bottom:4px solid var(--night)}
.wcard__b{padding:1rem 1.1rem 1.3rem}
.wcard h3{font:900 1.7rem/1 var(--f-disp);letter-spacing:-.03em}
.wcard .st{display:inline-block;margin-top:.6rem;padding:4px 10px;background:var(--night);color:var(--white);font:700 .75rem/1.2 var(--f-body);letter-spacing:.08em;text-transform:uppercase}
.wcard p{margin-top:.7rem;font:500 1rem/1.5 var(--f-body)}
.wcard .lnk{display:inline-block;margin-top:.8rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px}
.wempty{margin-top:1.5rem;max-width:30rem;font:900 clamp(1.4rem,2.6vw,2rem)/1.2 var(--f-disp);letter-spacing:-.02em}

/* ---------- the Giving Store ---------- */
.shop-hero h1{max-width:11ch}
.band{background:var(--coral);color:var(--night);overflow:hidden;border-block:1px solid var(--night)}
.band__track{display:flex;width:max-content;animation:band 40s linear infinite}
.band__track span{flex:none;display:flex;align-items:center;padding:1rem 0 1rem 2.2rem;font:900 clamp(1.6rem,4.4vw,3.2rem)/1 var(--f-disp);letter-spacing:-.03em;white-space:nowrap}
.band__track span::after{content:"";width:.42em;height:.42em;margin-left:2.2rem;background:var(--night);transform:rotate(45deg)}
@keyframes band{to{transform:translateX(-50%)}}
.tees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.6vw,2rem);margin:2.5rem 0 0;padding:0;list-style:none}
@media (min-width:900px){.tees{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1300px){.tees{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tee{position:relative;display:flex;flex-direction:column;background:var(--cream);color:var(--night);border:4px solid var(--night);box-shadow:8px 8px 0 var(--night);transition:transform .2s ease,box-shadow .2s ease}
@media (hover:hover){.tee:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 var(--night)}}
.tee figure{position:relative;margin:0;aspect-ratio:1/1;background:var(--night);border-bottom:4px solid var(--night);overflow:hidden}
.tee figure img{width:100%;height:100%;object-fit:cover}
.tee__mock{position:absolute;top:10px;left:10px;padding:5px 10px;background:var(--night);color:var(--white);font:700 .6875rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase}
.tee__price{position:absolute;right:0;bottom:0;padding:10px 16px;background:var(--coral);border-top:4px solid var(--night);border-left:4px solid var(--night);font:900 clamp(1.1rem,2.2vw,1.6rem)/1 var(--f-disp);letter-spacing:-.02em}
.tee__b{display:flex;flex-direction:column;gap:.55rem;flex:1;padding:1rem 1.1rem 1.25rem}
.tee h3{font:900 clamp(1.15rem,2vw,1.6rem)/1.05 var(--f-disp);letter-spacing:-.025em}
.tee p{font:500 .9375rem/1.45 var(--f-body)}
.tee__stat{align-self:flex-start;padding:4px 10px;background:var(--night);color:var(--white);font:700 .75rem/1.2 var(--f-body);letter-spacing:.08em;text-transform:uppercase}
.tee .btn{margin-top:auto;min-height:48px;width:100%}
.tee__none{margin-top:1.5rem;max-width:32rem;font:700 1.125rem/1.5 var(--f-body)}
.how{display:grid;gap:2rem;margin:2.25rem 0 0;padding:0;list-style:none;counter-reset:h}
@media (min-width:800px){.how{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}}
.how li{border-top:4px solid var(--white);padding-top:1rem;counter-increment:h}
.how li::before{content:counter(h,decimal-leading-zero);display:block;font:900 clamp(3.4rem,8vw,6rem)/.9 var(--f-disp);letter-spacing:-.05em;color:var(--coral)}
.how h3{margin-top:.8rem;font:900 clamp(1.5rem,2.6vw,2.2rem)/1 var(--f-disp);letter-spacing:-.03em}
.how p{margin-top:.6rem;max-width:22rem;font:500 1.0625rem/1.55 var(--f-body)}
.honest h2{max-width:16ch}
.honest .fees{margin-top:1.75rem}

@media (prefers-reduced-motion:reduce){.fsmenu{transition:none}.fsmenu .t{transform:none!important;transition:none}.tee{transition:none}}

/* ---------- the mission: black, left-aligned like every other section ---------- */
.mission{background:var(--night);color:var(--white);padding:clamp(4rem,11vh,7.5rem) var(--pad)}
.mission__in{max-width:60rem}
.mission__eyebrow{margin:0 0 1.1rem;font:700 .75rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.18em;color:var(--coral)}
.mission__h{font:900 clamp(2.8rem,9vw,7.5rem)/.94 var(--f-disp);letter-spacing:-.04em;max-width:12ch;text-wrap:balance}
.mission__h em{font-style:normal;color:var(--coral)}
.mission__p{margin-top:clamp(1.4rem,4vh,2.2rem);max-width:36rem;font:400 clamp(1.15rem,2vw,1.4rem)/1.6 var(--f-body);color:var(--white)}
.mission__p b{font-weight:700;color:var(--coral)}
.foot strong{display:block;margin-bottom:.3rem;font-weight:800}
.goal__fine{margin-top:1rem;max-width:34rem;font:400 .9375rem/1.5 var(--f-body);color:var(--dim)}

/* ---------- one rhythm for every section: space, small label, gap, heading (the Wall of Love is the model) ---------- */
.eyebrow{margin:0 0 1.1rem;font:700 .75rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.18em;color:var(--coral)}
.on-coral .eyebrow,.on-cream .eyebrow{color:var(--night)}
.goal__text .eyebrow,.quiet .eyebrow{color:var(--coral)}
.label{margin-bottom:1.1rem}
.poster:not(.goal){padding-top:clamp(4rem,11vh,7.5rem);padding-bottom:clamp(4rem,11vh,7.5rem)}
.goal__text{padding-top:clamp(4rem,11vh,7.5rem);padding-bottom:clamp(4rem,11vh,7.5rem)}
.sec{padding-top:clamp(4rem,11vh,7.5rem);padding-bottom:clamp(4rem,11vh,7.5rem)}
.dogwall>.label{padding:0;margin-bottom:1.1rem}

/* ---------- the 4 and 16 poster: half the height it was ---------- */
.split{min-height:calc((100svh - var(--hdr)) / 2)}
.half{padding:1.5rem 1rem}
.half b{font:900 min(30vw,26svh)/.9 var(--f-disp)}

/* ---------- the logo: the stretching bulldog, traced as a vector ---------- */
.hdr .logo,.fsmenu__bar .logo{width:auto;height:26px;aspect-ratio:auto}
.hdr .brand span,.fsmenu__bar .brand span{display:none}
@media (min-width:700px){.hdr .brand span,.fsmenu__bar .brand span{display:inline}.brand{font-size:1.2rem;font-weight:900;letter-spacing:-.03em;gap:12px}.hdr .logo,.fsmenu__bar .logo{height:30px}}
.fsmenu__mark{right:-6vw;bottom:-3vh;width:min(125vw,980px);height:auto;opacity:.06}
.ftr__logo{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2.75rem;color:var(--white);text-decoration:none}
.ftr__logo img{width:min(150px,45vw);height:auto}
.ftr__logo span{font:900 clamp(2.1rem,9vw,2.75rem)/.98 var(--f-disp);letter-spacing:-.04em}

/* ---------- free wheelchairs ---------- */
.gearlist{list-style:none;margin-top:1.5rem;max-width:44rem}
.gearlist li{padding:1rem 0;border-top:3px solid var(--night);font:900 clamp(1.4rem,3vw,2.2rem)/1.1 var(--f-disp);letter-spacing:-.02em}
.gearlist li:last-child{border-bottom:3px solid var(--night)}
.also2{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.fine{margin-top:1.5rem;max-width:36rem;font:700 1rem/1.5 var(--f-body)}

/* ---------- photo slots: a real photo, or a clear "photo here" box while you collect them ---------- */
.slot{margin:0;position:relative;overflow:hidden;aspect-ratio:var(--r,4/5);border:4px solid var(--night);background:var(--night)}
.on-night .slot{border-color:var(--white)}
.slot img{width:100%;height:100%;object-fit:cover;display:block}
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;text-align:center;background:repeating-linear-gradient(45deg,#26231f 0 14px,#2e2a26 14px 28px);color:var(--dim);font:700 .75rem/1.4 var(--f-body);letter-spacing:.16em;text-transform:uppercase}
.ph b{color:var(--white);font-weight:700}
.slot .ph{position:absolute;inset:0}
.bannerwrap{padding:0;background:var(--night)}
.bannerwrap .slot--banner{border-width:0 0 4px 0;border-color:var(--night)}

.began>.slot{max-width:34rem}
.dogcard .ph{aspect-ratio:4/5;border:4px solid var(--white)}
.gcards{align-items:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.75rem);margin:2rem 0 0;padding:0;list-style:none}
@media (min-width:900px){.gcards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gcard{background:var(--cream);color:var(--night);border:4px solid var(--night);box-shadow:8px 8px 0 var(--night)}
.gcard .slot{border-width:0 0 4px 0;aspect-ratio:1/1}
.gcard h3{padding:1rem 1.1rem 1.2rem;font:900 clamp(1.1rem,2vw,1.5rem)/1.05 var(--f-disp);letter-spacing:-.025em}

/* ---------- the donor's words: a big coloured mark and a thin line on the right ---------- */
.quiet blockquote{position:relative;padding-right:clamp(1.1rem,3vw,2rem);border-right:2px solid var(--coral)}
.quiet blockquote::before{content:"\201C";display:block;height:.5em;margin:0 0 .1em -.04em;font:900 clamp(9rem,34vw,16rem)/.8 var(--f-disp);color:var(--coral)}
.ftr__mail{margin-top:.6rem;font:400 .875rem/1.4 var(--f-body)}
.ftr__mail a{color:var(--dim);text-decoration:underline;text-decoration-color:rgba(242,234,219,.3);text-underline-offset:4px}

/* ---------- product details ---------- */
.feat{list-style:none;margin:1.25rem 0 0;padding:0}
.feat li{position:relative;padding:.5rem 0 .5rem 1.5rem;font:500 1.0625rem/1.45 var(--f-body)}
.feat li::before{content:"";position:absolute;left:0;top:.95rem;width:.65rem;height:.65rem;background:var(--coral)}
.tablewrap{overflow-x:auto;margin-top:1rem}
.sizes{width:100%;border-collapse:collapse;font:500 1rem/1.4 var(--f-body)}
.sizes th,.sizes td{border:2px solid currentColor;padding:.6rem .75rem;text-align:left;white-space:nowrap}
.sizes thead th{font-weight:800;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.sizes tbody th{font-family:var(--f-disp);font-weight:900;font-size:1.25rem}
.more__body .sizes+p,.more__body p{margin-top:.9rem}
.gcards a{display:block;color:inherit;text-decoration:none}
.gcards--4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:900px){.gcards--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.began>*{min-width:0}
.more__body{min-width:0;max-width:100%}
.tablewrap{max-width:100%}

/* ---------- hero: more of the photo, and the headline beside it on wide screens ---------- */
.hero__photo img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)}
@media (min-width:1000px){
  .hero .hero__inner,.hero--anim .hero__inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-rows:minmax(0,1fr);align-items:stretch;padding-top:0}
  .hero .hero__h1wrap,.hero--anim .hero__h1wrap{grid-column:1;align-self:center}
  .hero .hero__photo,.hero--anim .hero__photo{grid-column:2;grid-row:1;margin:0;aspect-ratio:auto;height:100%;min-height:0}
  .hero h1{font-size:clamp(3rem,min(7.4vw,16svh),7rem)}
  .hero__photo img{object-position:58% 30%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24%);mask-image:linear-gradient(to right,transparent 0,#000 24%)}
  .hero--anim .hero__steps p{max-width:min(40rem,52vw)}
}

/* ---------- "They went home": a carousel ---------- */
.dogwall__list{display:flex;gap:clamp(.9rem,2vw,1.5rem);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 .75rem;scrollbar-width:none;overscroll-behavior-x:contain}
.dogwall__list::-webkit-scrollbar{display:none}
.dogcard{flex:0 0 clamp(13.5rem,21vw,19rem);scroll-snap-align:start}
.dogwall__tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}
.dogwall__nav{display:flex;gap:.6rem}
.dogwall__nav[hidden]{display:none}
.dogwall__nav button{width:48px;height:48px;display:grid;place-items:center;background:transparent;color:inherit;border:3px solid currentColor;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.dogwall__nav button:hover:not(:disabled){background:var(--coral);border-color:var(--coral);color:var(--night)}
.dogwall__nav button:disabled{opacity:.3;cursor:default}
.dogwall__nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}

/* ---------- the donor's words: the mark hangs in the left margin, a thin line runs the height of the text ---------- */
.quiet figure{--qm:clamp(3.6rem,9vw,6.2rem);--qg:clamp(.9rem,2.2vw,1.5rem)}
.quiet blockquote{display:grid;grid-template-columns:var(--qm) 2px minmax(0,1fr);column-gap:var(--qg);padding:0;border:0;max-width:calc(var(--qm) + 2px + var(--qg)*2 + 34ch)}
.quiet blockquote::before{content:"\201C";order:1;align-self:start;height:auto;margin:.12em 0 0;font:900 clamp(6rem,14vw,10rem)/.72 var(--f-disp);color:var(--coral)}
.quiet blockquote::after{content:"";order:2;align-self:stretch;background:var(--coral)}
.quiet blockquote p{order:3;margin:0;max-width:none}
.quiet figcaption{margin-left:calc(var(--qm) + 2px + var(--qg)*2)}

/* ---------- the counter: two rows of ten, four rows of five on a phone ---------- */
.dogs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(.9rem,1.8vw,1.5rem) clamp(.6rem,1.4vw,1.2rem);max-width:44rem;margin-top:1rem}
.dogs i{width:100%}
@media (max-width:699px){.dogs{grid-template-columns:repeat(5,minmax(0,1fr));max-width:22rem;gap:1.2rem 1rem}}

/* ---------- the story sections ---------- */
.give__story{max-width:36rem;margin:0 0 clamp(1.5rem,4vh,2.25rem);font:500 clamp(1.1rem,2vw,1.35rem)/1.5 var(--f-body)}
.give__story p+p{margin-top:.9rem}
.give__days{font-weight:800;letter-spacing:.01em}
.give__see{font:700 1rem/1 var(--f-body);color:var(--night);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.wall__join{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:clamp(1.5rem,4vh,2.25rem)}
.wall__join p{font:700 1.0625rem/1.4 var(--f-body)}

/* ---------- gear: four across, and a call to action ---------- */
@media (min-width:900px){.gcards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gearcta{margin-top:clamp(2rem,5vh,3.25rem);padding-top:clamp(1.5rem,3vh,2rem);border-top:3px solid var(--night);max-width:46rem}
.gearcta p{font:500 clamp(1.1rem,1.8vw,1.3rem)/1.5 var(--f-body)}
.gearcta .page-hero__act{margin-top:1.25rem}

/* ---------- product details: icons, what it is for ---------- */
.feat--ic li{padding-left:0;display:flex;align-items:center;gap:.85rem}
.feat--ic li::before{display:none}
.ic{width:1.75rem;height:1.75rem;flex:none}
.on-night .ic{color:var(--coral)}
.on-cream .ic{color:var(--night)}
.forline{margin-top:1rem;font:500 1.0625rem/1.5 var(--f-body)}
.forline b{font-weight:800}
.vetmark{display:inline-block;margin-left:.75rem;padding:.2rem .55rem;border:2px solid currentColor;font:800 .75rem/0.9167 var(--f-body);letter-spacing:.14em;text-transform:uppercase;vertical-align:middle}
.dogs{width:100%}

/* ---------- hero: the whole photo on narrow or short screens, and no fade at the top ---------- */
@media (max-width:999px){
  .hero--anim{height:auto;min-height:calc(100dvh - var(--hdr) - var(--bar))}
  .hero--anim .hero__inner{height:auto;grid-template-rows:auto auto}
  .hero--anim .hero__photo{min-height:clamp(300px,66vw,640px)}
  .hero__photo img{-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 88%,transparent 100%)}
}
.goal__b--em{font-weight:800}
/* ---------- final copy: the three "where it goes" labels are phrases now, so they wrap ---------- */
.money p{min-width:0}
.money b{white-space:normal;overflow-wrap:anywhere;font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.1}

/* ---------- the marquee: a coral band of short messages, with a pause button and a Donate button that stays still ---------- */
.mq{display:flex;flex-wrap:wrap;align-items:stretch;background:var(--coral);color:var(--night);border-block:1px solid var(--night);position:relative}
.mq__view{flex:1 1 100%;min-width:0;overflow:hidden}
.mq__track{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 0;width:auto;margin:0;padding:1rem clamp(1rem,3vw,2rem);list-style:none}
.mq__track li{display:inline-flex;align-items:center;font:900 clamp(1.5rem,3.4vw,2.7rem)/1.05 var(--f-disp);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.mq__track li::after{content:"";flex:none;width:1.05em;height:1.12em;margin:0 clamp(1rem,2.2vw,1.9rem);background:currentColor;-webkit-mask:var(--dog) center/contain no-repeat;mask:var(--dog) center/contain no-repeat}
.mq__ctl{flex:1 1 100%;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.55rem clamp(1rem,3vw,2rem);background:var(--night);border-top:0}
/* it only moves once the script has built the loop, and never when the visitor asks for less motion */
.mq--ready .mq__track{flex-wrap:nowrap;justify-content:flex-start;width:max-content;gap:0;animation:mq-run var(--mq-dur,60s) linear infinite;will-change:transform}
@keyframes mq-run{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (min-width:900px){
  .mq__view{flex:1 1 0}
  .mq__ctl{flex:0 0 auto;border-top:0;border-left:1px solid var(--night);padding:.55rem clamp(1rem,2vw,1.5rem)}
}


/* ---------- hero: room between the headline and the line under it ---------- */
.hero__sub{margin-top:clamp(1.5rem,4svh,2.8rem)}

/* ---------- the wall: a short note under the heading ---------- */
.dogwall__lede{max-width:44rem;margin:.9rem 0 1.6rem;font:500 clamp(1rem,1.5vw,1.15rem)/1.55 var(--f-body);color:rgba(242,234,219,.82)}

/* ---------- the donor's words: black, off-white, coral accents ---------- */
.donor{display:flex;align-items:center;min-height:min(100svh,60rem);padding:clamp(5rem,13vh,9rem) var(--pad);background:var(--night);color:var(--white)}
.donor__fig{width:min(100%,66rem);margin:0 auto}
.donor__body{display:grid;grid-template-columns:auto 3px minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(1rem,2.4vw,2.1rem);margin-top:1.5rem}
.donor__mark{grid-row:1;grid-column:1;align-self:start;font:900 clamp(7rem,13vw,12rem)/.8 var(--f-disp);color:var(--coral);user-select:none}
.donor__line{grid-row:1;grid-column:2;background:var(--coral)}
.donor__text{grid-row:1;grid-column:3;margin:0;padding:.1em 0}
.donor__p{margin:0 0 1.1em;font:700 clamp(1.45rem,2.8vw,2.5rem)/1.14 var(--f-disp);letter-spacing:-.022em;text-wrap:pretty}
.donor__p--lead{font-size:clamp(1.7rem,3.5vw,3.1rem)}
.donor__p--coda{margin:1.6em 0 0;font:italic 400 clamp(1.1rem,1.8vw,1.45rem)/1.5 var(--f-disp);letter-spacing:0;color:rgba(242,234,219,.72)}
.donor mark{color:var(--coral);background:linear-gradient(currentColor,currentColor) 0 100%/calc(var(--u,1)*100%) 3px no-repeat;padding-bottom:.07em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.donor .w{display:inline-block}
.donor__by{grid-row:2;grid-column:3;margin-top:1.6rem;font:500 1rem/1.4 var(--f-body);letter-spacing:.02em;color:rgba(242,234,219,.78)}
@media (max-width:760px){
  .donor__body{grid-template-columns:3px minmax(0,1fr);grid-template-rows:auto auto auto}
  .donor__mark{grid-row:1;grid-column:1 / -1;height:3.4rem;font-size:7.5rem;margin-bottom:.5rem}
  .donor__line{grid-row:2;grid-column:1}
  .donor__text{grid-row:2;grid-column:2;padding-left:1rem}
  .donor__by{grid-row:3;grid-column:2;padding-left:1rem}
}

/* ---------- the giving tiers ---------- */
.tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,2.8vw,2.25rem);margin:2.5rem 0 0;padding:0;list-style:none}
@media (min-width:1000px){.tiers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.tiers{grid-template-columns:minmax(0,1fr)}}
.tier{position:relative;display:flex;flex-direction:column;background:var(--cream);color:var(--night);border:4px solid var(--night);box-shadow:8px 8px 0 var(--night)}
.tier--pick{box-shadow:8px 8px 0 var(--coral)}
.tier--top{background:var(--night);color:var(--white);border-color:var(--white);box-shadow:8px 8px 0 var(--coral)}
.tier__fig{position:relative;margin:0;aspect-ratio:4/5;background:var(--night);border-bottom:4px solid currentColor;overflow:hidden}
.tier__fig img{width:100%;height:100%;object-fit:cover;display:block}
.tier__badge{position:absolute;top:0;right:0;padding:9px 14px;background:var(--coral);color:var(--night);border-bottom:4px solid var(--night);border-left:4px solid var(--night);font:800 .75rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase}
.tier__b{display:flex;flex-direction:column;gap:.5rem;flex:1;padding:1.1rem 1.2rem 1.35rem}
.tier__amt{margin:0;font:900 clamp(2.3rem,4.6vw,3.3rem)/1 var(--f-disp);letter-spacing:-.04em}
.tier--top .tier__amt{color:var(--coral)}
.tier__name{margin:0;font:900 clamp(1.25rem,2.1vw,1.7rem)/1.05 var(--f-disp);letter-spacing:-.025em}
.tier__tee{margin:0;font:500 .9375rem/1.45 var(--f-body)}
.tier__sw{display:flex;flex-wrap:wrap;gap:.5rem;margin:.1rem 0 .3rem}
.tier__sw button{min-height:44px;padding:.35rem .95rem;border:2px solid currentColor;background:transparent;color:inherit;font:700 .8125rem/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.tier__sw button[aria-pressed="true"]{background:var(--night);color:var(--white);border-color:var(--night)}
.tier--top .tier__sw button[aria-pressed="true"]{background:var(--white);color:var(--night);border-color:var(--white)}
.tier .btn{margin-top:auto;min-height:48px;width:100%}
.tier__note{margin:0;font:500 .8125rem/1.4 var(--f-body);opacity:.78}
.tiers__other{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:3px solid var(--night)}
.tiers__other p{margin:0;max-width:34rem;font:700 1.125rem/1.45 var(--f-body)}

/* ---------- the live countdown to Christmas ---------- */
.clock{padding:clamp(1.5rem,4vw,2.75rem) var(--pad);background:var(--night);border-block:3px solid var(--coral);text-align:center}
.clock[hidden]{display:none}
.clock__t{margin:0 0 1.1rem;font:700 .8125rem/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--coral)}
.clock__row{display:flex;justify-content:center;align-items:flex-start;gap:clamp(.6rem,3vw,2.75rem);margin:0}
.clock__c{display:flex;flex-direction:column;align-items:center;min-width:clamp(3.4rem,15vw,9.5rem)}
.clock__c b{display:block;min-width:2.1ch;font:900 clamp(2.5rem,10vw,6.75rem)/1 var(--f-disp);letter-spacing:-.03em;color:var(--white);text-align:center}
.clock__c i{margin-top:.6rem;font:700 .75rem/1 var(--f-body);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,234,219,.78)}
.clock__c+.clock__c{position:relative}
.clock__c+.clock__c::before{content:":";position:absolute;left:calc(clamp(.6rem,3vw,2.75rem)/-2 - .18em);top:.02em;font:900 clamp(2.5rem,10vw,6.75rem)/1 var(--f-disp);color:var(--coral)}

/* ---------- the proof: the hospital report as a framed paper document, with a coral accent ---------- */
.rpt{margin:3rem 0 0;max-width:46rem}
.proof__doc{position:relative;display:block;max-width:40rem;margin-top:1.1rem;background:#fff;border:4px solid var(--night);box-shadow:10px 10px 0 var(--coral);transform:rotate(-.6deg);transition:transform .2s ease,box-shadow .2s ease;cursor:zoom-in}
.proof__doc:hover,.proof__doc:focus-visible{transform:rotate(0) translate(-3px,-3px);box-shadow:13px 13px 0 var(--coral)}
.proof__doc:focus-visible{outline:3px solid var(--night);outline-offset:6px}
.proof__doc img{display:block;width:100%;height:auto}
.proof__hint{position:absolute;right:0;bottom:0;padding:.6rem .9rem;background:var(--coral);color:var(--night);border-top:4px solid var(--night);border-left:4px solid var(--night);font:800 .75rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase}
.proof__cap{max-width:40rem;margin:1.5rem 0 0;padding-left:1rem;border-left:4px solid var(--coral);font:600 .9375rem/1.5 var(--f-body)}
.proof__cap+.proof__cap{margin-top:1rem}
@media (prefers-reduced-motion:reduce){.proof__doc,.proof__doc:hover,.proof__doc:focus-visible{transition:none;transform:none}}
.lightbox{padding:0;border:0;background:transparent;max-width:min(96vw,1200px);max-height:96vh;overflow:visible}
.lightbox::backdrop{background:rgba(15,14,13,.92)}
.lightbox img{display:block;max-width:100%;max-height:90vh;margin:0 auto;background:#fff}
.lightbox__x{position:fixed;top:1rem;right:1rem;min-height:48px;min-width:48px;padding:.5rem 1rem;background:var(--coral);color:var(--night);border:4px solid var(--night);font:800 .875rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}



/* ---------- banners: the whole picture, never cropped, in one shared frame ---------- */
.bannerwrap .slot--banner{max-width:none;margin:0;border-width:0}
.bannerwrap{padding:0;border-bottom:1px solid var(--night)}
.bannerwrap+.band{border-top:0}

/* ---------- before and after slider ---------- */
.ba{margin:2rem 0 0;max-width:46rem}
.ba__stage{position:relative;overflow:hidden;aspect-ratio:1200/1018;border:4px solid var(--night);box-shadow:10px 10px 0 var(--coral);background:var(--night);user-select:none;-webkit-user-select:none}
.on-night .ba__stage{border-color:var(--white)}
.on-coral .ba__stage{box-shadow:10px 10px 0 var(--night)}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba__img--before{clip-path:inset(0 calc(100% - var(--p,50%)) 0 0)}
.ba__line{position:absolute;top:0;bottom:0;left:var(--p,50%);width:4px;margin-left:-2px;background:var(--white);pointer-events:none}
.ba__knob{position:absolute;top:50%;left:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--coral);border:4px solid var(--night);box-shadow:0 0 0 3px var(--white)}
.ba__knob::before{content:"\2194";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 22px/1 var(--f-body);color:var(--night)}
.ba__tag{position:absolute;top:12px;padding:.5rem .75rem;background:var(--night);color:var(--white);font:800 .75rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
.ba__tag--l{left:12px}.ba__tag--r{right:12px}
.ba__range{display:none;position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.ba.is-live .ba__range{display:block}
.ba:focus-within .ba__knob{outline:3px solid var(--white);outline-offset:3px}
.ba__cap{max-width:40rem;margin:1.5rem 0 0;padding-left:1rem;border-left:4px solid var(--coral);font:600 1rem/1.5 var(--f-body)}
.on-coral .ba__cap{border-color:var(--night)}

/* ---------- fixes for the few things that were far out of line ---------- */
/* labels inside long text blocks keep the standard small, bold, spaced capitals */
.prose p.label,.page-prose p.label{margin:0 0 1rem;max-width:none;font:700 .75rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.18em}
/* the opened story on About: a comfortable line length, and the same gap between paragraphs as the rest of the site */
.more__body{max-width:46rem}
.more__body p{margin-top:1.1rem}
.more__body p.label{margin-top:0}
.more__body p.label:not(:first-child){margin-top:2rem}

/* ---------- news ---------- */
.news{list-style:none;margin:0;padding:0;border-top:4px solid var(--night)}
.news__item{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:.75rem 2.5rem;padding:clamp(1.75rem,4vw,2.75rem) 0;border-bottom:4px solid var(--night)}
.news__date{margin:0;font:700 .75rem/1.2 var(--f-body);letter-spacing:.18em;text-transform:uppercase}
.news__title{margin:0 0 .85rem;font:900 clamp(1.9rem,4.4vw,3.2rem)/1 var(--f-disp);letter-spacing:-.03em}
.news__title a{color:inherit;text-decoration:none;background:linear-gradient(var(--coral),var(--coral)) 0 100%/0 .12em no-repeat;transition:background-size .25s ease}
.news__title a:hover,.news__title a:focus-visible{background-size:100% .12em}
.news__sum{max-width:40rem;margin:0 0 1rem;font:400 clamp(1.0625rem,1.4vw,1.25rem)/1.7 var(--f-body)}
@media (max-width:700px){.news__item{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.news__title a{transition:none}}
.post__meta{margin:0 0 1rem;font:700 .75rem/1.2 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--coral)}
.post__back{margin:0 0 1.5rem}
.post__body .post__h{margin:2.5rem 0 0;font:900 clamp(1.5rem,3vw,2.2rem)/1.05 var(--f-disp);letter-spacing:-.03em}
.post__body .post__h:first-child{margin-top:0}
.post__body .post__h+p{margin-top:.9rem}
.post__more{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin:2rem 0 0}

/* ---------- round 2 fixes ---------- */
/* the marquee sits right under the map: the space kept free for the counter bar is taken back */
.pin-spacer+.mq{margin-top:calc(var(--bar)*-1)}
/* labels that sit on the black background line up with the headline (no hidden side padding) */
.goal__text .eyebrow,.donor .eyebrow{padding-inline:0}
/* the menu: how much room the Donate area needs, so the 8 words are sized to fit every screen */
:root{--mf:10.5rem}
@media (min-width:700px){:root{--mf:6.5rem}}
/* short landscape phones: the words go in two columns */
@media (max-height:520px) and (min-width:560px){
  :root{--mf:5rem}
  .fsmenu__nav ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,auto);grid-auto-flow:column;column-gap:3rem}
  .fsmenu__nav li:first-child{border-top:0}
  .fsmenu__nav li:nth-child(1),.fsmenu__nav li:nth-child(5){border-top:2px solid rgba(242,234,219,.2)}
  .fsmenu__nav a{font-size:clamp(1.1rem,calc((76dvh - 78px - var(--mf)) / 4),4rem)}
}
/* banners on a phone are square, so the dog and the logo are easy to see */
@media (max-width:700px){
  .bannerwrap .slot--banner[data-slot="help-banner"],.bannerwrap .slot--banner[data-slot="faq-banner"],.bannerwrap .slot--banner[data-slot="shop-banner"]{--r:1/1!important}
}

/* the two marquees keep moving even on phones where animations are turned off (everything else still stops) */
@media (prefers-reduced-motion:reduce){
  .mq--ready .mq__track{animation:mq-run var(--mq-dur,60s) linear infinite!important}
  .band__track{animation:band 40s linear infinite!important}
}
