:root{--bg: #000000;--surface: #111111;--surface-2: #1c1c1c;--yellow: #dfd150;--on-yellow: #222222;--text: #ffffff;--muted: #a8a8a8;--line: #646464;--line-soft: #2e2e2e;--radius: 24px;font-family:Archivo,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--yellow)}h1,h2{font-family:Archivo Black,Archivo,sans-serif;font-weight:400;line-height:1.1}h1{font-size:1.8rem;margin:0 0 .5rem}h2{font-size:1.15rem;margin:1.75rem 0 .75rem;text-transform:uppercase;letter-spacing:.02em}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;padding:.9rem 1rem;background:var(--bg);border-bottom:1px solid var(--line-soft)}.brand{font-family:Archivo Black,sans-serif;color:var(--text);text-decoration:none;font-size:1.05rem}.brand:after{content:" Passport";color:var(--yellow)}.topbar nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.topbar nav a,.topbar .link{color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem}.topbar nav a.active{color:var(--yellow)}main{max-width:760px;margin:0 auto;padding:1.25rem 1rem 3rem}.footer{text-align:center;color:var(--muted);font-size:.85rem;padding:1.5rem 1rem;border-top:1px solid var(--line-soft)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:#ff7a6b;font-weight:600}.ok{color:var(--yellow);font-weight:600}.hero{text-align:center;padding:2rem 0 1.25rem}.hero h1{font-size:clamp(2.2rem,9vw,3.6rem);text-transform:uppercase}.hero h1 span{color:var(--yellow);display:block}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--muted);margin:0 0 .75rem}.dates{display:inline-block;font-family:Archivo Black,sans-serif;background:var(--yellow);color:var(--on-yellow);border-radius:999px;padding:.35rem 1rem;font-size:1.1rem;margin:.5rem 0 1rem}.steps{padding-left:1.2rem;line-height:1.7}.steps strong{color:var(--yellow)}.actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin:1.25rem 0;align-items:center}.actions.left{justify-content:flex-start}.btn{display:inline-block;background:var(--yellow);color:var(--on-yellow);border:1px solid var(--yellow);border-radius:999px;padding:.75rem 1.5rem;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;font-family:inherit}.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn.small{padding:.45rem 1rem;font-size:.9rem}.btn:disabled{opacity:.6}.link{background:none;border:0;padding:0;font:inherit;color:var(--yellow);cursor:pointer;text-decoration:underline}.form{max-width:440px;margin:1rem auto;display:flex;flex-direction:column;gap:.9rem}.form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.form small{font-weight:400;color:var(--muted)}input{font:inherit;padding:.7rem .9rem;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text)}input::placeholder{color:#6f6f6f}input:focus{outline:none;border-color:var(--yellow)}.check{display:flex;gap:.4rem;align-items:center}.google{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;background:#fff;color:#222;border-color:#fff}.divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.85rem;margin:.25rem 0}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--line-soft)}.passport-head{text-align:center}.big{font-family:Archivo Black,sans-serif;font-size:3rem;margin:.25rem 0;color:var(--yellow)}.big span{font-family:Archivo,sans-serif;font-size:1rem;color:var(--muted)}.progress{height:12px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin:.75rem auto;max-width:320px}.progress div{height:100%;background:var(--yellow);transition:width .4s}.badge{background:var(--yellow);color:var(--on-yellow);border-radius:14px;padding:.7rem;font-weight:700}.stops{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem}.stops li{display:flex;gap:.8rem;align-items:center;padding:.8rem 1rem;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface)}.stops li small{display:block;color:var(--muted);margin-top:.1rem}.stops .dot{flex:none;width:34px;height:34px;border-radius:50%;border:2px dashed var(--line);display:grid;place-items:center;font-weight:700}.stops li.stamped{border-color:var(--yellow)}.stops li.stamped .dot{border:0;background:var(--yellow);color:var(--on-yellow)}.board{list-style:none;padding:0;margin:0 0 1rem}.board li{display:flex;align-items:center;gap:.75rem;padding:.7rem .5rem;border-bottom:1px solid var(--line-soft)}.board li.me{background:var(--surface-2);border-radius:12px}.board .rank{width:2rem;text-align:center;font-weight:700;color:var(--muted)}.board li:nth-child(-n+3) .rank{color:var(--yellow);font-family:Archivo Black,sans-serif}.board .name{flex:1;font-weight:600}.board .score{font-weight:700}.stamp-result .stamp{width:96px;height:96px;margin:0 auto 1rem;border-radius:50%;background:var(--yellow);color:var(--on-yellow);display:grid;place-items:center;font-size:2.8rem;transform:rotate(-8deg);box-shadow:0 0 0 6px var(--bg),0 0 0 8px var(--yellow)}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{font:inherit;font-weight:600;padding:.45rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);cursor:pointer}.tabs button.active{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line-soft);vertical-align:top}th{color:var(--muted);font-weight:600}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.qr-sign{margin:0;text-align:center;background:#fff;color:#222;border-radius:18px;padding:1.25rem}.qr-sign .eyebrow{color:#555}.qr-sign h2{margin:.25rem 0 .75rem;text-transform:none}.qr-sign img{width:100%;max-width:260px}.qr-sign figcaption{font-size:.9rem;margin:.5rem 0}.qr-sign a{color:#222}@media print{body,:root{background:#fff;color:#000}.topbar,.footer,.no-print{display:none!important}main{max-width:none;padding:0}.card{border:0;padding:0;background:#fff}.qr-grid{display:block}.qr-sign{page-break-after:always;padding-top:1.5in}.qr-sign h2{font-size:2.2rem}.qr-sign img{max-width:4.5in}.qr-sign figcaption{font-size:1.2rem}}.sponsor-bar{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.45rem 1rem;background:var(--yellow);color:var(--on-yellow);font-size:.85rem}.sponsor-bar span{text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.7rem}.sponsor-bar img{height:30px;border-radius:6px}.sponsor-bar strong{font-weight:700}@media(max-width:420px){.sponsor-bar strong{display:none}.sponsor-bar img{height:34px}}.presenter{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.25rem}.presenter span{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--muted)}.presenter img{width:220px;max-width:70%;border-radius:14px}.footer-logos{display:flex;justify-content:center;align-items:flex-end;gap:2.5rem;flex-wrap:wrap;margin-bottom:1rem}.footer-logos figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-logos figcaption{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700}.footer-logos img{height:80px;border-radius:10px}.footer p{margin:0}.qr-sponsor{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.75rem}.qr-sponsor span{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700;color:#555}.qr-sponsor img{height:44px;border-radius:6px}@media print{.qr-sponsor img{height:1in}.qr-sponsor span{font-size:1rem}}.footer-logos a img{background:#fff;padding:.4rem .8rem}@media print{.sponsor-bar{display:none!important}.qr-sponsor img{height:.8in}}.qr-sign .qr-sponsor img{width:auto;max-width:none}.form .check.optin{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:400;line-height:1.4}.check.optin input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--yellow);flex:none}.hero.compact{padding:1.25rem 0 .75rem}.hero.compact h1{font-size:clamp(2rem,8vw,3rem)}.hero.compact h1 span{display:inline}.howto{list-style:none;padding:0;margin:0}.howto li{display:flex;gap:1rem;align-items:flex-start}.howto h2{margin:.2rem 0 .5rem}.howto p{margin:0 0 .5rem;line-height:1.55}.step-num{flex:none;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--on-yellow);display:grid;place-items:center;font-family:Archivo Black,sans-serif;font-size:1.2rem}.perks{padding-left:1.2rem;line-height:1.6}.faq dt{font-weight:700;margin-top:.9rem}.faq dd{margin:.25rem 0 0;color:var(--muted)}.events{list-style:none;padding:0;margin:0}.event{display:grid;grid-template-columns:200px 1fr;gap:1.25rem;align-items:start}.event img{width:100%;border-radius:14px;display:block}.event h2{margin:.25rem 0 .5rem;text-transform:none;font-size:1.3rem}.event p{margin:0 0 .75rem;line-height:1.5}.event-date{color:var(--yellow);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}.event-venue{color:var(--muted)}.event-venue strong{color:var(--text)}@media(max-width:560px){.event{grid-template-columns:1fr}.event img{max-width:320px;margin:0 auto}}.event.no-image{grid-template-columns:1fr}.event img[src*=whats-happening-salem]{background:#fff;padding:1.25rem}
