.entry-v2-page{margin:0;background:#eef3f4;color:var(--tm-ink)}
.entry-skip{position:fixed;left:16px;top:-80px;z-index:100;padding:10px 14px;background:#fff;color:var(--tm-ink);border-radius:8px}.entry-skip:focus{top:16px}
.entry-topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px clamp(18px,4vw,60px);border-bottom:1px solid var(--tm-line);background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}
.entry-brand,.entry-back{color:var(--tm-ink);text-decoration:none}.entry-brand{font-size:clamp(1rem,2vw,1.35rem)}.entry-back{font-size:.86rem;border-bottom:1px solid currentColor}
.entry-app{max-width:1440px;margin:0 auto;padding:0 clamp(16px,4vw,62px) 90px}
.entry-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:clamp(30px,6vw,90px);align-items:end;padding:clamp(70px,9vw,130px) 0 clamp(50px,7vw,95px)}
.entry-hero h1{max-width:900px;margin:12px 0 24px;font-size:clamp(3.5rem,8vw,8.5rem);line-height:.8;letter-spacing:-.035em}.entry-hero>div>p:last-child{max-width:700px;margin:0;font-size:clamp(1.05rem,1.8vw,1.4rem);line-height:1.45;color:var(--tm-muted)}
.entry-eyebrow{margin:0;color:var(--tm-green);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.entry-safety-note{padding:24px;border:1px solid #acdacf;border-radius:24px;background:#e7f7f1}.entry-safety-note span{display:inline-block;margin-bottom:10px;padding:6px 9px;border-radius:999px;background:var(--tm-green);color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.entry-safety-note p{margin:0!important;color:var(--tm-ink)!important;font-size:.94rem!important;line-height:1.5!important}
.entry-loading,.entry-error{padding:22px;border-radius:18px;background:#fff}.entry-error{border:1px solid #d65a5a;color:#7b1616}
.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,370px);gap:clamp(20px,4vw,54px);align-items:start}
.entry-main{display:grid;gap:24px}.entry-section{padding:clamp(24px,4vw,52px);border:1px solid var(--tm-line);border-radius:30px;background:#fff;box-shadow:0 14px 42px rgba(8,35,49,.05)}
.entry-section-heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:30px}.entry-section-heading>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--tm-ink);color:#fff}.entry-section-heading h2{margin:5px 0 0;font-size:clamp(2rem,4vw,4rem);line-height:.92}
.entry-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.entry-filter{padding:9px 14px;border:1px solid var(--tm-line);border-radius:999px;background:#fff;color:var(--tm-ink);cursor:pointer}.entry-filter[aria-pressed="true"]{border-color:var(--tm-ink);background:var(--tm-ink);color:#fff}
.entry-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.entry-event{position:relative;overflow:hidden;min-height:270px;padding:0;border:1px solid var(--tm-line);border-radius:24px;background:#0b2633;color:#fff;text-align:left;cursor:pointer}.entry-event img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.entry-event::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,20,29,.94),rgba(3,20,29,.05) 75%)}.entry-event-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:22px}.entry-event h3{margin:6px 0 8px;font-size:clamp(1.5rem,3vw,2.5rem);line-height:.95}.entry-event p{margin:0;color:rgba(255,255,255,.84)}.entry-event-badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#fff;color:var(--tm-ink);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.entry-event[aria-pressed="true"]{outline:4px solid var(--tm-orange);outline-offset:3px}.entry-event:disabled{cursor:default}.entry-empty{grid-column:1/-1;margin:0;padding:22px;border:1px solid var(--tm-line);border-radius:18px;background:#f7f9f9;color:var(--tm-muted)}
.entry-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.entry-product{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:19px;border:2px solid #d6e1e5;border-radius:18px;background:#f7f9f9;color:var(--tm-ink);text-align:left;cursor:pointer}.entry-product-copy{display:grid;gap:4px}.entry-product-copy small{color:var(--tm-green);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.entry-product strong{font-size:1.2rem}.entry-product-action{display:grid;justify-items:end;gap:6px}.entry-product-action b{font-size:1.3rem}.entry-product-action i{padding:5px 8px;border-radius:999px;background:var(--tm-orange);color:#fff;font-size:.72rem;font-style:normal;font-weight:800;white-space:nowrap}.entry-product:hover{border-color:var(--tm-orange);background:#fff8f3}.entry-product[aria-pressed="true"]{border-color:var(--tm-orange);box-shadow:inset 0 0 0 2px var(--tm-orange);background:#fff8f3}.entry-price-pending{color:var(--tm-muted);font-size:.78rem}
.entry-series-options{margin-top:22px;padding:20px;border-radius:18px;background:#eef7fa}.entry-series-options h3{margin:0 0 6px;font-size:1.5rem}.entry-series-price{margin:10px 0 0;color:var(--tm-green)}.entry-series-list{display:grid;gap:10px;margin-top:16px}
.entry-fields{display:grid;gap:18px}.entry-fields-two{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-fields label,.entry-participant label{display:grid;gap:7px;font-size:.78rem;letter-spacing:.04em}.entry-fields input,.entry-fields select,.entry-participant input,.entry-participant select{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #b8c4c9;border-radius:10px;background:#fff;color:var(--tm-ink);font:inherit}.entry-fields input:focus,.entry-fields select:focus,.entry-participant input:focus,.entry-participant select:focus{outline:3px solid rgba(255,106,0,.22);border-color:var(--tm-orange)}
.entry-custom-questions{grid-template-columns:minmax(0,1fr);margin-top:4px}.entry-custom-questions>label{max-width:620px}.entry-custom-questions .entry-addon{grid-column:1/-1;margin:0}
.entry-addon{margin:4px 0 20px;padding:20px;border:2px solid var(--tm-orange);border-radius:18px;background:linear-gradient(135deg,#fff2d9,#fff9ef);box-shadow:0 10px 24px rgba(255,106,0,.12)}.entry-addon legend{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;font-size:1.25rem;font-weight:800}.entry-addon legend strong{padding:6px 10px;border-radius:999px;background:var(--tm-orange);color:#fff;font-size:1rem}.entry-addon p{margin:10px 0 16px;color:var(--tm-ink);line-height:1.45}.entry-addon-choice{display:flex!important;gap:10px;align-items:center;padding:13px 14px;border-radius:12px;background:#fff;font-size:.92rem!important;font-weight:700;letter-spacing:0!important;cursor:pointer}.entry-addon-choice input{width:22px!important;height:22px;padding:0!important;accent-color:var(--tm-orange)}
.entry-participants{display:grid;gap:14px;margin-top:24px}.entry-participant{padding:20px;border:1px solid var(--tm-line);border-radius:18px;background:#f7f9f9}.entry-participant h3{margin:0 0 15px;font-size:1.35rem}.entry-participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.entry-agreement{display:grid;gap:14px}.entry-check{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--tm-line);border-radius:14px;background:#f7f9f9;line-height:1.45}.entry-check input{flex:0 0 auto;width:20px;height:20px;margin-top:1px;accent-color:var(--tm-orange)}
.entry-discount{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-width:520px;padding:15px;border:1px dashed var(--tm-line);border-radius:14px;background:#fff;font-size:.92rem;font-weight:700}.entry-discount label{display:grid;gap:6px}.entry-discount input{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #b8c4c9;border-radius:10px;background:#fff;color:var(--tm-ink);font:inherit;text-transform:uppercase}.entry-discount button{align-self:end;padding:12px 16px;border:0;border-radius:10px;background:var(--tm-ink);color:#fff;font:inherit;font-weight:700;cursor:pointer}.entry-discount button:disabled{opacity:.6;cursor:wait}.entry-discount span{grid-column:1/-1;color:var(--tm-muted);font-size:.8rem;font-weight:400}
.entry-summary{position:sticky;top:86px;padding:28px;border-radius:28px;background:var(--tm-ink);color:#fff;box-shadow:var(--tm-shadow)}.entry-summary .entry-eyebrow{color:#75dec1}.entry-summary h2{margin:9px 0 24px;font-size:clamp(2rem,3vw,3rem);line-height:.95}.entry-summary dl{display:grid;gap:12px;margin:0}.entry-summary dl div{display:flex;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}.entry-summary dt{color:rgba(255,255,255,.68)}.entry-summary dd{margin:0;text-align:right}.entry-total{display:flex;justify-content:space-between;align-items:baseline;margin:25px 0 12px}.entry-total strong{font-size:2rem;color:#fff}.entry-summary-note,.entry-payment-note{color:rgba(255,255,255,.7);font-size:.82rem;line-height:1.45}.entry-submit{width:100%;margin-top:12px;padding:15px;border:0;border-radius:10px;background:var(--tm-orange);color:#fff;cursor:pointer}.entry-submit:disabled{background:#62727a;cursor:not-allowed}.entry-clear{width:100%;margin-top:12px;padding:9px;border:0;background:transparent;color:rgba(255,255,255,.72);text-decoration:underline;cursor:pointer}
@media(max-width:980px){.entry-layout{grid-template-columns:1fr}.entry-summary{position:static;order:initial}.entry-hero{grid-template-columns:1fr}.entry-safety-note{max-width:620px}}
@media(max-width:680px){.entry-app{padding-left:12px;padding-right:12px}.entry-topbar{padding:13px 16px}.entry-event-grid,.entry-product-grid,.entry-fields-two,.entry-participant-grid{grid-template-columns:1fr}.entry-event{min-height:230px}.entry-section{padding:24px 18px;border-radius:22px}.entry-hero h1{font-size:clamp(3.4rem,19vw,5.8rem)}}
@media(prefers-reduced-motion:no-preference){.entry-section{animation:entry-in .35s ease both}@keyframes entry-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}}

/* Compact event picker: one scannable row per event with its event artwork. */
.entry-event-grid{grid-template-columns:1fr;gap:10px}
.entry-event{display:flex;align-items:center;gap:14px;min-height:0;padding:10px 14px 10px 10px;border-radius:18px;background:#fff;color:var(--tm-ink);box-shadow:none}
.entry-event img{position:static;z-index:1;flex:0 0 64px;width:64px;height:64px;padding:6px;box-sizing:border-box;border-radius:12px;background:var(--tm-sky);object-fit:contain;opacity:1}
.entry-event::after{content:"›";position:absolute;top:50%;right:18px;bottom:auto;left:auto;z-index:2;transform:translateY(-50%);background:transparent;color:var(--tm-muted);font-size:2rem;line-height:1;pointer-events:none}
.entry-event-copy{position:static;z-index:1;display:grid;flex:1;gap:3px;min-width:0;padding:0 28px 0 0}
.entry-event-badge{justify-self:start;padding:4px 7px;background:var(--tm-sky);color:var(--tm-ink);font-size:.64rem}
.entry-event h3{margin:1px 0 2px;font-size:clamp(1.25rem,2.5vw,2rem);line-height:1}
.entry-event p{margin:0;color:var(--tm-muted);font-size:.9rem}
.entry-event[aria-pressed="true"]{outline:3px solid var(--tm-orange);outline-offset:2px;background:#fffaf6}
.entry-event:hover:not(:disabled){border-color:var(--tm-orange);box-shadow:0 6px 18px rgba(8,35,49,.08)}
.entry-event:disabled{opacity:.72}
@media(max-width:680px){.entry-event{gap:11px;padding:9px 12px 9px 9px}.entry-event img{flex-basis:56px;width:56px;height:56px}.entry-event p{font-size:.8rem}.entry-event::after{right:12px}}
.entry-waiver-text{padding:16px;border:1px solid var(--tm-line);border-radius:14px;background:#f7f9f9;white-space:pre-wrap;line-height:1.5}
.entry-payment-methods{display:grid;gap:9px;margin:18px 0 4px;padding:13px;border:1px solid rgba(255,255,255,.2);border-radius:12px}.entry-payment-methods legend{padding:0 5px;color:rgba(255,255,255,.72);font-size:.78rem}.entry-payment-methods label{display:flex;align-items:center;gap:8px;color:#fff;font-size:.9rem;cursor:pointer}.entry-payment-methods input{accent-color:var(--tm-orange)}
.entry-hero[hidden],.entry-layout[hidden],.entry-loading[hidden],.entry-error[hidden]{display:none!important}
.entry-paypal-payment-panel{margin-top:18px;padding:18px;border:2px solid var(--tm-orange);border-radius:16px;background:linear-gradient(135deg,#173947,#0b2633);box-shadow:0 12px 28px rgba(0,0,0,.22)}.entry-paypal-payment-panel[hidden]{display:none}.entry-paypal-payment-panel .entry-eyebrow{color:#ffbd73}.entry-paypal-payment-panel h3{margin:7px 0 9px;color:#fff;font-size:1.45rem;line-height:1}.entry-paypal-payment-panel>p{margin:0;color:rgba(255,255,255,.82);font-size:.92rem;line-height:1.45}.entry-paypal-payment-action{display:flex;align-items:center;justify-content:center;min-height:54px;margin:16px 0 12px;padding:0 16px;border-radius:11px;background:var(--tm-orange);color:#fff;font-weight:800;text-align:center;text-decoration:none;box-shadow:0 5px 0 #a34500}.entry-paypal-payment-action:hover{filter:brightness(1.06)}.entry-paypal-payment-note{font-size:.78rem!important;color:rgba(255,255,255,.65)!important}

/* Clear, standalone outcomes after a payment choice.  These are deliberately
   separate from the entry form so entrants cannot mistake an awaiting-payment
   entry for a confirmed place. */
.entry-payment-outcome{max-width:620px;margin:clamp(70px,12vw,150px) auto;padding:clamp(32px,6vw,64px);border:1px solid var(--tm-line);border-radius:26px;background:#fff;box-shadow:0 18px 48px rgba(8,35,49,.08);text-align:center}.entry-payment-outcome[hidden]{display:none!important}.entry-payment-outcome-eyebrow{display:inline-block;margin-bottom:15px;padding:7px 11px;border-radius:999px;background:#e7f7f1;color:#087c5e;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.entry-payment-outcome h1{margin:0 0 15px;font-size:clamp(2.7rem,6vw,4.8rem);line-height:.9;letter-spacing:-.035em}.entry-payment-outcome>p{max-width:500px;margin:0 auto;color:var(--tm-muted);font-size:1.08rem;line-height:1.5}.entry-payment-outcome dl,.entry-payment-outcome-action{display:none!important}.entry-payment-outcome-return{display:inline-flex;justify-content:center;align-items:center;min-height:52px;margin:28px auto 0;padding:0 22px;border-radius:12px;background:var(--tm-ink);color:#fff;text-decoration:none;font-weight:800}.entry-payment-outcome-return:hover{background:#173947}.entry-payment-outcome--cancelled .entry-payment-outcome-eyebrow{background:#fbe7e7;color:#9d2424}@media(max-width:540px){.entry-payment-outcome{margin:44px auto;padding:32px 22px;border-radius:22px}}

/* Shared Trail Monkey shell on the entry routes. The site-ui.js component
   supplies the ticker, navigation, language picker and email badge used by
   the public pages. */
.entry-topbar .nav{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:flex-end;gap:3px}
.entry-topbar .nav a{font-family:var(--tm-font);font-weight:300!important}
.entry-topbar .tm-menu-toggle{flex:0 0 auto}
.entry-topbar .tm-language-picker{flex:0 0 auto;margin-left:0}

@media(max-width:1180px){
  .entry-topbar{flex-wrap:wrap}
  .entry-topbar .entry-brand{order:1}
  .entry-topbar .entry-back{order:2}
  .entry-topbar .tm-language-picker{order:3}
  .entry-topbar .nav{order:4;flex-basis:100%;justify-content:flex-end}
}

@media(max-width:950px){
  .entry-topbar{justify-content:flex-start;gap:8px}
  .entry-topbar .entry-brand{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* The calendar is already available under Races, so keep the compact
     mobile header focused on the shared menu and language control. */
  .entry-topbar .entry-back{display:none}
  .entry-topbar .tm-menu-toggle{display:flex;order:2;margin-left:auto}
  .entry-topbar .tm-language-picker{order:3}
  .entry-topbar .nav{display:none!important;order:4;flex:0 0 100%;width:100%;max-height:calc(100vh - 150px);margin:4px 0 0;padding:8px;overflow-y:auto;overflow-x:hidden;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;border:1px solid var(--tm-line);border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(8,35,49,.12)}
  .entry-topbar .nav.is-open{display:flex!important}
  .entry-topbar .nav>a,.entry-topbar .nav-dropdown>a{display:flex;width:100%;align-items:center;justify-content:space-between;padding:11px 12px;white-space:normal}
  .entry-topbar .nav-dropdown{position:static;width:100%}
  .entry-topbar .nav-submenu{position:static;display:none;width:100%;margin:2px 0 7px;padding:7px;grid-template-columns:1fr;gap:2px;border:0;border-radius:11px;background:var(--tm-sky);box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}
  .entry-topbar .nav-dropdown.is-open>.nav-submenu{display:grid}
  .entry-topbar .nav-submenu::before{display:none}
  .entry-topbar .nav-submenu section{padding:2px 0}
  .entry-topbar .nav-submenu p{margin:3px 0 2px;padding:5px 9px}
  .entry-topbar .nav-submenu a{padding:9px 11px;background:rgba(255,255,255,.72);white-space:normal}
  .entry-topbar .nav-submenu-wide{grid-column:auto;padding-top:4px;border-top:1px solid rgba(8,35,49,.1)}
  .entry-topbar .nav-submenu-wide>div{display:grid;gap:2px}
}

@media(max-width:520px){
  .entry-topbar{padding:13px 12px}
  .entry-topbar .entry-brand{font-size:.96rem}
}
