/* Main Street: bold, modern. Black + yellow + cobalt, heavy sans, hard shadows. */
body.m{--ink:#0b0b0b;--y:var(--a);--blue:#2d5bff;--coral:#ff5a36;--paper:#fff;--soft:#f4f2ea;
  margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,system-ui,sans-serif;line-height:1.5}
.m *{box-sizing:border-box}
.m a{color:inherit;text-decoration:none}
.m a:focus-visible,.m button:focus-visible,.m input:focus-visible{outline:4px solid var(--blue);outline-offset:3px}
.m .wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.m .skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 14px;z-index:99}
.m .skip:focus{left:8px;top:8px}

.m .tick{background:var(--ink);color:var(--y);overflow:hidden;white-space:nowrap;font:700 14px/1 "Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:11px 0}
.m .track{display:inline-flex;animation:tick 38s linear infinite}
.m .track span{padding-right:80px}
.m .track b{background:var(--y);color:var(--ink);padding:2px 8px;margin-right:10px}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.m .track{animation:none}.m .track span:last-child{display:none}}

.m .bar{background:#fff;border-bottom:4px solid var(--ink);position:sticky;top:0;z-index:20}
.m .row{display:flex;align-items:center;gap:28px;height:78px}
.m .logo{font:900 26px/1 "Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.02em;display:flex;flex-direction:column;gap:3px}
.m .logo small{font:700 11px/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.2em}
.m .bar nav{display:flex;gap:2px;margin-left:auto}
.m .bar nav a{padding:10px 14px;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.03em;border-bottom:4px solid transparent}
.m .bar nav a:hover{border-bottom-color:var(--ink);background:var(--y)}
.m .cta{background:var(--y);border:3px solid var(--ink);padding:11px 20px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;box-shadow:4px 4px 0 var(--ink);transition:transform .1s,box-shadow .1s}
.m .cta:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}

.m .hero{background:var(--y);border-bottom:4px solid var(--ink)}
.m .hgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;padding-top:76px;padding-bottom:84px;align-items:center}
.m .kick{font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:13px;margin-bottom:14px}
.m h1{overflow-wrap:anywhere;font:900 clamp(40px,7vw,98px)/.95 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.04em;margin:0 0 22px;text-transform:uppercase}
.m .lede{font-size:20px;font-weight:500;max-width:560px;margin:0 0 28px}
.m .search{display:flex;background:#fff;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);max-width:600px}
.m .search input{flex:1;min-width:0;border:0;padding:16px;font:600 16px "Helvetica Neue",Arial,sans-serif;background:transparent;color:var(--ink)}
.m .search button{border:0;border-left:3px solid var(--ink);background:var(--ink);color:var(--y);font:900 15px "Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;padding:0 24px;cursor:pointer}
.m .pop{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.m .pop a{border:2px solid var(--ink);padding:4px 12px;font-weight:700;font-size:14px;background:transparent}
.m .pop a:hover{background:var(--ink);color:var(--y)}
.m .meet{background:#fff;border:4px solid var(--ink);box-shadow:10px 10px 0 var(--ink);padding:28px}
.m .kick2{background:var(--ink);color:var(--y);display:inline-block;padding:4px 10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.m .meet h2{font:900 30px/1.05 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.02em;margin:14px 0 16px;text-transform:uppercase}
.m .dt{display:flex;gap:16px;align-items:center;margin-bottom:16px;font-size:16px}
.m .day{background:var(--blue);color:#fff;border:3px solid var(--ink);text-align:center;font:900 38px/1 "Helvetica Neue",Arial,sans-serif;padding:10px 14px;min-width:84px}
.m .day small{display:block;font-size:12px;letter-spacing:.14em;margin-bottom:4px}
.m .meet ul{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.m .meet li a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:2px solid var(--ink);font-weight:800}
.m .meet li a:hover{background:var(--y);padding-left:8px;padding-right:8px}

.m .quick{background:var(--ink)}
.m .qgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:0;padding-bottom:0}
.m .q{display:flex;flex-direction:column;gap:6px;padding:34px 26px;border-right:4px solid var(--ink);min-height:200px;transition:transform .12s}
.m .q:last-child{border-right:0}
.m .q:hover{transform:translateY(-6px)}
.m .q b{font:900 24px/1.05 "Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.02em}
.m .q span:last-child{font-weight:500;font-size:15px}
.m .g{font:900 44px/1 "Helvetica Neue",Arial,sans-serif;margin-bottom:auto}
.m .q1{background:#fff}.m .q2{background:var(--blue);color:#fff}.m .q3{background:var(--coral);color:var(--ink)}.m .q4{background:var(--y)}

.m .sec{padding-top:88px}
.m .sh{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px;border-bottom:4px solid var(--ink);padding-bottom:10px}
.m .sh h2{font:900 clamp(34px,5vw,60px)/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.03em;text-transform:uppercase;margin:0}
.m .sh a{font-weight:900;text-transform:uppercase;font-size:14px;letter-spacing:.05em;border-bottom:3px solid var(--y);white-space:nowrap}
.m .sh a:hover{background:var(--y)}

.m .ngrid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px}
.m .feat{background:var(--ink);color:#fff;padding:38px;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;border:4px solid var(--ink);box-shadow:8px 8px 0 var(--y)}
.m .tagb{align-self:flex-start;background:var(--y);color:var(--ink);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:12px;padding:4px 10px}
.m .feat h3{font:900 clamp(28px,3.4vw,44px)/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.03em;margin:16px 0 10px;text-transform:uppercase}
.m .feat p{margin:0;color:#d8d8d8;font-size:18px}
.m .nlist{display:flex;flex-direction:column;border:4px solid var(--ink)}
.m .nlist a{padding:20px 22px;border-bottom:4px solid var(--ink);display:block}
.m .nlist a:last-child{border-bottom:0}
.m .nlist a:hover{background:var(--y)}
.m .nlist small{display:block;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.1em;color:#555}
.m .nlist b{font-size:20px;line-height:1.2}

.m .egrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.m .ev{display:flex;flex-direction:column;gap:8px;border:4px solid var(--ink);padding:20px;background:#fff;box-shadow:6px 6px 0 var(--ink);transition:transform .1s,box-shadow .1s}
.m .ev:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--ink)}
.m .ev .day{align-self:flex-start;background:var(--y);color:var(--ink)}
.m .ev b{font:900 20px/1.1 "Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
.m .ev span{font-size:15px;color:#444}
.m .ev em{font-style:normal;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.1em;border:2px solid var(--ink);padding:2px 8px;align-self:flex-start}

.m .dgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:4px solid var(--ink);border-left:4px solid var(--ink)}
.m .dgrid a{border-right:4px solid var(--ink);border-bottom:4px solid var(--ink);padding:22px;display:flex;flex-direction:column;gap:4px;min-height:150px}
.m .dgrid a:hover{background:var(--y)}
.m .dgrid b{font:900 20px/1.1 "Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
.m .dgrid span{font-size:15px;color:#333}
.m .dgrid em{margin-top:auto;font-style:normal;font-weight:800}

.m .pgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.m .ph{aspect-ratio:1/1;border:4px solid var(--ink);background:repeating-linear-gradient(45deg,var(--soft) 0 12px,#fff 12px 24px);display:grid;place-items:center;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px;margin-bottom:10px}
.m .pgrid b{display:block;font-weight:900;text-transform:uppercase}
.m .pgrid span{font-size:15px;color:#444}

.m .sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.m .panel{border:4px solid var(--ink);padding:26px;background:#fff}
.m .panel h3{font:900 26px/1 "Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 14px}
.m .r{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:2px solid var(--ink);font-weight:700}
.m .r span{font-weight:800;color:var(--blue);white-space:nowrap}
.m .panel.yel{background:var(--y);box-shadow:8px 8px 0 var(--ink)}
.m .panel.yel p{margin:0 0 18px;font-weight:500}
.m .panel.yel .search{box-shadow:none}
.m .panel.yel .search button{padding:0 16px}

.m footer{background:var(--ink);color:#e8e8e8;margin-top:96px;padding:64px 0 28px;border-top:4px solid var(--y)}
.m .fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.m .fl{font:900 32px/1 "Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.03em;color:var(--y);margin-bottom:12px}
.m footer p{margin:0 0 10px}
.m footer h4{margin:0 0 10px;color:var(--y);text-transform:uppercase;letter-spacing:.14em;font-size:13px}
.m footer a{display:block;padding:3px 0}
.m footer a:hover{color:var(--y);text-decoration:underline}
.m .fine{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:2px solid #333;margin-top:40px;padding-top:20px;font-size:13px;color:#bbb}

@media (max-width:1000px){
  .m .bar nav{display:none}.m .cta{margin-left:auto}
  .m .hgrid,.m .ngrid{grid-template-columns:minmax(0,1fr)}
  .m .qgrid{grid-template-columns:1fr 1fr}
  .m .q{border-bottom:4px solid var(--ink);min-height:160px}
  .m .q:nth-child(2){border-right:0}
  .m .egrid,.m .dgrid{grid-template-columns:1fr 1fr}
  .m .pgrid{grid-template-columns:repeat(3,1fr)}
  .m .sgrid{grid-template-columns:minmax(0,1fr)}
  .m .fcols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .m .wrap{padding:0 16px}
  .m .meet h2{font-size:24px}
  .m .search button{padding:0 14px}
  .m .logo{font-size:20px}
  .m .hgrid{padding-top:44px;padding-bottom:56px}
  .m .qgrid,.m .egrid,.m .dgrid{grid-template-columns:1fr}
  .m .q{border-right:0}
  .m .pgrid{grid-template-columns:1fr 1fr}
  .m .fcols{grid-template-columns:1fr}
  .m .sh{flex-direction:column;align-items:flex-start;gap:8px}
  .m .meet{padding:20px;box-shadow:6px 6px 0 var(--ink)}
}

/* Accessibility statement page */
.m .doc{max-width:780px;margin:0 auto;padding:64px 24px 24px;font-size:18px;line-height:1.7;color:var(--ink,#16231d)}
.m .doc h1{font-size:clamp(32px,5vw,50px);line-height:1.1;margin:0 0 8px;color:var(--ink,#16231d);text-shadow:none;max-width:none;text-transform:none;letter-spacing:-.01em;font-weight:700}
.m .doc h2{font-size:24px;line-height:1.2;margin:36px 0 8px;color:var(--ink,#16231d);text-transform:none;letter-spacing:0}
.m .doc .meta{color:#55605a;margin:0 0 24px;font-size:15px}
.m .doc a{text-decoration:underline;text-underline-offset:3px;font-weight:700}
.m .doc ul{padding-left:22px}
.m footer .fine a.a11y-link{display:inline;padding:0;text-decoration:underline;text-underline-offset:3px}
.m .doc h1{font-weight:900;text-transform:uppercase;letter-spacing:-.03em}.m .doc h2{text-transform:uppercase;font-weight:900}
