/* Committee gateway: one cinematic front door, scoped away from the race pages. */
.hub-shell-gateway {
  --gateway-ink: #071018;
  --gateway-panel: #101b25;
  --gateway-line: rgba(187, 213, 227, .15);
  --gateway-muted: #9aacb9;
  --gateway-cyan: #43e4e8;
  --gateway-orange: #ff782e;
  min-height: 100vh;
  color: #f5f8fa;
  background: var(--gateway-ink);
}

.hub-shell-gateway .hub-topbar {
  position: relative;
  z-index: 50;
  display: flex;
  min-height: 72px;
  align-items: center;
  gap: clamp(20px, 2.9vw, 54px);
  padding: 8px clamp(22px, 3.7vw, 64px);
  border-bottom: 1px solid rgba(207, 227, 237, .16);
  background: #0a1219;
  box-shadow: none;
  backdrop-filter: none;
}

.hub-shell-gateway .hub-brand { flex: none; gap: 12px; }
.hub-shell-gateway .hub-brand img { width: 48px; height: 48px; }
.hub-shell-gateway .hub-brand strong {
  color: #f8fafb;
  font-size: 17px;
  font-weight: 850;
  letter-spacing: .035em;
}
.hub-shell-gateway .hub-brand small {
  margin-top: 2px;
  color: #9caebd;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .38em;
}
.hub-shell-gateway .hub-page-container {
  width: 100%;
  max-width: none;
  padding: 0 0 80px;
}

.gateway-shell-nav,
.gateway-shell-tools,
.hub-shell-gateway .hub-actions { display: flex; align-items: center; }
.gateway-shell-nav { align-self: stretch; gap: clamp(14px, 2vw, 36px); margin-right: auto; }
.gateway-shell-nav :is(a, button) {
  position: relative;
  display: inline-flex;
  min-height: 100%;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #cbd5dc;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: color .18s ease;
}
.gateway-shell-nav :is(a, button):hover,
.gateway-shell-nav [aria-current="page"],
.gateway-shell-nav .is-current { color: var(--gateway-orange); }
.gateway-shell-nav [aria-current="page"]::after,
.gateway-shell-nav .is-current::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 7px;
  left: 0;
  height: 2px;
  background: var(--gateway-orange);
}
.gateway-shell-tools { gap: 8px; margin-left: auto; }
.gateway-shell-tools .btn,
.hub-shell-gateway .hub-actions > .btn {
  min-height: 38px;
  padding: 0 11px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  box-shadow: none;
  color: #bdcad2;
  font-size: 11px;
  font-weight: 650;
}
.gateway-shell-tools .btn:hover,
.hub-shell-gateway .hub-actions > .btn:hover { color: #fff; border-color: rgba(218, 235, 244, .19); }
.gateway-shell-account,
.hub-shell-gateway .hub-account-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 3px 0 3px 12px;
  border-left: 1px solid var(--gateway-line);
  border-radius: 0;
  background: transparent;
}
.gateway-shell-account .account-avatar,
.hub-shell-gateway .hub-account-link .account-avatar { width: 37px; height: 37px; }
.gateway-shell-account strong,
.hub-shell-gateway .hub-account-link strong { color: #f2f5f7; font-size: 11px; }
.gateway-shell-account small,
.hub-shell-gateway .hub-account-link small { color: #8fa5b4; font-size: 9px; }
.gateway-shell-account > span:not(.account-avatar) { color: #edf3f5; font-size: 12px; font-weight: 700; white-space: nowrap; }
.gateway-shell-mobile-menu { display: none; }
.gateway-shell-menu { position: relative; }
.gateway-shell-menu summary {
  display: flex;
  min-height: 39px;
  align-items: center;
  gap: 6px;
  padding: 0 11px;
  border: 1px solid rgba(208, 228, 237, .24);
  border-radius: 3px;
  color: #dce7ec;
  font-size: 11px;
  font-weight: 750;
  list-style: none;
  cursor: pointer;
}
.gateway-shell-menu summary::-webkit-details-marker { display: none; }
.gateway-shell-menu[open] summary { border-color: rgba(69, 227, 232, .45); color: #fff; }
.gateway-shell-menu-panel {
  position: absolute;
  z-index: 60;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  min-width: 168px;
  gap: 2px;
  padding: 7px;
  border: 1px solid rgba(191, 214, 225, .24);
  border-radius: 4px;
  background: #101e29;
  box-shadow: 0 20px 42px rgba(0, 0, 0, .45);
}
.gateway-shell-menu-panel :is(a, button) {
  display: flex;
  width: 100%;
  min-height: 37px;
  align-items: center;
  padding: 7px 10px;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: #d8e5eb;
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}
.gateway-shell-menu-panel :is(a, button):hover { background: rgba(62, 214, 223, .09); color: #fff; }

.committee-gateway { display: block; width: 100%; max-width: none; margin: 0; }
.gateway-notice { width:min(100%,530px); margin-top:20px; padding:13px 16px; border:1px solid rgba(140,193,211,.2); border-left:2px solid var(--gateway-cyan); background:rgba(5,14,22,.68); border-radius:3px; }
.gateway-notice-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; color:var(--gateway-cyan); font-size:11px; letter-spacing:.08em; }
.gateway-notice-top a { display:inline-flex; align-items:center; gap:5px; color:#b8cbd5; font-size:11px; }
.gateway-notice-editor { position:relative; min-width:0; }
.gateway-notice-text { margin:0; max-height:120px; overflow:auto; padding-right:24px; color:#d2dce3; font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.gateway-notice-text[role=button] { cursor:text; }
.gateway-notice-pen { position:absolute; top:0; right:0; border:0; padding:3px; color:#a7c4d1; background:transparent; cursor:pointer; }
.gateway-notice textarea { width:100%; min-height:90px; max-height:180px; resize:vertical; padding:8px; border:1px solid #48c8d8; border-radius:3px; color:#eef8fb; background:#101e28; font:inherit; font-size:13px; line-height:1.7; }
.gateway-notice [hidden] { display:none!important; }
.gateway-notice [role=status] { color:#9aafb9; }
.gateway-notice [role=alert] { color:#ffa786; }
.committee-gateway-head {
  position: relative;
  display: flex;
  min-height: 360px;
  align-items: center;
  overflow: hidden;
  padding: 24px clamp(24px, 3vw, 64px) 29px;
  border: 0;
  border-radius: 0;
  background-image:
    linear-gradient(90deg, rgba(5, 12, 19, .99) 0%, rgba(5, 12, 19, .95) 25%, rgba(5, 12, 19, .72) 43%, rgba(5, 12, 19, .17) 72%, rgba(5, 12, 19, .04) 100%),
    linear-gradient(0deg, rgba(5, 12, 19, .67) 0%, transparent 28%, transparent 84%, rgba(5, 12, 19, .13) 100%),
    url('/assets/racing-hero-night.png');
  background-position: center, center, 66% 52%;
  background-size: cover;
  box-shadow: none;
}
.committee-gateway-head::before {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gateway-orange) 0 29%, var(--gateway-cyan) 29% 47%, rgba(227, 242, 248, .16) 47%);
}
.committee-gateway-head::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  width: 29%;
  height: 68%;
  border: 0;
  border-radius: 0;
  background: repeating-linear-gradient(-64deg, transparent 0 45px, rgba(220, 241, 249, .025) 45px 46px);
  box-shadow: none;
  pointer-events: none;
}
.gateway-hero-content,
.committee-gateway-brand {
  position: relative;
  z-index: 2;
  display: block;
  width: min(100%, 730px);
  min-width: 0;
  margin: 0;
  padding: 0;
}
.gateway-hero-eyebrow,
.committee-gateway-brand p {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 12px;
  color: #afbec8;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .13em;
}
.gateway-kicker-line { display: block; width: 25px; height: 2px; flex: none; background: var(--gateway-orange); }
.committee-gateway-brand h1,
.gateway-hero-content h1 {
  margin: 0;
  color: #fcfcfd;
  font-size: clamp(50px, 4vw, 64px);
  font-weight: 950;
  line-height: 1.12;
  letter-spacing: -.055em;
  text-shadow: 0 6px 25px rgba(0, 0, 0, .25);
}
.committee-gateway-brand h1 span,
.gateway-hero-content h1 span { display: block; margin: 0; color: #fcfcfd; }
.committee-gateway-brand > span,
.gateway-hero-content > p,
.gateway-hero-content > span {
  display: block;
  max-width: 530px;
  margin-top: 13px;
  color: #d2dce3;
  font-size: 14px;
  font-weight: 450;
  line-height: 1.65;
  letter-spacing: .045em;
}
.gateway-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
.gateway-hero-actions :is(.btn, a, button) {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 17px;
  padding: 0 28px;
  border-radius: 3px;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .015em;
}
.gateway-hero-actions .gateway-hero-scroll,
.gateway-hero-actions .btn-primary {
  border: 1px solid var(--gateway-orange);
  background: var(--gateway-orange);
  box-shadow: 0 14px 34px rgba(255, 93, 28, .15);
  color: #111518;
}
.gateway-hero-actions .gateway-hero-secondary {
  border: 1px solid rgba(228, 240, 245, .55);
  background: rgba(6, 13, 20, .34);
  box-shadow: none;
  color: #fff;
}
.gateway-hero-actions :is(a, button):hover { transform: translateY(-2px); }
.gateway-hero-scroll {
  position: static;
  letter-spacing: .02em;
  cursor: pointer;
}
.gateway-hero-caption {
  position: absolute;
  z-index: 2;
  right: clamp(24px, 4.4vw, 76px);
  bottom: 23px;
  display: flex;
  align-items: center;
  gap: 16px;
  color: #d8e6eb;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}
.gateway-hero-caption span + span { padding-left: 16px; border-left: 1px solid rgba(219, 239, 245, .46); color: #91d5db; }
.committee-gateway-account,
.committee-gateway-rail { display: none; }

.gateway-stage-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(150px, .55fr);
  min-height: 95px;
  align-items: stretch;
  padding: 0 clamp(24px, 3vw, 64px);
  border-bottom: 1px solid rgba(204, 223, 231, .15);
  background: linear-gradient(110deg, #0c1720, #101c26 56%, #0b151e);
}
.gateway-stage-step {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 16px;
  padding: 16px clamp(16px, 2vw, 34px);
}
.gateway-stage-step:first-child { padding-left: 0; }
.gateway-stage-step + .gateway-stage-step::before {
  content: "";
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 0;
  width: 1px;
  background: rgba(198, 221, 230, .14);
}
.gateway-stage-index {
  display: grid;
  width: 42px;
  height: 42px;
  flex: none;
  place-items: center;
  border: 1px solid rgba(70, 226, 231, .6);
  border-radius: 50%;
  background: rgba(44, 207, 218, .11);
  box-shadow: 0 0 20px rgba(57, 227, 233, .08);
  color: var(--gateway-cyan);
  font-size: 14px;
  font-weight: 950;
}
.gateway-stage-step:first-child .gateway-stage-index {
  border-color: var(--gateway-orange);
  background: var(--gateway-orange);
  box-shadow: 0 0 24px rgba(255, 110, 40, .18);
  color: #111820;
}
.gateway-stage-copy { display: grid; min-width: 0; gap: 4px; }
.gateway-stage-copy strong { color: #e9f2f5; font-size: 15px; font-weight: 800; }
.gateway-stage-copy span,
.gateway-stage-copy small { color: #91a7b4; font-size: 11px; line-height: 1.5; }
.gateway-stage-count {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 8px;
  padding: 29px 0 0 15px;
  white-space: nowrap;
}
.gateway-stage-count strong { color: var(--gateway-orange); font-size: 38px; font-weight: 950; line-height: 1; }
.gateway-stage-count span { color: #93abb8; font-size: 10px; }

.gateway-selection,
.committee-gateway-intro,
.committee-gateway-toolbar,
.committee-entry-grid,
.committee-gateway > .empty-state,
.committee-gateway > .committee-sort-notice,
.gateway-announcements,
.committee-gateway > .global-announcement-board,
.committee-gateway-foot {
  width: 95%;
  margin-right: auto;
  margin-left: auto;
}
.gateway-selection {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 24px;
  row-gap: 9px;
  padding-top: 16px;
  scroll-margin-top: 18px;
}
.gateway-selection-heading { grid-column: 1; }
.gateway-selection > .committee-entry-grid,
.gateway-selection > .committee-sort-notice,
.gateway-selection > .empty-state { grid-column: 1 / -1; }
.gateway-selection-heading,
.committee-gateway-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 0;
}
.gateway-selection-heading h2,
.committee-gateway-intro h2 {
  margin: 5px 0 0;
  color: #f7f9fa;
  font-size: clamp(27px, 2.3vw, 34px);
  font-weight: 900;
  letter-spacing: -.035em;
}
.gateway-selection-heading p,
.committee-gateway-intro p { margin: 4px 0 0; color: var(--gateway-muted); font-size: 12px; line-height: 1.5; }
.gateway-section-kicker { color: var(--gateway-cyan); font-size: 11px; font-weight: 850; letter-spacing: .19em; }
.gateway-selection-count,
.gateway-open-count { display: inline-flex; align-items: baseline; gap: 9px; color: #9aafbd; white-space: nowrap; }
.gateway-selection-count strong,
.gateway-open-count strong { color: var(--gateway-orange); font-size: 37px; font-weight: 950; line-height: 1; }
.gateway-selection-count span,
.gateway-open-count span { font-size: 11px; }
.committee-gateway-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  grid-column: 2;
  align-self: end;
  margin: 0 0 2px;
  padding: 0;
  border: 0;
}
.committee-gateway:not(.is-sorting) .committee-gateway-toolbar > div:first-child { display: none; }
.committee-gateway:not(.is-sorting) .committee-gateway-toolbar:has(.committee-sort-actions:empty) { display: none; }
.committee-gateway.is-sorting .gateway-selection { display: block; }
.committee-gateway.is-sorting .committee-gateway-toolbar {
  margin: 10px 0;
  padding: 7px 0;
  border-top: 1px solid var(--gateway-line);
  border-bottom: 1px solid var(--gateway-line);
}
.committee-gateway-toolbar strong { color: #e5edf1; font-size: 12px; font-weight: 750; }
.committee-gateway-toolbar span { display: block; margin-top: 3px; color: #91a7b5; font-size: 11px; line-height: 1.4; }
.committee-sort-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.committee-sort-actions:empty { display: none; }
.committee-sort-actions .btn {
  min-height: 37px;
  padding: 0 13px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 750;
}
.committee-gateway > .committee-sort-notice,
.gateway-selection .committee-sort-notice {
  margin-top: 14px;
  margin-bottom: 14px;
  border-radius: 4px;
  background: rgba(57, 222, 230, .07);
  color: #c2e3e9;
  font-size: 11px;
}

.committee-entry-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 17px;
}
.gateway-selection .committee-entry-grid,
.gateway-selection .committee-gateway-toolbar { width: 100%; }
.committee-entry-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 256px;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(189, 214, 226, .19);
  border-radius: 4px;
  background: #111d28;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .2);
  color: #f6f9fb;
  text-align: left;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.committee-entry-card:first-child { grid-column: 1 / -1; min-height: 256px; }
.committee-entry-card::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gateway-orange), transparent 68%);
}
.committee-entry-card::after { content: none; }
.committee-entry-card:hover,
.committee-entry-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(255, 134, 68, .69);
  box-shadow: 0 23px 48px rgba(0, 0, 0, .35);
}
.committee-entry-card:focus-visible,
.committee-entry-cta:focus-visible,
.gateway-hero-actions a:focus-visible,
.gateway-shell-nav a:focus-visible,
.gateway-shell-mobile-menu:focus-visible { outline: 2px solid var(--gateway-cyan); outline-offset: 3px; }
.committee-entry-art {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: #0e1821;
  pointer-events: none;
}
.committee-entry-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.committee-entry-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 14, 21, .92), rgba(6, 14, 21, .54) 52%, rgba(6, 14, 21, .48)), linear-gradient(0deg, rgba(6, 14, 21, .38), transparent 70%);
}
.committee-entry-content {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  min-height: inherit;
  grid-template-columns: minmax(0, 1.75fr) minmax(122px, .5fr) minmax(130px, .75fr) 80px;
  align-items: center;
  gap: clamp(18px, 2.6vw, 42px);
  padding: 25px clamp(24px, 3vw, 46px) 26px;
}
.committee-entry-overview { display: flex; min-width: 0; flex-direction: column; gap: 14px; }
.committee-entry-state { display: flex; min-width: 0; justify-content: center; }
.committee-race-status {
  --race-status-color: #8da6b7;
  --race-status-glow: rgba(141, 166, 183, .13);
  position: relative;
  display: grid;
  width: 100%;
  max-width: 184px;
  min-height: 83px;
  align-content: center;
  gap: 9px;
  padding: 16px 15px;
  border: 1px solid color-mix(in srgb, var(--race-status-color) 46%, transparent);
  border-left: 3px solid var(--race-status-color);
  border-radius: 5px;
  background: linear-gradient(120deg, var(--race-status-glow), rgba(8, 20, 28, .76));
  box-shadow: inset 0 1px 0 rgba(227, 242, 248, .07), 0 5px 18px rgba(0, 0, 0, .15);
}
.committee-race-status.is-green { --race-status-color: #52e6de; --race-status-glow: rgba(40, 224, 210, .16); }
.committee-race-status.is-orange { --race-status-color: #ffad65; --race-status-glow: rgba(255, 139, 56, .18); }
.committee-race-status.is-blue { --race-status-color: #82bcf3; --race-status-glow: rgba(81, 154, 231, .15); }
.committee-race-status.is-red { --race-status-color: #ff9896; --race-status-glow: rgba(231, 85, 87, .15); }
.committee-pin-button { position: absolute; z-index: 4; top: 10px; right: 14px; min-height: 30px; padding: 5px 11px; border: 1px solid rgba(172, 197, 211, .32); border-radius: 4px; background: rgba(5, 17, 25, .78); color: #c4d3df; font-size: 11px; cursor: pointer; }
.committee-pin-button.is-active { color: #ffcb80; border-color: rgba(255, 178, 88, .55); background: rgba(65, 39, 16, .65); }
.committee-pin-button:hover, .committee-pin-button:focus-visible { border-color: var(--gateway-orange); color: white; }
.committee-entry-card.is-pinned { border-color: rgba(255, 178, 88, .45); }
.committee-entry-card:has(.committee-pin-button) .committee-entry-content { padding-top: 45px; }
.committee-race-status > small { color: #b9cbd6; font-size: 10px; font-weight: 650; line-height: 1.2; letter-spacing: .14em; }
.committee-race-status > strong { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--race-status-color); font-size: 19px; font-weight: 900; line-height: 1.25; overflow-wrap: anywhere; }
.committee-race-status > strong > i { width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--race-status-color); box-shadow: 0 0 10px var(--race-status-glow); }
.committee-entry-main { display: flex; align-items: center; gap: 16px; min-width: 0; margin-top: 0; }
.committee-entry-identity { display: flex; flex: 0 0 64px; width: 64px; flex-direction: column; align-items: center; gap: 7px; }
.committee-entry-avatar { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 5px; }
.committee-entry-type { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; padding: 3px 5px; border: 1px solid; border-radius: 4px; font-size: 10px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
.committee-entry-type.is-ordinary { color: #79e6eb; border-color: rgba(77,216,225,.4); background: rgba(34,160,173,.14); }
.committee-entry-type.is-seasonal { color: #dac5ff; border-color: rgba(185,147,247,.4); background: rgba(146,99,219,.16); }
.committee-entry-copy { display: flex; min-width: 0; min-height: 0; flex-direction: column; }
.committee-entry-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.committee-entry-title strong { max-width: 100%; overflow-wrap: anywhere; color: #fff; font-size: clamp(24px, 2.15vw, 34px); font-weight: 900; line-height: 1.25; }
.committee-entry-title .status-chip { min-height: 22px; border-radius: 3px; font-size: 9px; }
.committee-entry-desc { display: block; max-width: 640px; margin-top: 7px; color: #bccbd4; font-size: 13px; line-height: 1.55; }
.committee-entry-info { display: grid; gap: 6px; margin-top: 0; }
.committee-entry-context { margin: 0; color: #dce8ed; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.committee-entry-context b { color: var(--gateway-orange); }
.committee-season-time { display: block; margin: 0; color: #a5bdc8; font-size: 11px; line-height: 1.45; }
.committee-entry-bottom { display: flex; min-width: 0; align-items: flex-end; flex-wrap: wrap; gap: 9px 12px; margin: 0; padding: 0; }
.committee-validity { min-width: 0; margin: 0; color: #a7b8c2; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.committee-validity.is-expired { color: #ffb2af; }
.committee-entry-owner { display: grid; min-width: 0; gap: 12px; justify-items: start; padding-left: 23px; border-left: 1px solid rgba(212, 233, 243, .24); }
.committee-entry-owner > small { color: #c3d0d9; font-size: 11px; letter-spacing: .15em; }
.committee-owner-identity { display: flex; min-width: 0; max-width: 100%; align-items: center; flex-wrap: wrap; gap: 10px; }
.committee-owner-identity .account-avatar { width: 36px; height: 36px; flex: none; }
.committee-owner-identity strong { min-width: 0; max-width: 100%; overflow-wrap: anywhere; font-size: 15px; font-weight: 800; color: #f3f8fb; }
.committee-owner-pending { color: #a7bac8; font-size: 13px; }
.committee-entry-action { display: flex; align-items: center; justify-content: flex-end; }
.committee-entry-cta {
  position: relative;
  display: flex;
  width: 80px;
  height: 80px;
  flex: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 2px solid rgba(255, 154, 89, .85);
  border-radius: 50%;
  background: rgba(6, 15, 22, .28);
  box-shadow: inset 0 0 20px rgba(255, 115, 37, .06), 0 0 24px rgba(255, 125, 53, .09);
  color: #ffc294;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.committee-entry-cta::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(255, 183, 133, .28); border-radius: inherit; }
.committee-entry-card:hover .committee-entry-cta { background: rgba(255, 128, 51, .15); color: #fff1e6; box-shadow: 0 0 30px rgba(255, 127, 52, .22); }
.committee-unavailable-note { width: 100%; color: #ffc2bd; font-size: 11px; line-height: 1.4; }
.committee-entry-card.is-unavailable { opacity: .77; border-color: rgba(255, 132, 126, .34); cursor: not-allowed; }
.committee-entry-card.is-unavailable:hover { transform: none; border-color: rgba(255, 132, 126, .34); box-shadow: 0 18px 38px rgba(0, 0, 0, .2); }
.committee-entry-card.is-unavailable .committee-entry-cta { border-color: #9b7076; background: rgba(57, 28, 35, .35); color: #d7b2b7; }
.committee-entry-card.is-sortable { cursor: grab; touch-action: pan-y; }
.committee-entry-card.is-sortable:active { cursor: grabbing; }
.committee-entry-card.is-dragging { opacity: .46; transform: scale(.985); }
.committee-drag-handle {
  display: flex;
  width: 40px;
  min-height: 40px;
  flex: none;
  align-self: center;
  align-items: center;
  justify-content: center;
  gap: 3px;
  margin-left: auto;
  border: 1px solid rgba(255, 141, 80, .5);
  border-radius: 3px;
  background: rgba(255, 114, 44, .12);
  color: #ffad79;
  cursor: grab;
  touch-action: none;
}
.committee-drag-handle.is-touch-dragging { background: rgba(255, 114, 44, .23); cursor: grabbing; }
.committee-drag-handle small { font-size: 8px; font-weight: 800; }
.committee-gateway.is-sorting .committee-entry-grid { user-select: none; }
.committee-gateway.is-sorting .committee-entry-card { grid-template-columns: none; }

.gateway-announcements { margin-top: 36px; }
.gateway-announcements h2 { margin: 0 0 15px; color: #f7f9fa; font-size: 24px; font-weight: 850; }
.gateway-announcements-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 15px; margin-bottom: 13px; }
.gateway-announcements-heading .gateway-section-kicker { width: 100%; }
.gateway-announcements-heading h2 { margin: 0; }
.gateway-announcements-heading p { margin: 0; color: #829baa; font-size: 11px; }
.gateway-announcements .global-announcement-board,
.committee-gateway > .global-announcement-board {
  display: block;
  margin-top: 36px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.gateway-announcements .global-announcement-board { width: 100%; margin: 0; }
.gateway-announcements .global-announcement-icon,
.committee-gateway > .global-announcement-board .global-announcement-icon { display: none; }
.gateway-announcements .global-announcement-list,
.committee-gateway > .global-announcement-board .global-announcement-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.gateway-announcements .global-announcement-item,
.committee-gateway > .global-announcement-board .global-announcement-item {
  min-width: 0;
  min-height: 154px;
  padding: 19px 20px;
  border: 1px solid var(--gateway-line);
  border-radius: 4px;
  background: linear-gradient(146deg, #172630, #101c26);
}
.gateway-announcements .global-announcement-item + .global-announcement-item,
.committee-gateway > .global-announcement-board .global-announcement-item + .global-announcement-item { padding-top: 19px; }
.gateway-announcements .global-announcement-title,
.committee-gateway > .global-announcement-board .global-announcement-title { align-items: flex-start; }
.gateway-announcements .global-announcement-title strong,
.committee-gateway > .global-announcement-board .global-announcement-title strong { color: #eff5f8; font-size: 14px; line-height: 1.45; }
.gateway-announcements .global-announcement-title > span,
.committee-gateway > .global-announcement-board .global-announcement-title > span { border-radius: 2px; background: var(--gateway-orange); color: #161a1e; font-size: 9px; }
.gateway-announcements .global-announcement-title time,
.committee-gateway > .global-announcement-board .global-announcement-title time { width: 100%; margin: 0; color: #839bab; font-size: 10px; }
.gateway-announcements .global-announcement-item p,
.committee-gateway > .global-announcement-board .global-announcement-item p { display: -webkit-box; overflow: hidden; margin-top: 11px; color: #b5c6d1; font-size: 11px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gateway-announcements .global-announcement-link,
.committee-gateway > .global-announcement-board .global-announcement-link { color: var(--gateway-cyan); font-size: 11px; }
.gateway-announcements-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 30px 20px;
  border: 1px solid var(--gateway-line);
  border-radius: 4px;
  background: #101c26;
  color: #91a8b5;
  font-size: 12px;
}
.committee-gateway-foot { display: flex; justify-content: center; gap: 13px; margin-top: 42px; color: #7c94a3; font-size: 10px; }
.committee-gateway-foot i { width: 3px; height: 3px; border-radius: 50%; background: var(--gateway-orange); }

@media (max-width: 1100px) {
  .hub-shell-gateway .hub-topbar { gap: 18px; }
  .gateway-shell-nav { gap: 13px; }
  .gateway-shell-nav :is(a, button) { font-size: 11px; }
  .gateway-shell-tools .btn { padding-inline: 6px; }
  .committee-entry-content { grid-template-columns: minmax(0, 1.5fr) 122px minmax(120px, .75fr) 68px; gap: 20px; padding-inline: 26px; }
  .committee-entry-cta { width: 68px; height: 68px; }
  .committee-entry-title strong { font-size: 27px; }
  .committee-entry-owner { padding-left: 16px; }
}

@media (max-width: 860px) {
  .hub-shell-gateway .hub-topbar { min-height: 64px; padding-inline: 22px; }
  .hub-shell-gateway .hub-brand img { width: 40px; height: 40px; }
  .hub-shell-gateway .hub-brand strong { font-size: 14px; }
  .hub-shell-gateway .hub-brand small { font-size: 8px; }
  .gateway-shell-nav { display: none; }
  .gateway-shell-tools { margin-left: auto; }
  .gateway-shell-tools > .btn { display: none; }
  .gateway-admin-menu { display: none; }
  .gateway-shell-mobile-menu { display: block; }
  .gateway-shell-mobile-menu summary {
    display: grid;
    width: 42px;
    height: 42px;
    min-height: 42px;
    place-items: center;
    padding: 0;
    border-color: var(--gateway-line);
    background: rgba(15, 31, 42, .9);
    color: #eef6f8;
  }
  .gateway-shell-mobile-menu .gateway-shell-menu-panel { right: 0; min-width: min(280px, calc(100vw - 36px)); }
  .gateway-shell-mobile-menu .gateway-shell-menu-panel :is(a, button) { min-height: 42px; font-size: 13px; }
  .gateway-stage-rail { padding-inline: 22px; }
  .gateway-stage-step { gap: 10px; padding-inline: 14px; }
  .gateway-stage-index { width: 36px; height: 36px; font-size: 12px; }
  .gateway-stage-copy strong { font-size: 12px; }
  .gateway-stage-copy span, .gateway-stage-copy small { font-size: 10px; }
  .gateway-stage-count { padding-top: 32px; }
  .gateway-stage-count strong { font-size: 30px; }
  .committee-entry-grid { grid-template-columns: 1fr; }
  .committee-entry-card:first-child { grid-column: auto; }
  .committee-entry-content { grid-template-columns: minmax(122px, .6fr) minmax(0, 1fr) 68px; grid-template-areas: "overview overview action" "state owner action"; gap: 18px 24px; }
  .committee-entry-overview { grid-area: overview; }
  .committee-entry-state { grid-area: state; justify-content: flex-start; }
  .committee-entry-owner { grid-area: owner; }
  .committee-entry-action { grid-area: action; }
  .gateway-announcements .global-announcement-list,
  .committee-gateway > .global-announcement-board .global-announcement-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .hub-shell-gateway .hub-topbar { min-height: 60px; padding: 7px 16px; }
  .hub-shell-gateway .hub-brand { gap: 8px; }
  .hub-shell-gateway .hub-brand img { width: 35px; height: 35px; }
  .hub-shell-gateway .hub-brand strong { max-width: 156px; font-size: 12px; }
  .hub-shell-gateway .hub-brand small { font-size: 7px; letter-spacing: .22em; }
  .gateway-shell-account,
  .hub-shell-gateway .hub-account-link { min-height: 37px; padding-left: 8px; }
  .gateway-shell-account .account-avatar,
  .hub-shell-gateway .hub-account-link .account-avatar { width: 32px; height: 32px; }
  .gateway-shell-account > span:not(.account-avatar),
  .hub-shell-gateway .hub-account-link > span:not(.account-avatar) { display: none; }
  .gateway-shell-mobile-menu { width: 36px; height: 36px; }
  .committee-gateway-head {
    min-height: 345px;
    align-items: flex-end;
    padding: 24px 20px 49px;
    background-image:
      linear-gradient(0deg, rgba(5, 12, 19, .99) 0%, rgba(5, 12, 19, .79) 36%, rgba(5, 12, 19, .12) 82%),
      linear-gradient(90deg, rgba(5, 12, 19, .49), transparent 70%),
      url('/assets/racing-hero-night.png');
    background-position: center, center, 72% top;
    background-size: cover;
  }
  .committee-gateway-head::after { display: none; }
  .gateway-hero-content,
  .committee-gateway-brand { width: 100%; }
  .gateway-hero-eyebrow,
  .committee-gateway-brand p { gap: 9px; margin-bottom: 13px; font-size: 10px; letter-spacing: .12em; }
  .gateway-hero-eyebrow::before,
  .gateway-kicker-line { width: 19px; }
  .committee-gateway-brand h1,
  .gateway-hero-content h1 { font-size: clamp(39px, 11vw, 59px); line-height: 1.15; }
  .committee-gateway-brand > span,
  .gateway-hero-content > p,
  .gateway-hero-content > span { max-width: 335px; margin-top: 13px; font-size: 12px; line-height: 1.6; }
  .gateway-hero-actions { gap: 9px; margin-top: 21px; }
  .gateway-hero-actions :is(.btn, a, button) { min-height: 44px; padding: 0 17px; font-size: 12px; }
  .gateway-hero-caption { right: 20px; bottom: 16px; gap: 8px; font-size: 8px; letter-spacing: .07em; }
  .gateway-hero-caption span + span { padding-left: 8px; }
  .gateway-stage-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 72px;
    overflow: visible;
    padding-inline: 12px;
    scroll-snap-type: none;
  }
  .gateway-stage-step { min-width: 0; gap: 7px; padding: 8px; scroll-snap-align: none; }
  .gateway-stage-step:first-child { padding-left: 0; }
  .gateway-stage-step + .gateway-stage-step::before { top: 15px; bottom: 15px; }
  .gateway-stage-index { width: 30px; height: 30px; font-size: 10px; }
  .gateway-stage-copy strong { font-size: 11px; white-space: nowrap; }
  .gateway-stage-copy small,
  .gateway-stage-copy span { display: none; }
  .gateway-stage-count { display: none; }
  .gateway-selection,
  .committee-gateway-intro,
  .committee-gateway-toolbar,
  .committee-entry-grid,
  .committee-gateway > .empty-state,
  .committee-gateway > .committee-sort-notice,
  .gateway-announcements,
  .committee-gateway > .global-announcement-board,
  .committee-gateway-foot { width: calc(100% - 32px); }
  .gateway-selection { display: block; padding-top: 18px; }
  .gateway-selection-heading h2,
  .committee-gateway-intro h2 { font-size: 27px; }
  .gateway-selection-heading p,
  .committee-gateway-intro p { font-size: 11px; }
  .gateway-selection-count strong,
  .gateway-open-count strong { font-size: 30px; }
  .gateway-selection-count span,
  .gateway-open-count span { font-size: 10px; }
  .committee-gateway-toolbar { align-items: flex-start; flex-direction: column; gap: 6px; margin-top: 9px; margin-bottom: 7px; padding: 4px 0; }
  .committee-gateway:not(.is-sorting) .committee-gateway-toolbar > div:first-child span { display: none; }
  .committee-sort-actions { width: 100%; justify-content: flex-start; }
  .committee-sort-actions .btn { flex: 1 1 135px; }
  .committee-entry-grid { gap: 12px; }
  .committee-entry-card,
  .committee-entry-card:first-child { min-height: 290px; }
  .committee-entry-art::after { background: linear-gradient(90deg, rgba(6, 14, 21, .88), rgba(6, 14, 21, .52)), linear-gradient(0deg, rgba(6, 14, 21, .6), transparent); }
  .committee-entry-content { width: 100%; min-height: inherit; grid-template-columns: minmax(0, 1fr) 106px; grid-template-areas: "main main" "info state" "bottom state" "owner action"; gap: 12px 16px; padding: 22px 18px; }
  .committee-entry-overview { display: contents; }
  .committee-entry-main { grid-area: main; align-items: center; gap: 10px; margin-top: 0; }
  .committee-entry-identity { flex-basis: 56px; width: 56px; gap: 6px; }
  .committee-entry-avatar { width: 44px; height: 44px; flex-basis: 44px; }
  .committee-entry-type { padding: 3px 4px; font-size: 9px; }
  .committee-entry-title { gap: 5px; }
  .committee-entry-title strong,
  .committee-entry-card:not(:first-child) .committee-entry-title strong { font-size: 21px; }
  .committee-entry-desc { margin-top: 4px; font-size: 10px; }
  .committee-entry-info { grid-area: info; gap: 5px; margin-top: 0; }
  .committee-entry-context { font-size: 10px; }
  .committee-season-time { font-size: 9px; }
  .committee-entry-bottom { grid-area: bottom; gap: 6px; padding-top: 0; }
  .committee-validity { font-size: 9px; }
  .committee-entry-state { align-self: stretch; }
  .committee-race-status { min-height: 72px; gap: 8px; padding: 12px 10px; }
  .committee-race-status > small { font-size: 9px; }
  .committee-race-status > strong { gap: 6px; font-size: 16px; }
  .committee-entry-owner { gap: 6px; padding: 0; border: 0; }
  .committee-entry-owner > small { font-size: 9px; }
  .committee-owner-identity { gap: 7px; }
  .committee-owner-identity .account-avatar { width: 28px; height: 28px; }
  .committee-owner-identity strong { font-size: 12px; }
  .committee-owner-pending { font-size: 11px; }
  .committee-entry-cta { width: 56px; height: 56px; padding: 0; }
  .committee-entry-cta svg { width: 26px; height: 26px; }
  .committee-entry-cta::before { inset: 4px; }
  .committee-drag-handle { width: 34px; min-height: 34px; }
  .gateway-announcements { margin-top: 30px; }
  .gateway-announcements h2 { font-size: 21px; }
  .gateway-announcements .global-announcement-list,
  .committee-gateway > .global-announcement-board .global-announcement-list { grid-template-columns: 1fr; }
  .gateway-announcements .global-announcement-item,
  .committee-gateway > .global-announcement-board .global-announcement-item { min-height: 0; padding: 15px 16px; }
  .committee-gateway-foot { align-items: center; gap: 7px; margin-top: 32px; padding: 0; font-size: 9px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .gateway-shell-nav :is(a, button),
  .committee-entry-card { transition: none; }
  .gateway-hero-actions :is(a, button):hover,
  .committee-entry-card:hover { transform: none; }
}
