/* ETR Race — race page styling, "Understory" direction (Sep 2026).
   Scoped to .etr-race so nothing leaks into Divi. Dark forest ground, moss accent,
   marigold for the one thing to click, Anton for display, Barlow Condensed for labels. */

.etr-race{
  --etr-ink:#0c1712;--etr-ink2:#132219;--etr-ink3:#1a2d24;
  --etr-moss:#8fc46a;--etr-moss-deep:#5d8f43;--etr-sun:#f0b23a;
  --etr-fog:#d9e3dc;--etr-fog2:#93a79b;--etr-white:#ffffff;
  --etr-rule:rgba(217,227,220,.14);--etr-alert:#f0b23a;
  --etr-display:"Anton","Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --etr-label:"Barlow Condensed","Arial Narrow",sans-serif;
  --etr-body:"Source Sans 3","Source Sans Pro",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --etr-wrap:1180px;
  /* Full-bleed: escape whatever column Divi hands us. */
  width:100vw;margin-left:calc(50% - 50vw);
  background:var(--etr-ink);color:var(--etr-fog);
  font-family:var(--etr-body);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.etr-race *{box-sizing:border-box;}
.etr-race .etr-wrap{max-width:var(--etr-wrap);margin:0 auto;padding:0 28px;}
.etr-race h1,.etr-race h2,.etr-race h3{color:#fff;line-height:1.1;text-wrap:balance;margin:0;}
.etr-race h2{font:400 clamp(28px,3.4vw,40px)/1 var(--etr-display);text-transform:uppercase;letter-spacing:.01em;margin-bottom:18px;}
.etr-race h3{font:600 13px/1.3 var(--etr-label);letter-spacing:.2em;text-transform:uppercase;color:var(--etr-moss);margin:26px 0 10px;}
.etr-race p{margin:0 0 14px;max-width:68ch;}
.etr-race a{color:var(--etr-moss);}
.etr-race a:focus-visible{outline:2px solid var(--etr-sun);outline-offset:2px;}
.etr-race strong{color:#fff;}
.etr-race ul,.etr-race ol{margin:0 0 14px;padding-left:20px;}
.etr-race li{margin-bottom:6px;}
.etr-race img{max-width:100%;height:auto;}

/* Labels used across the page */
.etr-race .etr-label,.etr-race .etr-kicker{font:600 13px/1 var(--etr-label);letter-spacing:.26em;text-transform:uppercase;color:var(--etr-moss);}
.etr-note{font-size:14.5px;color:var(--etr-fog2);}

/* The full-bleed wrapper is 100vw wide, which on desktops includes the scrollbar; this
   stylesheet only loads on race pages, so clipping the page's own overflow is safe.
   "clip", not "hidden": hidden turns body into a scroll container and position:sticky
   inside it stops working. Divi's wrappers get the same treatment for the same reason. */
html,body{overflow-x:clip;}
#et-main-area,#main-content,#page-container{overflow:visible!important;}

/* ---------- Preview bar ---------- */
.etr-preview-bar{background:var(--etr-sun);color:var(--etr-ink);padding:10px 28px;font-size:14px;font-weight:600;}
.etr-preview-bar a{color:var(--etr-ink);text-decoration:underline;}

/* ---------- Hero ---------- */
.etr-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;background:var(--etr-ink2);overflow:hidden;}
.etr-hero-plain{min-height:420px;}
.etr-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.etr-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,23,18,.05) 25%,rgba(12,23,18,.94) 100%);}
.etr-hero-inner{position:relative;z-index:2;width:100%;padding-top:110px;padding-bottom:54px;color:#fff;}
.etr-kicker{display:flex;align-items:center;gap:14px;margin:0 0 14px;max-width:none;}
.etr-logo{width:60px;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));}
.etr-race h1{font:400 clamp(64px,11vw,140px)/.88 var(--etr-display);text-transform:uppercase;letter-spacing:.005em;color:#fff;}
.etr-tagline{font-size:19px;max-width:54ch;margin:16px 0 22px;color:rgba(255,255,255,.9);}

.etr-pills{position:absolute;top:18px;left:0;right:0;z-index:3;}
.etr-pills .etr-wrap{display:flex;gap:6px;flex-wrap:wrap;}
.etr-race .etr-pills a{font:600 12px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border-radius:999px;
  background:rgba(12,23,18,.55);color:#fff;text-decoration:none;backdrop-filter:blur(6px);}
.etr-race .etr-pills a:hover,.etr-race .etr-pills a.is-on{background:var(--etr-moss);color:var(--etr-ink);}

/* Buttons. "a.etr-button" so these beat the generic link colour. */
.etr-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:0;max-width:none;}
.etr-race a.etr-button{display:inline-block;font:600 14px/1.2 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;padding:15px 26px;
  border:1.5px solid rgba(255,255,255,.45);color:#fff;border-radius:999px;background:rgba(12,23,18,.35);text-decoration:none;text-align:center;}
.etr-race a.etr-button:hover{background:#fff;color:var(--etr-ink);border-color:#fff;}
.etr-race a.etr-button-primary{background:var(--etr-sun);border-color:var(--etr-sun);color:var(--etr-ink);}
.etr-race a.etr-button-primary:hover{background:#fff;border-color:#fff;}
.etr-race a.etr-button-solid{background:var(--etr-sun);border-color:var(--etr-sun);color:var(--etr-ink);}
.etr-race a.etr-block{display:block;margin-top:8px;border-radius:3px;padding:13px;}

/* ---------- Layout: rail + main ---------- */
.etr-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:44px;max-width:var(--etr-wrap);margin:0 auto;padding:0 28px 80px;}
/* --etr-head-h is measured from Divi's fixed header by etr-race.js; 0 until it runs. */
.etr-rail{align-self:start;position:sticky;top:calc(var(--etr-head-h,0px) + 12px);}
.etr-section{scroll-margin-top:calc(var(--etr-head-h,0px) + 20px);}
.etr-rail-in{padding:26px 0 30px;}
.etr-sign{background:var(--etr-ink3);border:1px solid var(--etr-rule);padding:18px 18px 20px;border-radius:6px 6px 2px 2px;position:relative;}
.etr-sign::before{content:"";position:absolute;left:-1px;right:-1px;top:-9px;height:7px;background:#5d4632;border-radius:3px;}
.etr-sign h2{font-size:24px;margin-bottom:12px;}
.etr-sign dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:7px 12px;font-size:13.5px;}
.etr-sign dt{font:600 11px/1.6 var(--etr-label);letter-spacing:.18em;text-transform:uppercase;color:var(--etr-fog2);}
.etr-sign dd{margin:0;color:#fff;font-weight:600;}
.etr-badge{display:flex;align-items:center;gap:12px;margin:16px 0 14px;padding-top:14px;border-top:1px solid var(--etr-rule);}
.etr-badge img{width:110px;height:auto;flex:none;}
.etr-badge span{font:600 14px/1.3 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;color:var(--etr-fog2);}
.etr-rail-nav{margin-top:22px;font:600 12.5px/1 var(--etr-label);letter-spacing:.16em;text-transform:uppercase;}
.etr-race .etr-rail-nav a{display:flex;justify-content:space-between;padding:12px 2px;border-top:1px solid var(--etr-rule);color:var(--etr-fog2);text-decoration:none;}
.etr-race .etr-rail-nav a:hover{color:#fff;}
.etr-race .etr-rail-nav a.is-on{color:var(--etr-moss);}
.etr-race .etr-rail-nav a.is-on::after{content:"\2192";}

.etr-main{min-width:0;position:relative;}
.etr-main::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;
  background-image:repeating-radial-gradient(ellipse 900px 400px at 100% 10%,transparent 0 22px,var(--etr-moss) 22px 23px);}
.etr-section{position:relative;padding:40px 0;border-top:1px solid var(--etr-rule);}
.etr-main>.etr-section:first-child{border-top:0;padding-top:30px;}
.etr-prose{color:var(--etr-fog);}
.etr-prose p{max-width:64ch;}

/* The race */
.etr-pullquote{font:400 26px/1.2 var(--etr-display);color:var(--etr-moss);max-width:24ch;text-transform:uppercase;}
.etr-highlights{margin:14px 0 0;}
.etr-appeal{margin-top:16px;padding:12px 16px;border-left:3px solid var(--etr-moss);color:var(--etr-fog2);font-size:15px;max-width:60ch;}

/* Course */
.etr-course-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;align-items:start;}
.etr-map{margin:0;}
.etr-map-img{width:100%;display:block;border:1px solid var(--etr-rule);border-radius:3px;}
.etr-map-link{font:600 12.5px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;margin-top:10px;}
.etr-land{display:flex;gap:16px;align-items:center;margin-top:20px;padding:16px;border:1px solid var(--etr-rule);border-radius:4px;font-size:15px;color:var(--etr-fog2);}
.etr-land-art{width:60px;height:auto;flex:none;filter:brightness(1.6);}
.etr-land p{margin-bottom:6px;}
.etr-inline-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:0;margin:0;}

/* Elevation profiles, inside the course section */
.etr-race h3.etr-sub{font:400 24px/1 var(--etr-display);letter-spacing:.01em;color:#fff;margin:34px 0 14px;}
.etr-routes{display:grid;gap:14px;}
@media(min-width:760px){.etr-routes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}}
.etr-route{background:var(--etr-ink2);border:1px solid var(--etr-rule);padding:20px;border-radius:4px;}
.etr-route h3.etr-route-n{font:400 44px/1 var(--etr-display);color:var(--etr-moss);letter-spacing:0;text-transform:none;margin:0 0 8px;}
.etr-route .etr-prose{font-size:14.5px;color:var(--etr-fog2);}
.etr-profile{width:100%;display:block;margin:12px 0 4px;border-radius:2px;
  filter:invert(.92) hue-rotate(180deg) saturate(.4);opacity:.85;}
.etr-zoom{display:block;cursor:zoom-in;}

/* Registration */
.etr-table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:15.5px;font-variant-numeric:tabular-nums;}
.etr-table th,.etr-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--etr-rule);vertical-align:top;}
.etr-table th{width:34%;white-space:nowrap;color:#fff;font-weight:600;}
.etr-grid thead th{width:auto;font:600 11px/1 var(--etr-label);letter-spacing:.2em;text-transform:uppercase;color:var(--etr-fog2);}
.etr-grid tbody th{width:auto;font-weight:400;color:var(--etr-fog);}
.etr-grid td{white-space:nowrap;color:#fff;font-weight:600;}
.etr-scroll{overflow-x:auto;}
.etr-faqs{margin:6px 0 14px;}
.etr-faq{border-bottom:1px solid var(--etr-rule);padding:10px 0;}
.etr-faq summary{cursor:pointer;font-weight:600;color:#fff;}
.etr-faq summary:hover{color:var(--etr-moss);}
.etr-faq .etr-prose{padding-top:8px;font-size:15.5px;}

/* Race day details */
.etr-details{padding:0;}
.etr-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 0;}
.etr-details summary::-webkit-details-marker{display:none;}
.etr-details summary h2{margin:0;}
.etr-details-hint::before{content:"Show \25BC";display:inline-block;font:600 13px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;
  color:var(--etr-ink);background:var(--etr-moss);padding:10px 16px;border-radius:999px;white-space:nowrap;}
.etr-details[open] .etr-details-hint::before{content:"Hide \25B2";background:transparent;color:var(--etr-moss);border:1.5px solid var(--etr-moss);}
.etr-details-body{padding:0 0 30px;}
.etr-boxes{display:grid;gap:16px;margin-top:22px;}
@media(min-width:760px){.etr-boxes{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}}
.etr-box{background:var(--etr-ink2);border:1px solid var(--etr-rule);border-radius:4px;padding:18px;}
.etr-box h3{margin-top:0;}
.etr-box h3+h3{margin-top:18px;}
.etr-box p,.etr-box li{font-size:15px;}
.etr-box .etr-table{font-size:14.5px;margin:0;table-layout:fixed;}
.etr-box .etr-table th{width:44%;white-space:normal;padding-left:0;}
.etr-box .etr-table td{padding-right:0;}
.etr-box{min-width:0;}
.etr-swag{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:start;margin-top:26px;}
.etr-swag h3{margin-top:0;}
.etr-swag-img{width:100%;border-radius:4px;display:block;}
@media(max-width:600px){.etr-swag{grid-template-columns:1fr;}}
.etr-box-warn{border-left:3px solid var(--etr-sun);}
.etr-blank{background:rgba(240,178,58,.12);border-left:3px solid var(--etr-sun);padding:12px 16px;color:var(--etr-sun);font-weight:600;max-width:none;}

/* Photos */
.etr-gallery{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
.etr-gallery figure{margin:0;}
.etr-gallery img{width:100%;height:220px;object-fit:cover;display:block;border-radius:3px;}
.etr-gallery .etr-zoom{display:block;}
.etr-gallery figcaption{font-size:13px;color:var(--etr-fog2);padding-top:5px;}
.etr-credit{font-style:italic;}
.etr-years{margin:0 0 22px;}
.etr-years div{display:flex;gap:18px;padding:10px 0;border-bottom:1px solid var(--etr-rule);}
.etr-years dt{flex:0 0 130px;font-weight:700;color:#fff;}
.etr-years dd{margin:0;}
.etr-years-undated dd{flex:1 1 auto;}

/* The photo grid is a sample. It clamps to two rows until asked to open. */
.etr-gallery.is-clamped{max-height:var(--etr-gallery-max,460px);overflow:hidden;position:relative;}
.etr-gallery.is-clamped::after{content:'';position:absolute;left:0;right:0;bottom:0;height:110px;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--etr-ink));}
.etr-more{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;padding:9px 18px;font:600 14px/1 var(--etr-body,inherit);letter-spacing:.02em;color:#fff;background:transparent;border:1px solid var(--etr-rule);border-radius:3px;cursor:pointer;}
.etr-more:hover,.etr-more:focus-visible{border-color:var(--etr-sun);color:var(--etr-sun);}
.etr-more::after{content:'\25BE';font-size:11px;line-height:1;}
.etr-more[aria-expanded="true"]::after{content:'\25B4';}
.etr-sep{color:var(--etr-fog2);}

/* Results */
.etr-results td a{color:var(--etr-moss);}

/* Partners */
.etr-list{margin:0 0 14px;padding-left:20px;}

/* Reviewer panel */
.etr-review{margin-top:44px;border:2px dashed var(--etr-sun);padding:24px 26px;background:var(--etr-ink2);}
.etr-review h2{font-size:22px;}

/* Lightbox */
.etr-lightbox{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh;}
.etr-lightbox::backdrop{background:rgba(6,12,9,.92);}
.etr-lightbox img{max-width:96vw;max-height:92vh;display:block;background:#fff;}
.etr-lightbox-close{position:fixed;top:14px;right:18px;font-size:34px;line-height:1;background:none;border:0;color:#fff;cursor:pointer;}

/* ---------- Phones ---------- */
@media(max-width:900px){
  .etr-race .etr-wrap,.etr-layout{padding-left:16px;padding-right:16px;}
  .etr-layout{grid-template-columns:1fr;gap:0;}
  .etr-rail{position:static;}
  .etr-pills{display:none;}
  .etr-hero{min-height:520px;}
  .etr-hero-inner{padding-top:60px;padding-bottom:40px;}
  .etr-course-grid{grid-template-columns:1fr;}
  .etr-details summary{padding:22px 0;}
}
@media(prefers-reduced-motion:reduce){.etr-race *{transition:none!important;}}

/* 0.6.0 - expandable subsections. A long page reads as a list of headings. */
.etr-fold{border-top:1px solid var(--etr-rule);}
.etr-fold:last-of-type{border-bottom:1px solid var(--etr-rule);}
.etr-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 0;}
.etr-fold>summary::-webkit-details-marker{display:none;}
.etr-fold>summary h3{margin:0;flex:1 1 auto;}
.etr-fold>summary:hover h3{color:#fff;}
.etr-fold-meta{font-size:13px;color:var(--etr-fog);opacity:.7;white-space:nowrap;}
.etr-fold-hint::before{content:"Show \25BC";display:inline-block;font:600 12px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;
  color:var(--etr-moss);border:1.5px solid var(--etr-moss);padding:7px 11px;border-radius:999px;white-space:nowrap;}
.etr-fold[open]>summary .etr-fold-hint::before{content:"Hide \25B2";color:var(--etr-ink);background:var(--etr-moss);}
.etr-fold-body{padding:0 0 22px;}
.etr-fold-body .etr-table{margin:0;}
.etr-fold-all{margin:0 0 14px;text-align:right;}
.etr-fold-all-btn{font:600 12px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;background:none;border:0;color:var(--etr-moss);cursor:pointer;padding:6px 0;text-decoration:underline;}
.etr-race h4.etr-sub4{font:600 12px/1.3 var(--etr-label);letter-spacing:.18em;text-transform:uppercase;color:var(--etr-moss);margin:22px 0 8px;}
.etr-where{margin:0 0 10px;}
.etr-box-warn{margin-bottom:18px;}
.etr-inline-fold{margin-top:12px;}
.etr-inline-fold>summary{cursor:pointer;font-weight:600;color:var(--etr-moss);}
.etr-cupless{margin-top:10px;}
.etr-kids{font-size:14.5px;opacity:.9;}
.etr-sponsors{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin:6px 0 20px;}
.etr-sponsor{background:var(--etr-ink2);border:1px solid var(--etr-rule);border-radius:4px;padding:14px;}
.etr-sponsor img{display:block;max-width:100%;max-height:70px;width:auto;margin:0 0 10px;background:#fff;padding:6px;border-radius:3px;}
.etr-sponsor-n{margin:0 0 6px;font-weight:600;}
.etr-sponsor .etr-prose{font-size:14px;}
@media (max-width:640px){ .etr-fold-meta{display:none;} }

/* 0.7.0 - content pages and homepage */
.etr-retired{background:var(--etr-sun);color:var(--etr-ink);padding:14px 0;font-size:15px;}
.etr-retired strong{color:var(--etr-ink);}
.etr-phead{position:relative;min-height:320px;display:flex;align-items:flex-end;background:var(--etr-ink2);overflow:hidden;}
.etr-phead-tall{min-height:560px;}
.etr-phead.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,23,18,.15) 20%,rgba(12,23,18,.92) 100%);}
.etr-phead-in{position:relative;z-index:2;width:100%;padding-top:90px;padding-bottom:44px;}
.etr-page h1{font:400 clamp(48px,8vw,110px)/.9 var(--etr-display);text-transform:uppercase;color:#fff;}
.etr-plede{font-size:19px;max-width:60ch;margin-top:16px;color:rgba(255,255,255,.92);}
.etr-plede p{margin:0 0 10px;}
.etr-pnav{position:sticky;top:var(--etr-head-h,0px);z-index:5;background:rgba(12,23,18,.95);border-bottom:1px solid var(--etr-rule);backdrop-filter:blur(6px);}
.etr-pnav .etr-wrap{display:flex;flex-wrap:wrap;gap:4px 18px;padding-top:12px;padding-bottom:12px;}
.etr-race .etr-pnav a{font:600 12.5px/1 var(--etr-label);letter-spacing:.16em;text-transform:uppercase;color:var(--etr-fog2);text-decoration:none;padding:6px 0;}
.etr-race .etr-pnav a:hover,.etr-race .etr-pnav a.is-on{color:var(--etr-moss);}
.etr-pmain{padding-bottom:60px;}
.etr-psec{padding:44px 0;border-top:1px solid var(--etr-rule);scroll-margin-top:calc(var(--etr-head-h,0px) + 60px);}
.etr-psec:first-child{border-top:0;}
.etr-bg-sand,.etr-bg-white{background:var(--etr-ink2);}
.etr-bg-ink{background:#08110d;}
.etr-psec .etr-kicker{margin:0 0 10px;}
.etr-psec-grid{display:block;}
.etr-psec-img.etr-img-right,.etr-psec-img.etr-img-left{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,320px);gap:34px;align-items:start;}
.etr-psec-img.etr-img-left{grid-template-columns:minmax(180px,320px) minmax(0,1fr);}
.etr-psec-img.etr-img-right .etr-psec-fig{order:2;}
.etr-psec-fig{margin:0;}
.etr-psec-fig img{width:100%;height:auto;display:block;border-radius:4px;}
.etr-psec-img.etr-img-full .etr-psec-fig{margin-bottom:22px;}
.etr-psec .etr-prose img{max-width:220px;height:auto;margin:8px 14px 8px 0;vertical-align:middle;background:#fff;border-radius:3px;padding:4px;}
.etr-psec .etr-prose table{border-collapse:collapse;width:100%;}
.etr-psec .etr-prose td,.etr-psec .etr-prose th{border-bottom:1px solid var(--etr-rule);padding:8px 10px;text-align:left;}
.etr-pfold>summary{padding:4px 0;}
.etr-pfold>summary h2{margin:0;flex:1 1 auto;font-size:clamp(22px,2.6vw,30px);}
.etr-pfold>summary .etr-kicker{display:none;}
.etr-pfold .etr-fold-body{padding-top:18px;}
.etr-psec:has(.etr-pfold){padding:18px 0;}
.etr-next-in{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:34px;align-items:center;}
.etr-next-img img{width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center;border-radius:4px;display:block;}
.etr-next h2{font-size:clamp(36px,5vw,60px);}
.etr-race .etr-next h2 a{color:#fff;text-decoration:none;}
.etr-next-date{font-weight:700;color:#fff;font-size:18px;}
.etr-next-dist{font:600 13px/1.4 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;color:var(--etr-moss);}
.etr-season-list{list-style:none;padding:0;margin:0;}
.etr-season-list li{display:grid;grid-template-columns:70px 80px minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--etr-rule);margin:0;}
.etr-season-date{text-align:center;font:600 12px/1 var(--etr-label);letter-spacing:.16em;text-transform:uppercase;color:var(--etr-fog2);}
.etr-season-date b{display:block;font:400 34px/1 var(--etr-display);color:#fff;letter-spacing:0;}
.etr-season-n a{font:400 26px/1.1 var(--etr-display);text-transform:uppercase;color:#fff;text-decoration:none;}
.etr-season-n a:hover{color:var(--etr-moss);}
.etr-season-n small{display:block;font-size:14px;color:var(--etr-fog2);margin-top:4px;}
.etr-race a.etr-season-reg{font:600 12px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border:1.5px solid var(--etr-moss);border-radius:999px;text-decoration:none;}
.etr-commit{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.etr-commit h2{font-size:26px;}
@media(max-width:760px){
  .etr-psec-img.etr-img-right,.etr-psec-img.etr-img-left,.etr-next-in{grid-template-columns:1fr;}
  .etr-psec-img.etr-img-right .etr-psec-fig{order:0;}
  .etr-season-list li{grid-template-columns:56px minmax(0,1fr);}
  .etr-season-reg{grid-column:2;justify-self:start;}
  .etr-phead-tall{min-height:420px;}
}
.etr-psec .etr-pfold{border:0;}

.etr-season-logo img{width:80px;height:80px;object-fit:contain;display:block;}
.etr-season-list li:not(:has(.etr-season-logo)){grid-template-columns:70px minmax(0,1fr) auto;}
@media(max-width:760px){.etr-season-list li{grid-template-columns:56px 56px minmax(0,1fr);}.etr-season-logo img{width:56px;height:56px;}.etr-season-reg{grid-column:3;}}

/* Site header (Divi) on new pages: same dark forest palette as the page below it, so the white
   bar no longer sits on top of a dark page. Only loads where the plugin renders; Divi markup untouched. */
body.et_secondary_nav_enabled #page-container #top-header,#top-header,#main-header,#main-header.et-fixed-header{background:#0c1712!important;}
#top-header{border-bottom:1px solid rgba(217,227,220,.08);}
#main-header,#main-header.et-fixed-header{box-shadow:0 1px 0 rgba(217,227,220,.14)!important;}
#top-menu > li > a,#main-header.et-fixed-header #top-menu > li > a{color:#d9e3dc!important;font-family:"Barlow Condensed","Arial Narrow",sans-serif!important;font-weight:700!important;font-size:16px!important;letter-spacing:.14em;text-transform:uppercase;opacity:1!important;}
#top-menu > li > a:hover{color:#fff!important;}
#top-menu > li.current-menu-item > a,#top-menu > li.current-menu-ancestor > a,#top-menu > li.current_page_item > a,#top-menu > li.current_page_ancestor > a,#main-header.et-fixed-header #top-menu > li.current-menu-item > a,#main-header.et-fixed-header #top-menu > li.current-menu-ancestor > a{color:#8fc46a!important;}
#top-menu .sub-menu,#main-header .nav li ul{background:#132219!important;border-top:3px solid #8fc46a!important;box-shadow:0 12px 30px rgba(0,0,0,.45)!important;}
#top-menu .sub-menu a,#main-header.et-fixed-header #top-menu .sub-menu a{color:#d9e3dc!important;font-family:"Barlow Condensed","Arial Narrow",sans-serif!important;font-weight:600!important;font-size:16px!important;letter-spacing:.06em;}
#top-menu .sub-menu a:hover,#top-menu .sub-menu li.current-menu-item > a{background:rgba(143,196,106,.12)!important;color:#fff!important;opacity:1!important;}
#main-header .mobile_menu_bar:before{color:#d9e3dc!important;}
#main-header .et_mobile_menu{background:#132219!important;border-top:3px solid #8fc46a!important;}
#main-header .et_mobile_menu li a{color:#d9e3dc!important;border-bottom:1px solid rgba(217,227,220,.14)!important;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}
#main-header .et_mobile_menu li a:hover{background:rgba(143,196,106,.12)!important;color:#fff!important;opacity:1!important;}
#main-header .et_mobile_menu li.current-menu-item > a{color:#8fc46a!important;}
#page-container{background:#0c1712;}

/* 0.8.3 - site footer on new pages (Divi's footer is hidden here only) */
#main-footer{display:none!important;}
.etr-foot{background:#08110d;border-top:1px solid var(--etr-rule);font-size:15px;}
.etr-foot-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:start;padding-top:48px;padding-bottom:40px;}
.etr-foot-brand img{width:96px;height:96px;display:block;margin:0 0 20px;}
.etr-foot .etr-kicker{margin:0 0 12px;}
.etr-social{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0!important;margin:0!important;}
.etr-social li{margin:0!important;padding:0;}
.etr-race .etr-social a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(217,227,220,.35);color:var(--etr-fog);text-decoration:none;transition:background .15s,color .15s,border-color .15s;}
.etr-race .etr-social a:hover,.etr-race .etr-social a:focus-visible{background:var(--etr-moss);border-color:var(--etr-moss);color:var(--etr-ink);}
.etr-social svg{width:21px;height:21px;fill:currentColor;display:block;}
.etr-foot-nav{display:grid;grid-template-columns:repeat(2,auto);gap:14px 44px;font:600 13px/1.2 var(--etr-label);letter-spacing:.16em;text-transform:uppercase;padding-top:6px;}
.etr-race .etr-foot-nav a{color:var(--etr-fog);text-decoration:none;}
.etr-race .etr-foot-nav a:hover{color:var(--etr-moss);}
.etr-foot-base{border-top:1px solid var(--etr-rule);padding:16px 0;font-size:13.5px;color:var(--etr-fog2);}
.etr-race .etr-foot-base a{color:var(--etr-fog2);}
.etr-race .etr-foot-base a:hover{color:var(--etr-moss);}
@media(max-width:700px){.etr-foot-in{grid-template-columns:1fr;gap:30px;padding-top:36px;}}

/* 0.8.4 - race photos behind the hero: darken the text side so the kicker and tagline stay readable */
.etr-hero::after{background:linear-gradient(90deg,rgba(12,23,18,.62) 0%,rgba(12,23,18,.2) 55%,rgba(12,23,18,0) 75%),linear-gradient(180deg,rgba(12,23,18,.05) 25%,rgba(12,23,18,.94) 100%);}
.etr-hero .etr-kicker span,.etr-phead.has-image .etr-kicker{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.75);}
.etr-hero h1,.etr-hero .etr-tagline{text-shadow:0 2px 18px rgba(0,0,0,.45);}

/* 0.8.5 - distance cards size to their content; kids' race is its own full-width card */
.etr-routes{align-items:start;}
@media(min-width:760px){
  .etr-routes-1{grid-template-columns:1fr;}
  .etr-routes-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .etr-routes-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .etr-routes-4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
.etr-route h3.etr-route-n{font-size:clamp(28px,2.6vw,36px);line-height:1;}
.etr-route .etr-map-link{margin:10px 0 0;}
.etr-route-kids{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:28px;align-items:center;}
.etr-kids-badge{display:block;}
.etr-kids-badge img{width:170px;height:auto;display:block;}
.etr-route-kids .etr-prose p{max-width:62ch;}
@media(max-width:600px){.etr-route-kids{grid-template-columns:1fr;}.etr-kids-badge img{width:130px;}}
.etr-routes{align-items:stretch;}
.etr-routes .etr-route{display:flex;flex-direction:column;}
.etr-routes .etr-route .etr-zoom{margin-bottom:12px;}
.etr-routes .etr-route .etr-map-link:first-of-type{margin-top:auto;}

/* 0.9.0 - the page shell: our own document, header and footer; no theme header/footer. */
body.etr-shell{margin:0;background:#0c1712;color:#d9e3dc;}
.etr-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:#f0b23a;color:#0c1712;padding:10px 16px;font-weight:700;}
.etr-skip:focus{left:12px;top:12px;}
.etr-head{position:sticky;top:0;z-index:100;background:#0c1712;border-bottom:1px solid var(--etr-rule);}
.admin-bar .etr-head{top:32px;}
@media(max-width:782px){.admin-bar .etr-head{top:46px;}}
@media(max-width:600px){.admin-bar .etr-head{top:0;}}
.etr-head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;}
.etr-head-logo{flex:none;display:block;}
.etr-head-logo img{width:64px;height:64px;display:block;}
.etr-race .etr-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0 26px;}
.etr-race .etr-menu li{margin:0;padding:0;position:relative;}
.etr-race .etr-menu a{display:block;padding:14px 0;font:700 15px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;color:var(--etr-fog);text-decoration:none;}
.etr-race .etr-menu a:hover,.etr-race .etr-menu a:focus-visible{color:#fff;}
.etr-race .etr-menu .current-menu-item>a,.etr-race .etr-menu .current-menu-ancestor>a,.etr-race .etr-menu .current_page_item>a,.etr-race .etr-menu .current_page_ancestor>a{color:var(--etr-moss);}
.etr-race .etr-menu>.menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 4px 8px;}
.etr-race .etr-menu .sub-menu{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:-18px;min-width:250px;background:#132219;border-top:3px solid var(--etr-moss);box-shadow:0 14px 30px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:5;}
.etr-race .etr-menu li:hover>.sub-menu,.etr-race .etr-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none;}
.etr-race .etr-menu .sub-menu a{padding:10px 18px;font-weight:600;font-size:16px;letter-spacing:.04em;text-transform:none;}
.etr-race .etr-menu .sub-menu a:hover{background:rgba(143,196,106,.12);}
.etr-menu-btn{display:none;}
@media(max-width:980px){
  .etr-head-in{min-height:70px;}
  .etr-head-logo img{width:52px;height:52px;}
  .etr-menu-btn{display:inline-flex;align-items:center;gap:12px;background:none;border:1.5px solid rgba(217,227,220,.35);color:var(--etr-fog);border-radius:999px;padding:11px 18px;font:700 13px/1 var(--etr-label);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;}
  .etr-menu-btn span{display:block;width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor;}
  .etr-head.is-open .etr-menu-btn span{box-shadow:none;}
  .etr-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#132219;border-top:3px solid var(--etr-moss);max-height:calc(100vh - 70px);overflow:auto;padding:6px 16px 22px;box-shadow:0 18px 30px rgba(0,0,0,.5);}
  .etr-head.is-open .etr-nav{display:block;}
  .etr-race .etr-menu{display:block;}
  .etr-race .etr-menu a{padding:15px 0;border-bottom:1px solid var(--etr-rule);}
  .etr-race .etr-menu>.menu-item-has-children>a::after{display:none;}
  .etr-race .etr-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:none;min-width:0;padding:0 0 0 18px;}
  .etr-race .etr-menu .sub-menu a{padding:12px 0;font-size:16px;}
}
/* 0.9.2 - pages the plugin doesn't draw itself (404, search, posts), via the ETR Basic theme */
.etr-generic .etr-phead{min-height:240px;}
.etr-generic-body{max-width:760px;}
.etr-generic-body img{max-width:100%;height:auto;}
.etr-search{margin:26px 0;max-width:560px;}
.etr-search form{display:flex;gap:10px;}
.etr-search label{flex:1 1 auto;}
.etr-search .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.etr-search input[type=search]{width:100%;padding:13px 16px;border-radius:999px;border:1.5px solid rgba(217,227,220,.35);background:#132219;color:#fff;font:inherit;}
.etr-search input[type=submit]{padding:13px 22px;border-radius:999px;border:0;background:var(--etr-sun);color:var(--etr-ink);font:600 14px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;}
.etr-race .etr-results-list{list-style:none;padding:0;margin:0;}
.etr-race .etr-results-list li{padding:16px 0;border-bottom:1px solid var(--etr-rule);margin:0;}
.etr-race .etr-results-list a{font:400 24px/1.15 var(--etr-display);text-transform:uppercase;color:#fff;text-decoration:none;}
.etr-race .etr-results-list a:hover{color:var(--etr-moss);}
.etr-results-list p{margin:6px 0 0;color:var(--etr-fog2);}
/* 0.9.4 - image sizes chosen in the editor (Small / Medium / Large / Full width) */
.etr-course-grid.etr-size-s{grid-template-columns:minmax(0,1fr) 180px;}
.etr-course-grid.etr-size-l{grid-template-columns:minmax(0,1fr) 400px;}
.etr-course-grid.etr-size-full{grid-template-columns:1fr;}
.etr-swag.etr-size-s{grid-template-columns:minmax(0,1fr) 150px;}
.etr-swag.etr-size-l{grid-template-columns:minmax(0,1fr) 360px;}
.etr-swag.etr-size-full{grid-template-columns:1fr;}
.etr-sponsor.etr-logo-s img{max-height:40px;}
.etr-sponsor.etr-logo-l img{max-height:110px;}
.etr-sponsor.etr-logo-full img{max-height:none;width:100%;}
.etr-psec-img.etr-img-right.etr-size-s{grid-template-columns:minmax(0,1fr) 200px;}
.etr-psec-img.etr-img-left.etr-size-s{grid-template-columns:200px minmax(0,1fr);}
.etr-psec-img.etr-img-right.etr-size-l{grid-template-columns:minmax(0,1fr) minmax(240px,480px);}
.etr-psec-img.etr-img-left.etr-size-l{grid-template-columns:minmax(240px,480px) minmax(0,1fr);}
.etr-psec-img.etr-size-full{display:block;}
.etr-psec-img.etr-size-full .etr-psec-fig{margin-bottom:22px;}
@media(max-width:760px){.etr-course-grid[class*="etr-size-"],.etr-swag[class*="etr-size-"]{grid-template-columns:1fr;}.etr-psec-img[class*="etr-size-"]{display:block;}}

/* 0.9.5 - embedded CalTopo maps */
#course-maps{margin-top:18px;}
.etr-map-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;}
.etr-map-tab{font:600 12.5px/1.2 var(--etr-label);letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border-radius:999px;border:1.5px solid rgba(217,227,220,.35);background:transparent;color:var(--etr-fog);cursor:pointer;}
.etr-map-tab:hover{color:#fff;border-color:#fff;}
.etr-map-tab.is-on{background:var(--etr-moss);border-color:var(--etr-moss);color:var(--etr-ink);}
.etr-map-frame{position:relative;width:100%;aspect-ratio:16/10;max-height:620px;min-height:340px;border:1px solid var(--etr-rule);border-radius:4px;overflow:hidden;background:#0a120e;}
.etr-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@media(max-width:600px){.etr-map-frame{aspect-ratio:3/4;}}
/* 0.9.6 - fold-out sections stand out: their own card, bigger white heading, solid Show button */
.etr-race .etr-fold:not(.etr-pfold){background:var(--etr-ink2);border:1px solid rgba(217,227,220,.2);border-left:4px solid var(--etr-moss);border-radius:6px;margin:0 0 10px;padding:0 18px;transition:border-color .15s,background .15s;}
.etr-race .etr-fold:not(.etr-pfold):last-of-type{border-bottom:1px solid rgba(217,227,220,.2);}
.etr-race .etr-fold:not(.etr-pfold):hover{background:#18291f;}
.etr-race .etr-fold:not(.etr-pfold)>summary{padding:15px 0;}
.etr-race .etr-fold:not(.etr-pfold)>summary h3{font:700 19px/1.2 var(--etr-label);letter-spacing:.08em;text-transform:uppercase;color:#fff;}
.etr-race .etr-fold:not(.etr-pfold) .etr-fold-meta{color:var(--etr-fog2);opacity:1;font-size:14px;}
.etr-race .etr-fold .etr-fold-hint::before{content:"Show \25BC";color:var(--etr-ink);background:var(--etr-moss);border:1.5px solid var(--etr-moss);padding:8px 14px;font-size:12.5px;}
.etr-race .etr-fold[open]>summary .etr-fold-hint::before{content:"Hide \25B2";color:var(--etr-moss);background:transparent;}
.etr-race .etr-fold:not(.etr-pfold)>summary:hover .etr-fold-hint::before{background:#a6d884;border-color:#a6d884;}
.etr-race .etr-fold[open]:not(.etr-pfold)>summary:hover .etr-fold-hint::before{background:rgba(143,196,106,.15);}
/* 0.9.7 - photo album years */
#photos-earlier{margin-top:12px;}
#photos-earlier .etr-years{margin-bottom:6px;}
.etr-years-undated dt{color:var(--etr-fog2);}

/* 0.9.8 - partner cards: compact; uniform logo box; long blurbs clamped with a More button. */
.etr-sponsors{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:start;gap:16px;}
.etr-sponsor{display:flex;flex-direction:column;align-items:flex-start;padding:14px 16px;}
.etr-sponsor-logo{display:flex;align-items:center;justify-content:center;width:100%;height:84px;background:#fff;border-radius:3px;margin:0 0 12px;padding:8px;box-sizing:border-box;}
.etr-sponsor .etr-sponsor-logo img{max-width:100%;max-height:100%;width:auto;height:auto;margin:0;padding:0;background:none;border-radius:0;object-fit:contain;}
.etr-sponsor.etr-logo-s .etr-sponsor-logo{height:60px;}
.etr-sponsor.etr-logo-l .etr-sponsor-logo{height:120px;}
.etr-sponsor.etr-logo-full .etr-sponsor-logo{height:auto;}
.etr-sponsor.etr-logo-full .etr-sponsor-logo img{width:100%;max-height:none;}
.etr-sponsor-n{margin:0 0 4px;}
.etr-sponsor-b{margin:0;line-height:1.5;}
.etr-sponsor-b p{margin:0 0 .6em;}
.etr-sponsor-b p:last-child{margin-bottom:0;}
.js-etr .etr-sponsor-b.is-long{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;}
.js-etr .etr-sponsor-b.is-long.is-open{display:block;-webkit-line-clamp:unset;line-clamp:none;}
.etr-sponsor-more{display:none;margin:6px 0 0;padding:0;background:none;border:0;color:var(--etr-moss);font:600 12px/1.4 var(--etr-label);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;}
.js-etr .etr-sponsor-more{display:inline-block;}
.etr-sponsor-more:hover{color:var(--etr-sun);}

/* 0.10.0 - hero: logo 30% larger, a little air between the race name and the tagline.
   Page fold-outs (FAQ questions, policies): sentence case in the body face, not all-caps Anton. */
.etr-race .etr-hero .etr-logo{width:78px;}
.etr-race .etr-hero .etr-tagline{margin-top:18px;}
.etr-race .etr-pfold>summary h2{font:600 clamp(19px,1.9vw,22px)/1.3 var(--etr-body);text-transform:none;letter-spacing:0;}
@media (max-width:640px){.etr-race .etr-hero .etr-logo{width:64px;}.etr-race .etr-hero .etr-tagline{margin-top:12px;}}

/* 0.10.1 - season list (Races page, homepage): Volunteer + Register, bigger buttons. */
.etr-season-act{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.etr-race .etr-season-act a{font:700 15px/1 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;padding:15px 24px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
.etr-race .etr-season-act a.etr-season-vol{border:1.5px solid rgba(217,227,220,.55);color:#fff;}
.etr-race .etr-season-act a.etr-season-vol:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.etr-race .etr-season-act a.etr-season-reg{border:1.5px solid var(--etr-sun);background:var(--etr-sun);color:var(--etr-ink);}
.etr-race .etr-season-act a.etr-season-reg:hover{background:#f6c55f;border-color:#f6c55f;}
.etr-season-list li{padding:18px 0;}
@media(max-width:760px){
  .etr-season-act{grid-column:2 / -1;justify-content:flex-start;}
  .etr-race .etr-season-act a{font-size:13px;padding:12px 18px;}
}

/* 0.11.0 - videos: one big player, the rest as small thumbnails that play in it. */
.etr-video-box{margin:4px 0 8px;}
.etr-video{position:relative;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden;}
.etr-video iframe,.etr-video-play,.etr-video-play img{position:absolute;inset:0;width:100%;height:100%;border:0;}
.etr-video-play{padding:0;margin:0;background:#000;cursor:pointer;display:block;}
.etr-video-play img{object-fit:cover;opacity:.88;transition:opacity .2s;}
.etr-video-play:hover img{opacity:1;}
.etr-video-play span{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--etr-sun);box-shadow:0 6px 24px rgba(0,0,0,.45);}
.etr-video-play span::after{content:"";position:absolute;left:31px;top:24px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent var(--etr-ink);}
.etr-video-more{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.etr-video-more li{margin:0;}
.etr-video-thumb{display:block;width:100%;padding:0;margin:0;background:none;border:0;text-align:left;cursor:pointer;color:var(--etr-fog);font:inherit;}
.etr-video-thumb-img{display:block;position:relative;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:#000;border:2px solid transparent;transition:border-color .15s;}
.etr-video-thumb-img img{width:100%;height:100%;object-fit:cover;display:block;opacity:.8;}
.etr-video-thumb:hover .etr-video-thumb-img img,.etr-video-thumb.is-on .etr-video-thumb-img img{opacity:1;}
.etr-video-thumb.is-on .etr-video-thumb-img{border-color:var(--etr-sun);}
.etr-video-thumb-t{display:block;margin-top:6px;font-size:13.5px;line-height:1.3;color:#fff;font-weight:600;}
.etr-video-thumb-c{display:block;font-size:12.5px;color:var(--etr-fog2);margin-top:2px;}
.etr-video-thumb:focus-visible{outline:2px solid var(--etr-sun);outline-offset:3px;border-radius:4px;}

/* 0.11.0 - store: Evergreen products from the Orca Shopify collection, with a bag. */
.etr-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;align-items:start;}
.etr-product{background:var(--etr-ink2);border:1px solid var(--etr-rule);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;}
.etr-product-img{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;}
.etr-product-img img{width:100%;height:100%;object-fit:contain;display:block;}
.etr-product-body{padding:16px 18px 18px;}
.etr-race .etr-product h3{font:400 24px/1.1 var(--etr-display);text-transform:uppercase;letter-spacing:.01em;color:#fff;margin:0 0 4px;}
.etr-product-price{margin:0 0 12px;font-weight:600;color:var(--etr-moss);}
.etr-product-out{margin:0;color:var(--etr-fog2);font-style:italic;}
.etr-product-buy{display:flex;flex-direction:column;gap:10px;}
.etr-product-buy select{width:100%;padding:11px 12px;border-radius:4px;border:1px solid rgba(217,227,220,.35);background:var(--etr-ink);color:#fff;font:inherit;font-size:15px;}
.etr-race button.etr-button{display:inline-block;font:600 14px/1.2 var(--etr-label);letter-spacing:.14em;text-transform:uppercase;padding:14px 22px;border-radius:999px;border:1.5px solid var(--etr-sun);background:var(--etr-sun);color:var(--etr-ink);cursor:pointer;transition:background .15s,border-color .15s;}
.etr-race button.etr-button:hover{background:#fff;border-color:#fff;}
.etr-race button.etr-button.is-added{background:var(--etr-moss);border-color:var(--etr-moss);}
.etr-product-more{margin-top:12px;font-size:14.5px;}
.etr-product-more summary{cursor:pointer;color:var(--etr-fog2);font:600 12px/1 var(--etr-label);letter-spacing:.16em;text-transform:uppercase;}
.etr-product-more .etr-prose{margin-top:10px;}
.etr-store .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.etr-bag{position:sticky;bottom:16px;margin-top:26px;z-index:20;}
.etr-bag-in{background:#0f1d16;border:1.5px solid var(--etr-sun);border-radius:8px;padding:14px 18px;box-shadow:0 10px 30px rgba(0,0,0,.5);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:center;}
.etr-bag-sum{margin:0;color:#fff;}
.etr-bag-list{grid-column:1;list-style:none;margin:0;padding:0;font-size:14px;color:var(--etr-fog);}
.etr-bag-list li{margin:2px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.etr-bag-list button{background:none;border:1px solid var(--etr-rule);color:var(--etr-fog);border-radius:4px;width:24px;height:24px;line-height:1;cursor:pointer;padding:0;}
.etr-bag-list button:hover{border-color:var(--etr-moss);color:#fff;}
.etr-bag-checkout{grid-column:2;grid-row:1 / span 2;align-self:center;}
.etr-store-note{margin-top:18px;}
@media(max-width:640px){.etr-bag-in{grid-template-columns:1fr;}.etr-bag-checkout{grid-column:1;grid-row:auto;text-align:center;}}

/* 0.11.1 - race pages: who we support / environment / welcome as three compact open cards. */
.etr-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 4px;}
.etr-value{background:var(--etr-ink2);border:1px solid var(--etr-rule);border-top:3px solid var(--etr-moss);border-radius:6px;padding:14px 16px 16px;}
.etr-race .etr-value h3{font:700 14px/1.25 var(--etr-label);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 8px;}
.etr-value .etr-prose,.etr-value ul{font-size:14.5px;line-height:1.5;}
.etr-value .etr-prose p{margin:0 0 .5em;}
.etr-value .etr-prose p:last-child{margin-bottom:0;}
.etr-value ul{list-style:none;margin:0;padding:0;}
.etr-value li{margin:0 0 4px;padding-left:14px;position:relative;}
.etr-value li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--etr-moss);}
@media(max-width:900px){.etr-values{grid-template-columns:1fr;}}
/* 0.11.1 - store cards line up: same height, button at the bottom. */
.etr-store-grid{align-items:stretch;}
.etr-product-body{display:flex;flex-direction:column;flex:1 1 auto;}
.etr-product-buy{margin-top:auto;}

/* 0.11.2 - partner cards sit three across whenever the column has room; video thumbnails fit five across. */
.etr-values{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
@media(max-width:900px){.etr-values{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}}
.etr-video-more{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));}

/* 0.12.0 - links into folds and sections stop below the sticky site header. */
.etr-race .etr-fold,.etr-race .etr-section,.etr-race [id]{scroll-margin-top:calc(var(--etr-head-h,0px) + 16px);}
.etr-manual-link{margin:4px 0 16px;}

/* 0.12.2 - course map buttons under the course description. */
.etr-course-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;}
.etr-race a.etr-button-outline{background:transparent;border:1.5px solid var(--etr-moss);color:#fff;text-decoration:none;}
.etr-race a.etr-button-outline:hover{background:var(--etr-moss);border-color:var(--etr-moss);color:var(--etr-ink);}

/* 0.12.5 - alert banner (cancellations, course changes). */
.etr-alert{background:var(--etr-sun);color:var(--etr-ink);font-weight:700;font-size:17px;line-height:1.45;padding:14px 0;}

/* 0.13.0 - header photos: whole-photo fit for small or oddly shaped pictures. */
.etr-hero-img.etr-hero-whole{object-fit:contain;background:var(--etr-ink2);}

/* 0.13.4 - fix: the general ".etr-race img{height:auto}" rule (more specific than .etr-hero-img) kept
   header photos at their own shape, so they were always pinned to the top and "keep in view" did
   nothing. Header photos now fill the header, and cropping follows the chosen focus. */
.etr-race .etr-hero-img{width:100%;height:100%;max-width:none;}
.etr-race .etr-product-img img{width:100%;height:100%;}

/* 0.13.6 - rotating page header: photos stack and cross-fade; the first shows without JS. */
.etr-race .etr-hero-img.etr-slide{opacity:0;transition:opacity 1.6s ease;}
.etr-race .etr-hero-img.etr-slide.is-on{opacity:1;}
