@font-face{font-family:"TS Montserrat Fallback";src:local("Arial Bold");font-style:normal;font-weight:800;size-adjust:110.66683%;ascent-override:87.46975%;descent-override:22.68069%;line-gap-override:0.00000%}
@font-face{font-family:"TS Montserrat Fallback";src:local("Arial Bold");font-style:normal;font-weight:900;size-adjust:112.65567%;ascent-override:85.92554%;descent-override:22.28028%;line-gap-override:0.00000%}
@font-face{font-family:"TS Inter Fallback";src:local("Arial");font-style:normal;font-weight:400;size-adjust:105.18011%;ascent-override:92.10391%;descent-override:22.93313%;line-gap-override:0.00000%}
@font-face{font-family:"TS Inter Fallback";src:local("Arial Bold");font-style:normal;font-weight:600;size-adjust:102.30702%;ascent-override:94.69047%;descent-override:23.57716%;line-gap-override:0.00000%}
@font-face{font-family:"TS Inter Fallback";src:local("Arial Bold");font-style:normal;font-weight:800;size-adjust:105.20148%;ascent-override:92.08521%;descent-override:22.92847%;line-gap-override:0.00000%}
:root{--design-font-head:"Montserrat","TS Montserrat Fallback","Arial Black",system-ui,sans-serif;--design-font-body:"Inter","TS Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
/* Loaded only by the public routes in review/design-v2/public-route-manifest.json.
   No global shared stylesheet or protected tool is changed. */
body.design-public{margin:0;--ink:var(--ts-charcoal);--ink-2:var(--ts-card);--parchment:var(--ts-cream);--ash:var(--ts-muted);--ash-dim:var(--ts-muted);--brass:var(--ts-blue);--sporting:var(--ts-blue);background:var(--ts-charcoal);color:var(--ts-cream);font:400 16px/1.5 var(--design-font-body)}
.design-public *{box-sizing:border-box}
.design-public h1,.design-public h2,.design-public h3,.design-public summary{font-family:var(--design-font-head)!important;color:var(--ts-cream);font-weight:800!important}
.design-public h1{font-size:clamp(32px,6vw,64px)!important;line-height:1.06!important;letter-spacing:-.025em;text-transform:uppercase;overflow-wrap:break-word}
.design-public main p,.design-public main li,.design-public main label,.design-public main .intro{font-family:var(--design-font-body)!important;font-size:16px!important;line-height:1.6!important}
.design-public main small,.design-public .eyebrow,.design-public .updated,.design-public .breadcrumb{font-family:var(--design-font-body)!important;font-size:14px!important}
.design-public a{color:var(--ts-blue)}
.design-public .btn,.design-public button,.design-public input,.design-public textarea{font-family:var(--design-font-body)!important;font-size:16px!important}
.design-public .btn,.design-public button{border-radius:var(--ts-radius-btn)!important;min-height:48px}
.design-public .btn-brass,.design-public .btn--primary{background:var(--ts-blue)!important;color:var(--ts-blue-ink)!important;border-color:var(--ts-blue)!important}
.design-public .btn-ghost,.design-public .btn--ghost{background:transparent!important;color:var(--ts-cream)!important;border:1px solid var(--ts-line)!important}
.design-public a:focus-visible,.design-public button:focus-visible,.design-public summary:focus-visible{outline:2px solid var(--ts-blue);outline-offset:4px}
.design-public>header.wrap{max-width:var(--ts-max);margin:auto;padding:16px var(--ts-gutter);display:flex;align-items:center;justify-content:space-between;position:relative;background:transparent;border:0;backdrop-filter:none;height:auto}
.design-public>header .brand img{display:block;width:133px;height:110px;object-fit:contain;max-height:none}
.design-public>header nav{display:flex;align-items:center;gap:28px;padding:0;min-height:0}
.design-public>header nav a{font:600 14px/1.5 var(--design-font-body);color:var(--ts-cream);display:flex;align-items:center;min-height:44px;text-decoration:none;white-space:nowrap}
.design-public>header .menu-button{display:none}
.design-public .menu-sheet{background:var(--ts-charcoal);color:var(--ts-cream);border:1px solid var(--ts-line);padding:24px;width:min(420px,calc(100% - 32px))}
.design-public .menu-sheet::backdrop{background:rgba(0,0,0,.7)}
.design-public .menu-sheet nav{display:grid;gap:16px;margin-top:24px}
.design-public .menu-sheet a{display:flex;align-items:center;min-height:48px}
.design-public .menu-close,.design-public .menu-button{background:transparent;color:var(--ts-cream);border:1px solid var(--ts-line);padding:10px 16px}
.design-public .public-footer{padding:32px 16px;margin:32px auto 0;border-top:1px solid var(--ts-line);background:var(--ts-charcoal)}
.design-public .public-wrap{max-width:var(--ts-max);margin:auto}
.design-public .public-footer nav{display:flex;gap:16px 24px;flex-wrap:wrap}
.design-public .public-footer a{display:flex;align-items:center;min-height:44px;font-size:14px}
.design-public .public-footer p{font:400 14px/1.5 var(--design-font-body);color:var(--ts-muted)}
@media(max-width:760px){.design-public>header.wrap{padding-block:12px}.design-public>header .brand img{height:85px;width:103px}.design-public>header nav{display:none}.design-public>header .menu-button{display:inline-flex;align-items:center;gap:8px}.design-public main{max-width:100%}.design-public .legal{padding-top:32px}}
@media(prefers-reduced-motion:reduce){.design-public *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.design-public .jump a{min-height:44px;border-radius:var(--ts-radius-btn);background:transparent;border:1px solid var(--ts-line);color:var(--ts-blue)}

/* Static system-page sky: no motion on list or promoter form outcomes. */
body.public-system{background:var(--ts-sky);min-height:100vh}
.design-public .public-status{max-width:760px;margin:0 auto;min-height:55vh;padding:48px 16px}
.design-public .public-status h1{margin-bottom:24px}
.design-public .status-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}
.design-public .status-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;background:var(--ts-blue);color:var(--ts-blue-ink);font-family:var(--design-font-body);font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--ts-radius-btn);text-decoration:none}
.design-public .public-status .status-secondary{display:inline-flex;align-items:center;min-height:44px;color:var(--ts-cream);font-family:var(--design-font-body);font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--ts-blue)}
.design-public .public-status a:not(.status-primary){display:inline-flex;align-items:center;min-height:44px;margin-right:16px}

/* Stable tracks prevent footer links changing rows during font swap. */
@media(max-width:760px){.design-public .public-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.design-public .public-footer nav a{min-width:0;overflow-wrap:anywhere}}

@media(max-width:599px){.design-public .status-actions{flex-direction:column;align-items:flex-start;flex-wrap:nowrap}.design-public.stable-page-title h1{min-height:3.18em}}

.design-public .menu-close,.design-public .menu-button{font-family:var(--design-font-body);font-weight:800;text-transform:uppercase;letter-spacing:.06em}

/* F10 public keyboard entry: out of flow until focused; no layout shift. */
.design-public .a11y-entry,.branded-form .a11y-entry,.a11y-entry{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(calc(-100% - 24px));display:inline-flex;align-items:center;min-height:44px;padding:12px 16px;background:var(--ts-cream);color:var(--ts-charcoal);font:700 16px/1.5 var(--design-font-body, sans-serif)}
.a11y-entry:focus{transform:none;outline:3px solid var(--ts-blue);outline-offset:3px}

/* Public visual correction: headings and footer rows determine their own height. */
.design-public .event-banner{height:auto;min-height:220px;display:flex;align-items:flex-end}
.design-public .event-banner .eb-content{position:relative;inset:auto;width:100%;padding:32px}
.design-public .public-footer nav{height:auto;min-height:0;position:static}

/* Approved normal and secondary navigation actions (rule 6). */
.design-public a.btn{font-family:var(--design-font-body)!important;font-weight:800!important;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.design-public a.btn--ghost,.design-public a.btn-ghost{background:transparent!important;color:var(--ts-cream)!important;border:0!important;border-bottom:2px solid var(--ts-blue)!important;border-radius:0!important;padding:8px 0!important;gap:12px}
.design-public a.btn--ghost::after,.design-public a.btn-ghost::after{content:" →"}
/* Mobile navigation: unboxed label and two-line icon, with a 48px tap target. */
header.wrap .menu-button,.design-public>header .menu-button{background:transparent;color:var(--ts-cream);border:0;border-radius:0;min-width:88px;min-height:48px;padding:12px 0 12px 16px;gap:12px;font-size:12px;letter-spacing:.08em;box-shadow:none}
.menu-button span[aria-hidden]{position:relative;display:block;width:22px;height:16px;font-size:0;flex:none}
.menu-button span[aria-hidden]:before,.menu-button span[aria-hidden]:after{content:"";position:absolute;left:0;top:4px;width:22px;height:2px;background:currentColor;transform-origin:center;transition:transform 180ms ease,top 180ms ease}
.menu-button span[aria-hidden]:after{top:12px}
.menu-button[aria-expanded="true"] span:before{top:8px;transform:rotate(45deg)}
.menu-button[aria-expanded="true"] span:after{top:8px;transform:rotate(-45deg)}
.menu-sheet .menu-close,.design-public .menu-sheet .menu-close{background:transparent;border:0;border-radius:0;min-height:48px;padding:12px 0 12px 16px;box-shadow:none}
@media(prefers-reduced-motion:reduce){.menu-button span:before,.menu-button span:after{transition:none!important}}

/* Isolated navigation links need a full touch target. */
.design-public .breadcrumb a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.design-public .public-footer nav a{min-width:44px}
