:root{font-family:Arial,Helvetica,sans-serif;color:#f4f4ef;background:#111311;font-size:16px;--lime:#eaff55;--gray:#a7aea5;--line:#353b32}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#preview{background:#eaff55;color:#172000;text-align:center;font-size:.875rem;font-weight:700;padding:9px 16px}header,main,footer{max-width:1200px;margin:auto;padding-left:32px;padding-right:32px}header{display:flex;justify-content:space-between;align-items:center;padding-top:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:1.25rem;letter-spacing:.02em}.brand small{display:block;font-size:.75rem;letter-spacing:.09em;margin-top:3px}.mark{background:var(--lime);color:#111;padding:12px 10px;transform:skew(-7deg);font-size:1.4rem}nav{display:flex;gap:8px}nav button,#logout{border:0;background:transparent;color:var(--gray);padding:12px 16px;border-radius:6px}nav .active{color:var(--lime);background:#252c1c}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:52px 0 44px}.eyebrow{color:var(--lime);letter-spacing:.14em;font-size:.875rem;font-weight:700;margin:0 0 18px}h1{font-size:clamp(2.8rem,6vw,5rem);line-height:1.04;letter-spacing:-.05em;margin:0;font-weight:900}h1 em{color:var(--lime);font-style:normal}.intro>p{line-height:1.6;color:var(--gray);margin-bottom:4px}h2{font-size:1.5rem;margin:0;letter-spacing:-.025em}.section-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid var(--line)}.section-heading span{font-size:.875rem;color:var(--gray)}#run-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}.run-card{background:#1d211b;border:1px solid var(--line);border-radius:14px;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#262d20;border-bottom:1px solid var(--line)}.day{font-size:.875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.date-number{font-size:2.6rem;font-weight:900;line-height:1.2}.month{color:var(--gray);font-size:.875rem}.badge{background:#eaff5518;border:1px solid #eaff5545;border-radius:24px;color:var(--lime);font-size:.875rem;padding:8px 12px}.card-body{padding:24px}.venue{font-size:1.6rem;font-weight:800;margin:0 0 8px}.address{color:var(--gray);font-size:.875rem;line-height:1.5;margin:0}.details{display:flex;gap:25px;margin:24px 0}.details span{display:block;color:var(--gray);font-size:.875rem;margin-bottom:5px}.details strong{font-size:1.1rem}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;border-top:1px solid var(--line)}.price{font-size:1.3rem;font-weight:700}.price small{display:block;color:var(--gray);font-size:.875rem;font-weight:400;margin-top:5px}.primary{border:0;border-radius:7px;background:var(--lime);color:#172000;font-weight:800;padding:15px 24px;min-height:48px}.outline{border:1px solid var(--line);border-radius:7px;padding:14px 18px}.primary:hover{background:#f1ff99}footer{display:flex;justify-content:space-between;color:var(--gray);font-size:.875rem;margin-top:56px;padding-top:24px;padding-bottom:28px;border-top:1px solid var(--line)}dialog{width:min(620px,calc(100% - 28px));max-height:90dvh;padding:32px;background:#1d211b;color:#f4f4ef;border:1px solid var(--line);border-radius:16px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.close{position:absolute;right:18px;top:12px;background:transparent;border:0;color:#eee;font-size:1.8rem;width:44px;height:44px}dialog h2{font-size:1.8rem}#booking-date{color:var(--gray);line-height:1.5}.registration-type{padding:0;border:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.registration-type legend{margin-bottom:12px}.registration-type label{position:relative}.registration-type input{position:absolute;left:14px;top:14px;width:18px;height:18px;accent-color:var(--lime)}.registration-type span{display:block;border:1px solid var(--line);border-radius:8px;padding:16px 14px 14px 42px}.registration-type input:checked+span{border-color:var(--lime);background:#eaff5509}.registration-type strong{display:block;font-size:1.4rem;margin:8px 0}.registration-type small{color:var(--gray);font-size:.875rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:.875rem}input:not([type=radio]),select{width:100%;color:#f4f4ef;background:#131611;border:1px solid #4d5546;border-radius:6px;padding:13px 12px;margin-top:8px;min-height:48px}#team-fields{margin-top:20px}.roster-label{font-size:.875rem}.roster-label small{display:block;margin-top:6px;color:var(--gray);font-size:.875rem}.total{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between}.total strong{font-size:1.8rem}.muted{font-size:.875rem;color:var(--gray);line-height:1.5}.error{color:#ffb7a9;line-height:1.5}#checkout-button{width:100%}.panel{max-width:480px;margin-top:32px;padding:28px;border:1px solid var(--line);border-radius:12px;background:#1d211b}.panel p{color:var(--gray);line-height:1.5}.panel button{margin-top:20px}#organizer-view{padding-top:44px}.desk-controls{display:flex;align-items:end;gap:16px;margin:30px 0}.desk-controls label{flex:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{border:1px solid var(--line);padding:22px;border-radius:10px}.stat strong{display:block;font-size:2.4rem;color:var(--lime);margin-bottom:8px}.stat span{color:var(--gray);font-size:.875rem}.attendee{border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:12px}.attendee-head{display:flex;justify-content:space-between;gap:12px}.attendee h3{margin:0 0 6px}.attendee p{color:var(--gray);margin:6px 0;font-size:.875rem}.roster{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.roster span{background:#2b3325;border-radius:5px;padding:8px 12px;font-size:.875rem}.receipt-panel{max-width:640px;margin:48px auto;background:#1d211b;border:1px solid var(--line);border-radius:14px;padding:32px}.receipt-panel h1{font-size:3rem;margin:10px 0 24px}.receipt-panel p{line-height:1.6}.receipt-panel .primary{display:inline-block;margin-top:24px}.empty{padding:40px;border:1px dashed var(--line);border-radius:12px;color:var(--gray);grid-column:1/-1;line-height:1.6}
@media(max-width:700px){header,main,footer{padding-left:20px;padding-right:20px}header{padding-top:20px;padding-bottom:20px}.brand{font-size:1rem}.brand small{font-size:.65rem}nav button{padding:12px 9px;font-size:.875rem}.intro{display:block;padding:36px 0 28px}.intro>p{margin-top:20px}#run-list{grid-template-columns:1fr}.card-body{padding:22px}.fields{grid-template-columns:1fr}.desk-controls{align-items:stretch;flex-direction:column}.stats{gap:8px}.stat{padding:16px 10px}.stat strong{font-size:1.9rem}.attendee-head{flex-direction:column}dialog{padding:26px 20px}footer{gap:20px}.section-heading{gap:16px;align-items:flex-start}.section-heading h2{font-size:1.3rem}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease}}

/* Parent-site brand treatment: charcoal, silver-blue, uppercase type and fine-line frames. */
@font-face{font-family:TopEndDisplay;src:url('https://s3.amazonaws.com/webflow-prod-assets/665eb69a2978fb1e899f2938/6661bf7cb4919a5246242bbc_Kurdis-SemiCondensedBlack.ttf') format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:TopEndText;src:url('https://s3.amazonaws.com/webflow-prod-assets/665eb69a2978fb1e899f2938/6661b8afd7bbca2504fe2c4d_ClashGrotesk-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{font-family:TopEndText,Arial,sans-serif;background:#0e0e0e;color:#f5f5f5;--lime:#b6cbd4;--gray:#a5a5a5;--line:#383838}
#preview{background:#28383e;color:#e2edf2;letter-spacing:.08em;font-size:.75rem}
header{padding-top:12px;padding-bottom:12px;border-color:#505050}
.brand-logo{width:100px;height:100px;object-fit:contain;display:block}
nav button{border-radius:0;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.875rem;padding:14px 18px;border-bottom:1px solid transparent}
nav .active{background:transparent;color:#e6eef2;border-bottom-color:#b6cbd4}
.intro{position:relative;align-items:center;padding:40px 28px;margin:28px 0 32px;border:1px solid #383838;background:#111}
.intro::before,.intro::after{content:'';position:absolute;width:7px;height:7px;background:#b6cbd4}
.intro::before{top:-4px;left:-4px}.intro::after{bottom:-4px;right:-4px}
h1{font-family:TopEndDisplay,Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:0;line-height:1.03;font-size:clamp(2.7rem,5.5vw,4.5rem)}
h1 em{color:#b6cbd4}.eyebrow{color:#b6cbd4;font-size:.875rem;letter-spacing:.16em}
.intro>p{border-left:1px solid #555;padding-left:24px;font-size:1rem;line-height:1.7;color:#d0d0d0}
.section-heading{border-top:0;padding-top:0;padding-bottom:22px}
.section-heading h2{font-size:1.65rem;letter-spacing:.04em;text-transform:uppercase;font-family:TopEndDisplay,Arial,sans-serif}
#run-list{gap:24px}
.run-card{border-radius:0;background:#141414;border:1px solid #555}
.card-top{background:#191919;padding:20px 24px;border-color:#555}
.day{letter-spacing:.18em;color:#b6cbd4}.date-number{font-family:TopEndDisplay,Arial,sans-serif;font-size:3.5rem;line-height:1.05;margin:6px 0}.month{color:#d0d0d0}
.badge{border-radius:0;background:transparent;border-color:#59717c;color:#c9dce5;font-size:.875rem}
.card-body{padding:26px 24px}.venue{font-family:TopEndDisplay,Arial,sans-serif;text-transform:uppercase;letter-spacing:.015em;font-size:1.65rem;font-weight:900}
.details{margin:24px 0}.details strong{font-weight:600}.card-foot{border-color:#454545}
.primary{background:transparent;color:#e2edf2;border:1px solid #a4becb;border-radius:0;text-transform:uppercase;letter-spacing:.09em;font-size:.875rem;min-height:48px;padding:14px 24px}
.primary:hover{background:#d5e3e9;color:#0e0e0e}.outline{border-radius:0;text-transform:uppercase;font-size:.875rem;letter-spacing:.06em;border-color:#829ca9}
.price{font-size:1.55rem}.price small{color:#b9b9b9;letter-spacing:0}
.panel,dialog,.receipt-panel{border-radius:0;background:#141414;border-color:#686868}
dialog h2,.panel h2{font-family:TopEndDisplay,Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.registration-type span{border-radius:0;border-color:#555;background:#171717}
.registration-type input:checked+span{border-color:#a4becb;background:#233139}
.registration-type input{accent-color:#a4becb}
input:not([type=radio]),select{border-radius:0;background:#0e0e0e;border-color:#5d5d5d}
input:focus-visible,select:focus-visible{outline:2px solid #b6cbd4}
.stat,.attendee{border-radius:0;border-color:#555;background:#141414}.stat strong{color:#d5e3e9;font-family:TopEndDisplay,Arial,sans-serif}
.roster span{border-radius:0;background:#27353b;color:#edf3f6}.empty{border-radius:0;background:#141414}.receipt-panel h1{font-size:clamp(2rem,7vw,3rem)}
footer{border-color:#505050;letter-spacing:.05em}footer>span:first-child{font-weight:800}
@media(max-width:700px){.brand-logo{width:76px;height:76px}header{padding-top:8px;padding-bottom:8px}nav button{padding:12px 10px;font-size:.75rem;letter-spacing:.09em}.intro{padding:28px 20px;margin-top:24px}.intro>p{border-left:0;padding-left:0;margin-bottom:0}.card-body{padding:24px 20px}.primary{padding:14px 18px}.venue{font-size:1.5rem}.section-heading h2{font-size:1.35rem}}

#run-editor,#admin-profile{max-width:760px;margin:24px 0}#run-editor label,#admin-profile label{display:block;margin:16px 0}#run-editor input[type=checkbox]{width:auto}input,select{min-height:48px}@media(max-width:700px){.desk-controls{display:flex;flex-direction:column;align-items:stretch}.stats{grid-template-columns:1fr}#run-editor,#admin-profile{padding:20px}.attendee-head{flex-wrap:wrap}}
