:root{--purple:#a08be0;--cyan:#65dbff;--navy:#08051c;--muted:#c8c1da;--body:"DM Sans",sans-serif;--display:"Koulen",sans-serif;--pixel:"Press Start 2P",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;color:#fff;background:var(--navy);font-family:var(--body)}button,input{font:inherit}a{color:inherit}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip-link{position:fixed;top:-60px;left:15px;z-index:10000;padding:12px 18px;color:#120a37;background:#fff;border-radius:8px;font-weight:700}.skip-link:focus{top:12px}.page-bg{position:fixed;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(circle at 50% -20%,#47217a 0,#160b3d 38%,#08051c 76%)}.page-bg:before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(101,219,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(101,219,255,.3) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(#000,transparent 85%)}.page-bg i{position:absolute;width:45rem;height:45rem;border-radius:50%;filter:blur(120px);opacity:.13;background:var(--cyan)}.page-bg i:first-child{left:-28rem;top:10%}.page-bg i:last-child{right:-30rem;bottom:5%;background:var(--purple)}
.hamburger{padding:0;border:0;background:transparent}.hero{position:relative;min-height:max(750px,100svh);padding:clamp(150px,18vh,190px) max(6vw,24px) clamp(170px,20vh,220px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;isolation:isolate;overflow:hidden}.hero:before{content:"ROAR  STOMP  FLEX";position:absolute;left:50%;bottom:clamp(22px,3vw,52px);z-index:-1;color:transparent;font:clamp(2.4rem,10vw,10rem)/1 var(--display);letter-spacing:.02em;white-space:nowrap;transform:translateX(-50%);-webkit-text-stroke:1px rgba(255,255,255,.08)}.pixel{margin:0 0 20px;color:var(--cyan);font:.66rem/1.7 var(--pixel);letter-spacing:.07em}.hero h1{max-width:1000px;margin:0;font:clamp(4.6rem,10vw,9.5rem)/.82 var(--display);letter-spacing:-.025em;text-transform:uppercase;text-shadow:0 12px 40px #0005}.hero h1 span{color:#bfa9ff}.lead{max-width:680px;margin:34px 0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.7}.cta{display:inline-flex;align-items:center;gap:14px;padding:15px 22px;border:1px solid #65dbff99;border-radius:8px;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;font-weight:800;transition:.25s}.cta:hover{color:#11082f;background:var(--cyan);box-shadow:0 0 28px #65dbff40;transform:translateY(-2px)}.hero-mark{position:absolute;top:18%;right:4%;z-index:-1;color:#ffffff08;font:clamp(18rem,35vw,38rem)/1 var(--display);transform:rotate(7deg);-webkit-text-stroke:2px #a08be024}
.supporters{width:min(1440px,calc(100% - 48px));margin:auto;padding:110px 0 130px}.section-head{display:grid;grid-template-columns:1fr minmax(280px,520px);gap:50px;align-items:end;margin-bottom:50px}.section-head h2,.callout h2{margin:0;font:clamp(3.3rem,6vw,6.5rem)/.9 var(--display);text-transform:uppercase}.section-head>p{margin:0 0 5px;color:var(--muted);line-height:1.75}.tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px;padding:14px;border:1px solid #ffffff1c;border-radius:14px;background:#ffffff09;backdrop-filter:blur(15px)}.search{width:min(100%,360px);display:flex;align-items:center;gap:10px;padding:0 10px;color:var(--cyan);font-size:1.7rem}.search input{width:100%;padding:10px 0;color:#fff;background:transparent;border:0;outline:0;font-size:.9rem}.search input::placeholder{color:#aaa2bf}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{padding:10px 15px;color:var(--muted);border:0;border-radius:8px;background:transparent;cursor:pointer;font-size:.8rem;font-weight:700;transition:.2s}.filters button:hover,.filters button.active{color:#11082f;background:#bfa9ff}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{position:relative;min-height:370px;padding:23px;display:flex;flex-direction:column;border:1px solid #ffffff1c;border-radius:18px;background:linear-gradient(145deg,#ffffff13,#ffffff06);overflow:hidden;transition:.3s}.card:after{content:"";position:absolute;right:-80px;bottom:-100px;width:190px;height:190px;border:1px solid #65dbff21;border-radius:50%;box-shadow:0 0 0 25px #a08be008,0 0 0 50px #65dbff06;pointer-events:none}.card:hover{z-index:1;border-color:#65dbff8c;box-shadow:0 22px 45px #0005,inset 0 0 35px #65dbff09;transform:translateY(-7px)}.number{position:absolute;top:21px;right:21px;color:#ffffff47;font:.58rem var(--pixel)}.logo{position:relative;width:112px;height:112px;margin-bottom:36px;display:grid;place-items:center;overflow:hidden;border:1px solid #ffffff26;border-radius:16px;background:linear-gradient(135deg,#fff,#d9ceff);box-shadow:0 12px 30px #0003}.logo img{position:relative;z-index:1;width:100%;height:100%;padding:8px;object-fit:contain;background:#fff}.logo b{position:absolute;color:#211054;font:2.1rem var(--display)}.copy{margin-bottom:28px}.copy small{color:var(--cyan);font-size:.67rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.copy h3{margin:7px 0 0;font:clamp(1.8rem,2.5vw,2.35rem)/1.05 var(--display);letter-spacing:.015em;text-transform:uppercase}.copy p{margin:5px 0 0;color:#bfb7d3;font-size:.86rem}.card>a{width:max-content;margin-top:auto;display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.card>a i{width:28px;height:28px;display:grid;place-items:center;color:#11082f;border-radius:50%;background:var(--cyan);font-style:normal;transition:.2s}.card>a:hover i{transform:translate(3px,-3px)}.empty{padding:70px 20px;text-align:center;color:var(--muted);border:1px dashed #ffffff33;border-radius:16px}
.callout{width:min(1340px,calc(100% - 48px));margin:0 auto 100px;padding:clamp(50px,8vw,100px);text-align:center;border:1px solid #a08be059;border-radius:26px;background:radial-gradient(circle at 50% 100%,#65dbff21,transparent 55%),#150b38bf;box-shadow:inset 0 0 80px #a08be00f}.callout .pixel{margin-bottom:25px}.callout>p:not(.pixel){margin:25px 0 30px;color:var(--muted)}.callout a{display:inline-block;padding-bottom:5px;color:var(--cyan);border-bottom:1px solid;text-decoration:none;font-weight:800}footer{padding:35px max(6vw,24px);display:flex;align-items:center;gap:25px;color:#a9a1bd;border-top:1px solid #ffffff14;font-size:.8rem}footer img{display:block;width:58px;height:48px;object-fit:contain}footer p:last-child{margin-left:auto}*:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.hero{min-height:max(700px,100svh);padding:135px 18px 150px}.hero h1{font-size:clamp(3.6rem,17vw,6rem)}.hero-mark{top:30%;right:-18%}.supporters{width:calc(100% - 30px);padding:80px 0 90px}.section-head{grid-template-columns:1fr;gap:22px}.tools{align-items:stretch;flex-direction:column}.search{width:100%;max-width:none}.cards{grid-template-columns:1fr}.card{min-height:340px}.callout{width:calc(100% - 30px);margin-bottom:70px}footer{align-items:flex-start;flex-direction:column;gap:10px}footer p:last-child{margin-left:0}}@media(max-width:420px){.hero h1{font-size:3.45rem}.filters button{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Supporting-business summaries */
.copy .description{margin-top:15px;color:#c8c1da;font-size:.86rem;line-height:1.6}
.copy .note{color:#fff;font-weight:700}
.copy .phone{display:inline-block;margin-top:12px;color:#fff;text-decoration:none;font-size:.88rem;font-weight:700}
.copy .phone:hover{color:var(--cyan)}
.copy .email{display:block;width:max-content;max-width:100%;margin-top:6px;color:#c8c1da;text-decoration:none;font-size:.76rem;overflow-wrap:anywhere}
.copy .email:hover{color:var(--cyan)}
.card-links{width:100%;margin-top:auto;display:flex;flex-wrap:wrap;gap:12px}
.card-links>a{width:max-content;display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.card-links>a i{width:25px;height:25px;display:grid;place-items:center;color:#11082f;border-radius:50%;background:var(--cyan);font-style:normal;transition:.2s}
.card-links>a:hover i{transform:translate(3px,-3px)}

/* Phone and small-tablet layout */
html,body{width:100%;max-width:100%;min-width:0}
main,.hero,.supporters,.callout,footer{max-width:100%}
@media(max-width:768px){
  .hero{min-height:0;padding:110px 18px 105px}
  .hero:before{bottom:18px;font-size:clamp(2rem,10vw,4.8rem)}
  .hero h1{max-width:100%;font-size:clamp(3rem,15vw,5.25rem);line-height:.86;overflow-wrap:normal}
  .hero .lead{max-width:36rem;margin:26px 0;font-size:1rem;line-height:1.65}
  .hero-mark{top:18%;right:-35%;font-size:clamp(15rem,75vw,24rem)}
  .supporters{width:100%;padding:70px 15px 80px}
  .section-head h2,.callout h2{font-size:clamp(2.7rem,13vw,4.5rem)}
  .tools{width:100%;padding:12px}
  .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .filters button{width:100%;white-space:normal}
  .card{width:100%;min-width:0;padding:20px}
  .copy h3{font-size:clamp(1.75rem,9vw,2.3rem);overflow-wrap:anywhere}
  .card-links>a{max-width:100%}
  .callout{width:calc(100% - 30px);padding:50px 20px}
  footer{width:100%;padding:30px 18px}
}
@media(max-width:480px){
  .hero{padding:96px 15px 92px}
  .hero h1{font-size:clamp(2.65rem,14vw,4rem)}
  .hero .pixel{font-size:.55rem}
  .cta{width:100%;max-width:280px;justify-content:center;padding:14px 12px;font-size:.7rem}
  .supporters{padding-left:12px;padding-right:12px}
  .section-head h2,.callout h2{font-size:clamp(2.45rem,13vw,3.6rem)}
  .section-head>p{font-size:.92rem}
  .tools{padding:10px}
  .filters{grid-template-columns:1fr}
  .logo{width:96px;height:96px;margin-bottom:28px}
  .card-links{gap:10px}
  .callout{width:calc(100% - 24px);margin-bottom:55px;padding:42px 16px}
}
@media(max-width:360px){
  .hero h1{font-size:2.55rem}
  .hero .lead{font-size:.94rem}
  .card{padding:17px}
  .card-links>a{font-size:.64rem}
}
