/* Generated from the same navigation rules as the CUPEC homepage. */

/* club.css */
header{max-width:1440px;margin:auto;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line)}
:where(.rb-header, .cupec-mobile-menu) nav{display:flex;align-items:center;gap:24px;font-size:12px}
:where(.rb-header, .cupec-mobile-menu) nav a{text-decoration:none}
:where(.rb-header, .cupec-mobile-menu) nav a[aria-current=page]{text-decoration:underline}
@media(max-width:900px){header{flex-wrap:wrap;gap:15px}
:where(.rb-header, .cupec-mobile-menu) nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}}
@media(max-width:620px){:where(.rb-header, .cupec-mobile-menu) nav a{white-space:nowrap}}
:where(.rb-header, .cupec-mobile-menu) nav{flex-wrap:wrap}
header{flex-wrap:wrap}
/* mobile.css */
.menu-toggle{ display: none; }
@media (max-width: 767px), (max-width: 960px) and (max-height: 500px) and (pointer: coarse){.navigation-shell{
    position: sticky; top: 0; z-index: 30; width: 100%; max-width: none;
    margin: 0; padding: 12px 5%; min-height: 72px;
    display: flex; flex-wrap: wrap; flex-direction: row; align-items: center;
    justify-content: space-between; gap: 0;
    background: rgba(255,255,255,.97); border: 0; border-bottom: 1px solid #e6e6e0;
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  }
.navigation-shell .brand, .navigation-shell .club-brand{ margin: 0; gap: 10px; font-size: 21px; }
.navigation-shell .brand img, .navigation-shell .club-brand img, .event-header img{ width: 42px; height: 42px; object-fit: contain; }
.navigation-shell .brand small{ font-size: 7px; letter-spacing: .08em; }
.navigation-shell .club-brand small{ font-size: 9px; }
.menu-toggle{
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    gap: 6px; width: 48px; height: 48px; padding: 10px; margin-left: auto;
    border: 0; border-radius: 50%; background: transparent; color: #252525; cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
.menu-toggle span{ display: block; width: 23px; height: 1.5px; background: currentColor; transition: transform .2s ease; }
.menu-open .menu-toggle span:first-child{ transform: translateY(3.75px) rotate(45deg); }
.menu-open .menu-toggle span:last-child{ transform: translateY(-3.75px) rotate(-45deg); }
.navigation-shell nav{
    display: none; width: 100%; margin: 0; padding: 12px 0 8px; overflow: visible;
    flex-direction: column; align-items: stretch; gap: 0; font-size: 16px;
  }
.navigation-shell.menu-open nav{ display: flex; animation: menu-reveal .18s ease-out; }
.navigation-shell nav a, .navigation-shell nav a:first-child, .navigation-shell nav a:nth-child(2){
    display: flex; align-items: center; gap: 12px; min-height: 52px;
    padding: 13px 4px; border: 0; border-top: 1px solid #e8e8e3;
    background: transparent; color: #252525 !important; font-size: 16px;
    font-weight: normal; text-decoration: none; white-space: normal; line-height: 1.4;
  }
.navigation-shell nav a[aria-current="page"]{ font-weight: bold; text-decoration: none; }
.navigation-shell nav a span{ display: none; }}
@media (prefers-reduced-motion: reduce){.menu-toggle span, .navigation-shell.menu-open nav{ transition: none; animation: none; }}
@media (max-width: 767px), (max-width: 960px) and (max-height: 500px) and (pointer: coarse){.navigation-shell{ padding-top: max(10px, env(safe-area-inset-top)); padding-left: max(6%, env(safe-area-inset-left)); padding-right: max(6%, env(safe-area-inset-right)); }}
@media (max-width: 380px){.navigation-shell .club-brand small{ max-width: 155px; }}
@media (max-width: 960px) and (max-height: 500px) and (pointer: coarse){.navigation-shell{ position: relative; }
.navigation-shell.menu-open nav{ max-height: 65dvh; overflow-y: auto; }}
@media print{.menu-toggle{ display: none !important; }}
.cupec-mobile-menu:not([open]){ display: none; }
dialog.cupec-mobile-menu[open]{
  position: fixed; inset: 0; z-index: 1000; margin: 0; padding: 0; border: 0;
  width: 100%; max-width: none; height: 100dvh; max-height: none;
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--rb-paper, #faf9f6); color: var(--rb-ink, #353830);
}
.cupec-mobile-menu::backdrop{ background: var(--rb-paper, #faf9f6); backdrop-filter: none; }
.cupec-mobile-menu .cupec-mobile-menu-bar{
  display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto;
  min-height: calc(76px + env(safe-area-inset-top));
  padding: calc(10px + env(safe-area-inset-top)) 24px 10px;
  border-bottom: 1px solid var(--rb-line, #d9dad3);
}
.cupec-mobile-menu-bar > a{ display: flex; align-items: center; gap: 13px; text-decoration: none; }
.cupec-mobile-menu-bar > a img{ width: 42px; height: 42px; object-fit: contain; }
.cupec-mobile-menu-bar > a > span{ font-size: 25px; }
.cupec-mobile-menu .menu-toggle{
  display: flex; flex-shrink: 0; width: 48px; height: 48px; border-radius: 0;
  color: inherit; touch-action: manipulation; pointer-events: auto;
}
.cupec-mobile-menu nav{
  display: flex; flex: 1 1 auto; min-height: 0; flex-direction: column;
  align-items: stretch; justify-content: flex-start; gap: 0; width: 100%;
  padding: 28px 24px calc(32px + env(safe-area-inset-bottom));
  overflow-y: auto; overscroll-behavior: contain;
}
.cupec-mobile-menu nav > a{
  display: flex; align-items: center; flex: 0 0 auto; min-height: 76px;
  margin: 0; padding: 16px 0; border: 0; border-bottom: 1px solid var(--rb-line, #d9dad3);
  background: transparent; color: inherit; text-decoration: none;
  font: 400 36px/1.2 var(--rb-serif, Georgia, serif); letter-spacing: -.02em;
}
.cupec-mobile-menu nav > a[aria-current=page]{ color: #737d68; }
.cupec-mobile-menu nav > a > span{ display: none; }
.cupec-mobile-menu nav > a::before, .cupec-mobile-menu nav > a::after{ display: none; }
@media(max-width:767px){body.cupec-rebuild:has(> header.rb-header.navigation-shell){ padding-top: calc(76px + env(safe-area-inset-top)); }
body.cupec-rebuild > header.rb-header.navigation-shell{
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    view-transition-name: none; -webkit-backdrop-filter: none; backdrop-filter: none;
  }
.navigation-shell .menu-toggle{ position: relative; z-index: 1; touch-action: manipulation; pointer-events: auto; }
.menu-toggle span{ pointer-events: none; }}
/* motion.css */
header nav a{ position: relative; }
header nav a:not(.join-link)::after{ content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
header nav a:not(.join-link):hover::after,header nav a[aria-current="page"]::after{ transform: scaleX(1); }
header nav a[aria-current="page"]{ text-decoration: none; }
/* rebuild/rebuild.css */
body.cupec-rebuild>header.rb-header{
  width:100%;
  max-width:none;
  margin:0;
  padding:20px var(--rb-gutter);
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:var(--rb-black);
  color:#f6f6f1;
  border-bottom:1px solid #ffffff27;
  position:relative;
  z-index:30;
  view-transition-name:cupec-header
}
.rb-brand{
  display:flex;
  align-items:center;
  gap:13px;
  text-decoration:none;
  flex-shrink:0
}
.rb-brand img{
  width:52px;
  height:52px;
  object-fit:contain;
  filter:invert(1);
  mix-blend-mode:screen
}
.rb-brand>span{
  font:500 24px/1 var(--rb-sans);
  letter-spacing:.13em
}
.cupec-rebuild .rb-header nav{
  display:flex;
  align-items:center;
  gap:27px;
  width:auto;
  margin:0;
  font-size:12px;
  flex-wrap:nowrap
}
.rb-header nav>a{
  text-decoration:none;
  color:#b5b7b2;
  padding:10px 0
}
.rb-header nav>a:hover,.rb-header nav>a[aria-current=page]{
  color:#fff
}
.cupec-rebuild .rb-header .join-link{
  display:flex;
  gap:25px;
  padding:11px 17px;
  border:1px solid #777b76;
  margin-left:12px;
  color:#fff
}
.rb-header .join-link:hover{
  background:#fff;
  color:#111
}
.rb-header nav>a::after{
  bottom:0!important
}
.cupec-rebuild dialog:not(.cupec-mobile-menu)::backdrop{
  background:#030905bf;
  backdrop-filter:blur(6px)
}
@media(max-width:1100px){.cupec-rebuild .rb-header nav{
    gap:20px
  }}
@media(max-width:767px){body.cupec-rebuild>header.rb-header{
    min-height:82px;
    padding:13px var(--rb-gutter);
    gap:0;
    flex-wrap:wrap;
    position:relative;
    background:#080b0b
  }
.rb-brand img{
    width:45px;
    height:45px
  }
.rb-brand>span{
    font-size:22px
  }
.cupec-rebuild .rb-header .menu-toggle{
    display:flex;
    color:#fff;
    min-width:46px;
    width:46px;
    margin-left:auto;
    border-radius:0
  }
.cupec-rebuild .rb-header nav{
    display:none;
    width:100%;
    margin:0;
    padding:20px 0 10px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    font-size:18px
  }
.cupec-rebuild .rb-header.menu-open nav{
    display:flex
  }
.cupec-rebuild .rb-header nav>a,.cupec-rebuild .rb-header nav>a:first-child,.cupec-rebuild .rb-header nav>a:nth-child(2){
    display:flex;
    color:#cfcfcf!important;
    padding:15px 0;
    border:0;
    border-top:1px solid #ffffff26;
    min-height:52px;
    font-size:16px;
    line-height:1.5;
    background:none
  }
.cupec-rebuild .rb-header .join-link{
    margin:0;
    padding:15px 0
  }
.rb-header nav>a::after{
    display:none
  }
.cupec-rebuild .challenge-sidebar.navigation-shell{
    position:relative;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    width:100%;
    padding:15px var(--rb-gutter);
    color:#f2f2f2;
    background:#080b0b
  }
.cupec-rebuild .challenge-sidebar .menu-toggle{
    color:#fff
  }
.cupec-rebuild .event-header.navigation-shell{
    background:#080b0b;
    color:#f0f0f0;
    padding:16px var(--rb-gutter)
  }
.cupec-rebuild .event-header .menu-toggle{
    color:#fff
  }}
@media print{.rb-header,.rb-footer,.rb-motion-toggle{
    display:none!important
  }}
/* rebuild/light.css */
body.cupec-rebuild > header.rb-header,
.cupec-rebuild .event-header,
.cupec-rebuild .event-header.navigation-shell,
.cupec-rebuild .challenge-sidebar,
.cupec-rebuild .challenge-sidebar.navigation-shell,
.cupec-rebuild .reader-bar{
  background: var(--rb-paper);
  color: var(--rb-ink);
  border-color: var(--rb-line);
}
.rb-brand img,
.cupec-rebuild .event-header img,
.cupec-rebuild .challenge-sidebar .club-brand img{ filter: none; mix-blend-mode: multiply; }
.rb-header nav > a,
.rb-header nav > a:hover,
.rb-header nav > a[aria-current=page],
.cupec-rebuild .rb-header .join-link{ color: var(--rb-ink); }
.cupec-rebuild .rb-header .join-link{ border-color: #b4baac; }
.rb-header .join-link:hover{ background: var(--rb-soft); }
.cupec-rebuild .rb-header .menu-toggle,
.cupec-rebuild .challenge-sidebar .menu-toggle,
.cupec-rebuild .event-header .menu-toggle{ color: var(--rb-ink); }
.cupec-rebuild dialog:not(.cupec-mobile-menu)::backdrop{ background: #8e968066; }
@media (max-width: 767px){.cupec-rebuild .rb-header nav > a,
  .cupec-rebuild .rb-header nav > a:first-child,
  .cupec-rebuild .rb-header nav > a:nth-child(2),
  .cupec-rebuild .challenge-sidebar nav a,
  .cupec-rebuild .event-header nav a{ color: var(--rb-ink)!important; border-color: var(--rb-line); }}
.rb-brand > span, .cupec-rebuild .rb-footer-brand{
  font-family: var(--rb-sans);
  font-weight: 550;
  letter-spacing: -.045em;
}
.rb-brand > span{ font-size: 27px; }
.cupec-rebuild .rb-brand,
.cupec-rebuild .event-header > .rb-brand:first-child{
  display: inline-flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
  flex-shrink: 0;
}
.cupec-rebuild .rb-brand > img{
  width: 52px;
  height: 52px;
  object-fit: contain;
  filter: none;
  mix-blend-mode: multiply;
}
.cupec-rebuild .rb-brand > span{
  font: 550 27px/1 var(--rb-sans);
  letter-spacing: -.045em;
}
@media(max-width:767px){.cupec-rebuild .rb-brand > img{ width: 45px; height: 45px; }
.cupec-rebuild .event-header,
  .cupec-rebuild .challenge-sidebar.navigation-shell{
    min-height: 82px;
    padding: 13px var(--rb-gutter);
  }}
/* rebuild/phone.css */
@media (max-width: 767px){body.cupec-rebuild:has(dialog[open]:not(.cupec-mobile-menu)){ overflow: hidden; }
.cupec-rebuild button,
  .cupec-rebuild input:not([type=checkbox]):not([type=radio]):not([type=range]),
  .cupec-rebuild select,
  .cupec-rebuild summary,
  .cupec-rebuild .button,
  .cupec-rebuild .rb-button,
  .cupec-rebuild .entry-button,
  .cupec-rebuild .event-back,
  .cupec-rebuild .rb-header nav a,
  .cupec-rebuild .event-header nav a,
  .cupec-rebuild .company-links a,
  .cupec-rebuild .join-detail-cta a{ min-height: 48px; }}
@media (max-width: 767px){.cupec-rebuild :where(button:enabled, summary, .rb-button, .button, .entry-button, .event-back, .rb-header nav a, .event-header nav a, .challenge-sidebar nav a, .event-list > a, .media-card, .join-card, .whitehall-takeaway, .company-links a){
    transition: scale 120ms ease-out, filter 120ms ease-out;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
.cupec-rebuild :where(button:enabled, summary, .rb-button, .button, .entry-button, .event-back, .rb-header nav a, .event-header nav a, .challenge-sidebar nav a, .event-list > a, .company-links a):not(:disabled):not([aria-disabled=true]):active{
    scale: .97;
    filter: brightness(.94);
    transition-duration: 60ms;
  }}
@media (max-width: 767px) and (prefers-reduced-motion: reduce), (max-width: 960px) and (max-height: 500px) and (pointer: coarse) and (prefers-reduced-motion: reduce){body.cupec-rebuild .navigation-shell nav,
  body.cupec-rebuild .navigation-shell .menu-toggle span{ transition: none!important; }}
@media (max-width: 767px), (max-width: 960px) and (max-height: 500px) and (pointer: coarse){.motion-paused body.cupec-rebuild .navigation-shell nav,
  .motion-paused body.cupec-rebuild .navigation-shell .menu-toggle span{ transition: none!important; }}
/* rebuild/home-grid.css */

/* rebuild/navigation.css */
@media (min-width: 768px){body.cupec-rebuild .rb-header.navigation-shell{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    min-height: 88px;
    padding-block: 16px;
  }
body.cupec-rebuild .navigation-shell .menu-toggle{ display: none; }
body.cupec-rebuild .rb-header.navigation-shell nav{
    position: static;
    display: flex;
    flex-direction: row;
    width: auto;
    height: auto;
    max-height: none;
    gap: 28px;
    padding: 0;
    border: 0;
    visibility: visible;
    opacity: 1;
    clip-path: none;
    transform: none;
    pointer-events: auto;
  }
body.cupec-rebuild .rb-header.navigation-shell nav > a{
    font: 450 13px/1.4 var(--rb-sans);
    padding: 10px 0;
    color: var(--rb-ink);
  }
body.cupec-rebuild .rb-header.navigation-shell nav > .join-link{
    min-height: 42px;
    padding: 11px 18px;
    border: 1px solid var(--rb-line);
  }}
@media (max-width: 767px){body.cupec-rebuild :is(.rb-header,.event-header,.challenge-sidebar).navigation-shell{
    position: sticky;
    top: 0;
    z-index: 80;
    height: calc(76px + env(safe-area-inset-top));
    min-height: calc(76px + env(safe-area-inset-top));
    padding: calc(10px + env(safe-area-inset-top)) 24px 10px;
    flex-wrap: nowrap;
    background: var(--rb-paper);
    border-bottom: 1px solid var(--rb-line);
  }
body.cupec-rebuild .navigation-shell .rb-brand > img{ width: 42px; height: 42px; }
body.cupec-rebuild .navigation-shell .rb-brand > span{ font-size: 25px; }
body.cupec-rebuild :is(.rb-header,.event-header,.challenge-sidebar).navigation-shell nav{
    position: fixed;
    inset: calc(76px + env(safe-area-inset-top)) 0 0;
    height: calc(100dvh - 76px - env(safe-area-inset-top));
    max-height: none;
    width: 100%;
    padding: 28px 24px calc(32px + env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    overflow-y: auto;
    border: 0;
    background: var(--rb-paper);
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    clip-path: none;
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s .18s;
  }
body.cupec-rebuild :is(.rb-header,.event-header,.challenge-sidebar).navigation-shell.menu-open nav{
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: none;
    transition-delay: 0s;
  }
body.cupec-rebuild :is(.rb-header,.event-header,.challenge-sidebar).navigation-shell nav > a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    width: 100%;
    min-height: 76px;
    margin: 0;
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid var(--rb-line);
    background: transparent!important;
    font: 400 36px/1.2 var(--rb-serif);
    letter-spacing: -.02em;
    color: var(--rb-ink)!important;
    text-decoration: none;
  }
body.cupec-rebuild .navigation-shell nav > a[aria-current=page]{ font-weight: 400; color: #737d68!important; }
body.cupec-rebuild .navigation-shell nav > a::before,
  body.cupec-rebuild .navigation-shell nav > a::after{ display: none!important; }}
@media (prefers-reduced-motion: reduce){body.cupec-rebuild .navigation-shell nav{ transition: none!important; }}
/* rebuild/mobile-experience.css */
@media(max-width:767px){body.mobile-experience .rb-header.navigation-shell{height:64px;min-height:64px;padding:8px 22px;justify-content:space-between}
body.cupec-rebuild.mobile-experience .mobile-top-menu{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;width:auto;min-width:106px;height:44px;min-height:44px;padding:0 15px;border:0;border-radius:8px;background:#eeeee8;color:var(--rb-ink);font:12px var(--rb-sans);letter-spacing:.02em;white-space:nowrap}
body.cupec-rebuild.mobile-experience .mobile-top-menu .mobile-menu-label{display:inline;width:auto;height:auto;background:none;transform:none!important;font:inherit}
body.cupec-rebuild.mobile-experience .mobile-top-menu svg{flex-shrink:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
body.cupec-rebuild.mobile-experience .mobile-top-menu:active{background:#e3e5dc;scale:1}
body.cupec-rebuild.mobile-experience .mobile-top-menu:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.mobile-experience .cupec-mobile-menu .cupec-mobile-menu-bar{min-height:64px;padding:8px 22px}
.mobile-experience .cupec-mobile-menu nav{padding:28px 24px calc(32px + env(safe-area-inset-bottom))}
.mobile-experience .cupec-mobile-menu nav>a{font:400 38px/1.15 var(--rb-serif);min-height:76px;padding:18px 0}
.mobile-experience .cupec-mobile-menu nav>a.join-link{font:14px/1.4 var(--rb-sans);min-height:56px;padding:14px 20px;margin-top:24px;border:0;border-radius:6px;background:#eeeee8}}
/* Keep marketplace account controls accessible below the shared site menu. */
@media(max-width:767px){
 .marketplace-tools{flex-wrap:wrap}
 .marketplace-tools>nav{display:flex;order:3;width:100%;gap:24px;overflow-x:auto;white-space:nowrap;border-top:1px solid var(--rb-line);padding-top:4px}
 .marketplace-tools>nav>a{flex-shrink:0}
}
