  /* THOR masthead — event crest medallion (page-scoped) */
  .thor-mast { display: flex; align-items: center; gap: clamp(28px, 5vw, 72px); }
  .thor-mast__copy { flex: 1 1 auto; min-width: 0; }
  .thor-mast__crest { flex: 0 0 auto; }
  .thor-mast__crest img {
    width: clamp(184px, 23vw, 290px); height: auto; display: block;
    background: #fff; padding: clamp(16px, 2.2vw, 28px);
    border-radius: 28px; border: 1px solid var(--tr-line-2);
    box-shadow: var(--tr-shadow-pop);
  }
  .thor-hero { position: relative; isolation: isolate; background: linear-gradient(90deg, rgba(12,15,20,.82) 0%, rgba(12,15,20,.55) 55%, rgba(12,15,20,.25) 100%), url("../img/thor-hero.jpg") center 60% / cover no-repeat #10151c; }
  
  .thor-hero .masthead__ghost { opacity: .35; }
  @media (max-width: 768px) {
    .thor-hero { background-image: linear-gradient(rgba(12,15,20,.7), rgba(12,15,20,.7)), url("../img/thor-hero.jpg"); }
    .thor-mast { flex-direction: column-reverse; align-items: flex-start; gap: 32px; }
    .thor-mast__crest img { width: clamp(160px, 46vw, 220px); }
  }

/* ---- Course map ---- */
.mapbox{position:relative;border:1px solid var(--tr-line)}
#course-map{height:520px;background:#161616}
#course-map .mapboxgl-ctrl-attrib{background:rgba(20,20,20,.85)}
#course-map .mapboxgl-ctrl-attrib a{color:#c7c7c7}
#course-map .mapboxgl-ctrl-group{background:#232323}
#course-map .mapboxgl-ctrl-group button .mapboxgl-ctrl-icon{filter:invert(1)}
.mk{font:700 11px/1 var(--tr-font-body,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--tr-ink,#1C1C1C);background:var(--tr-yellow,#F5C518);border-radius:3px;padding:4px 7px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.5)}
.mk.b{background:#fff}
.km{font:700 10px/18px Arial,sans-serif;text-align:center;color:var(--tr-yellow,#F5C518);background:var(--tr-ink,#1C1C1C);border:1.5px solid var(--tr-yellow,#F5C518);border-radius:50%;width:20px;height:18px;padding-top:2px;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.map-legend{display:flex;gap:26px;flex-wrap:wrap;font-size:13px;color:var(--tr-white-2);padding:16px 2px 0}
.map-legend span{display:flex;align-items:center;gap:8px}
.map-legend .sw{width:22px;height:4px;background:var(--tr-yellow,#F5C518);display:inline-block}
.map-legend .dot{width:10px;height:10px;border-radius:50%;background:var(--tr-yellow,#F5C518);display:inline-block}
.map-legend .dot.w{background:#fff}
.map-note{font-size:12px;color:#8e8e8e;margin-top:10px}
/* ---- Race-day gallery, horizontal rail ---- */
.tgal{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 max(24px,calc((100vw - 1080px)/2)) 12px;scrollbar-color:var(--tr-yellow,#F5C518) transparent}
.tgal img{height:min(340px,44vw);width:auto;flex:0 0 auto;scroll-snap-align:start;display:block;border:1px solid var(--tr-line)}
.tgal:focus-visible{outline:2px solid var(--tr-yellow,#F5C518);outline-offset:4px}

/* THOR '27 pink accent — replaces the club yellow on this page only.
   Aliases are re-declared because they resolve on :root. */
body.tr-is-thor{
  --tr-yellow:#FF4FA3;--tr-yellow-soft:#FF7DBD;--tr-yellow-deep:#D6247A;
  --tr-accent:var(--tr-yellow);--tr-accent-hover:var(--tr-yellow-soft);--tr-accent-pressed:var(--tr-yellow-deep);
  --tr-link-hover:var(--tr-yellow);
  --tr-rule-accent:3px solid var(--tr-yellow);--tr-rule-display:6px solid var(--tr-yellow);
  --tr-gold:var(--tr-yellow);--tr-gold-soft:var(--tr-yellow-soft);--tr-gold-deep:var(--tr-yellow-deep);
  --tr-corrib:var(--tr-yellow);--tr-claddagh:var(--tr-yellow);
}
body.tr-is-thor .card__ico{background:rgba(255,79,163,.1)}
