/* Lenyenye 2026 partner branding · v3.0 · additive overrides */
:root { --partner-ink:#121419; --partner-paper:#f7f4ed; --partner-gold:#e6bf83; }

/* The event keeps its own official colours; black/white and subtle warm texture
   take their cue from the Crawdaddy's mark, without replacing the race identity. */
.topbar { background:#0a0b0d; color:#e8e9e9; }
.site-header { background:rgba(17,19,23,.975); border-bottom:1px solid rgba(255,255,255,.10); }
.site-header.scrolled {box-shadow:0 12px 28px rgba(0,0,0,.25);}
.site-header::after {content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--orange),var(--pink),var(--blue),var(--lime));opacity:.87;pointer-events:none;}
.brand {width:90px;height:94px;background:#15191f;border:1px solid rgba(255,255,255,.18);border-radius:17px;box-shadow:0 9px 25px rgba(0,0,0,.20);overflow:hidden;}
.brand img {width:100%;height:100%;object-fit:contain;padding:1px;}
.primary-nav>a:not(.btn) {color:#f7f7f6;}
.primary-nav>a:not(.btn):hover,.primary-nav>a.active:not(.btn){color:#fff;}
.primary-nav>a:not(.btn)::after {background:linear-gradient(90deg,var(--pink),var(--orange),var(--partner-gold));}
.hero-overlay {background:linear-gradient(90deg,rgba(13,14,18,.91) 0%,rgba(15,16,23,.71) 49%,rgba(10,13,20,.26) 84%);}
.hero-home::after {content:"";position:absolute;inset:auto 0 0;height:5px;pointer-events:none;background:linear-gradient(90deg,var(--pink),var(--orange),var(--blue),var(--lime));z-index:5;}

/* Site-wide brand seal in the footer, using the actual sponsor's vector artwork. */
.site-footer{background:#111317;}
.footer-venue-mark {display:flex;align-items:center;justify-content:center;gap:27px;padding:35px 0 30px;}
.footer-venue-mark img{width:clamp(164px,19vw,224px);height:auto;filter:drop-shadow(0 6px 16px rgba(0,0,0,.3));}
.footer-venue-line{width:clamp(40px,25vw,235px);height:1px;background:linear-gradient(90deg,transparent,rgba(230,191,131,.65));}
.footer-venue-line:last-child{transform:rotate(180deg);}
.footer-brand img{width:110px;height:auto;max-height:128px;object-fit:contain;}

/* The sponsors section is distinctive but still fits the colourful event. */
.sponsor-section,.sponsor-directory-section{position:relative;isolation:isolate;overflow:hidden;color:#fff;background-color:#151619;background-image:radial-gradient(ellipse at 5% 12%,rgba(255,90,0,.11),transparent 40%),radial-gradient(ellipse at 95% 90%,rgba(223,11,104,.09),transparent 44%),linear-gradient(155deg,#171819,#0b0c0e);}
.sponsor-section::before,.sponsor-directory-section::before{content:"";position:absolute;z-index:-1;width:min(730px,72vw);height:540px;top:0;right:-13%;background:url('../images/sponsors/crawdaddys-white.svg') center / contain no-repeat;opacity:.047;transform:rotate(-15deg);pointer-events:none;}
.sponsor-section::after,.sponsor-directory-section::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--pink),var(--orange),var(--blue),var(--lime));}
.partner-section-content{position:relative;z-index:1;}
.sponsor-section .section-heading,.sponsor-directory-section .section-heading{max-width:800px;}
.sponsor-section .section-heading h2,.sponsor-directory-section .section-heading h2{color:#fff;}
.sponsor-section .section-heading p,.sponsor-directory-section .section-heading p{color:#d6d4d0;}
.sponsor-section .eyebrow,.sponsor-directory-section .eyebrow{color:var(--partner-gold);}
.partner-view-all{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:14px;font-weight:850;letter-spacing:.01em;border-bottom:2px solid var(--partner-gold);padding:4px 0 8px;transition:color .2s;}
.partner-view-all:hover{color:var(--partner-gold);}
.sponsor-all-grid{margin-top:21px;}
.sponsor-directory-section .sponsor-card{border-color:rgba(255,255,255,.20);background:#fbfaf7;}
.sponsor-directory-section .sponsor-card img{aspect-ratio:1.65/1;padding:15px 18px;max-height:220px;}
.sponsor-directory-section .sponsor-card h3{color:#474a4d;font-size:11px;line-height:1.4;}
.page-hero-sponsors{isolation:isolate;}
.sponsor-cta{background:linear-gradient(115deg,#17191d,#2b2521);border-top:1px solid rgba(230,191,131,.20);}


/* One consistent logo stage for every partner on every page. */
.sponsor-uniform-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:2px;
}
.sponsor-uniform-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  height:220px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:17px;
  background:#faf9f7;
  box-shadow:0 10px 25px rgba(0,0,0,.15);
  overflow:hidden;
  color:#343940;
}
.sponsor-uniform-art {
  min-height:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:17px 20px 10px;
  background:#fff;
}
.sponsor-uniform-art img {
  width:100%;
  height:130px;
  max-height:100%;
  object-fit:contain;
  aspect-ratio:auto;
  padding:0;
  object-position:center;
  display:block;
}
.sponsor-uniform-card h3 {
  flex:0 0 auto;
  min-height:54px;
  max-height:54px;
  display:flex;
  align-items:center;
  padding:10px 13px;
  margin:0;
  color:#31383c;
  line-height:1.35;
  font-size:11px;
  font-weight:750;
  overflow-wrap:anywhere;
  background:#f7f6f3;
}
.sponsor-directory-section .sponsor-uniform-card {background:#faf9f7;}
.sponsor-directory-section .sponsor-uniform-card h3 {font-size:11px;padding:10px 13px;color:#31383c;}
.sponsor-directory-section .sponsor-uniform-card img {width:100%;height:130px;max-height:100%;padding:0;aspect-ratio:auto;}
.sponsor-directory-section .sponsor-uniform-grid {margin-top:0;}
/* Real race photo from the site's own gallery, with readable copy at any viewport. */
.page-hero-sponsors>img {object-position:50% 48%;}
.page-hero-sponsors .page-hero-overlay {background:linear-gradient(90deg,rgba(5,16,24,.78) 0%,rgba(7,20,30,.55) 55%,rgba(7,20,30,.24) 100%),linear-gradient(0deg,rgba(7,19,27,.65),transparent 65%);}

/* Footer credit, site sponsor logo and official social-platform glyphs. */
.footer-venue-brand {display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;}
.footer-venue-caption {color:#e9d6b5;font-weight:850;font-size:11px;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;}
.footer-venue-mark .footer-venue-brand img {width:clamp(164px,19vw,224px);height:auto;}
.footer-bottom {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;}
.footer-bottom-copyright{text-align:left;}
.footer-bottom-credit {text-align:center;color:#c5d3dc;white-space:nowrap;}
.footer-bottom-location {text-align:right;}
.social-button {overflow:hidden;transition:background-color .2s,transform .2s;}
.social-button:hover {transform:translateY(-2px);}
.social-button img {display:block;width:auto;height:19px;max-width:24px;filter:brightness(0) invert(1);}
.social-button[href*="facebook.com"] {background:#0866FF;}
.social-button[href*="tiktok.com"] {background:#050505;border:1px solid rgba(255,255,255,.28);}
.social-button[href*="tiktok.com"] img {height:20px;}
@media(max-width:1050px){
  .sponsor-uniform-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:860px){
  .nav-wrap{height:78px;}
  .brand{width:66px;height:71px;border-radius:12px;}
  .brand img{width:100%;height:100%;}
  .primary-nav{background:linear-gradient(160deg,#121418,#1e2025);border-top:1px solid rgba(255,255,255,.12);}
  .primary-nav>a:not(.btn){color:#fff;border-color:rgba(255,255,255,.17);}
  .primary-nav>a.active:not(.btn){color:#f5cae0;}
  .sponsor-uniform-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  .footer-bottom{grid-template-columns:1fr;gap:8px;justify-items:center;}
  .footer-bottom-copyright,.footer-bottom-credit,.footer-bottom-location{text-align:center;}
}
@media(max-width:600px){
  .sponsor-uniform-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .sponsor-uniform-card{height:185px;border-radius:13px;}
  .sponsor-uniform-art{padding:12px 12px 7px;}
  .sponsor-uniform-art img,.sponsor-directory-section .sponsor-uniform-card img{height:106px;}
  .sponsor-uniform-card h3,.sponsor-directory-section .sponsor-uniform-card h3{font-size:10px;min-height:51px;max-height:51px;padding:8px 10px;}
  .sponsor-section::before,.sponsor-directory-section::before{right:-45%;opacity:.034;}
  .footer-venue-mark{gap:12px;padding:20px 0 26px;}
  .footer-venue-mark .footer-venue-brand img{width:148px;}
  .footer-venue-caption{font-size:10px;letter-spacing:.1em;}
  .footer-bottom-credit{white-space:normal;}
  .page-hero-sponsors>img{object-position:57% center;}
}
@media(max-width:860px) and (max-height:650px){.brand{width:64px;height:68px;}}
@media(prefers-reduced-motion:reduce){.partner-view-all,.social-button{transition:none;}}
