/* Thomas River 2026 professional refinements */
.portalHeader{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;margin-bottom:16px;background:linear-gradient(135deg,#fff 0%,#f7f5ee 100%)}
.portalHeader p,.portalFilters .panelHead p,.categoryOverview .panelHead p,.entrantTable .panelHead p,.eyebrow{margin:0 0 5px;color:#d89122;font-size:11px;font-weight:800;letter-spacing:.14em}
.portalHeader h2,.resultsHero h2{margin:0 0 8px;font-family:Georgia,serif;font-size:34px;color:#173f37}.portalHeader span{color:#66736f}.portalActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portalMetrics{margin-bottom:16px}.portalFilters,.categoryOverview,.entrantTable{padding:24px;margin-bottom:16px}.portalFilters form{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:end}.portalFilters label{display:grid;gap:7px;color:#29483f;font-size:12px;font-weight:800}.portalFilters select{width:100%;min-height:44px;padding:0 12px;border:1px solid #dce3df;border-radius:9px;background:#fff;color:#173f37}.panelHead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.panelHead h3{margin:0;color:#173f37}.panelHead a{white-space:nowrap}.categoryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.categoryGrid>article{padding:18px;border:1px solid #e2e7e3;border-radius:12px;background:#fbfcfa}.categoryTitle{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6ebe8;padding-bottom:12px;margin-bottom:8px}.categoryTitle h4{margin:0;color:#173f37;font-size:17px}.categoryTitle a,.miniExport{color:#e95d4f;font-weight:800;font-size:11px}.raceSummary{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid #edf0ee}.raceSummary:last-child{border:0}.raceSummary>a:first-child{display:flex;gap:9px;align-items:center;color:#173f37}.raceSummary small{grid-column:1;color:#75817d}.miniExport{grid-column:2;grid-row:1/3;align-self:center}.entrantTable td strong,.entrantTable td small{display:block}.entrantTable td small{margin-top:3px;color:#7a8581}.entrantTable td a{color:#275d52}.statusPill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff2d9;color:#895d0e;font-size:11px;font-weight:800}.statusPill.paid{background:#dff4e7;color:#24633e}.resultsHero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;padding:38px;margin-bottom:16px;background:linear-gradient(135deg,#f8f5e9 0%,#fff 68%)}.resultsHero p:not(.eyebrow){max-width:670px;margin:0;color:#60716b;line-height:1.65}.resultsBadge{display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:13px;background:#173f37;color:#fff}.resultsBadge strong{font:46px Georgia,serif;color:#ef6555}.resultsBadge span{font-size:11px;font-weight:800;line-height:1.2}.resultsStatus{display:flex;align-items:center;gap:16px;padding:22px;margin-bottom:16px}.statusMark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#dff3df;color:#236140;font-size:22px;font-weight:900}.resultsStatus p{margin:0 0 4px;color:#d89122;font-size:10px;font-weight:800;letter-spacing:.14em}.resultsStatus h3{margin:0 0 3px;color:#173f37}.resultsStatus span{color:#6d7975}.resultCategories{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.resultCategories article{padding:24px}.resultCategories i{display:inline-grid;place-items:center;min-width:46px;height:42px;padding:0 9px;border-radius:9px;font-style:normal;font-size:11px;font-weight:900}.resultCategories h3{margin:15px 0 5px;color:#173f37}.resultCategories p{margin:0 0 12px;color:#596962}.resultCategories span{color:#8a9490;font-size:12px}.resultsHelp{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px}.resultsHelp h3{margin:0 0 5px;color:#173f37}.resultsHelp span{color:#6e7a76}
.accommodationPanel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:27px;margin:16px 0;background:linear-gradient(135deg,#f5f0df 0%,#fff 72%);border-color:#e3dac0}.accommodationIcon{display:grid;place-items:center;width:62px;height:62px;border-radius:14px;background:#173f37;color:#f4c15d;font-size:32px;font-weight:900}.accommodationCopy p{margin:0 0 5px;color:#d89122;font-size:10px;font-weight:800;letter-spacing:.14em}.accommodationCopy h2{margin:0 0 6px;color:#173f37;font:700 27px Georgia,serif}.accommodationCopy span{color:#64736e;line-height:1.55}.accommodationButton{white-space:nowrap}
.raceDayPanel{padding:28px;margin:16px 0}.raceDayHeading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #e5eae7}.raceDayHeading p{margin:0 0 5px;color:#d89122;font-size:10px;font-weight:800;letter-spacing:.14em}.raceDayHeading h2{margin:0 0 7px;color:#173f37;font:700 30px Georgia,serif}.raceDayHeading span{color:#687670;line-height:1.5}.raceDayHeading>strong{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 8px;min-width:88px;padding:10px 14px;border-radius:12px;background:#173f37;color:#fff;font-size:10px;letter-spacing:.12em}.raceDayHeading>strong b{grid-row:1/3;font:42px Georgia,serif;color:#ef6555}.raceDayHeading>strong small{font-size:9px}.raceDayGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.startSchedule,.routeMarkers{padding:20px;border:1px solid #e2e8e4;border-radius:12px;background:#fbfcfa}.startSchedule h3,.routeMarkers h3{margin:0 0 12px;color:#173f37}.startSchedule>div,.routeMarkers>div{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #edf0ee}.startSchedule time{min-width:52px;color:#e85e4f;font-size:18px;font-weight:900}.startSchedule span,.routeMarkers span{color:#455953}.startSchedule small,.routeMarkers small{display:block;margin-top:12px;color:#7b8782;line-height:1.45}.routeMarkers i{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 4px #eef1ef}.redMarker{background:#d94b44}.greenMarker{background:#3f8a57}.blueMarker{background:#3977bd}.yellowMarker{background:#e2bd2e}.raceRulesGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.raceRulesGrid article{position:relative;padding:20px 20px 18px 58px;border:1px solid #e2e8e4;border-radius:12px}.raceRulesGrid article>span{position:absolute;left:18px;top:19px;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f5e9cf;color:#a46f18;font-size:10px;font-weight:900}.raceRulesGrid h3{margin:0 0 9px;color:#173f37}.raceRulesGrid ul{margin:0;padding-left:18px;color:#64736e;line-height:1.65}.raceDayNotice{display:flex;gap:15px;margin-top:16px;padding:17px 19px;border-radius:11px;background:#173f37;color:#fff}.raceDayNotice strong{white-space:nowrap;color:#f4c15d}.raceDayNotice span{line-height:1.5;color:#d9e3df}
@media(max-width:900px){.portalHeader,.resultsHelp{align-items:flex-start;flex-direction:column}.portalFilters form{grid-template-columns:1fr 1fr}.categoryGrid,.resultCategories{grid-template-columns:1fr}.portalActions{width:100%}.portalActions a{flex:1;text-align:center}.entryProgress{grid-template-columns:repeat(4,1fr)!important}.entryProgress>*{min-width:0!important}.accommodationPanel{grid-template-columns:auto 1fr}.accommodationButton{grid-column:2;justify-self:start}.raceDayGrid,.raceRulesGrid{grid-template-columns:1fr}}
@media(max-width:560px){.portalHeader,.portalFilters,.categoryOverview,.entrantTable,.resultsHero{padding:18px}.portalHeader h2,.resultsHero h2{font-size:28px}.portalFilters form{grid-template-columns:1fr}.portalFilters button{width:100%}.panelHead{align-items:flex-start;flex-direction:column}.panelHead a{width:100%;text-align:center}.resultsHero{align-items:flex-start;flex-direction:column}.resultsBadge{align-self:stretch;justify-content:center}.topbar h1{font-size:25px}.portalActions{flex-direction:column}.portalActions a{width:100%;box-sizing:border-box}.entryProgress{gap:5px!important}.entryProgress span{font-size:10px!important}.heroEventLine{font-size:14px!important;line-height:1.25!important}.accommodationPanel{grid-template-columns:1fr;padding:20px}.accommodationIcon{width:52px;height:52px}.accommodationButton{grid-column:1;width:100%;box-sizing:border-box;text-align:center}.accommodationCopy h2{font-size:24px}.raceDayPanel{padding:18px}.raceDayHeading{align-items:flex-start;flex-direction:column}.raceDayHeading h2{font-size:26px}.raceDayHeading>strong{align-self:stretch;justify-content:center}.raceRulesGrid article{padding:18px 16px 16px 52px}.raceDayNotice{align-items:flex-start;flex-direction:column}.raceDayNotice strong{white-space:normal}}

/* 2026 poster-aligned heritage race theme */
:root{--orange:#e75a31;--coral:#e75a31;--mint:#b8c88d;--ink:#334d2d;--ink-dark:#20351f;--side:#29452b;--muted:#756f61;--line:#d9d1b9;--bg:#e8e1cf;--white:#fffdf6;--cream:#f5f0e2;--gold:#e8ad3f;--olive:#60733d}
body{background-color:var(--bg);background-image:radial-gradient(#304c2910 .7px,transparent .8px);background-size:7px 7px;color:#31362d}
.sidebar{background:linear-gradient(180deg,#2c492d 0%,#1f3825 100%);border-right:4px solid #d7c99a}
.sideBrand img{border-color:var(--gold);border-radius:50%}.sideBrand strong{color:#fff8e9;letter-spacing:.02em}.sideBrand span,.sideContact a{color:#c7d0ae}.navItem{color:#d9dfc7;text-transform:uppercase;letter-spacing:.035em;font-weight:700}.navItem:hover{background:#476044}.navItem.active{background:#f5f0e218;color:#fffdf6;box-shadow:inset 4px 0 var(--orange)}.navItem>span{border-color:#8fa078;color:#dce4ca}.navItem>b{background:var(--orange);color:#fff}.eventStatus{border-color:#72835e;background:#f5f0e20d}.eventStatus i{background:var(--gold);box-shadow:0 0 0 3px #e8ad3f22}.eventStatus small{color:#bdc8ad}.sideContact{border-color:#ffffff24}.sideContact>div{background:var(--gold);color:#263b24}
.workspace{background:linear-gradient(180deg,#f3eedf 0,#e8e1cf 100%)}.topbar p,.pageIntro>div>p,.pageHero p,.entryForm p,.confirmation>p,.sponsorContact>p{color:#8a6c2b}.topbar p{color:#6b744f;font-weight:900}.topbar h1{color:var(--ink-dark);font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-weight:800;letter-spacing:.025em;text-transform:uppercase}.facebook,.outlineButton,.secondary{background:#fffaf0;border-color:#bfc09f;color:var(--ink);border-radius:10px}.primary{background:var(--orange);border-radius:10px;box-shadow:inset 0 -2px #a9331b;color:#fffdf6;text-transform:uppercase;letter-spacing:.04em}.primary:hover{background:#cf4826}
.panel,.pageIntro,.metrics article,.landingHighlights article,.eventCardGrid article,.galleryGrid figure,.landingPhotos figure{background:var(--white);border-color:var(--line);border-radius:14px;box-shadow:0 5px 16px #26391f0b}.panelHead{border-color:#e5decb}.panelHead h3,.sectionHead h3{color:var(--ink);text-transform:uppercase;letter-spacing:.045em}.panelHead>a,.sectionHead>a,.eventCardGrid article a,.landingWelcome>div a{color:#a14a27}
.dashboardHero,.pageHero{border:5px solid #e6dcb9;border-radius:24px;background-image:linear-gradient(100deg,#263f27f2 0%,#365532df 56%,#36553252),url('scenic-rider.jpg');box-shadow:0 8px 22px #20351f2b}.eventHero{background-image:linear-gradient(100deg,#263f27f2 0%,#365532d9 60%,#3655323d),url('mtb-group.jpg')}.sponsorHero{background-image:linear-gradient(100deg,#263f27f2 0%,#365532d9 60%,#3655323d),url('trail-runners.jpg')}.dashboardHero p,.pageHero p{color:var(--gold)}.dashboardHero h2,.pageHero h2{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-weight:900;line-height:.95;letter-spacing:.025em;text-transform:uppercase;color:#fffaf0}.dashboardHero span,.pageHero span{color:#e6e2d4}
.landingHero{min-height:540px;border:6px solid #e4d9b5;border-radius:26px;background-image:linear-gradient(95deg,#263f27f5 0%,#365532e5 52%,#36553245 80%),url('scenic-rider.jpg');box-shadow:0 9px 26px #21341e35}.landingCopy>p,.landingWelcome>div>p{color:var(--gold)}.landingCopy h2{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-weight:900;line-height:.82;letter-spacing:.01em;text-transform:uppercase;color:#fffaf0;text-shadow:0 3px #172a18}.landingCopy h2 em{color:#c4ce98;font-style:normal}.landingCopy>span{color:var(--orange)}.landingCopy>small{color:#f4eedf}.landingOutline{border:2px solid #eee2bd;border-radius:10px;background:#263f2744}.landingDate{background:#f8f1df;border:2px solid #72834f;border-radius:14px}.landingDate>b{color:var(--orange);font-family:"Arial Narrow",Impact,sans-serif;font-weight:900}.landingHighlights i,.routeList i.orange{background:#efe1b9;color:#655326}.landingHighlights i.run,.routeList i.mint{background:#dfe6c6;color:#415c32}.landingHighlights i.fri{background:#f7d4c5;color:#a63c21}.landingWelcome h2,.landingPhotos figcaption strong,.pageIntro h2,.detailPanel article h3,.sponsorContact h2,.organiserAccess h2,.organiserLogin h2,.locationCopy h2{color:var(--ink);font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-weight:800;letter-spacing:.015em;text-transform:uppercase}.landingPhotos figcaption span,.landingWelcome>div>span{color:#68695d}
.metrics article{border-top:3px solid #7a8758}.metrics strong{color:var(--ink)}.metrics i.orange{background:#efe1b9;color:#685321}.metrics i.mint,.metrics i.green{background:#dfe7c9;color:#405b33}.metrics i.coral{background:#f7d2c3;color:#9e3d25}.routeLine.orange{background:var(--orange)}.routeLine.mint{background:#6d8248}.routeList b{color:var(--orange)}
.eventCardGrid article:before{width:6px;background:var(--orange)}.eventCardGrid article.runCard:before{background:#6e824c}.eventCardGrid article.ebikeCard:before{background:var(--gold)}.eventCardGrid article h3{color:var(--ink);font-family:"Arial Narrow",Impact,sans-serif;font-weight:900}.eventCardGrid article>i{color:#84672e}.routeMapPlaceholder{border-color:#9aa27d;background:linear-gradient(135deg,#f4f0e2 25%,#e8e3d1 25%,#e8e3d1 50%,#f4f0e2 50%,#f4f0e2 75%,#e8e3d1 75%)}.routeMapPlaceholder>b{background:var(--ink)}
.formFields input:not([type=checkbox]),.expandedFields select,.weekendForm select,.organiserAccess input,.organiserLogin input,.portalFilters select{background:#fffdf7;border-color:#cfc8b3;border-radius:9px}.eventOptions label{border-color:#d2cbb7;border-radius:12px;background:#fffdf7}.eventOptions label.selected{border-color:var(--orange);background:#fff2eb;box-shadow:inset 4px 0 var(--orange)}.entrySteps,.checkRow,.privacyNotice,.adminTable th{background:#f6f0e1}.entrySteps>div.active b{background:var(--orange)}.indemnityBox{border-color:#caa453;background:#fff8e9}.organiserNote{background:#e8edd8;border-left-color:#70844c}.eftNotice{background:#fff4de;border-left-color:var(--gold)}
.portalHeader,.resultsHero{background:linear-gradient(135deg,#f6efdd 0%,#fffdf7 100%);border-top:5px solid var(--olive)}.portalHeader h2,.resultsHero h2,.categoryTitle h4,.panelHead h3,.raceSummary>a:first-child,.resultsStatus h3,.resultCategories h3,.resultsHelp h3{color:var(--ink)}.portalHeader p,.portalFilters .panelHead p,.categoryOverview .panelHead p,.entrantTable .panelHead p,.eyebrow{color:#9b6b18}.categoryGrid>article,.startSchedule,.routeMarkers{background:#fbf7ec;border-color:#d8d0b9}.categoryTitle a,.miniExport{color:var(--orange)}.statusPill{background:#fff0cf;color:#765312}.statusPill.paid{background:#e3ecd2;color:#405e31}.resultsBadge,.raceDayHeading>strong,.raceDayNotice,.accommodationIcon{background:var(--ink)}.resultsBadge strong,.raceDayHeading>strong b{color:var(--orange)}
.accommodationPanel{background:linear-gradient(135deg,#eee4c9 0%,#fffaf0 72%);border:2px solid #cabc91;border-radius:16px}.accommodationCopy p,.raceDayHeading p{color:#a36b12}.accommodationCopy h2,.raceDayHeading h2,.startSchedule h3,.routeMarkers h3,.raceRulesGrid h3{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;color:var(--ink);text-transform:uppercase;letter-spacing:.025em}.startSchedule time{color:var(--orange)}.raceRulesGrid article{border-color:#d7cfb8;background:#fffdf7;border-radius:12px}.raceRulesGrid article>span{background:#efe0b8;color:#735a22}.raceDayNotice strong,.accommodationIcon{color:var(--gold)}
.sponsorContact,.loginLayout{background-image:linear-gradient(105deg,#263f27f0,#365532d7),url('scenic-rider.jpg')}.loginBadge{background:var(--gold)}.appFooter{border-color:#cfc6ae;color:#746f61}
@media(max-width:560px){.landingHero,.dashboardHero,.pageHero{border-width:3px;border-radius:18px}.landingCopy h2{font-size:52px}.sidebar{border-right:0}.workspace{background:linear-gradient(180deg,#f3eedf 0,#e8e1cf 100%)}}

/* =========================================================
   Thomas River public-site presentation
   One restrained visual system for the event brand, sidebar
   and homepage. This replaces the earlier competing overrides.
   ========================================================= */

.sidebar{
    width:258px;
    padding:24px 18px 20px;
    overflow-y:auto;
    overflow-x:hidden;
    background:linear-gradient(180deg,#29462f 0%,#1f3727 100%);
    border-right:1px solid rgba(214,196,137,.58);
    box-shadow:8px 0 28px rgba(24,43,29,.10);
}

.workspace{
    width:calc(100% - 258px);
    margin-left:258px;
}

.eventBrand{
    display:flex;
    align-items:center;
    gap:13px;
    margin:0 2px 22px;
    padding:0 2px 22px;
    border-bottom:1px solid rgba(255,255,255,.12);
    text-decoration:none;
}

.eventBrand img{
    flex:0 0 50px;
    width:50px;
    height:50px;
    object-fit:cover;
    border:1px solid #d6bd6a;
    border-radius:50%;
    box-shadow:0 7px 18px rgba(8,23,13,.30);
}

.eventBrandCopy{
    min-width:0;
}

.eventBrandCopy span,
.eventBrandCopy strong{
    display:block;
}

.eventBrandPlace{
    margin-bottom:4px;
    color:#d8bf72;
    font-size:8px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.eventBrandCopy strong{
    max-width:155px;
    color:#fffaf0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
    font-weight:400;
    line-height:1.12;
}

.eventBrandSub{
    margin-top:6px;
    color:#c5cfba;
    font-size:24px;
    font-weight:700;
    line-height:1.25;
}

.eventBrandDate{
    margin-top:7px;
    color:#d8bf72;
    font-size:8px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.sidebar nav{
    display:grid;
    gap:4px;
}

.navItem{
    position:relative;
    min-height:44px;
    padding:9px 10px;
    border:1px solid transparent;
    border-radius:6px;
    color:#d7decf;
    font-size:11px;
    font-weight:650;
    letter-spacing:.01em;
    text-transform:none;
    transition:background .16s ease,border-color .16s ease,color .16s ease;
}

.navItem:hover{
    border-color:rgba(255,255,255,.10);
    background:rgba(255,255,255,.06);
    color:#fff;
}

.navItem.active{
    border-color:#d9d0b3;
    background:#f4efe2;
    color:#263f2b;
    box-shadow:0 7px 17px rgba(12,28,17,.22);
}

.navItem.active:before{
    content:"";
    position:absolute;
    left:-1px;
    top:10px;
    bottom:10px;
    width:3px;
    border-radius:0 3px 3px 0;
    background:#e75a31;
}

.navItem>span{
    width:25px;
    height:25px;
    flex:0 0 25px;
    border:1px solid #829276;
    border-radius:5px;
    color:#dbe2d2;
    font-size:8px;
}

.navItem.active>span{
    border-color:#a4ad91;
    background:#e6e5d6;
    color:#30482f;
}

.navItem>b{
    min-width:43px;
    padding:4px 7px;
    border-radius:4px;
    background:#e75a31;
    color:#fff;
    font-size:7px;
    letter-spacing:.04em;
    text-align:center;
    white-space:nowrap;
}

.eventStatus{
    margin-top:25px;
    padding:14px;
    border:1px solid rgba(174,190,154,.42);
    border-radius:7px;
    background:rgba(255,255,255,.035);
}

.eventStatus:before{
    content:"EVENT STATUS";
    display:block;
    margin-bottom:9px;
    color:#aebba4;
    font-size:7px;
    font-weight:800;
    letter-spacing:.16em;
}

.eventStatus strong{
    color:#f4f0e5;
    font-size:9px;
}

.eventStatus small{
    margin-top:6px;
    color:#afbaa7;
    font-size:8px;
}

.sideContact{
    align-items:flex-start;
    gap:11px;
    margin-top:16px;
    padding:17px 2px 0;
    border-top:1px solid rgba(255,255,255,.10);
}

.sideContact>div{
    flex:0 0 36px;
    width:36px;
    height:36px;
    border:1px solid #d6bd6a;
    border-radius:50%;
    background:transparent;
    color:#dbc674;
    font-size:10px;
}

.sideContact strong{
    color:#f0ecdf;
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    font-weight:700;
}

.sideContact a{
    margin-top:4px;
    color:#b5c0ad;
    font-size:8px;
}

.sideContact small{
    display:block;
    margin-top:5px;
    color:#83927f;
    font-size:7px;
    line-height:1.35;
}

.eventTopbar>div:first-child p{
    margin:0 0 5px;
    color:#7f704b;
    font-size:9px;
    font-weight:800;
    letter-spacing:.11em;
}

.eventTopbar h1{
    margin:0;
}

/* Homepage hero: premium, calm and readable */
.landingHero{
    isolation:isolate;
    min-height:555px;
    padding:64px 58px 104px;
    overflow:hidden;
    border:1px solid #c9bb8e;
    border-radius:12px;
    background-image:
        linear-gradient(90deg,rgba(24,51,34,.95) 0%,rgba(37,68,44,.88) 48%,rgba(37,68,44,.32) 78%),
        url('scenic-rider.jpg');
    background-position:center 45%;
    box-shadow:0 18px 42px rgba(30,53,31,.17);
}

.landingHero:before{
    display:none;
}

.landingHero:after{
    content:"RIDE  /  RUN  /  WEEKEND ADVENTURE";
    position:absolute;
    left:58px;
    bottom:34px;
    z-index:2;
    padding-top:12px;
    border-top:1px solid rgba(220,195,112,.78);
    color:#e3d4a5;
    font-size:9px;
    font-weight:800;
    letter-spacing:.20em;
}

.landingCopy{
    position:relative;
    z-index:2;
    max-width:670px;
}

.landingCopy>p{
    width:max-content;
    margin:0;
    padding:0 0 11px;
    border:0;
    border-bottom:1px solid rgba(216,191,114,.78);
    border-radius:0;
    background:none;
    box-shadow:none;
    color:#d8bf72;
    font-size:9px;
    font-weight:800;
    letter-spacing:.18em;
}

.landingCopy>p:before{
    display:none;
}

.landingCopy h2{
    max-width:630px;
    margin:27px 0 24px;
    color:#fffaf0;
    font:400 clamp(50px,5.2vw,76px)/.96 Georgia,"Times New Roman",serif;
    letter-spacing:-.035em;
    text-shadow:none;
    text-transform:none;
}

.landingCopy h2 em{
    color:#cbd4a3;
    font-style:normal;
    font-weight:400;
    text-shadow:none;
}

.landingCopy>span{
    display:block;
    width:max-content;
    padding:0;
    background:none;
    box-shadow:none;
    color:#f07550;
    font-size:14px;
    font-weight:800;
    letter-spacing:.055em;
    transform:none;
}

.landingCopy>small{
    margin-top:10px;
    color:#e6e2d5;
    font-size:10px;
    font-weight:500;
    letter-spacing:.10em;
}

.landingCopy>div{
    margin-top:31px;
}

.landingCopy>div a{
    min-width:158px;
}

.landingPrimary,
.landingOutline{
    border-radius:5px;
    box-shadow:none;
}

.landingOutline{
    border:1px solid rgba(235,228,207,.70);
    background:rgba(255,255,255,.03);
    backdrop-filter:none;
}

.landingDate{
    right:34px;
    bottom:31px;
    display:flex;
    align-items:center;
    white-space:nowrap;
    padding:11px 16px;
    border:1px solid #cbbf99;
    border-radius:6px;
    background:#f7f1e3;
    box-shadow:0 12px 27px rgba(13,30,18,.28);
    transform:none;
}

.landingDate>b{
    font:400 43px Georgia,"Times New Roman",serif;
}

.landingDate strong{
    font-family:Arial,Helvetica,sans-serif;
    font-size:12px;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.landingDate small{
    font-size:8px;
}

/* Supporting homepage cards */
.landingHighlights{
    gap:12px;
    margin:18px 0;
}

.landingHighlights article{
    min-height:78px;
    padding:17px;
    border:1px solid #d9d1bb !important;
    border-radius:8px;
    background:#fcf9f0;
    box-shadow:none;
    transition:border-color .16s ease,background .16s ease;
}

.landingHighlights article:after{
    display:none;
}

.landingHighlights article:hover{
    transform:none;
    border-color:#aaa181 !important;
    background:#fffdf8;
    box-shadow:none;
}

.landingHighlights i{
    width:40px;
    height:40px;
    border-radius:6px;
}

.landingHighlights strong{
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    letter-spacing:.05em;
}

.landingGrid{
    gap:14px;
}

.landingWelcome,
.landingQuick,
.landingPhotos figure{
    border:1px solid #d9d1bb;
    border-radius:8px;
    background:#fcf9f0;
    box-shadow:none;
}

.landingWelcome:before{
    display:none;
}

.landingWelcome>div{
    padding:38px;
}

.landingWelcome h2{
    max-width:520px;
    color:#30492e;
    font:400 37px/1.08 Georgia,"Times New Roman",serif;
    letter-spacing:-.02em;
    text-transform:none;
}

.landingWelcome h2:after{
    width:50px;
    height:1px;
    margin-top:18px;
    background:#bda45e;
}

.landingWelcome img{
    width:276px;
    height:202px;
    margin:27px;
    border:1px solid #d5cdb8;
    border-radius:6px;
    box-shadow:0 12px 25px rgba(38,57,31,.11);
    transform:none;
}

.landingQuick .panelHead{
    padding:18px;
    border-radius:7px 7px 0 0;
    background:#30492e;
}

.landingQuick .panelHead h3{
    color:#fff8e8;
    font-size:11px;
    letter-spacing:.08em;
}

.landingQuick .panelHead p{
    color:#bdc6aa;
}

.landingQuick>a:hover{
    background:#f4efe2;
}

.landingPhotos{
    margin-top:28px;
}

.landingPhotos .sectionHead{
    padding:0 0 11px;
    border-bottom:1px solid #aca17f;
}

.landingPhotos figure{
    transition:opacity .16s ease;
}

.landingPhotos figure:hover{
    transform:none;
    opacity:.95;
}

.landingPhotos img{
    filter:saturate(.95) contrast(1.01);
}

.landingPhotos figcaption{
    padding:23px;
    background:#fcf9f0;
}

.landingPhotos figcaption strong{
    font:400 22px/1.12 Georgia,"Times New Roman",serif;
    text-transform:none;
}

.landingPhotos figcaption strong:after{
    width:32px;
    height:1px;
    margin-top:11px;
    background:#bda45e;
}

@media(max-width:850px) and (min-width:561px){
    .sidebar{
        width:78px;
        padding:22px 11px;
    }

    .workspace{
        width:calc(100% - 78px);
        margin-left:78px;
    }

    .eventBrand{
        justify-content:center;
        padding-left:0;
        padding-right:0;
    }

    .eventBrandCopy,
    .eventStatus,
    .sideContact span,
    .navItem>b{
        display:none;
    }

    .navItem{
        justify-content:center;
    }

    .navItem>span{
        width:29px;
        height:29px;
        flex-basis:29px;
    }

    .sideContact{
        justify-content:center;
    }

    .landingHero{
        min-height:560px;
        padding:50px 40px 108px;
    }

    .landingHero:after{
        left:40px;
    }

    .landingCopy h2{
        font-size:58px;
    }
}

@media(max-width:560px){
    .sidebar{
        width:min(86vw,320px);
        padding:calc(20px + env(safe-area-inset-top)) 18px
                calc(20px + env(safe-area-inset-bottom));
        border-right:1px solid #b9aa78;
    }

    .workspace{
        width:100%;
        margin-left:0;
    }

    .eventBrand{
        margin-bottom:18px;
    }

    .navItem{
        justify-content:flex-start;
        font-size:12px;
    }

    .eventStatus{
        margin-top:auto;
    }

    .landingHero{
        min-height:535px;
        padding:36px 23px 116px;
        border-radius:8px;
    }

    .landingHero:after{
        left:23px;
        bottom:31px;
        font-size:7px;
        letter-spacing:.14em;
    }

    .landingCopy h2{
        margin-top:22px;
        font-size:40px;
        line-height:1.03;
    }

    .landingCopy>p{
        font-size:7px;
        line-height:1.5;
    }

    .landingCopy>span{
        font-size:11px;
    }

    .landingDate{
        right:17px;
        bottom:20px;
    }

    .landingDate>b{
        font-size:36px;
    }

    .landingWelcome>div{
        padding:26px;
    }

    .landingWelcome h2{
        font-size:30px;
    }

    .landingWelcome img{
        width:calc(100% - 46px);
        height:184px;
        margin:0 23px 24px;
    }

    .landingPhotos figcaption{
        padding:20px;
    }
}

/* Organiser selected-entry view */
.entrantDetail{margin-bottom:24px}.entrantDetailGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.entrantDetailGrid article{min-width:0;padding:16px;border:1px solid rgba(44,79,55,.16);border-radius:14px;background:#f8f7ef}.entrantDetailGrid span{display:block;margin-bottom:6px;color:#667267;font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.entrantDetailGrid strong{display:block;color:#263e2d;line-height:1.35;overflow-wrap:anywhere}.entrantDetailGrid a{color:#355d40}@media(max-width:900px){.entrantDetailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.entrantDetailGrid{grid-template-columns:1fr}}


/* Payment review workflow */
.paymentSafety{margin:16px 0 0;padding:14px 16px;border-left:4px solid #d6a63d;border-radius:8px;background:#fff8df;color:#4e513f}.paymentActions{display:flex;flex-wrap:wrap;gap:8px;min-width:210px}.paymentActions button{padding:8px 11px;font-size:.78rem}.paymentActions button:disabled{cursor:not-allowed;opacity:.45}.paymentMatchForm input{width:105px;min-height:34px;border:1px solid #cfc8b3;border-radius:8px;background:#fffdf7;padding:0 9px;font-size:.78rem}.statusPill.matched{background:#fff0c7;color:#76500c}.statusPill.unmatched{background:#fde2df;color:#8a3027}.statusPill.approved{background:#dcebdd;color:#255234}.statusPill.rejected{background:#ecebea;color:#62615f}


/* Portal proof viewer */
.paymentProofViewer summary{display:inline-flex;cursor:pointer;list-style:none;padding:7px 10px;border:1px solid #4b704f;border-radius:8px;color:#31583a;font-size:.78rem;font-weight:800}.paymentProofViewer summary::-webkit-details-marker{display:none}.paymentProofViewer[open]::before{content:"";position:fixed;inset:0;z-index:9998;background:rgba(13,31,22,.82);backdrop-filter:blur(4px)}.paymentProofViewer[open]>summary{position:fixed;top:24px;right:28px;z-index:10000;background:#d95632;border-color:#d95632;color:#fff;font-size:0}.paymentProofViewer[open]>summary::after{content:"Close proof";font-size:.84rem}.paymentProofViewer>div{display:none}.paymentProofViewer[open]>div{display:flex;flex-direction:column;gap:10px;position:fixed;inset:72px 28px 28px;z-index:9999;padding:16px;border-radius:16px;background:#f7f4e9;box-shadow:0 28px 80px rgba(0,0,0,.35)}.paymentProofViewer iframe{width:100%;height:100%;min-height:420px;border:0;border-radius:10px;background:#fff}.paymentProofViewer[open] .miniExport{align-self:flex-end}@media(max-width:650px){.paymentProofViewer[open]>div{inset:66px 10px 10px;padding:10px}.paymentProofViewer[open]>summary{top:18px;right:14px}}


/* Organiser race-day operations */
.opsNotice{margin-bottom:18px;padding:14px 18px;border-left:4px solid #39845d;background:#e9f7ef;color:#255234;font-weight:700}
.entrantOps{padding-top:18px;border-top:1px solid rgba(44,79,55,.14)}
.entrantOps form{display:flex;flex-wrap:wrap;gap:10px}
.dangerButton{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b44d42;border-radius:8px;background:#fff1ef;color:#8f332b;font:700 13px/1 inherit;padding:10px 14px;cursor:pointer}
.dangerButton:hover{background:#b44d42;color:#fff}
.miniAction{display:inline-flex;align-items:center;justify-content:center;min-width:76px;border:1px solid #b9c5ba;border-radius:999px;background:#fff;color:#34523a;font:700 11px/1 inherit;padding:7px 10px;cursor:pointer;white-space:nowrap}
.miniAction:hover{border-color:#39845d;background:#f0f7f2}
.miniAction.done{background:#dcebdd;color:#255234;border-color:#8eb394}
.opsEditForm,.importForm{max-width:none}
.opsEditForm .formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.opsEditForm .formActions,.importForm .formActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.importResult{margin-bottom:18px}
@media(max-width:760px){.opsEditForm .formGrid{grid-template-columns:1fr}.entrantTable th:nth-child(4),.entrantTable td:nth-child(4){display:none}}


/* Free Facebook and WhatsApp integration */
.socialShareStrip{display:flex;align-items:center;gap:9px;margin:0 0 18px;padding:10px 14px;border:1px solid rgba(42,76,54,.12);border-radius:12px;background:rgba(255,255,255,.7)}
.socialShareStrip>span{margin-right:auto;font-size:11px;font-weight:800;letter-spacing:.13em;color:#60705f}
.socialShareStrip a,.whatsappTop{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800;text-decoration:none}
.facebookShare{background:#e8eef9;color:#244c87}.facebookShare:hover{background:#244c87;color:#fff}
.whatsappShare,.whatsappTop{background:#e2f5e9;color:#17663a}.whatsappShare:hover,.whatsappTop:hover{background:#237a48;color:#fff}
.floatingWhatsApp{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;align-items:center;gap:9px;padding:10px 15px 10px 10px;border-radius:999px;background:#237a48;color:#fff;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 12px 30px rgba(23,76,45,.28)}
.floatingWhatsApp b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#fff;color:#237a48;font-size:11px;letter-spacing:.03em}
.floatingWhatsApp:hover{background:#185d36;transform:translateY(-1px)}
@media(max-width:760px){.socialShareStrip{flex-wrap:wrap}.socialShareStrip>span{width:100%;margin:0}.socialShareStrip a{flex:1}.whatsappTop{display:none}.floatingWhatsApp{right:14px;bottom:14px}.floatingWhatsApp span{display:none}.floatingWhatsApp{padding:9px}}

.instagramTop{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 13px;background:#f3e7f2;color:#7b326e;font-size:12px;font-weight:800;text-decoration:none}.instagramTop:hover{background:#8b3a78;color:#fff}@media(max-width:900px){.instagramTop{display:none}}

/* =========================================================
   FINAL SOCIAL MEDIA REFINEMENTS
   2026-07-20
   ========================================================= */

/* Premium social controls: quiet, unified and intentional */
.topActions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.socialTopLink,
.facebook,
.instagramTop,
.whatsappTop{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 13px 9px 31px;
    border:1px solid #d5cfbd;
    border-radius:6px;
    background:#f8f5ec;
    color:#314b35;
    box-shadow:none;
    font-size:10px;
    font-weight:750;
    letter-spacing:.02em;
    text-decoration:none;
    transition:border-color .16s ease,background .16s ease,color .16s ease;
}

.socialTopLink::before,
.facebook::before,
.instagramTop::before,
.whatsappTop::before{
    position:absolute;
    left:11px;
    top:50%;
    width:13px;
    height:13px;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    color:#6d795f;
    font-size:9px;
    font-weight:900;
}

.facebook::before{content:"f";}
.instagramTop::before{content:"◎";font-size:12px;}
.whatsappTop::before{content:"W";font-size:8px;}

.socialTopLink:hover,
.facebook:hover,
.instagramTop:hover,
.whatsappTop:hover{
    border-color:#9da68e;
    background:#314b35;
    color:#fffaf0;
}

.socialTopLink:hover::before,
.facebook:hover::before,
.instagramTop:hover::before,
.whatsappTop:hover::before{
    color:#d9c778;
}

/* The share bar now reads like part of the page, not an added widget */
.socialShareStrip{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0 0 18px;
    padding:8px 10px;
    border:1px solid #d7d0bd;
    border-radius:7px;
    background:#f6f2e8;
    box-shadow:none;
}

.socialShareStrip>span{
    margin-right:auto;
    padding-left:2px;
    color:#78806e;
    font-size:8px;
    font-weight:800;
    letter-spacing:.14em;
}

.socialShareStrip a{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:31px;
    padding:7px 11px 7px 27px;
    border:1px solid transparent;
    border-radius:5px;
    background:transparent;
    color:#3e5942;
    font-size:9px;
    font-weight:750;
    text-decoration:none;
}

.socialShareStrip a::before{
    position:absolute;
    left:9px;
    top:50%;
    transform:translateY(-50%);
    color:#74806c;
    font-weight:900;
}

.facebookShare::before{content:"f";}
.whatsappShare::before{content:"W";font-size:8px;}

.facebookShare,
.whatsappShare{
    background:transparent;
    color:#3e5942;
}

.socialShareStrip a:hover{
    border-color:#c9c1aa;
    background:#fffdf7;
    color:#263f2b;
}

/* Floating contact button matches the site's visual language */
.floatingWhatsApp{
    right:20px;
    bottom:20px;
    gap:9px;
    padding:8px 14px 8px 8px;
    border:1px solid rgba(220,202,139,.62);
    border-radius:7px;
    background:#29482f;
    color:#fffaf0;
    box-shadow:0 12px 28px rgba(27,55,34,.22);
    font-size:10px;
    letter-spacing:.02em;
    transition:background .16s ease,transform .16s ease;
}

.floatingWhatsApp b{
    width:28px;
    height:28px;
    border-radius:5px;
    background:#d8c47d;
    color:#29482f;
    font-size:8px;
    letter-spacing:.03em;
}

.floatingWhatsApp:hover{
    background:#203c27;
    transform:translateY(-2px);
}

@media(max-width:900px){
    .instagramTop{display:none;}
}

@media(max-width:850px) and (min-width:561px){
    .eventBrand{
        justify-content:center;
        padding-left:0;
        padding-right:0;
    }

    .eventLogo{
        flex-basis:52px;
        width:52px;
        height:52px;
    }

    .eventBrandCopy{
        display:none;
    }
}

@media(max-width:760px){
    .socialShareStrip{
        padding:8px;
    }

    .socialShareStrip>span{
        width:100%;
        margin:0 0 2px;
    }

    .socialShareStrip a{
        flex:1;
    }

    .whatsappTop{
        display:none;
    }
}

@media(max-width:560px){
    .eventLogo{
        flex-basis:58px;
        width:58px;
        height:58px;
    }

    .eventBrandCopy{
        display:block;
    }

    .eventBrandCopy strong{
        max-width:none;
        font-size:16px;
    }

    .floatingWhatsApp{
        right:12px;
        bottom:12px;
        padding:7px;
        border-radius:6px;
    }

    .floatingWhatsApp span{
        display:none;
    }
}

/* =========================================================
   CLEAN EVENT BRANDING — SINGLE SOURCE OF TRUTH
   This is the only sidebar event-logo/title override.
   ========================================================= */

.sidebar .eventBrand{
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) !important;
    align-items:center !important;
    column-gap:14px !important;
    margin:0 0 22px !important;
    padding:4px 0 22px !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    text-decoration:none !important;
}

.sidebar .eventLogo,
.sidebar .eventBrand > img{
    display:block !important;
    width:60px !important;
    height:60px !important;
    max-width:60px !important;
    min-width:60px !important;
    padding:3px !important;
    object-fit:contain !important;
    object-position:center !important;
    border:1px solid rgba(214,196,137,.72) !important;
    border-radius:11px !important;
    background:#fffaf0 !important;
    box-shadow:0 7px 18px rgba(8,23,13,.20) !important;
}

.sidebar .eventBrandCopy{
    min-width:0 !important;
    color:#fff !important;
    font-family:Arial,Helvetica,sans-serif !important;
    text-align:left !important;
}

.sidebar .eventBrandCopy span,
.sidebar .eventBrandCopy strong{
    display:block !important;
    max-width:none !important;
    font-family:Arial,Helvetica,sans-serif !important;
    text-transform:none !important;
    letter-spacing:0 !important;
}

.sidebar .eventBrandPlace{
    margin:0 0 8px !important;
    color:#d8dfd1 !important;
    font-size:10px !important;
    font-weight:400 !important;
    line-height:1.18 !important;
}

.sidebar .eventBrandTitle{
    margin:0 !important;
    color:#fffaf0 !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
}

.sidebar .eventBrandMain,
.sidebar .eventBrandCopy strong{
    margin:0 !important;
    color:#fffaf0 !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
}

.sidebar .eventBrandSub{
    margin:5px 0 0 !important;
    color:#fffaf0 !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.10 !important;
}

.sidebar .eventBrandDate{
    display:inline-block !important;
    width:max-content !important;
    max-width:100% !important;
    margin:10px 0 0 !important;
    padding:5px 8px !important;
    border:1px solid rgba(214,196,137,.58) !important;
    border-radius:6px !important;
    background:rgba(214,196,137,.07) !important;
    color:#f2ead2 !important;
    font-size:10px !important;
    font-weight:500 !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
}

@media(max-width:850px) and (min-width:561px){
    .sidebar .eventBrand{
        display:flex !important;
        justify-content:center !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .sidebar .eventLogo,
    .sidebar .eventBrand > img{
        width:52px !important;
        height:52px !important;
        min-width:52px !important;
        max-width:52px !important;
    }

    .sidebar .eventBrandCopy{
        display:none !important;
    }
}

@media(max-width:560px){
    .sidebar .eventBrand{
        grid-template-columns:82px minmax(0,1fr) !important;
        column-gap:13px !important;
    }

    .sidebar .eventLogo,
    .sidebar .eventBrand > img{
        width:82px !important;
        height:82px !important;
        min-width:82px !important;
        max-width:82px !important;
    }

    .sidebar .eventBrandMain,
    .sidebar .eventBrandCopy strong{
        font-size:16px !important;
    }

    .sidebar .eventBrandSub{
        font-size:15px !important;
    }
}

/* =========================================================
   FINAL COMPACT FIXED MOBILE NAVIGATION
   All tabs visible — no horizontal scrolling
   Keep this as the LAST section in pro.css
   ========================================================= */

@media (max-width: 850px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    body {
        padding-top: calc(132px + env(safe-area-inset-top)) !important;
    }

    .shell {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Hide the old mobile menu button and overlay */
    .mobileMenuButton,
    .mobileNavOverlay {
        display: none !important;
    }

    /* Fixed mobile header */
    #siteSidebar.sidebar {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        z-index: 5000 !important;

        display: block !important;

        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding:
            calc(6px + env(safe-area-inset-top))
            6px
            7px !important;

        overflow: visible !important;

        background: linear-gradient(
            180deg,
            #29462f 0%,
            #1f3727 100%
        );

        border: 0 !important;
        border-bottom: 2px solid #d8c47d !important;

        box-shadow: 0 5px 18px rgba(11, 41, 37, 0.30);

        transform: none !important;
        transition: none !important;
    }

    /* Compact event branding row */
    #siteSidebar .eventBrand {
        display: flex !important;
        align-items: center !important;

        width: 100% !important;
        min-height: 40px !important;

        margin: 0 !important;
        padding: 0 6px 6px !important;
        gap: 8px !important;

        border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    }

    #siteSidebar .eventLogo,
    #siteSidebar .eventBrand img {
        display: block !important;
        flex: 0 0 34px !important;

        width: 34px !important;
        height: 34px !important;
        max-width: 34px !important;

        margin: 0 !important;

        border-radius: 50% !important;
        object-fit: contain !important;
    }

    #siteSidebar .eventBrandCopy {
        display: block !important;
        flex: 1 !important;
        min-width: 0 !important;
    }

    #siteSidebar .eventBrandPlace {
        display: none !important;
    }

    #siteSidebar .eventBrandTitle,
    #siteSidebar .eventBrandMain,
    #siteSidebar .eventBrandSub {
        display: inline !important;
        margin: 0 !important;

        font-size: 9px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    #siteSidebar .eventBrandTitle,
    #siteSidebar .eventBrandMain {
        color: #fffaf0 !important;
    }

    #siteSidebar .eventBrandTitle::after,
    #siteSidebar .eventBrandMain::after {
        content: " ";
    }

    #siteSidebar .eventBrandSub {
        color: #d8c47d !important;
    }

    /* Compact wrapped navigation tabs */
    #siteSidebar nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 6px 2px 1px !important;
        gap: 5px !important;

        overflow: visible !important;
        scroll-snap-type: none !important;
    }

    #siteSidebar .navItem {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 auto !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        min-height: 34px !important;
        height: auto !important;

        margin: 0 !important;
        padding: 7px 9px !important;
        gap: 0 !important;

        border: 1px solid rgba(255, 255, 255, 0.18) !important;
        border-radius: 6px !important;

        background: rgba(255, 255, 255, 0.055) !important;
        color: #f4f2e8 !important;

        font-size: 9px !important;
        font-weight: 750 !important;
        line-height: 1.15 !important;

        text-align: center !important;
        white-space: nowrap !important;

        box-shadow: none !important;
    }

    /* Hide the sidebar letter icons and small badges */
    #siteSidebar .navItem > span,
    #siteSidebar .navItem > b {
        display: none !important;
    }

    /* Selected page */
    #siteSidebar .navItem.active {
        border-color: #f5f0e2 !important;
        background: #f5f0e2 !important;
        color: #263f2b !important;
    }

    #siteSidebar .navItem.active::before {
        display: none !important;
    }

    /* Highlight the race-entry tab */
    #siteSidebar .navItem[href="/enter"],
    #siteSidebar .navItem[href="/enter.php"] {
        border-color: #e75a31 !important;
        background: #e75a31 !important;
        color: #ffffff !important;
    }

    #siteSidebar .navItem[href="/enter"].active,
    #siteSidebar .navItem[href="/enter.php"].active {
        border-color: #f5f0e2 !important;
        background: #f5f0e2 !important;
        color: #263f2b !important;
    }

    /* Hide desktop-only sidebar information */
    #siteSidebar .eventStatus,
    #siteSidebar .sideContact {
        display: none !important;
    }

    /* Main page content */
    .workspace {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 10px 10px 25px !important;
    }

    .topbar,
    .eventTopbar {
        display: block !important;

        width: 100% !important;
        height: auto !important;

        padding: 7px 0 14px !important;
    }

    .topbar h1,
    .eventTopbar h1 {
        font-size: 21px !important;
        line-height: 1.15 !important;
        overflow-wrap: anywhere;
    }
}

/* Extra adjustment for narrow iPhones */
@media (max-width: 390px) {

    body {
        padding-top: calc(140px + env(safe-area-inset-top)) !important;
    }

    #siteSidebar .navItem {
        min-height: 32px !important;
        padding: 6px 7px !important;
        font-size: 8px !important;
    }

    #siteSidebar nav {
        gap: 4px !important;
    }
}

/* =========================================================
   FINAL SPONSORS PAGE REDESIGN
   ========================================================= */

/* =========================================================
   ORGANISER FINANCE DASHBOARD
   ========================================================= */
.financeMetrics article strong{font-size:18px}.financeGrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;margin-bottom:16px}.financeReportPanel{padding:24px;margin-bottom:16px}.financeReportPanel .panelHead{margin-bottom:0}.allocationForm{display:flex;align-items:end;gap:10px}.allocationForm label{display:grid;gap:6px;color:#29483f;font-size:11px;font-weight:800}.allocationForm input{width:92px;min-height:40px;border:1px solid #cfc8b3;border-radius:9px;background:#fffdf7;padding:0 10px}.financeReportGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.financeReportGrid article{min-height:96px;padding:16px;border:1px solid #e2dac3;border-radius:10px;background:#fbf7ec}.financeReportGrid span{display:block;color:#6f786d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.financeReportGrid strong{display:block;margin-top:10px;color:#29462f;font-size:18px}.financeReportNote{margin:18px 0 0;color:#66736f;font-size:12px;line-height:1.65}.financeExpenseForm form{grid-template-columns:repeat(4,minmax(140px,1fr))}.financeExpenseForm .wide{grid-column:span 2}.financeExpenseForm input{width:100%;min-height:44px;padding:0 12px;border:1px solid #cfc8b3;border-radius:9px;background:#fffdf7;color:#173f37}.financeExpenseForm button{min-height:44px;align-self:end}.financeExpenses .miniAction{border:1px solid #d6cdb6;background:#fffdf7;color:#9e3d25}
@media(max-width:1100px){.financeReportGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.financeGrid{grid-template-columns:1fr}.financeExpenseForm form{grid-template-columns:1fr 1fr}.financeExpenseForm .wide{grid-column:1/-1}}
@media(max-width:620px){.financeReportPanel{padding:18px}.allocationForm{width:100%;align-items:stretch;flex-direction:column}.allocationForm input{width:100%}.financeReportGrid,.financeExpenseForm form{grid-template-columns:1fr}.financeMetrics article strong{font-size:16px}}

.trSponsors{
    display:grid;
    gap:20px;
}

.trSponsorsHero{
    position:relative;
    min-height:430px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    padding:54px;
    border:1px solid #c9bb8e;
    border-radius:14px;
    background:
        linear-gradient(
            90deg,
            rgba(24,51,34,.96) 0%,
            rgba(37,68,44,.88) 50%,
            rgba(37,68,44,.30) 84%
        ),
        url('/assets/trail-runners.jpg') center 46% / cover no-repeat;
    box-shadow:0 18px 42px rgba(30,53,31,.17);
}

.trSponsorsHero:after{
    content:"COMMUNITY  /  CONSERVATION  /  ADVENTURE";
    position:absolute;
    right:28px;
    bottom:26px;
    color:#e3d4a5;
    font-size:9px;
    font-weight:800;
    letter-spacing:.18em;
}

.trSponsorsHeroCopy{
    position:relative;
    z-index:1;
    max-width:720px;
}

.trSponsorsEyebrow{
    display:inline-block;
    margin:0 0 18px;
    padding:0 0 10px;
    border-bottom:1px solid rgba(216,191,114,.78);
    color:#d8c47d;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.trSponsorsHero h2{
    max-width:680px;
    margin:0 0 22px;
    color:#fffaf0;
    font:400 clamp(47px,5.4vw,76px)/.97 Georgia,"Times New Roman",serif;
    letter-spacing:-.035em;
}

.trSponsorsHero p{
    max-width:620px;
    margin:0;
    color:#e6e2d5;
    font-size:16px;
    line-height:1.7;
}

.trPartnerCard{
    display:grid;
    grid-template-columns:minmax(250px,34%) minmax(0,1fr);
    align-items:center;
    gap:42px;
    padding:42px;
    border:1px solid #d8d0bb;
    border-radius:14px;
    background:#fffdf7;
    box-shadow:0 8px 24px rgba(25,45,30,.07);
}

.trPartnerLogoPanel{
    display:grid;
    place-items:center;
    min-height:250px;
    padding:34px;
    border:1px solid #ded6c1;
    border-radius:12px;
    background:linear-gradient(145deg,#fff 0%,#f7f2e5 100%);
}

.trPartnerLogoPanel img{
    display:block;
    width:100%;
    max-width:340px;
    height:auto;
}

.trSectionLabel{
    display:inline-flex;
    align-items:center;
    margin:0 0 13px;
    padding:6px 11px;
    border:1px solid #dcc681;
    border-radius:999px;
    background:#f5ebca;
    color:#745615;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.trPartnerCopy h2,
.trSponsorPackages h2{
    margin:0 0 17px;
    color:#29462f;
    font:400 38px/1.06 Georgia,"Times New Roman",serif;
    letter-spacing:-.02em;
}

.trPartnerCopy>p{
    max-width:760px;
    margin:0 0 24px;
    color:#5d655d;
    font-size:16px;
    line-height:1.75;
}

.trPartnerBenefits{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0 0 25px;
}

.trPartnerBenefits div{
    position:relative;
    min-height:50px;
    display:flex;
    align-items:center;
    padding:12px 14px 12px 43px;
    border:1px solid #ddd5bf;
    border-radius:8px;
    background:#faf6eb;
    color:#334d38;
    font-size:13px;
    font-weight:750;
}

.trPartnerBenefits div:before{
    content:"✓";
    position:absolute;
    left:14px;
    top:50%;
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#29462f;
    color:#d8c47d;
    font-size:11px;
    transform:translateY(-50%);
}

/* Farmers landscape image */
.trFarmersFeature{
    position:relative;
    min-height:500px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    padding:48px;
    border:1px solid #c9bb8e;
    border-radius:14px;
    background:
        linear-gradient(
            90deg,
            rgba(20,42,27,.90) 0%,
            rgba(29,56,35,.72) 48%,
            rgba(29,56,35,.20) 82%
        ),
        url('/assets/farmers-hero.jpg') center center / cover no-repeat;
    box-shadow:0 14px 34px rgba(30,53,31,.14);
}

.trFarmersCopy{
    position:relative;
    z-index:1;
    max-width:690px;
}

.trFarmersCopy h2{
    margin:0 0 17px;
    color:#fffaf0;
    font:400 47px/1.06 Georgia,"Times New Roman",serif;
    letter-spacing:-.02em;
}

.trFarmersCopy p{
    max-width:630px;
    margin:0;
    color:#edf0e9;
    font-size:16px;
    line-height:1.75;
}

.trImpactGrid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.trImpactGrid article{
    min-height:170px;
    padding:24px;
    border:1px solid #d8d0bb;
    border-radius:12px;
    background:#fffdf7;
}

.trImpactGrid b{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    margin:0 0 20px;
    border-radius:10px;
    background:#29462f;
    color:#d8c47d;
    font-size:17px;
    letter-spacing:.03em;
}

.trImpactGrid strong{
    display:block;
    margin:0 0 8px;
    color:#29462f;
    font:400 21px/1.15 Georgia,"Times New Roman",serif;
}

.trImpactGrid span{
    color:#6c7168;
    font-size:13px;
    line-height:1.55;
}

.trConservancyBanner{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:23px;
    padding:29px 32px;
    border:1px solid #d5c17c;
    border-radius:12px;
    background:#f6ebc8;
}

.trConservancyBanner b{
    display:grid;
    place-items:center;
    width:68px;
    height:68px;
    border-radius:50%;
    background:#29462f;
    color:#d8c47d;
    font:700 21px Georgia,"Times New Roman",serif;
}

.trConservancyBanner strong{
    display:block;
    margin:0 0 5px;
    color:#29462f;
    font:400 26px/1.15 Georgia,"Times New Roman",serif;
}

.trConservancyBanner span{
    color:#625f52;
    line-height:1.6;
}

.trSponsorPackages{
    padding:38px;
    border:1px solid #d8d0bb;
    border-radius:14px;
    background:#fffdf7;
}

.trPackagesHead{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin:0 0 25px;
}

.trPackagesHead p{
    max-width:580px;
    margin:0;
    color:#687067;
    line-height:1.65;
}

.trPackageGrid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
}

.trPackageGrid article{
    position:relative;
    min-height:200px;
    padding:27px 24px 24px;
    border:1px solid #ddd4bd;
    border-radius:11px;
    background:#faf7ed;
}

.trPackageGrid i{
    display:block;
    margin:0 0 23px;
    color:#b18a33;
    font-size:11px;
    font-style:normal;
    font-weight:900;
    letter-spacing:.15em;
}

.trPackageGrid h3{
    margin:0 0 11px;
    color:#29462f;
    font:400 25px/1.12 Georgia,"Times New Roman",serif;
}

.trPackageGrid p{
    margin:0;
    color:#696f66;
    font-size:14px;
    line-height:1.65;
}

.trSponsorCta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:36px 40px;
    border:1px solid #bdaa68;
    border-radius:14px;
    background:#29462f;
}

.trSponsorCta small{
    display:block;
    margin:0 0 8px;
    color:#d8c47d;
    font-size:9px;
    font-weight:900;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.trSponsorCta h2{
    margin:0 0 7px;
    color:#fffaf0;
    font:400 34px/1.08 Georgia,"Times New Roman",serif;
}

.trSponsorCta p{
    margin:0;
    color:#cad2c6;
    line-height:1.55;
}

.trSponsorCtaActions{
    flex:0 0 auto;
    display:grid;
    gap:8px;
    min-width:205px;
}

.trSponsorCtaActions a{
    text-align:center;
}

.trSponsorContact{
    color:#dbe1d7;
    font-size:11px;
    line-height:1.6;
    text-align:center;
}

@media(max-width:980px){
    .trPartnerCard{
        grid-template-columns:1fr;
    }

    .trPartnerLogoPanel{
        min-height:190px;
    }

    .trImpactGrid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .trPackageGrid{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .trSponsorsHero{
        min-height:410px;
        padding:35px 25px 82px;
    }

    .trSponsorsHero:after{
        right:auto;
        left:25px;
        bottom:24px;
        font-size:7px;
        letter-spacing:.13em;
    }

    .trSponsorsHero h2{
        font-size:43px;
    }

    .trPartnerCard,
    .trSponsorPackages{
        padding:26px;
    }

    .trPartnerBenefits{
        grid-template-columns:1fr;
    }

    .trFarmersFeature{
    overflow:hidden;
    border:1px solid #d8d0bb;
    border-radius:14px;
    background:#fffdf7;
    box-shadow:0 8px 24px rgba(25,45,30,.08);
}

.trFarmersHero{
    display:block;
    width:100%;
    height:340px;
    object-fit:cover;
    object-position:center;
}

.trFarmersCopy{
    padding:40px;
}

.trFarmersCopy h2{
    margin:15px 0;
    color:#29462f;
    font:400 42px Georgia,"Times New Roman",serif;
}

.trFarmersCopy p{
    color:#5d655d;
    line-height:1.8;
}

@media(max-width:520px){
    .trSponsors{
        gap:14px;
    }

    .trSponsorsHero{
        min-height:390px;
        border-radius:9px;
    }

    .trSponsorsHero h2{
        font-size:36px;
    }

    .trSponsorsHero p,
    .trPartnerCopy>p,
    .trFarmersCopy p{
        font-size:14px;
    }

    .trPartnerCard,
    .trSponsorPackages{
        padding:20px;
        border-radius:10px;
    }

    .trPartnerLogoPanel{
        min-height:150px;
        padding:22px;
    }

    .trPartnerCopy h2,
    .trSponsorPackages h2{
        font-size:31px;
    }

    .trFarmersFeature{
        min-height:390px;
        padding:24px 20px;
        background-position:61% center;
    }

    .trFarmersCopy h2{
        font-size:33px;
    }

    .trImpactGrid{
        grid-template-columns:1fr;
    }

    .trImpactGrid article{
        min-height:0;
    }

    .trConservancyBanner{
        grid-template-columns:1fr;
        padding:24px;
        text-align:center;
    }

    .trConservancyBanner b{
        margin:auto;
    }

    .trSponsorCta{
        padding:27px 23px;
    }

    .trSponsorCta h2{
        font-size:29px;
    }
}

/* FIX: Historical Village image collage on mobile */
@media (max-width: 620px){

    .heritageFeature{
        display:block !important;
        overflow:hidden !important;
    }

    .heritageCopy{
        width:100% !important;
    }

    .heritageGallery{
        display:grid !important;
        grid-template-columns:1fr !important;
        grid-template-rows:none !important;
        gap:8px !important;

        width:100% !important;
        height:auto !important;
        min-height:0 !important;

        margin:0 !important;
        padding:0 !important;
        overflow:hidden !important;
    }

    .heritageGallery img,
    .heritageGallery img:nth-child(1),
    .heritageGallery img:nth-child(2),
    .heritageGallery img:nth-child(3){
        display:block !important;

        grid-column:auto !important;
        grid-row:auto !important;

        width:100% !important;
        max-width:100% !important;
        height:220px !important;
        min-height:0 !important;

        object-fit:cover !important;
        object-position:center !important;
    }
}
