.catalog-breadcrumb{display:flex;align-items:center;gap:13px;font-size:10px;color:var(--on-dark-muted);margin-bottom:33px}
.catalog-breadcrumb>span{color:var(--text-subtle)}.catalog-breadcrumb a:hover{color:#fff}
.catalog-hero h1{font-size:clamp(48px,5.5vw,80px)}.catalog-subtitle{font-size:14px;line-height:1.8;color:var(--on-dark);max-width:820px}
.catalog-search{grid-template-columns:minmax(190px,1.4fr) minmax(180px,1.2fr) minmax(150px,.9fr) auto}
.catalog-search.series-search{grid-template-columns:minmax(200px,1.3fr) minmax(170px,1.2fr) 80px minmax(140px,1fr) auto}
.catalog-field{min-width:0}.catalog-field label{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;font-weight:600;margin-bottom:11px}
.catalog-field input,.catalog-field select{font:inherit;font-size:13px;min-width:0;max-width:100%;width:100%;color:var(--navy)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalog-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px;transition:border-color .18s}
.catalog-card:hover{border-color:var(--border-strong);box-shadow:0 6px 20px rgb(var(--navy-rgb) / .06)}.catalog-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:27px}
.catalog-image{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--surface-soft);color:var(--text-subtle);border-radius:3px;min-height:100px}
.catalog-image>span{display:grid;place-items:center}.catalog-image svg{width:48px;height:48px}
.catalog-image img{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0;background:#fff}.catalog-image img[hidden]{display:none}
.catalog-image.catalog-logo{width:54px;height:54px;min-height:54px;flex-shrink:0;border:1px solid var(--surface-soft);background:var(--canvas)}
.catalog-logo svg{width:29px;height:29px;color:var(--brand-strong)}
.catalog-badge{display:inline-flex;align-items:center;width:fit-content;font-size:9px;font-weight:500;line-height:1.4;background:var(--surface-soft);border:1px solid var(--line);border-radius:3px;padding:6px 9px;color:var(--text-secondary)}
.card-owner{font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:7px;display:block}
.catalog-card h3{font-size:21px;letter-spacing:-.035em;line-height:1.3;overflow-wrap:anywhere}
.catalog-card h3 a:hover{color:var(--brand-strong)}.card-meta{color:var(--muted);font-size:11px;line-height:1.7;margin:15px 0 26px}
.catalog-card-bottom{margin-top:auto;border-top:1px solid var(--surface-soft);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.catalog-card-bottom>span{font-size:10px;color:var(--muted)}.catalog-card-bottom>strong{font-size:17px;letter-spacing:-.025em}
.catalog-card-bottom>a{display:inline-flex;align-items:center;gap:12px;font-size:11px;white-space:nowrap;font-weight:600}
.catalog-card-bottom svg{width:17px;height:17px;color:var(--brand)}.catalog-card-bottom>a:hover{color:var(--brand-strong)}
.detail-hero{padding-bottom:52px}.detail-hero .events-hero-art{inset:0 0 0 48%;opacity:.6}
.detail-hero h1{max-width:950px;font-size:clamp(38px,4.5vw,64px);line-height:1.08;letter-spacing:-.05em;overflow-wrap:anywhere;margin:23px 0 22px}
.detail-hero .eyebrow{max-width:900px;line-height:1.8}.meta-separator{padding:0 15px;color:var(--muted)}.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.hero-badges .catalog-badge{background:var(--navy-raised);color:var(--on-dark);border-color:var(--navy-border)}
.hero-register{margin-top:25px;font-size:12px;padding:14px 22px;gap:22px}
.detail-content{padding-bottom:70px}.detail-nav{display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line);padding:23px 0;margin-bottom:10px;flex-wrap:wrap}
.detail-nav a{font-size:12px;font-weight:500;color:var(--muted)}.detail-nav a:hover{color:var(--brand-strong)}
.detail-nav .back-to-list{margin-left:auto;display:inline-flex;align-items:center;gap:12px}.back-to-list svg{width:16px;height:16px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:65px;align-items:start}
.detail-main{min-width:0}.detail-section{padding:39px 0 42px;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.detail-section:last-child{border-bottom:0}.detail-section .eyebrow{font-size:9px;letter-spacing:.13em}
.detail-section h2{font-size:32px;line-height:1.2;letter-spacing:-.045em;margin:15px 0 27px}.detail-section h3{font-size:19px;line-height:1.4;letter-spacing:-.025em}
.detail-sidebar{display:flex;flex-direction:column;gap:22px;padding-top:39px;min-width:0}
.detail-panel{background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px}
.detail-panel h2{font-size:23px;line-height:1.25;letter-spacing:-.04em;margin:14px 0 22px}
.detail-panel .eyebrow{font-size:8px;letter-spacing:.12em}.detail-panel .button{width:100%;font-size:12px;line-height:1.5;padding:15px 17px;gap:15px}
.registration-panel{border-top:3px solid var(--brand)}.action-note{font-size:10px;line-height:1.8;color:var(--muted);margin:13px 0 0}
.detail-facts{margin:0 0 24px}.detail-facts>div{border-bottom:1px solid var(--surface-soft);padding:13px 0}
.detail-facts dt{font-size:10px;color:var(--muted);margin-bottom:7px}.detail-facts dd{font-size:12px;line-height:1.7;color:var(--navy)}
.event-overview-facts{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;margin:0 0 34px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.event-overview-facts dt{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.event-overview-facts dd{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.event-overview-facts dd a{text-decoration:underline;text-underline-offset:4px}
.rich-description{font-size:14px;line-height:1.85;color:var(--navy);overflow-wrap:anywhere}
.rich-description p,.rich-description div,.rich-description ul,.rich-description ol,.rich-description blockquote{margin:0 0 18px}
.rich-description ul,.rich-description ol{padding-left:23px}.rich-description li{margin-bottom:7px}
.rich-description h2,.rich-description h3,.rich-description h4{font-size:20px;line-height:1.4;margin:26px 0 12px}
.rich-description a{color:var(--brand-strong);text-decoration:underline;text-underline-offset:3px}
.rich-description blockquote{border-left:2px solid var(--brand);padding-left:20px}
.rich-description table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.rich-description td,.rich-description th{padding:8px;border:1px solid var(--line)}
.muted{font-size:13px;line-height:1.85;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:11px;font-size:12px;line-height:1.7;font-weight:600;color:var(--brand-strong);margin-top:17px}
.text-link svg{width:17px;height:17px;flex-shrink:0}.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.flyer-panel{padding:20px}.flyer-panel h2{font-size:15px;margin:0 0 18px}.flyer-panel .catalog-image{min-height:0;background:#fff}
.flyer-panel .catalog-image>span{display:none}.flyer-panel .catalog-image img{position:relative;height:auto;max-height:480px;object-fit:contain}
.subtle-panel{background:var(--surface-soft);border-color:var(--line)}.subtle-panel p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted)}
.subtle-panel .text-link{display:flex;justify-content:space-between;gap:10px}
.race-list{display:flex;flex-direction:column;gap:12px}.race-card{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:23px;background:#fff;border:1px solid var(--line);border-radius:3px}
.race-card>div{min-width:0}.race-card h3{font-size:17px}.race-card p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:7px}
.race-card>.text-link{margin:2px 0 0;white-space:nowrap}.race-card .catalog-badge{flex-shrink:0;font-size:8px}
.race-classes{font-size:11px;margin-top:15px;color:var(--muted)}.race-classes summary{cursor:pointer;width:fit-content}.race-classes ul{padding-left:16px;margin-top:12px;line-height:1.9}
.detail-notice{background:var(--surface-soft);border:1px solid var(--line);padding:27px;border-radius:4px}
.detail-notice h3{font-size:18px;margin:0 0 10px;line-height:1.4}.detail-notice p{font-size:13px;line-height:1.8;color:var(--muted)}
.live-results-link{margin-top:23px}.schedule-block{margin-top:28px}.schedule-list{padding:0;list-style:none;margin:17px 0 0;border-top:1px solid var(--line)}
.schedule-list li{display:grid;grid-template-columns:190px 1fr;gap:26px;padding:21px 14px;border-bottom:1px solid var(--line)}
.schedule-list time{font-size:11px;line-height:1.7;color:var(--muted)}.schedule-list time small{display:block;margin-top:6px;font-size:10px}.schedule-list strong{font-size:14px}
.schedule-highlight{background:var(--surface-soft);border-left:2px solid var(--brand)}.schedule-list .rich-description{font-size:12px;margin-top:8px}
.detail-link-list{border-top:1px solid var(--line)}.detail-link-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.detail-link-row strong{font-size:16px;line-height:1.4}.detail-link-row small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:6px}.detail-link-row svg{width:20px;height:20px;flex-shrink:0;color:var(--brand-strong)}
.detail-link-row:hover strong{color:var(--brand-strong)}
.organization-heading{display:flex;align-items:center;gap:21px;margin:0 0 30px}.organization-logo{width:74px;height:74px;min-height:74px;flex-shrink:0;border:1px solid var(--line)}
.organization-heading .card-owner{font-size:8px;letter-spacing:.12em}.organization-heading h3{font-size:23px}
.membership-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:30px}
.membership-price-panel{border-top:3px solid var(--brand);scroll-margin-top:110px}.membership-price{font-size:32px;line-height:1.2;letter-spacing:-.045em;margin:23px 0 14px;font-weight:600}
.membership-price-panel>.muted{font-size:11px;margin:0 0 25px}
.standings-heading{display:flex;justify-content:space-between;align-items:center;gap:32px}.standings-source{font-size:11px;line-height:1.7;color:var(--muted);text-align:right;max-width:250px}
.standings-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:20px;padding:24px;background:var(--surface-soft);border:1px solid var(--line);border-radius:4px;margin-bottom:24px}
.standings-filters .catalog-field{flex:1;min-width:180px}.standings-filters select{background:#fff;border:1px solid var(--line);border-radius:3px;padding:11px;min-height:44px}
.standings-filters .button{font-size:12px;min-height:44px;padding:12px 22px}.standings-filters .catalog-field label{font-size:8px}
.standings-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);background:#fff;border-radius:4px}
.standings-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;line-height:1.6;white-space:nowrap}
.standings-table thead{background:var(--navy);color:var(--surface-soft)}.standings-table thead th{font-size:9px;letter-spacing:.075em;text-transform:uppercase;font-weight:500;padding:17px 22px}
.standings-table td,.standings-table tbody th{padding:19px 22px;border-top:1px solid var(--surface-soft);font-weight:400}.standings-table tbody th{font-size:13px;font-weight:600}
.standings-table tbody tr:hover{background:var(--canvas)}.standings-table small{font-size:10px;color:var(--muted);display:block;margin-top:3px}
.standings-table .standing-position{font-size:17px;font-variant-numeric:tabular-nums;color:var(--brand-strong)}.standings-table .numeric{text-align:right;font-variant-numeric:tabular-nums}
.standings-updated{font-size:10px;color:var(--muted);margin-top:23px}
.detail-error{padding:60px 0 90px}.detail-error .detail-notice{margin-bottom:25px}.detail-error>.button{margin:0 12px 12px 0}
@media(max-width:1180px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-search.series-search{grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) 80px 140px}.catalog-search .event-search-button{grid-column:1/-1}.detail-layout{gap:35px;grid-template-columns:minmax(0,1fr) 300px}.detail-panel{padding:22px}.detail-hero h1{max-width:850px}}
@media(max-width:980px){.catalog-search,.catalog-search.series-search{grid-template-columns:1fr 1fr}.catalog-search .event-search-button{grid-column:1/-1}.detail-layout{grid-template-columns:minmax(0,1fr) 280px;gap:25px}.race-card{flex-direction:column;gap:15px}.schedule-list li{grid-template-columns:1fr;gap:12px}.event-overview-facts{grid-template-columns:1fr;gap:20px}}
@media(max-width:760px){.catalog-hero h1{font-size:47px}.catalog-breadcrumb{margin-bottom:28px}.catalog-grid{grid-template-columns:1fr}.catalog-card{padding:24px}.catalog-card h3{font-size:22px}.catalog-search,.catalog-search.series-search{gap:22px;padding:22px}.catalog-search>.catalog-field:first-child{grid-column:1/-1}.catalog-search .event-search-button{margin:0}.catalog-card-bottom>strong{font-size:19px}.catalog-hero{padding-bottom:58px}.detail-hero{padding-bottom:35px}.detail-hero h1{font-size:38px;line-height:1.12}.detail-hero .events-hero-art{inset:0 0 0 18%;opacity:.3}.detail-hero .catalog-subtitle{font-size:12px}.meta-separator{padding:0 9px}.detail-layout{display:flex;flex-direction:column;gap:0}.detail-main,.detail-sidebar{width:100%}.detail-sidebar{padding-top:15px}.detail-section{padding:30px 0}.detail-section h2{font-size:28px;margin-bottom:23px}.detail-nav{gap:17px;padding:20px 0}.detail-nav a{font-size:10px}.detail-nav .back-to-list{margin-left:0}.event-overview-facts{grid-template-columns:1fr 1fr;gap:22px}.rich-description{font-size:13px}.detail-panel{padding:25px}.flyer-panel .catalog-image img{max-height:450px}.standings-heading{display:block}.standings-source{display:block;text-align:left;margin:-8px 0 23px;max-width:none}.standings-filters{padding:20px;gap:17px}.standings-filters .catalog-field{min-width:100%;flex-basis:100%}.standings-filters .button{width:100%}.standings-table td,.standings-table tbody th,.standings-table thead th{padding:15px}.membership-facts{grid-template-columns:1fr}.organization-heading h3{font-size:20px}.detail-content{padding-bottom:45px}}
@media(max-width:380px){.catalog-hero h1{font-size:39px}.catalog-search,.catalog-search.series-search{grid-template-columns:1fr;padding:19px}.catalog-search>.catalog-field:first-child{grid-column:auto}.catalog-card{padding:21px}.catalog-card-bottom{flex-wrap:wrap}.detail-hero h1{font-size:33px}.event-overview-facts{grid-template-columns:1fr}.catalog-badge{font-size:8px}.catalog-card-top{gap:10px}.detail-nav{gap:15px}.organization-heading{gap:15px}}
