
:root {
  --red:#ed1c24;
  --red-dark:#c90e15;
  --black:#050505;
  --white:#fff;
  --off:#f6f6f6;
  --line:#e5e5e5;
  --muted:#777;
  --utility-h:48px;
  --nav-h:112px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family:"Brown","Brown LL","Brown Pro",Arial,Helvetica,sans-serif;
  color:#111;
  background:#f5f5f5;
}
a { color:inherit; text-decoration:none; }
button { font:inherit; }

.mcfc-header {
  position:relative;
  z-index:1000;
  width:100%;
}

.mcfc-utility {
  height:var(--utility-h);
  background:#ed1d24;
  color:#fff;
  border-bottom:1px solid #d71920;
}

.mcfc-wrap {
  width:min(1460px,calc(100% - 56px));
  margin:0 auto;
}

.mcfc-utility .mcfc-wrap {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.mcfc-wordmark {
  font-size:15px;
  font-weight:900;
  letter-spacing:.035em;
  white-space:nowrap;
}
.mcfc-wordmark { color:#fff; }
.mcfc-wordmark span { color:#fff; }

.utility-links {
  display:flex;
  align-items:center;
  height:100%;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.utility-links a {
  position:relative;
  display:flex;
  align-items:center;
  height:100%;
  padding:0 18px;
}
.utility-links a + a::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:15px;
  background:#fff;
  transform:translateY(-50%);
}
.utility-links a:hover { color:#ddd; }

.mcfc-nav {
  background:#ed1d24;
  border-bottom:1px solid #ed1d24;
  position:sticky;
  top:0;
  z-index:1001;
}

.mcfc-nav-inner {
  min-height:var(--nav-h);
  display:grid;
  grid-template-columns:175px minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
}

.mcfc-logo {
  position:relative;
  z-index:100;
  min-height:var(--nav-h);
}
.mcfc-logo img {
  position:absolute;
  z-index:3;
  left:0;
  top:8px;
  width:92px;
  height:auto;
  max-height:178px;
  object-fit:contain;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.14));
  transition:.25s ease;
}

.desktop-nav {
  display:flex;
  align-items:stretch;
  height:var(--nav-h);
  min-width:0;
  gap:clamp(18px,2vw,34px);
}

.nav-item {
  position:static;
  display:flex;
  align-items:stretch;
}

.nav-link,
.nav-toggle {
  position:relative;
  border:0;
  background:none;
  padding:0;
  display:flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  white-space:nowrap;
  font-size:14px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#fff;
}

.nav-link::after,
.nav-toggle::after {
  content:"";
  position:absolute;
  height:3px;
  left:0;
  right:100%;
  bottom:24px;
  background:#fff;
  transition:right .2s ease;
}

.nav-item:hover > .nav-link::after,
.nav-item:hover > .nav-toggle::after,
.nav-link.active::after,
.nav-toggle[aria-expanded="true"]::after {
  right:0;
}

.chevron {
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .2s ease;
}
.nav-toggle[aria-expanded="true"] .chevron {
  transform:rotate(225deg) translate(-1px,-1px);
}

.nav-actions {
  display:flex;
  align-items:center;
  gap:8px;
}

.icon-btn {
  width:46px;
  height:46px;
  border:0;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
  border-radius:50%;
}
.icon-btn { color:#fff; }
.icon-btn:hover { background:rgba(255,255,255,.14); color:#fff; }
.icon-btn svg {
  width:23px;
  height:23px;
  stroke:currentColor;
  fill:none;
  stroke-width:2.2;
}

.join-btn {
  min-height:56px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  gap:16px;
  background:#fff;
  color:#ed1d24;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
  margin-left:5px;
}
.join-btn:hover { background:#111; color:#fff; }
.join-btn svg {
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
}

.menu-btn {
  width:50px;
  height:50px;
  border:0;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.bars,
.bars::before,
.bars::after {
  width:29px;
  height:3px;
  background:#fff;
  display:block;
}
.bars { position:relative; }
.bars::before,.bars::after {
  content:"";
  position:absolute;
  left:0;
}
.bars::before { top:-9px; }
.bars::after { top:9px; }

/* Dropdowns */
.dropdown {
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  top:100%;
  background:#fff;
  border-top:1px solid var(--line);
  box-shadow:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.nav-item.open .dropdown,
.nav-item:hover .dropdown {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.dropdown-inner {
  width:min(1460px,calc(100% - 56px));
  margin:0 auto;
  padding:38px 0 42px;
}

.club-grid {
  display:grid;
  grid-template-columns:250px 1fr 330px;
  gap:42px;
  align-items:stretch;
}

.dropdown-title {
  font-size:13px;
  color:var(--red);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.dropdown-heading {
  margin:0;
  font-size:42px;
  line-height:.95;
  letter-spacing:-.04em;
  text-transform:uppercase;
  font-weight:900;
}

.dropdown-intro {
  margin:18px 0 0;
  font-size:14px;
  line-height:1.6;
  color:#666;
}

.club-links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 36px;
}

.club-links a {
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #e5e5e5;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.015em;
}
.club-links a span:last-child {
  color:var(--red);
  font-size:22px;
  transition:transform .18s ease;
}
.club-links a:hover span:last-child { transform:translateX(5px); }
.club-links a:hover { color:var(--red); }

.feature-panel {
  background:#090909;
  color:white;
  min-height:240px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
}
.feature-panel::before {
  content:"MCFC";
  position:absolute;
  right:-15px;
  top:-15px;
  font-size:100px;
  font-weight:900;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.04);
}
.feature-kicker {
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.feature-panel h3 {
  margin:8px 0 12px;
  font-size:28px;
  line-height:1;
  text-transform:uppercase;
}
.feature-panel p {
  margin:0 0 20px;
  color:#bdbdbd;
  line-height:1.5;
  font-size:13px;
}
.feature-panel a {
  align-self:flex-start;
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  border-bottom:2px solid var(--red);
  padding-bottom:5px;
}

.teams-menu {
  display:grid;
  grid-template-columns:250px 1fr;
  gap:42px;
}
.teams-links {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.teams-links a {
  min-height:68px;
  background:#f5f5f5;
  border:1px solid #eee;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
}
.teams-links a:hover {
  background:#111;
  color:white;
}
.teams-links a span:last-child {
  color:var(--red);
  font-size:20px;
}

/* Scroll state */
.mcfc-header.scrolled {
  box-shadow:none;
}
.mcfc-header.scrolled .mcfc-logo img {
  width:92px;
  top:8px;
}
.mcfc-header.scrolled .nav-link::after,
.mcfc-header.scrolled .nav-toggle::after {
  bottom:24px;
}

/* Fulham-style full-screen sitemap pop-out */
.mobile-menu {
  position:fixed;
  inset:0;
  z-index:3000;
  background:#000;
  color:#fff;
  overflow-y:auto;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.mobile-menu.open {
  opacity:1;
  visibility:visible;
  transform:none;
}

.mobile-inner {
  width:100%;
  min-height:100%;
  padding:0;
}

.sitemap-top {
  width:min(1600px,calc(100% - 40px));
  margin:0 auto;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.sitemap-close {
  width:42px;
  height:42px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}

.sitemap-close svg {
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.sitemap-logo {
  width:68px;
  height:auto;
  opacity:.98;
}

.sitemap-grid {
  width:min(1600px,calc(100% - 40px));
  margin:0 auto;
  padding:12px 0 70px;
  display:grid;
  grid-template-columns:.95fr 1.05fr 1fr 1fr;
  gap:58px;
  align-items:start;
}

.sitemap-col {
  min-width:0;
}

.sitemap-primary {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
}

.sitemap-primary a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:#fff;
  font-size:20px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.01em;
  text-transform:uppercase;
  transition:color .16s ease;
}

.sitemap-primary a:hover {
  color:var(--red);
}

.sitemap-block {
  margin:0 0 38px;
}

.sitemap-block:last-child {
  margin-bottom:0;
}

.sitemap-block h3 {
  margin:0 0 9px;
  color:#fff;
  font-size:18px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.005em;
  text-transform:uppercase;
}

.sitemap-block ul {
  list-style:none;
  margin:0;
  padding:0;
}

.sitemap-block li {
  margin:0;
}

.sitemap-block a {
  display:inline-block;
  padding:6px 0;
  color:#d6d6d6;
  font-size:16px;
  line-height:1.4;
  font-weight:500;
  transition:color .16s ease, transform .16s ease;
}

.sitemap-block a:hover {
  color:#fff;
  transform:translateX(3px);
}

.sitemap-divider {
  width:34px;
  height:2px;
  margin:30px 0;
  background:var(--red);
}

.sitemap-small-heading {
  margin:0 0 12px;
  color:#fff;
  font-size:15px;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
}

.sitemap-quick {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}

.sitemap-quick a {
  color:#d6d6d6;
  font-size:16px;
  line-height:1.35;
}

.sitemap-quick a:hover {
  color:var(--red);
}

.sitemap-socials {
  display:flex;
  gap:8px;
  margin-top:18px;
}

.sitemap-socials a {
  width:34px;
  height:34px;
  border:1px solid #3b3b3b;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.sitemap-socials a:hover {
  border-color:var(--red);
  background:var(--red);
}

/* Mobile version retains the same black sitemap character but collapses neatly */
@media (max-width:980px) {
  .sitemap-top {
    width:calc(100% - 28px);
    min-height:68px;
  }

  .sitemap-logo {
    width:50px;
  }

  .sitemap-grid {
    width:calc(100% - 32px);
    padding:10px 0 50px;
    grid-template-columns:1fr 1fr;
    gap:36px 28px;
  }

  .sitemap-primary {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid #292929;
  }

  .sitemap-primary a {
    min-height:48px;
    border-bottom:1px solid #292929;
    font-size:15px;
  }

  .sitemap-primary a:nth-child(odd) {
    padding-right:14px;
  }

  .sitemap-primary a:nth-child(even) {
    padding-left:14px;
    border-left:1px solid #292929;
  }

  .sitemap-block {
    margin-bottom:30px;
  }

  .sitemap-block h3 {
    font-size:17px;
  }

  .sitemap-block a {
    font-size:15px;
  }
}

@media (max-width:600px) {
  .sitemap-grid {
    grid-template-columns:1fr;
    gap:8px;
  }

  .sitemap-primary {
    grid-template-columns:1fr;
    margin-bottom:22px;
  }

  .sitemap-primary a:nth-child(even) {
    padding-left:0;
    border-left:0;
  }

  .sitemap-col {
    border-top:1px solid #292929;
    padding-top:26px;
  }

  .sitemap-primary {
    border-top:1px solid #292929;
    padding-top:0;
  }

  .sitemap-primary a {
    font-size:19px;
  }

  .sitemap-block {
    margin-bottom:28px;
  }
}

/* Demo content */
.hero {
  min-height:620px;
  background:
    linear-gradient(100deg,rgba(0,0,0,.84),rgba(0,0,0,.28)),
    radial-gradient(circle at 75% 35%,rgba(237,28,36,.24),transparent 32%),
    linear-gradient(135deg,#151515,#606060);
  color:#fff;
  display:flex;
  align-items:center;
}
.hero-inner {
  width:min(1460px,calc(100% - 56px));
  margin:0 auto;
  padding:80px 0;
}
.hero-kicker {
  color:var(--red);
  text-transform:uppercase;
  font-size:13px;
  font-weight:900;
  letter-spacing:.15em;
}
.hero h1 {
  margin:12px 0 0;
  max-width:820px;
  font-size:clamp(58px,8vw,116px);
  line-height:.85;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.hero p {
  max-width:560px;
  margin:26px 0 0;
  color:#d4d4d4;
  font-size:18px;
  line-height:1.6;
}
.spacer {
  min-height:750px;
  background:white;
  padding:80px 28px;
  text-align:center;
}
.spacer h2 {
  margin:0;
  font-size:clamp(34px,5vw,72px);
  text-transform:uppercase;
}

.mobile-name {
  display:none;
  font-weight:900;
  font-size:14px;
}
.mobile-name { color:#000; }
.mobile-name span { color:#000; }

@media (max-width:1240px) {
  .mcfc-wrap,
  .dropdown-inner,
  .hero-inner {
    width:min(1200px,calc(100% - 36px));
  }
  .mcfc-nav-inner {
    grid-template-columns:125px minmax(0,1fr) auto;
    gap:22px;
  }
  .mcfc-logo img,
  .mcfc-header.scrolled .mcfc-logo img {
    width:86px;
    top:10px;
  }
  .desktop-nav {
    gap:18px;
  }
  .nav-link,.nav-toggle {
    font-size:12px;
  }
  .social-hide { display:none; }
}

@media (max-width:980px) {
  :root {
    --utility-h:0px;
    --nav-h:80px;
  }
  .mcfc-utility { display:none; }
  .mcfc-wrap { width:calc(100% - 24px); }
  .mcfc-nav-inner {
    min-height:80px;
    grid-template-columns:70px 1fr auto;
    gap:10px;
  }
  .mcfc-logo { min-height:80px; }
  .mcfc-logo img,
  .mcfc-header.scrolled .mcfc-logo img {
    width:68px;
    top:5px;
  }
  .desktop-nav,
  .join-btn,
  .desktop-search {
    display:none;
  }
  .mobile-name { display:block; }

  .hero-inner { width:calc(100% - 32px); }
}

@media (max-width:520px) {
  .mcfc-nav-inner {
    grid-template-columns:60px 1fr auto;
  }
  .mcfc-logo img,
  .mcfc-header.scrolled .mcfc-logo img {
    width:58px;
    top:10px;
  }
  .mobile-utility {
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion:reduce) {
  * { transition:none!important; scroll-behavior:auto!important; }
}



/* Final requested header behavior */
.mcfc-wordmark,
.mcfc-wordmark span {
  color:#fff !important;
}

.mcfc-utility {
  border-bottom:1px solid #d71920;
}

.mcfc-nav {
  position:sticky;
  top:0;
  z-index:1001;
}

.mcfc-header.scrolled .mcfc-nav {
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}

/* Proud to be Colts branding in full-screen menu */
.sitemap-proud {
  margin-top:34px;
  padding-top:26px;
  border-top:1px solid #2a2a2a;
}

.sitemap-proud img {
  display:block;
  width:min(100%, 310px);
  height:auto;
  object-fit:contain;
}

@media (max-width:980px) {
  .sitemap-proud img {
    width:min(100%, 260px);
  }
}



/* Refined top utility bar dividers */
.mcfc-utility {
  border-bottom-color:#780b10 !important;
}

.utility-links a + a::before {
  background:#d71920 !important;
}

/* Top utility section scrolls normally; main navigation remains sticky */
.mcfc-header {
  position:relative !important;
  top:auto !important;
}

.mcfc-utility {
  position:relative;
}

.mcfc-nav {
  position:sticky !important;
  top:0 !important;
  z-index:1001;
}



/* FINAL HEADER BEHAVIOUR
   Top utility bar scrolls with the page.
   Lower red navigation remains genuinely sticky. */

.mcfc-header {
  position:relative !important;
  z-index:auto !important;
  width:100%;
}

.mcfc-nav {
  position:sticky !important;
  top:0 !important;
  z-index:1500 !important;
  width:100%;
  background:#ed1d24;
}

/* Crest stays completely inside the sticky navigation */
.mcfc-logo img {
  width:92px !important;
  top:8px !important;
  max-height:96px !important;
}

.mcfc-nav.is-scrolled {
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}

@media (max-width:1240px) {
  .mcfc-logo img {
    width:86px !important;
    top:10px !important;
  }
}

@media (max-width:980px) {
  .mcfc-logo img {
    width:62px !important;
    top:9px !important;
    max-height:64px !important;
  }
}



/* Text-only social links in top utility bar */
.utility-links .utility-social {
  font-weight:800;
}

@media (max-width:1180px) {
  .utility-links a {
    padding-left:11px;
    padding-right:11px;
    font-size:11px;
  }
}



/* Refined main navigation hover
   - underline sits directly beneath the wording
   - subtle darker-red hover capsule gives the menu more life
   - text remains crisp white */
.nav-link,
.nav-toggle {
  padding:0 10px;
  transition:background-color .18s ease, transform .18s ease;
}

.nav-link::after,
.nav-toggle::after {
  left:10px !important;
  right:calc(100% - 10px) !important;
  bottom:34px !important;
  height:2px !important;
  background:#fff !important;
  border-radius:2px;
  transition:right .2s ease !important;
}

.nav-item:hover > .nav-link,
.nav-item:hover > .nav-toggle,
.nav-link:focus-visible,
.nav-toggle:focus-visible,
.nav-toggle[aria-expanded="true"] {
  background:#d71920;
}

.nav-item:hover > .nav-link::after,
.nav-item:hover > .nav-toggle::after,
.nav-link.active::after,
.nav-toggle[aria-expanded="true"]::after {
  right:10px !important;
}

/* Tiny lift makes the interaction feel responsive without being flashy */
.nav-item:hover > .nav-link,
.nav-item:hover > .nav-toggle {
  transform:translateY(-1px);
}

/* Keep underline appropriately close at laptop sizes too */
@media (max-width:1240px) {
  .nav-link::after,
  .nav-toggle::after {
    bottom:34px !important;
  }
}

/* Keyboard focus */
.nav-link:focus-visible,
.nav-toggle:focus-visible {
  outline:2px solid #fff;
  outline-offset:2px;
}



/* Final menu hover: no background, split-colour animated underline */
.nav-link,
.nav-toggle,
.nav-item:hover > .nav-link,
.nav-item:hover > .nav-toggle,
.nav-link:focus-visible,
.nav-toggle:focus-visible,
.nav-toggle[aria-expanded="true"] {
  background:transparent !important;
  transform:none !important;
}

/* Underline sits close to the text and grows left-to-right.
   First half white, second half MCFC red. */
.nav-link::after,
.nav-toggle::after {
  left:10px !important;
  right:auto !important;
  bottom:33px !important;
  width:calc(100% - 20px) !important;
  height:2px !important;
  background:linear-gradient(
    to right,
    #ffffff 0%,
    #ffffff 50%,
    #780b10 50%,
    #780b10 100%
  ) !important;
  border-radius:0 !important;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s ease !important;
}

.nav-item:hover > .nav-link::after,
.nav-item:hover > .nav-toggle::after,
.nav-link.active::after,
.nav-toggle[aria-expanded="true"]::after,
.nav-link:focus-visible::after,
.nav-toggle:focus-visible::after {
  right:auto !important;
  transform:scaleX(1);
}

@media (max-width:1240px) {
  .nav-link::after,
  .nav-toggle::after {
    bottom:33px !important;
  }
}



/* Top bar link hover matches the darker red used in the menu underline */
.utility-links a {
  transition:color .18s ease;
}

.utility-links a:hover,
.utility-links a:focus-visible {
  color:#780b10 !important;
}



/* FINAL COLOUR REFINEMENT */

/* Top utility bar: white with black text */
.mcfc-utility {
  background:#fff !important;
  color:#000 !important;
  border-bottom:1px solid #d71920 !important;
}

.mcfc-wordmark,
.mcfc-wordmark span {
  color:#000 !important;
}

.utility-links,
.utility-links a {
  color:#000 !important;
}

/* Top-bar links hover to MCFC red */
.utility-links a:hover,
.utility-links a:focus-visible {
  color:#ed1d24 !important;
}

/* Keep separators subtle */
.utility-links a + a::before {
  background:#d71920 !important;
}

/* Main red navigation: menu text stays white on hover */
.nav-link,
.nav-toggle,
.nav-item:hover > .nav-link,
.nav-item:hover > .nav-toggle,
.nav-link:focus-visible,
.nav-toggle:focus-visible,
.nav-toggle[aria-expanded="true"] {
  color:#fff !important;
  background:transparent !important;
}

/* Main menu underline now fully white */
.nav-link::after,
.nav-toggle::after {
  background:#fff !important;
}



/* Scroll-state refinement:
   the sticky red navigation compresses slightly,
   while the crest drops over the bottom edge for a football-club style look. */

.mcfc-nav,
.mcfc-nav-inner,
.mcfc-logo img,
.nav-link,
.nav-toggle,
.join-btn,
.icon-btn,
.menu-btn {
  transition:
    min-height .24s ease,
    height .24s ease,
    padding .24s ease,
    top .24s ease,
    width .24s ease,
    transform .24s ease;
}

/* Normal state */
.mcfc-nav {
  overflow:visible;
}

.mcfc-nav-inner {
  min-height:112px;
}

.mcfc-logo {
  min-height:112px;
  overflow:visible;
}

.mcfc-logo img {
  width:92px !important;
  top:8px !important;
  max-height:none !important;
}

/* Sticky scrolled state */
.mcfc-nav.is-scrolled .mcfc-nav-inner {
  min-height:78px !important;
}

.mcfc-nav.is-scrolled .mcfc-logo {
  min-height:78px !important;
}

.mcfc-nav.is-scrolled .mcfc-logo img {
  width:84px !important;
  top:8px !important;
  transform:translateY(12px);
}

.mcfc-nav.is-scrolled .desktop-nav {
  height:78px !important;
}

.mcfc-nav.is-scrolled .nav-link::after,
.mcfc-nav.is-scrolled .nav-toggle::after {
  bottom:18px !important;
}

/* Keep the CTA proportional as the bar compresses */
.mcfc-nav.is-scrolled .join-btn {
  min-height:48px;
  padding-left:20px;
  padding-right:20px;
}

/* Slightly smaller action controls in compact state */
.mcfc-nav.is-scrolled .icon-btn,
.mcfc-nav.is-scrolled .menu-btn {
  width:42px;
  height:42px;
}

/* Laptop */
@media (max-width:1240px) {
  .mcfc-nav-inner {
    min-height:104px;
  }

  .mcfc-logo {
    min-height:104px;
  }

  .mcfc-logo img {
    width:86px !important;
    top:9px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-nav-inner,
  .mcfc-nav.is-scrolled .mcfc-logo {
    min-height:74px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:78px !important;
    top:8px !important;
    transform:translateY(11px);
  }

  .mcfc-nav.is-scrolled .desktop-nav {
    height:74px !important;
  }

  .mcfc-nav.is-scrolled .nav-link::after,
  .mcfc-nav.is-scrolled .nav-toggle::after {
    bottom:16px !important;
  }
}

/* Mobile: compress only a little so tap targets stay comfortable */
@media (max-width:980px) {
  .mcfc-nav-inner,
  .mcfc-logo {
    min-height:80px !important;
  }

  .mcfc-logo img {
    width:62px !important;
    top:9px !important;
    transform:none !important;
  }

  .mcfc-nav.is-scrolled .mcfc-nav-inner,
  .mcfc-nav.is-scrolled .mcfc-logo {
    min-height:68px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:58px !important;
    top:6px !important;
    transform:translateY(8px) !important;
  }
}



/* Keep crest the same size before and after scroll.
   Only the header compresses and the crest moves down to overhang. */
.mcfc-logo img,
.mcfc-nav.is-scrolled .mcfc-logo img {
  width:92px !important;
  max-height:none !important;
}

.mcfc-logo img {
  top:8px !important;
  transform:none !important;
}

.mcfc-nav.is-scrolled .mcfc-logo img {
  top:8px !important;
  transform:translateY(12px) !important;
}

@media (max-width:1240px) {
  .mcfc-logo img,
  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:86px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-logo img {
    transform:translateY(11px) !important;
  }
}

@media (max-width:980px) {
  .mcfc-logo img,
  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:62px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-logo img {
    transform:translateY(8px) !important;
  }
}



/* Smoother sticky-header transition + perfectly centred crest at page load */

/* Use one shared starting header height so the crest has equal space above/below */
.mcfc-nav-inner,
.mcfc-logo {
  min-height:112px !important;
}

.mcfc-logo {
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}

.mcfc-logo img {
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:92px !important;
  max-height:none !important;
  transform:translateY(0) !important;
  will-change:transform;
}

/* Animate the actual height rather than switching several competing values */
.mcfc-nav-inner,
.mcfc-logo,
.desktop-nav {
  transition:
    min-height .42s cubic-bezier(.22,.61,.36,1),
    height .42s cubic-bezier(.22,.61,.36,1) !important;
}

.mcfc-logo img {
  transition:transform .42s cubic-bezier(.22,.61,.36,1) !important;
}

.join-btn,
.icon-btn,
.menu-btn {
  transition:
    min-height .36s cubic-bezier(.22,.61,.36,1),
    width .36s cubic-bezier(.22,.61,.36,1),
    height .36s cubic-bezier(.22,.61,.36,1),
    padding .36s cubic-bezier(.22,.61,.36,1),
    background-color .18s ease,
    color .18s ease !important;
}

/* Compact sticky state.
   Logo remains the exact same size and glides down as the bar contracts. */
.mcfc-nav.is-scrolled .mcfc-nav-inner,
.mcfc-nav.is-scrolled .mcfc-logo {
  min-height:78px !important;
}

.mcfc-nav.is-scrolled .desktop-nav {
  height:78px !important;
}

.mcfc-nav.is-scrolled .mcfc-logo img {
  width:92px !important;
  transform:translateY(17px) !important;
}

/* Underline follows the compressed navigation smoothly */
.nav-link::after,
.nav-toggle::after {
  transition:
    transform .28s ease,
    bottom .42s cubic-bezier(.22,.61,.36,1) !important;
}

.mcfc-nav.is-scrolled .nav-link::after,
.mcfc-nav.is-scrolled .nav-toggle::after {
  bottom:18px !important;
}

/* Laptop */
@media (max-width:1240px) {
  .mcfc-nav-inner,
  .mcfc-logo {
    min-height:104px !important;
  }

  .mcfc-logo img,
  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:86px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-nav-inner,
  .mcfc-nav.is-scrolled .mcfc-logo {
    min-height:74px !important;
  }

  .mcfc-nav.is-scrolled .desktop-nav {
    height:74px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-logo img {
    transform:translateY(15px) !important;
  }
}

/* Mobile */
@media (max-width:980px) {
  .mcfc-nav-inner,
  .mcfc-logo {
    min-height:80px !important;
  }

  .mcfc-logo img,
  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:62px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-nav-inner,
  .mcfc-nav.is-scrolled .mcfc-logo {
    min-height:68px !important;
  }

  .mcfc-nav.is-scrolled .mcfc-logo img {
    transform:translateY(6px) !important;
  }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce) {
  .mcfc-nav-inner,
  .mcfc-logo,
  .desktop-nav,
  .mcfc-logo img,
  .join-btn,
  .icon-btn,
  .menu-btn {
    transition:none !important;
  }
}



/* Remove all header shrink/overhang animation.
   Header and crest now remain in their normal page-load state while sticky. */
.mcfc-nav-inner,
.mcfc-logo,
.mcfc-nav.is-scrolled .mcfc-nav-inner,
.mcfc-nav.is-scrolled .mcfc-logo {
  min-height:112px !important;
}

.desktop-nav,
.mcfc-nav.is-scrolled .desktop-nav {
  height:112px !important;
}

.mcfc-logo img,
.mcfc-nav.is-scrolled .mcfc-logo img {
  width:92px !important;
  transform:none !important;
}

.mcfc-nav-inner,
.mcfc-logo,
.desktop-nav,
.mcfc-logo img,
.join-btn,
.icon-btn,
.menu-btn {
  transition:none !important;
}

.mcfc-nav.is-scrolled .nav-link::after,
.mcfc-nav.is-scrolled .nav-toggle::after {
  bottom:33px !important;
}

@media (max-width:1240px) {
  .mcfc-nav-inner,
  .mcfc-logo,
  .mcfc-nav.is-scrolled .mcfc-nav-inner,
  .mcfc-nav.is-scrolled .mcfc-logo {
    min-height:104px !important;
  }

  .desktop-nav,
  .mcfc-nav.is-scrolled .desktop-nav {
    height:104px !important;
  }

  .mcfc-logo img,
  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:86px !important;
    transform:none !important;
  }
}

@media (max-width:980px) {
  .mcfc-nav-inner,
  .mcfc-logo,
  .mcfc-nav.is-scrolled .mcfc-nav-inner,
  .mcfc-nav.is-scrolled .mcfc-logo {
    min-height:80px !important;
  }

  .mcfc-logo img,
  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:62px !important;
    transform:none !important;
  }
}



/* TRUE STATIC STICKY HEADER
   The top white utility bar scrolls away.
   The red navigation sticks at top with NO size, position or spacing changes. */

.mcfc-nav {
  position:sticky !important;
  top:0 !important;
  z-index:1500 !important;
}

.mcfc-nav-inner,
.mcfc-nav.is-scrolled .mcfc-nav-inner {
  min-height:112px !important;
  height:112px !important;
}

.mcfc-logo,
.mcfc-nav.is-scrolled .mcfc-logo {
  min-height:112px !important;
  height:112px !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}

.mcfc-logo img,
.mcfc-nav.is-scrolled .mcfc-logo img {
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:92px !important;
  max-height:none !important;
  transform:none !important;
}

.desktop-nav,
.mcfc-nav.is-scrolled .desktop-nav {
  height:112px !important;
}

.join-btn,
.mcfc-nav.is-scrolled .join-btn {
  min-height:56px !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

.icon-btn,
.menu-btn,
.mcfc-nav.is-scrolled .icon-btn,
.mcfc-nav.is-scrolled .menu-btn {
  width:46px !important;
  height:46px !important;
}

.nav-link::after,
.nav-toggle::after,
.mcfc-nav.is-scrolled .nav-link::after,
.mcfc-nav.is-scrolled .nav-toggle::after {
  bottom:33px !important;
}

/* No scroll-induced transitions or transforms */
.mcfc-nav,
.mcfc-nav-inner,
.mcfc-logo,
.mcfc-logo img,
.desktop-nav,
.join-btn,
.icon-btn,
.menu-btn {
  transition:none !important;
}

/* Remove scroll-state shadow change too, so nothing visually shifts */
.mcfc-nav.is-scrolled,
.mcfc-header.scrolled,
.mcfc-header.scrolled .mcfc-nav {
  box-shadow:none !important;
}

@media (max-width:1240px) {
  .mcfc-nav-inner,
  .mcfc-nav.is-scrolled .mcfc-nav-inner,
  .mcfc-logo,
  .mcfc-nav.is-scrolled .mcfc-logo {
    min-height:104px !important;
    height:104px !important;
  }

  .desktop-nav,
  .mcfc-nav.is-scrolled .desktop-nav {
    height:104px !important;
  }

  .mcfc-logo img,
  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:86px !important;
  }
}

@media (max-width:980px) {
  .mcfc-nav-inner,
  .mcfc-nav.is-scrolled .mcfc-nav-inner,
  .mcfc-logo,
  .mcfc-nav.is-scrolled .mcfc-logo {
    min-height:80px !important;
    height:80px !important;
  }

  .mcfc-logo img,
  .mcfc-nav.is-scrolled .mcfc-logo img {
    width:62px !important;
  }

  .icon-btn,
  .menu-btn,
  .mcfc-nav.is-scrolled .icon-btn,
  .mcfc-nav.is-scrolled .menu-btn {
    width:46px !important;
    height:46px !important;
  }
}



/* =========================================================
   RUGBY CANADA–INSPIRED MCFC HEADER REFINEMENT
   Keeps MCFC content/branding but adopts the clean,
   bold, movement-led sports navigation feel.
   ========================================================= */

/* Top utility bar */
.mcfc-utility {
  background:#fff !important;
  color:#111 !important;
  border-bottom:1px solid #ededed !important;
}

.mcfc-wordmark,
.mcfc-wordmark span,
.utility-links,
.utility-links a {
  color:#111 !important;
}

.utility-links a {
  position:relative;
  transition:color .2s ease !important;
}

.utility-links a:hover,
.utility-links a:focus-visible {
  color:#ed1d24 !important;
}

.utility-links a + a::before {
  background:#d6d6d6 !important;
}

/* Main red navigation */
.mcfc-nav {
  background:#ed1d24 !important;
  border:0 !important;
  box-shadow:none !important;
}

.mcfc-nav-inner {
  height:102px !important;
  min-height:102px !important;
}

.mcfc-logo,
.mcfc-logo img {
  transition:none !important;
}

.mcfc-logo {
  min-height:102px !important;
  height:102px !important;
  display:flex !important;
  align-items:center !important;
}

.mcfc-logo img {
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:88px !important;
  transform:none !important;
}

/* Rugby-style nav labels: cleaner spacing, more graphic */
.desktop-nav {
  height:102px !important;
  gap:0 !important;
}

.nav-item {
  position:relative;
  padding:0 18px;
}

.nav-link,
.nav-toggle {
  color:#fff !important;
  padding:0 !important;
  font-size:14px !important;
  letter-spacing:.025em !important;
  height:100%;
  background:transparent !important;
  transform:none !important;
}

/* animated line sweeps in from left, close to wording */
.nav-link::after,
.nav-toggle::after {
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:31px !important;
  width:100% !important;
  height:2px !important;
  background:#fff !important;
  transform:scaleX(0) !important;
  transform-origin:left center !important;
  transition:transform .32s cubic-bezier(.22,.61,.36,1) !important;
}

.nav-item:hover > .nav-link::after,
.nav-item:hover > .nav-toggle::after,
.nav-link.active::after,
.nav-toggle[aria-expanded="true"]::after,
.nav-link:focus-visible::after,
.nav-toggle:focus-visible::after {
  transform:scaleX(1) !important;
}

/* Rugby-style register CTA */
.join-btn {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:52px !important;
  padding:0 24px !important;
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(255,255,255,.35);
  transition:color .28s ease, border-color .28s ease !important;
}

.join-btn::before {
  content:"";
  position:absolute;
  inset:0;
  background:#111;
  transform:translateY(102%);
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
  z-index:-1;
}

.join-btn:hover,
.join-btn:focus-visible {
  color:#fff !important;
  border-color:#111;
  background:#fff !important;
}

.join-btn:hover::before,
.join-btn:focus-visible::before {
  transform:translateY(0);
}

/* Icon/menu hover inspired by Rugby Canada's clean graphic movement */
.icon-btn,
.menu-btn {
  color:#fff !important;
  transition:opacity .18s ease !important;
}

.icon-btn:hover,
.menu-btn:hover {
  background:transparent !important;
  opacity:.65;
}

/* Desktop dropdowns become broad editorial panels */
.dropdown {
  background:#000 !important;
  color:#fff !important;
  border-top:0 !important;
  box-shadow:none !important;
  transform:translateY(-14px) !important;
  opacity:0;
  visibility:hidden;
  transition:
    opacity .25s ease,
    transform .36s cubic-bezier(.22,.61,.36,1),
    visibility .25s ease !important;
}

.nav-item.open .dropdown,
.nav-item:hover .dropdown {
  opacity:1;
  visibility:visible;
  transform:translateY(0) !important;
}

.dropdown-inner {
  padding-top:46px !important;
  padding-bottom:48px !important;
}

.dropdown-title {
  color:#ed1d24 !important;
}

.dropdown-heading {
  color:#fff !important;
}

.dropdown-intro {
  color:#a9a9a9 !important;
}

.club-links a {
  color:#d1d1d1 !important;
  border-bottom:1px solid #292929 !important;
  transition:color .2s ease, padding-left .25s ease !important;
}

.club-links a:hover {
  color:#fff !important;
  padding-left:8px;
}

.club-links a span:last-child {
  color:#ed1d24 !important;
}

/* Team cards use strong black/grey panel contrast */
.teams-links a {
  background:#111 !important;
  color:#fff !important;
  border:1px solid #292929 !important;
  transition:
    background .22s ease,
    color .22s ease,
    transform .25s cubic-bezier(.22,.61,.36,1) !important;
}

.teams-links a:hover {
  background:#ed1d24 !important;
  color:#fff !important;
  transform:translateY(-3px);
}

/* =========================================================
   FULL MENU – Rugby Canada–inspired animated takeover
   ========================================================= */
.mobile-menu {
  background:#000 !important;
  color:#fff !important;
  transform:translateY(-100%) !important;
  opacity:1 !important;
  visibility:hidden;
  transition:
    transform .55s cubic-bezier(.76,0,.24,1),
    visibility 0s linear .55s !important;
}

.mobile-menu.open {
  visibility:visible;
  transform:translateY(0) !important;
  transition:
    transform .55s cubic-bezier(.76,0,.24,1),
    visibility 0s !important;
}

/* Animated reveal of menu content after panel enters */
.mobile-menu .sitemap-top,
.mobile-menu .sitemap-col {
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .35s ease,
    transform .45s cubic-bezier(.22,.61,.36,1);
}

.mobile-menu.open .sitemap-top {
  opacity:1;
  transform:none;
  transition-delay:.22s;
}

.mobile-menu.open .sitemap-col:nth-child(1) {
  opacity:1;
  transform:none;
  transition-delay:.28s;
}
.mobile-menu.open .sitemap-col:nth-child(2) {
  opacity:1;
  transform:none;
  transition-delay:.33s;
}
.mobile-menu.open .sitemap-col:nth-child(3) {
  opacity:1;
  transform:none;
  transition-delay:.38s;
}
.mobile-menu.open .sitemap-col:nth-child(4) {
  opacity:1;
  transform:none;
  transition-delay:.43s;
}

/* Full menu outer red accent */
.mobile-menu::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:#ed1d24;
}

/* primary takeover links */
.sitemap-primary a {
  position:relative;
  overflow:hidden;
  padding-right:42px;
  transition:color .2s ease, transform .25s ease !important;
}

.sitemap-primary a::after {
  content:"→";
  position:absolute;
  right:4px;
  opacity:0;
  transform:translateX(-14px);
  color:#ed1d24;
  transition:opacity .22s ease, transform .3s ease;
}

.sitemap-primary a:hover {
  color:#fff !important;
  transform:translateX(6px);
}

.sitemap-primary a:hover::after {
  opacity:1;
  transform:translateX(0);
}

.sitemap-block a {
  position:relative;
  color:#bdbdbd !important;
}

.sitemap-block a::after {
  content:"";
  position:absolute;
  left:0;
  bottom:1px;
  width:100%;
  height:1px;
  background:#ed1d24;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}

.sitemap-block a:hover {
  color:#fff !important;
  transform:none !important;
}

.sitemap-block a:hover::after {
  transform:scaleX(1);
}

/* Close button rotates lightly */
.sitemap-close svg {
  transition:transform .3s cubic-bezier(.22,.61,.36,1);
}

.sitemap-close:hover svg {
  transform:rotate(90deg);
}

/* Mobile/tablet */
@media(max-width:980px) {
  .mcfc-nav-inner,
  .mcfc-logo {
    height:78px !important;
    min-height:78px !important;
  }

  .mcfc-logo img {
    width:60px !important;
  }

  .mobile-name {
    color:#fff !important;
  }

  .mobile-name span {
    color:#fff !important;
  }
}

@media(prefers-reduced-motion:reduce) {
  .mobile-menu,
  .mobile-menu .sitemap-top,
  .mobile-menu .sitemap-col,
  .nav-link::after,
  .nav-toggle::after,
  .join-btn::before,
  .dropdown,
  .sitemap-primary a,
  .sitemap-primary a::after,
  .sitemap-block a::after,
  .sitemap-close svg {
    transition:none !important;
  }
}



/* =========================================================
   MCFC HEADER — CLOSER TO RUGBY CANADA REFERENCE
   Two-tier red header with large top band + compact nav band.
   ========================================================= */

:root{
  --mcfc-red:#ed1d24;
  --mcfc-red-dark:#d71920;
  --mcfc-red-deep:#c9151d;
}

/* Overall header */
.mcfc-header{
  position:relative !important;
  z-index:1000;
  width:100%;
}

/* TOP BAND */
.mcfc-utility{
  height:96px !important;
  background:var(--mcfc-red) !important;
  color:#fff !important;
  border:0 !important;
  border-bottom:1px solid rgba(120,0,0,.18) !important;
}

.mcfc-utility .mcfc-wrap{
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:minmax(170px,1fr) auto !important;
  align-items:stretch !important;
  gap:0 !important;
}

/* Logo/wordmark zone */
.mcfc-wordmark{
  display:flex !important;
  align-items:center !important;
  padding-left:22px !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase;
}

.mcfc-wordmark span{ color:#fff !important; }

/* utility links become icon-like boxed areas */
.utility-links{
  height:100% !important;
  display:flex !important;
  align-items:stretch !important;
  margin:0 !important;
}

.utility-links a{
  min-width:96px;
  height:100%;
  padding:0 18px !important;
  display:flex !important;
  flex-direction:column;
  align-items:center !important;
  justify-content:center !important;
  gap:8px;
  border-left:1px solid rgba(120,0,0,.18);
  color:#fff !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  font-weight:700 !important;
  text-transform:uppercase;
  transition:background .22s ease,color .22s ease !important;
}

.utility-links a::before{
  position:static !important;
  width:auto !important;
  height:auto !important;
  background:none !important;
  transform:none !important;
}

/* Give only the three key utility items a Rugby-style icon tile feel */
.utility-links a.utility-social{
  min-width:88px;
}

.utility-links a:hover,
.utility-links a:focus-visible{
  background:var(--mcfc-red-dark) !important;
  color:#fff !important;
}

/* BOTTOM NAV BAND */
.mcfc-nav{
  position:sticky !important;
  top:0 !important;
  z-index:1500 !important;
  background:var(--mcfc-red) !important;
  border:0 !important;
  border-bottom:1px solid rgba(120,0,0,.16) !important;
  box-shadow:none !important;
}

.mcfc-wrap.mcfc-nav-inner{
  width:100% !important;
  max-width:none !important;
  height:48px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:0 22px !important;
  display:grid !important;
  grid-template-columns:86px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:22px !important;
}

.mcfc-logo{
  height:48px !important;
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}

.mcfc-logo img{
  width:58px !important;
  max-height:none !important;
  position:relative !important;
  top:-25px !important;
  left:0 !important;
  transform:none !important;
  filter:none !important;
  z-index:5 !important;
}

/* Main nav labels — small uppercase, spaced like Rugby Canada */
.desktop-nav{
  height:48px !important;
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
}

.nav-item{
  height:48px !important;
  padding:0 !important;
}

.nav-link,
.nav-toggle{
  height:48px !important;
  padding:0 20px !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.06em !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  background:transparent !important;
  position:relative !important;
}

.nav-link::after,
.nav-toggle::after{
  content:"" !important;
  position:absolute !important;
  left:20px !important;
  right:20px !important;
  bottom:7px !important;
  height:2px !important;
  width:auto !important;
  background:#fff !important;
  transform:scaleX(0) !important;
  transform-origin:left center !important;
  transition:transform .28s cubic-bezier(.22,.61,.36,1) !important;
}

.nav-item:hover>.nav-link::after,
.nav-item:hover>.nav-toggle::after,
.nav-link.active::after,
.nav-toggle[aria-expanded="true"]::after{
  transform:scaleX(1) !important;
}

/* right-side actions */
.nav-actions{
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}

.desktop-search,
.icon-btn{
  display:none !important;
}

/* register CTA acts as top-right action on the lower row */
.join-btn{
  min-height:34px !important;
  height:34px !important;
  padding:0 16px !important;
  margin:0 8px 0 0 !important;
  background:#fff !important;
  color:var(--mcfc-red) !important;
  border:0 !important;
  font-size:10px !important;
  letter-spacing:.07em !important;
  font-weight:700 !important;
}

.join-btn::before{
  background:#111 !important;
}

.join-btn:hover,
.join-btn:focus-visible{
  color:#fff !important;
}

/* menu icon zone */
.menu-btn{
  width:48px !important;
  height:48px !important;
  color:#fff !important;
}

.bars,
.bars::before,
.bars::after{
  background:#fff !important;
  width:24px !important;
  height:2px !important;
}

/* dropdowns start immediately under compact red nav */
.dropdown{
  top:100% !important;
}

/* Full menu slides like a sports-site takeover */
.mobile-menu{
  transform:translateY(-100%) !important;
}

/* Tablet/laptop */
@media(max-width:1240px){
  .nav-link,.nav-toggle{
    padding:0 13px !important;
    font-size:10px !important;
  }
  .nav-link::after,.nav-toggle::after{
    left:13px !important;
    right:13px !important;
  }
}

/* Mobile */
@media(max-width:980px){
  .mcfc-utility{
    display:none !important;
  }

  .mcfc-wrap.mcfc-nav-inner{
    height:72px !important;
    min-height:72px !important;
    grid-template-columns:64px 1fr auto !important;
    padding:0 14px !important;
  }

  .mcfc-logo,
  .mcfc-logo img{
    height:auto !important;
  }

  .mcfc-logo{
    min-height:72px !important;
  }

  .mcfc-logo img{
    width:58px !important;
    top:0 !important;
  }

  .mobile-name{
    display:block !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:700;
    letter-spacing:.05em;
  }

  .mobile-name span{ color:#fff !important; }

  .desktop-nav,
  .join-btn{
    display:none !important;
  }

  .nav-actions{
    height:72px !important;
  }

  .menu-btn{
    width:48px !important;
    height:48px !important;
  }
}



/* FINAL RUGBY-STYLE TOP BAR REFINEMENT */

/* Real crest in top-left, no MCFC1998.COM wording */
.mcfc-top-logo {
  padding:0 0 0 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.mcfc-top-logo img {
  width:72px;
  height:auto;
  display:block;
  filter:none;
}

/* Top-right action tiles: equal height, icons centred above labels */
.mcfc-utility .mcfc-wrap {
  grid-template-columns:minmax(150px,1fr) auto !important;
}

.utility-links {
  align-items:stretch !important;
}

.utility-links a {
  width:96px !important;
  min-width:96px !important;
  height:96px !important;
  padding:0 10px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  text-align:center !important;
}

.utility-links a svg {
  width:25px;
  height:25px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}

.utility-links a.utility-social:first-child svg {
  fill:currentColor;
  stroke:none;
}

.utility-links a span {
  display:block;
  font-size:9px;
  line-height:1;
  letter-spacing:.13em;
  font-weight:700;
  text-transform:uppercase;
  white-space:nowrap;
}

/* Ensure every top tile aligns perfectly */
.utility-links a,
.utility-links a + a {
  border-left:1px solid rgba(120,0,0,.18) !important;
}

/* Lower navigation no longer reserves space for a logo */
.mcfc-wrap.mcfc-nav-inner {
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:0 !important;
  padding-left:20px !important;
}

.desktop-nav {
  width:100% !important;
}

/* Mobile keeps a compact crest in the red bar */
@media(max-width:980px) {
  .mcfc-utility {
    display:none !important;
  }

  .mcfc-wrap.mcfc-nav-inner {
    grid-template-columns:1fr auto !important;
  }

  .mobile-name {
    display:block !important;
    color:#fff !important;
  }
}



/* Top action tile alignment correction */
.utility-links a {
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-rows:28px 12px !important;
  align-content:center !important;
  justify-items:center !important;
  row-gap:9px !important;
  line-height:1 !important;
}

.utility-links a svg,
.utility-links a.utility-social:first-child svg {
  grid-row:1 !important;
  align-self:center !important;
  justify-self:center !important;
  width:25px !important;
  height:25px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}

.utility-links a span {
  grid-row:2 !important;
  align-self:center !important;
  justify-self:center !important;
  height:12px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  line-height:12px !important;
}

/* Facebook path is filled, but occupies the same SVG box as every other icon */
.utility-links a.utility-social:first-child svg {
  fill:currentColor !important;
  stroke:none !important;
}



/* =========================================================
   TOP ACTION BAR — precise visual alignment
   The reference screenshot showed Facebook sitting differently
   because its glyph has a different visual bounding box.
   All six tiles now use a fixed icon stage + fixed label stage.
   ========================================================= */

.utility-links a {
  width:192px !important;
  min-width:192px !important;
  height:96px !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  box-sizing:border-box !important;
}

.utility-links a svg {
  display:block !important;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  margin:0 0 12px 0 !important;
  padding:0 !important;
  overflow:visible;
  flex:none !important;
}

.utility-links a span {
  display:block !important;
  width:100% !important;
  height:14px !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-size:10px !important;
  line-height:14px !important;
  letter-spacing:.12em !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  flex:none !important;
}

/* Facebook gets its own geometrically centred mark rather than
   relying on the previous asymmetric path. */
.utility-links a.utility-social:first-child svg {
  width:32px !important;
  height:32px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
}

/* Wider, more evenly distributed main navigation */
.desktop-nav {
  justify-content:space-evenly !important;
  gap:18px !important;
  padding:0 18px !important;
}

.nav-item {
  flex:0 0 auto !important;
}

.nav-link,
.nav-toggle {
  padding-left:22px !important;
  padding-right:22px !important;
}

.nav-link::after,
.nav-toggle::after {
  left:22px !important;
  right:22px !important;
}

@media (min-width:1400px) {
  .desktop-nav {
    gap:30px !important;
    padding:0 30px !important;
  }

  .nav-link,
  .nav-toggle {
    padding-left:26px !important;
    padding-right:26px !important;
  }

  .nav-link::after,
  .nav-toggle::after {
    left:26px !important;
    right:26px !important;
  }
}

@media (max-width:1250px) and (min-width:981px) {
  .utility-links a {
    width:150px !important;
    min-width:150px !important;
  }

  .desktop-nav {
    gap:8px !important;
    padding:0 8px !important;
  }

  .nav-link,
  .nav-toggle {
    padding-left:15px !important;
    padding-right:15px !important;
  }

  .nav-link::after,
  .nav-toggle::after {
    left:15px !important;
    right:15px !important;
  }
}



/* Main menu: start from left and use restrained, consistent spacing */
.desktop-nav {
  justify-content:flex-start !important;
  gap:8px !important;
  padding:0 !important;
}

.nav-link,
.nav-toggle {
  padding-left:16px !important;
  padding-right:16px !important;
}

.nav-link::after,
.nav-toggle::after {
  left:16px !important;
  right:16px !important;
}

/* Keep the first menu item closer to the left edge */
.desktop-nav .nav-item:first-child .nav-link,
.desktop-nav .nav-item:first-child .nav-toggle {
  padding-left:0 !important;
  margin-left:0 !important;
}

.desktop-nav .nav-item:first-child .nav-link::after,
.desktop-nav .nav-item:first-child .nav-toggle::after {
  left:0 !important;
}

/* Top tiles: force identical icon-to-label spacing for every item */
.utility-links a,
.utility-links a.utility-social,
.utility-links a.utility-social:first-child {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}

.utility-links a svg,
.utility-links a.utility-social svg,
.utility-links a.utility-social:first-child svg {
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 32px !important;
}

.utility-links a span,
.utility-links a.utility-social span,
.utility-links a.utility-social:first-child span {
  height:14px !important;
  min-height:14px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:14px !important;
  flex:0 0 14px !important;
}

/* Override earlier wide-screen spacing rules */
@media (min-width:1400px) {
  .desktop-nav {
    justify-content:flex-start !important;
    gap:10px !important;
    padding:0 !important;
  }

  .nav-link,
  .nav-toggle {
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .nav-link::after,
  .nav-toggle::after {
    left:18px !important;
    right:18px !important;
  }

  .desktop-nav .nav-item:first-child .nav-link,
  .desktop-nav .nav-item:first-child .nav-toggle {
    padding-left:0 !important;
  }

  .desktop-nav .nav-item:first-child .nav-link::after,
  .desktop-nav .nav-item:first-child .nav-toggle::after {
    left:0 !important;
  }
}

@media (max-width:1250px) and (min-width:981px) {
  .desktop-nav {
    justify-content:flex-start !important;
    gap:4px !important;
    padding:0 !important;
  }

  .nav-link,
  .nav-toggle {
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .nav-link::after,
  .nav-toggle::after {
    left:12px !important;
    right:12px !important;
  }

  .desktop-nav .nav-item:first-child .nav-link,
  .desktop-nav .nav-item:first-child .nav-toggle {
    padding-left:0 !important;
  }
}



/* =========================================================
   FINAL SIZE / SPACING REFINEMENT
   ========================================================= */

/* Main menu: a little more breathing room and larger labels */
.desktop-nav {
  justify-content:flex-start !important;
  gap:14px !important;
  padding:0 !important;
}

.nav-link,
.nav-toggle {
  padding-left:18px !important;
  padding-right:18px !important;
  font-size:13px !important;
  letter-spacing:.055em !important;
  font-weight:700 !important;
}

.nav-link::after,
.nav-toggle::after {
  left:18px !important;
  right:18px !important;
}

/* First menu item remains aligned to the left edge */
.desktop-nav .nav-item:first-child .nav-link,
.desktop-nav .nav-item:first-child .nav-toggle {
  padding-left:0 !important;
}

.desktop-nav .nav-item:first-child .nav-link::after,
.desktop-nav .nav-item:first-child .nav-toggle::after {
  left:0 !important;
}

/* Top utility row: reduce the whole icon/text group slightly */
.utility-links a,
.utility-links a.utility-social,
.utility-links a.utility-social:first-child {
  width:165px !important;
  min-width:165px !important;
  height:96px !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
}

/* Identical icon stage for ALL six items */
.utility-links a svg,
.utility-links a.utility-social svg,
.utility-links a.utility-social:first-child svg {
  display:block !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  min-height:26px !important;
  flex:0 0 26px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  align-self:center !important;
}

/* Identical text stage */
.utility-links a span,
.utility-links a.utility-social span,
.utility-links a.utility-social:first-child span {
  display:block !important;
  width:100% !important;
  height:12px !important;
  min-height:12px !important;
  flex:0 0 12px !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  line-height:12px !important;
  font-size:9px !important;
  letter-spacing:.11em !important;
  font-weight:700 !important;
}

/* Slight visual compensation for the Facebook glyph only.
   Its SVG box remains identical; the artwork is scaled inside it. */
.utility-links a.utility-social:first-child svg {
  transform:scale(.88) !important;
  transform-origin:center !important;
}

/* Laptop */
@media (max-width:1250px) and (min-width:981px) {
  .desktop-nav {
    gap:9px !important;
  }

  .nav-link,
  .nav-toggle {
    padding-left:15px !important;
    padding-right:15px !important;
    font-size:12px !important;
  }

  .nav-link::after,
  .nav-toggle::after {
    left:15px !important;
    right:15px !important;
  }

  .desktop-nav .nav-item:first-child .nav-link,
  .desktop-nav .nav-item:first-child .nav-toggle {
    padding-left:0 !important;
  }

  .desktop-nav .nav-item:first-child .nav-link::after,
  .desktop-nav .nav-item:first-child .nav-toggle::after {
    left:0 !important;
  }

  .utility-links a,
  .utility-links a.utility-social,
  .utility-links a.utility-social:first-child {
    width:145px !important;
    min-width:145px !important;
  }
}

/* Wide screens */
@media (min-width:1400px) {
  .desktop-nav {
    gap:16px !important;
  }

  .nav-link,
  .nav-toggle {
    padding-left:20px !important;
    padding-right:20px !important;
    font-size:13px !important;
  }

  .nav-link::after,
  .nav-toggle::after {
    left:20px !important;
    right:20px !important;
  }

  .desktop-nav .nav-item:first-child .nav-link,
  .desktop-nav .nav-item:first-child .nav-toggle {
    padding-left:0 !important;
  }

  .desktop-nav .nav-item:first-child .nav-link::after,
  .desktop-nav .nav-item:first-child .nav-toggle::after {
    left:0 !important;
  }
}



/* Both Instagram tiles now use the same icon geometry */
.utility-links a.utility-social:first-child svg {
  transform:none !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
}



/* Exact top-bar alignment: Instagram now follows the same box model as LinkedIn */
.utility-links > a,
.utility-links > a.utility-social,
.utility-links > a.utility-social:first-child {
  box-sizing:border-box !important;
  width:165px !important;
  min-width:165px !important;
  height:96px !important;
  padding:0 !important;
  margin:0 !important;

  display:grid !important;
  grid-template-rows:26px 12px !important;
  grid-template-columns:1fr !important;
  align-content:center !important;
  justify-content:center !important;
  justify-items:center !important;
  row-gap:7px !important;
}

.utility-links > a svg,
.utility-links > a.utility-social svg,
.utility-links > a.utility-social:first-child svg {
  grid-row:1 !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  min-height:26px !important;
  max-width:26px !important;
  max-height:26px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  align-self:center !important;
  justify-self:center !important;
  display:block !important;
  overflow:visible !important;

  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.utility-links > a span,
.utility-links > a.utility-social span,
.utility-links > a.utility-social:first-child span {
  grid-row:2 !important;
  width:100% !important;
  height:12px !important;
  min-height:12px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  text-align:center !important;
  align-self:center !important;
  justify-self:center !important;
  font-size:9px !important;
  line-height:12px !important;
  letter-spacing:.11em !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

/* Laptop width remains compact, but geometry stays identical */
@media (max-width:1250px) and (min-width:981px) {
  .utility-links > a,
  .utility-links > a.utility-social,
  .utility-links > a.utility-social:first-child {
    width:145px !important;
    min-width:145px !important;
  }
}



/* =========================================================
   TOP ACTION TILES — EXACT MATCHING GEOMETRY
   Shoutouts / Shop / Register now share the same dimensions,
   icon stage, text stage, borders, hover and spacing.
   ========================================================= */

.utility-links {
  display:flex !important;
  align-items:stretch !important;
  height:96px !important;
}

.utility-links > a {
  box-sizing:border-box !important;
  width:150px !important;
  min-width:150px !important;
  height:96px !important;
  margin:0 !important;
  padding:0 !important;

  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:28px 12px !important;
  align-content:center !important;
  justify-content:center !important;
  justify-items:center !important;
  row-gap:8px !important;

  border-left:1px solid rgba(120,0,0,.18) !important;
  background:transparent !important;
  color:#fff !important;

  font-size:9px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;

  transition:
    background-color .2s ease,
    color .2s ease !important;
}

.utility-links > a:last-child {
  border-right:1px solid rgba(120,0,0,.18) !important;
}

.utility-links > a svg {
  grid-row:1 !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  max-width:28px !important;
  max-height:28px !important;

  display:block !important;
  margin:0 !important;
  padding:0 !important;

  align-self:center !important;
  justify-self:center !important;

  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;

  transform:none !important;
}

.utility-links > a span {
  grid-row:2 !important;
  width:100% !important;
  height:12px !important;
  min-height:12px !important;
  max-height:12px !important;

  display:block !important;
  margin:0 !important;
  padding:0 !important;

  align-self:center !important;
  justify-self:center !important;

  text-align:center !important;
  font-size:9px !important;
  line-height:12px !important;
  font-weight:700 !important;
  letter-spacing:.11em !important;
  white-space:nowrap !important;
}

.utility-links > a:hover,
.utility-links > a:focus-visible {
  background:#d71920 !important;
  color:#fff !important;
}

.utility-links > a:focus-visible {
  outline:2px solid #fff !important;
  outline-offset:-4px !important;
}

/* Keep the three tiles balanced on laptops too */
@media (max-width:1250px) and (min-width:981px) {
  .utility-links > a {
    width:138px !important;
    min-width:138px !important;
  }
}



/* Optical alignment correction for the megaphone.
   The TILE remains identical; only the drawing is centred inside its SVG. */
.utility-links > a svg.utility-icon-shoutouts {
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  transform-origin:center !important;
  align-self:center !important;
  justify-self:center !important;
}

/* Explicitly lock every utility tile to the exact same vertical geometry */
.utility-links > a {
  grid-template-rows:28px 12px !important;
  row-gap:8px !important;
  align-content:center !important;
}

.utility-links > a > svg {
  grid-row:1 !important;
  align-self:center !important;
}

.utility-links > a > span {
  grid-row:2 !important;
  align-self:center !important;
  line-height:12px !important;
}



/* ABSOLUTE ALIGNMENT FIX:
   All three top action tiles now use the exact same fixed icon and label positions. */
.utility-links > a {
  position:relative !important;
  display:block !important;
  width:150px !important;
  min-width:150px !important;
  height:96px !important;
  padding:0 !important;
  margin:0 !important;
}

.utility-links > a > svg,
.utility-links > a > svg.utility-icon-shoutouts {
  position:absolute !important;
  top:24px !important;
  left:50% !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  transform:translateX(-50%) !important;
  transform-origin:center !important;
  display:block !important;
}

.utility-links > a > span {
  position:absolute !important;
  top:62px !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:12px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:12px !important;
  text-align:center !important;
  display:block !important;
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.11em !important;
}

/* Remove any previous per-icon optical shifts */
.utility-links > a svg,
.utility-links > a.utility-social:first-child svg,
.utility-links > a > svg.utility-icon-shoutouts {
  translate:none !important;
}

/* Laptop keeps identical geometry, only narrower tiles */
@media (max-width:1250px) and (min-width:981px) {
  .utility-links > a {
    width:138px !important;
    min-width:138px !important;
  }
}



/* =========================================================
   MAIN MENU HOVER FIX
   Clean, reliable underline animation with no background shift.
   ========================================================= */

.desktop-nav .nav-item {
  position:relative !important;
}

.desktop-nav .nav-link,
.desktop-nav .nav-toggle {
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:48px !important;

  color:#fff !important;
  background:transparent !important;
  transform:none !important;

  padding-left:18px !important;
  padding-right:18px !important;

  transition:color .18s ease !important;
}

/* Reset all older underline rules first */
.desktop-nav .nav-link::after,
.desktop-nav .nav-toggle::after {
  content:"" !important;
  position:absolute !important;

  left:18px !important;
  right:auto !important;
  bottom:7px !important;

  width:calc(100% - 36px) !important;
  height:2px !important;

  background:#fff !important;
  border-radius:0 !important;

  transform:scaleX(0) !important;
  transform-origin:left center !important;

  opacity:1 !important;
  visibility:visible !important;

  transition:transform .30s cubic-bezier(.22,.61,.36,1) !important;
}

/* First menu item still aligns with left edge */
.desktop-nav .nav-item:first-child .nav-link,
.desktop-nav .nav-item:first-child .nav-toggle {
  padding-left:0 !important;
}

.desktop-nav .nav-item:first-child .nav-link::after,
.desktop-nav .nav-item:first-child .nav-toggle::after {
  left:0 !important;
  width:calc(100% - 18px) !important;
}

/* Hover / open / focus states */
.desktop-nav .nav-item:hover > .nav-link::after,
.desktop-nav .nav-item:hover > .nav-toggle::after,
.desktop-nav .nav-link:focus-visible::after,
.desktop-nav .nav-toggle:focus-visible::after,
.desktop-nav .nav-toggle[aria-expanded="true"]::after,
.desktop-nav .nav-link.active::after {
  transform:scaleX(1) !important;
}

/* Keep text unchanged on hover */
.desktop-nav .nav-item:hover > .nav-link,
.desktop-nav .nav-item:hover > .nav-toggle,
.desktop-nav .nav-link:focus-visible,
.desktop-nav .nav-toggle:focus-visible,
.desktop-nav .nav-toggle[aria-expanded="true"] {
  color:#fff !important;
  background:transparent !important;
}

/* Laptop */
@media (max-width:1250px) and (min-width:981px) {
  .desktop-nav .nav-link,
  .desktop-nav .nav-toggle {
    padding-left:15px !important;
    padding-right:15px !important;
  }

  .desktop-nav .nav-link::after,
  .desktop-nav .nav-toggle::after {
    left:15px !important;
    width:calc(100% - 30px) !important;
  }

  .desktop-nav .nav-item:first-child .nav-link,
  .desktop-nav .nav-item:first-child .nav-toggle {
    padding-left:0 !important;
  }

  .desktop-nav .nav-item:first-child .nav-link::after,
  .desktop-nav .nav-item:first-child .nav-toggle::after {
    left:0 !important;
    width:calc(100% - 15px) !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .desktop-nav .nav-link::after,
  .desktop-nav .nav-toggle::after {
    transition:none !important;
  }
}



/* =========================================================
   MAIN MENU — THICK BOTTOM LINE + 50% WIDTH CENTRED DROPDOWN
   ========================================================= */

/* Thicker underline sitting flush on the bottom edge */
.desktop-nav .nav-link::after,
.desktop-nav .nav-toggle::after {
  bottom:0 !important;
  height:4px !important;
  background:#fff !important;
}

/* Dropdown panel centred on the page at roughly 50% viewport width */
.dropdown {
  width:50vw !important;
  max-width:900px !important;
  min-width:620px !important;

  left:50% !important;
  right:auto !important;

  transform:translate(-50%, -14px) !important;
  transform-origin:top center !important;

  margin:0 !important;
}

/* Open / hover state */
.nav-item.open .dropdown,
.nav-item:hover .dropdown {
  transform:translate(-50%, 0) !important;
}

/* Keep the inner content centred within the panel */
.dropdown-inner {
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
  padding-left:34px !important;
  padding-right:34px !important;
}

/* Laptop sizing */
@media (max-width:1250px) and (min-width:981px) {
  .dropdown {
    width:56vw !important;
    min-width:560px !important;
    max-width:820px !important;
  }
}

/* Smaller screens continue to use the mobile/full-menu treatment */
@media (max-width:980px) {
  .dropdown {
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    left:auto !important;
    transform:none !important;
  }
}



/* Dropdown width updated to 85% */
.dropdown {
  width:85vw !important;
  max-width:none !important;
  min-width:0 !important;
  left:50% !important;
  right:auto !important;
  transform:translate(-50%, -14px) !important;
}

.nav-item.open .dropdown,
.nav-item:hover .dropdown {
  transform:translate(-50%, 0) !important;
}

@media (max-width:1250px) and (min-width:981px) {
  .dropdown {
    width:85vw !important;
    max-width:none !important;
    min-width:0 !important;
  }
}



/* TRUE VIEWPORT-CENTRED DROPDOWNS
   The dropdown lives inside each nav item, so left:50% was centring it
   against that menu item. These rules offset from the nav item's centre
   back to the actual viewport centre. */
@media (min-width:981px) {
  .desktop-nav .nav-item {
    position:static !important;
  }

  .mcfc-nav-inner {
    position:relative !important;
  }

  .desktop-nav .dropdown {
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;

    width:85vw !important;
    max-width:85vw !important;
    min-width:0 !important;

    margin:0 !important;
    transform:translate(-50%, -14px) !important;
    transform-origin:top center !important;
  }

  .desktop-nav .nav-item:hover > .dropdown,
  .desktop-nav .nav-item.open > .dropdown {
    transform:translate(-50%, 0) !important;
  }
}



/* =========================================================
   DROPDOWN ALIGNMENT
   Left edge begins directly beneath the Club Information link.
   The panel then extends to the right, capped inside the viewport.
   ========================================================= */
@media (min-width:981px) {
  .desktop-nav .nav-item {
    position:relative !important;
  }

  /* Club Information is the first dropdown item.
     Its dropdown starts at the left edge of that menu item. */
  .desktop-nav .nav-item:first-child .dropdown {
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:auto !important;

    width:85vw !important;
    max-width:calc(100vw - 40px) !important;
    min-width:0 !important;

    margin:0 !important;
    transform:translateY(-14px) !important;
    transform-origin:top left !important;
  }

  .desktop-nav .nav-item:first-child:hover > .dropdown,
  .desktop-nav .nav-item:first-child.open > .dropdown {
    transform:translateY(0) !important;
  }
}



/* =========================================================
   DROPDOWN — TRUE PAGE CENTRE / 90% VIEWPORT WIDTH
   Overrides the previous Club Information left-edge rule.
   ========================================================= */
@media (min-width:981px) {

  /* Make the nav bar itself the positioning reference */
  .mcfc-nav {
    position:sticky !important;
  }

  .mcfc-nav-inner {
    position:relative !important;
  }

  /* Do not position the dropdown relative to Club Information */
  .desktop-nav .nav-item,
  .desktop-nav .nav-item:first-child {
    position:static !important;
  }

  /* All desktop dropdowns: exactly 90vw and centred on viewport */
  .desktop-nav .dropdown,
  .desktop-nav .nav-item:first-child .dropdown {
    position:absolute !important;
    top:100% !important;

    width:90vw !important;
    max-width:90vw !important;
    min-width:0 !important;

    left:50% !important;
    right:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;

    transform:translateX(-50%) translateY(-14px) !important;
    transform-origin:top center !important;
  }

  .desktop-nav .nav-item:hover > .dropdown,
  .desktop-nav .nav-item.open > .dropdown,
  .desktop-nav .nav-item:first-child:hover > .dropdown,
  .desktop-nav .nav-item:first-child.open > .dropdown {
    transform:translateX(-50%) translateY(0) !important;
  }
}



/* =========================================================
   WHITE DESKTOP DROPDOWNS
   ========================================================= */
@media (min-width:981px) {
  .desktop-nav .dropdown {
    background:#fff !important;
    color:#111 !important;
    border:1px solid #e3e3e3 !important;
    border-top:0 !important;
    box-shadow:none !important;
  }

  .desktop-nav .dropdown-inner {
    background:#fff !important;
    color:#111 !important;
  }

  /* Small section label stays MCFC red */
  .desktop-nav .dropdown-title {
    color:#ed1d24 !important;
  }

  /* Main dropdown headings */
  .desktop-nav .dropdown-heading {
    color:#111 !important;
  }

  /* Supporting text */
  .desktop-nav .dropdown-intro {
    color:#555 !important;
  }

  /* Standard dropdown links */
  .desktop-nav .club-links a {
    color:#111 !important;
    background:transparent !important;
    border-bottom:1px solid #e5e5e5 !important;
  }

  .desktop-nav .club-links a span:last-child {
    color:#ed1d24 !important;
  }

  .desktop-nav .club-links a:hover,
  .desktop-nav .club-links a:focus-visible {
    color:#ed1d24 !important;
    background:transparent !important;
  }

  /* Team / feature cards */
  .desktop-nav .teams-links a {
    background:#fff !important;
    color:#111 !important;
    border:1px solid #dedede !important;
  }

  .desktop-nav .teams-links a:hover,
  .desktop-nav .teams-links a:focus-visible {
    background:#ed1d24 !important;
    color:#fff !important;
    border-color:#ed1d24 !important;
  }

  /* Any generic links inside dropdown */
  .desktop-nav .dropdown a {
    transition:
      color .2s ease,
      background-color .2s ease,
      border-color .2s ease,
      transform .25s cubic-bezier(.22,.61,.36,1) !important;
  }
}



/* Hide lower-header Register CTA and hamburger/menu icon */
.join-btn,
.menu-btn {
  display:none !important;
}

/* Remove the unused action space so the main navigation can use the width */
.nav-actions {
  display:none !important;
}

@media (min-width:981px) {
  .mcfc-wrap.mcfc-nav-inner {
    grid-template-columns:1fr !important;
  }
}



/* =========================================================
   DESKTOP/LAPTOP DROPDOWN ALIGNMENT
   The dropdown always begins on the same vertical line as
   CLUB INFORMATION and is balanced across the screen.
   ========================================================= */
@media (min-width:981px) {

  /* Main lower navigation uses a consistent left gutter */
  .mcfc-wrap.mcfc-nav-inner {
    --mcfc-menu-left: 22px;
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    padding-left:var(--mcfc-menu-left) !important;
    padding-right:var(--mcfc-menu-left) !important;
    grid-template-columns:1fr !important;
  }

  .desktop-nav {
    position:static !important;
    width:100% !important;
    justify-content:flex-start !important;
    padding:0 !important;
  }

  .desktop-nav .nav-item {
    position:static !important;
  }

  /* First item starts exactly on our master left gutter */
  .desktop-nav .nav-item:first-child .nav-link,
  .desktop-nav .nav-item:first-child .nav-toggle {
    padding-left:0 !important;
  }

  /*
     Dropdown:
     - left edge = Club Information left edge
     - right edge = same distance from right side
     This makes it visually centred while preserving the requested start point.
  */
  .desktop-nav .dropdown,
  .desktop-nav .nav-item:first-child .dropdown {
    position:absolute !important;
    top:100% !important;

    left:var(--mcfc-menu-left) !important;
    right:var(--mcfc-menu-left) !important;

    width:auto !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;

    transform:translateY(-14px) !important;
    transform-origin:top center !important;
  }

  .desktop-nav .nav-item:hover > .dropdown,
  .desktop-nav .nav-item.open > .dropdown {
    transform:translateY(0) !important;
  }
}

/* Laptop gets the same alignment principle with a slightly tighter gutter */
@media (min-width:981px) and (max-width:1536px) {
  .mcfc-wrap.mcfc-nav-inner {
    --mcfc-menu-left: 20px;
  }
}

/* Larger desktop: a little more breathing room without changing alignment */
@media (min-width:1537px) {
  .mcfc-wrap.mcfc-nav-inner {
    --mcfc-menu-left: 28px;
  }
}



/* Sticky mini crest that appears after the upper bar scrolls away */
.sticky-mini-logo { display:none; }

@media (min-width:981px) {
  .mcfc-nav-inner { overflow:visible !important; }

  .sticky-mini-logo {
    position:absolute;
    left:var(--mcfc-menu-left);
    top:50%;
    z-index:30;
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    transform:translate(-16px,-50%);
    transition:
      opacity .24s ease,
      transform .38s cubic-bezier(.22,.61,.36,1);
  }

  .sticky-mini-logo img {
    width:52px;
    height:auto;
    display:block;
  }

  .mcfc-nav.show-mini-logo .sticky-mini-logo {
    opacity:1;
    pointer-events:auto;
    transform:translate(0,-32%);
  }

  .desktop-nav {
    transition:padding-left .38s cubic-bezier(.22,.61,.36,1);
  }

  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:68px !important;
  }

  /* Keep dropdown lined up with Club Information after the crest slides in */
  .mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:calc(var(--mcfc-menu-left) + 68px) !important;
    right:var(--mcfc-menu-left) !important;
  }
}

@media (min-width:981px) and (max-width:1536px) {
  .sticky-mini-logo {
    width:48px;
    height:48px;
  }

  .sticky-mini-logo img { width:48px; }

  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:62px !important;
  }

  .mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:calc(var(--mcfc-menu-left) + 62px) !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .sticky-mini-logo,
  .desktop-nav { transition:none !important; }
}



/* Smoother sticky crest entrance:
   visible from the first frame of movement, sliding in from the left. */
@media (min-width:981px) {
  .sticky-mini-logo {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none;

    /* Begin just outside the left edge, already visible enough to track */
    transform:translate(-72px,-32%) !important;

    transition:
      transform .5s cubic-bezier(.22,.61,.36,1),
      opacity .2s ease !important;
  }

  .sticky-mini-logo img {
    width:52px !important;
    height:auto !important;
    display:block !important;
  }

  .mcfc-nav.show-mini-logo .sticky-mini-logo {
    pointer-events:auto;
    transform:translate(0,-32%) !important;
  }

  .desktop-nav {
    transition:padding-left .5s cubic-bezier(.22,.61,.36,1) !important;
  }

  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:68px !important;
  }
}

@media (min-width:981px) and (max-width:1536px) {
  .sticky-mini-logo {
    transform:translate(-66px,-32%) !important;
  }

  .sticky-mini-logo img {
    width:48px !important;
  }

  .mcfc-nav.show-mini-logo .sticky-mini-logo {
    transform:translate(0,-32%) !important;
  }

  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:62px !important;
  }
}



/* Sticky crest remains fully off-screen until the top utility bar has gone.
   Once triggered, it slides smoothly into view from the left. */
@media (min-width:981px) {
  .sticky-mini-logo {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;

    /* Fully off-screen before trigger */
    transform:translate(-140px,-32%) !important;

    transition:
      transform .5s cubic-bezier(.22,.61,.36,1) !important;
  }

  .mcfc-nav.show-mini-logo .sticky-mini-logo {
    pointer-events:auto !important;
    transform:translate(0,-32%) !important;
  }

  /* Menu only shifts once the top bar has disappeared */
  .desktop-nav {
    transition:padding-left .5s cubic-bezier(.22,.61,.36,1) !important;
  }

  .mcfc-nav:not(.show-mini-logo) .desktop-nav {
    padding-left:0 !important;
  }

  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:68px !important;
  }
}

@media (min-width:981px) and (max-width:1536px) {
  .sticky-mini-logo {
    transform:translate(-130px,-32%) !important;
  }

  .mcfc-nav.show-mini-logo .sticky-mini-logo {
    transform:translate(0,-32%) !important;
  }

  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:62px !important;
  }
}



/* Give the main navigation more breathing room from the crest
   after the sticky logo has slid into position. */
@media (min-width:1537px) {
  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:92px !important;
  }

  /* Keep dropdown aligned with the shifted Club Information item */
  .mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:calc(var(--mcfc-menu-left) + 92px) !important;
    right:var(--mcfc-menu-left) !important;
  }
}

@media (min-width:981px) and (max-width:1536px) {
  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:82px !important;
  }

  .mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:calc(var(--mcfc-menu-left) + 82px) !important;
    right:var(--mcfc-menu-left) !important;
  }
}



/* =========================================================
   DROPDOWN — EQUAL LEFT / RIGHT MARGINS
   When the sticky crest appears, Club Information moves right.
   The dropdown starts exactly in line with Club Information,
   and now uses that SAME measurement on the right-hand side.
   ========================================================= */
@media (min-width:1537px) {
  .mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:calc(var(--mcfc-menu-left) + 92px) !important;
    right:calc(var(--mcfc-menu-left) + 92px) !important;
    width:auto !important;
    max-width:none !important;
  }
}

@media (min-width:981px) and (max-width:1536px) {
  .mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:calc(var(--mcfc-menu-left) + 82px) !important;
    right:calc(var(--mcfc-menu-left) + 82px) !important;
    width:auto !important;
    max-width:none !important;
  }
}

/* Before the sticky crest arrives, keep both sides equal too */
@media (min-width:981px) {
  .mcfc-nav:not(.show-mini-logo) .desktop-nav .dropdown {
    left:var(--mcfc-menu-left) !important;
    right:var(--mcfc-menu-left) !important;
    width:auto !important;
    max-width:none !important;
  }
}



/* =========================================================
   STICKY QUICK ACTIONS
   Shoutouts, Shop and Register drop into the sticky bar
   when the crest slides in. Each arrives with a slight delay.
   ========================================================= */

.sticky-actions {
  display:none;
}

@media (min-width:981px) {
  .sticky-actions {
    position:absolute;
    right:var(--mcfc-menu-left);
    top:0;
    bottom:0;
    z-index:25;

    display:flex;
    align-items:stretch;
    justify-content:flex-end;

    pointer-events:none;
  }

  .sticky-actions .sticky-action-tile {
    position:relative !important;
    width:62px !important;
    min-width:62px !important;
    height:48px !important;
    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-left:1px solid rgba(120,0,0,.18) !important;
    background:#ed1d24 !important;
    color:#fff !important;

    opacity:0;
    transform:translateY(-58px);

    transition:
      transform .42s cubic-bezier(.22,.61,.36,1),
      opacity .18s ease,
      background-color .18s ease !important;
  }

  .sticky-actions .sticky-action-tile:last-child {
    border-right:1px solid rgba(120,0,0,.18) !important;
  }

  /* Icons only in the compact sticky bar */
  .sticky-actions .sticky-action-tile svg {
    position:static !important;
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    max-width:22px !important;
    max-height:22px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;

    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .sticky-actions .sticky-action-tile span {
    display:none !important;
  }

  .sticky-actions .sticky-action-tile:hover,
  .sticky-actions .sticky-action-tile:focus-visible {
    background:#d71920 !important;
    color:#fff !important;
  }

  /* Trigger at same moment as the sticky crest */
  .mcfc-nav.show-mini-logo .sticky-actions {
    pointer-events:auto;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile {
    opacity:1;
    transform:translateY(0);
  }

  /* Stagger the three drops */
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(1) {
    transition-delay:.10s;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(2) {
    transition-delay:.18s;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(3) {
    transition-delay:.26s;
  }

  /* On reverse scroll, leave promptly instead of waiting for delays */
  .mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    transition-delay:0s !important;
  }

  /* Reserve space at the right so menu text cannot run beneath the icons */
  .desktop-nav {
    padding-right:210px !important;
  }

  /* Dropdown still keeps equal left/right margins based on Club Information.
     The floating icons do not affect its width. */
}

@media (min-width:981px) and (max-width:1250px) {
  .sticky-actions .sticky-action-tile {
    width:54px !important;
    min-width:54px !important;
  }

  .sticky-actions .sticky-action-tile svg {
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
  }

  .desktop-nav {
    padding-right:174px !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .sticky-actions .sticky-action-tile {
    transition:none !important;
  }
}



/* Fix sticky Shoutouts tile: white icon, no text */
@media (min-width:981px) {
  .sticky-actions .sticky-action-tile,
  .sticky-actions .sticky-action-tile:visited {
    color:#fff !important;
  }

  .sticky-actions .sticky-action-tile svg,
  .sticky-actions .sticky-action-tile svg *,
  .sticky-actions .sticky-action-tile:first-child svg,
  .sticky-actions .sticky-action-tile:first-child svg * {
    stroke:#fff !important;
    fill:none !important;
    color:#fff !important;
  }

  .sticky-actions .sticky-action-tile span,
  .sticky-actions .sticky-action-tile:first-child span {
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
  }
}



/* =========================================================
   FINAL STICKY ACTIONS FIX
   - icon only
   - all icons white
   - genuine staggered drop-in animation
   ========================================================= */
@media (min-width:981px) {
  .sticky-actions {
    position:absolute !important;
    right:var(--mcfc-menu-left) !important;
    top:0 !important;
    bottom:0 !important;
    z-index:25 !important;

    display:flex !important;
    align-items:stretch !important;
    justify-content:flex-end !important;

    pointer-events:none !important;
  }

  .sticky-actions .sticky-action-tile {
    position:relative !important;
    width:62px !important;
    min-width:62px !important;
    height:48px !important;

    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-left:1px solid rgba(120,0,0,.18) !important;
    background:#ed1d24 !important;
    color:#fff !important;

    opacity:0 !important;
    transform:translateY(-64px) !important;

    transition:none !important;
    animation:none !important;
  }

  .sticky-actions .sticky-action-tile:last-child {
    border-right:1px solid rgba(120,0,0,.18) !important;
  }

  .sticky-actions .sticky-action-tile svg {
    display:block !important;
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;

    margin:0 !important;
    padding:0 !important;

    stroke:#fff !important;
    fill:none !important;
    color:#fff !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;

    transform:none !important;
  }

  .sticky-actions .sticky-action-tile svg * {
    stroke:#fff !important;
    fill:none !important;
  }

  /* There is deliberately NO visible text inside these sticky tiles. */
  .sticky-actions .sticky-action-tile span {
    display:none !important;
  }

  .mcfc-nav.show-mini-logo .sticky-actions {
    pointer-events:auto !important;
  }

  @keyframes mcfcStickyActionDrop {
    0% {
      opacity:0;
      transform:translateY(-64px);
    }
    100% {
      opacity:1;
      transform:translateY(0);
    }
  }

  .mcfc-nav.show-mini-logo .sticky-action-shoutouts {
    animation:mcfcStickyActionDrop .42s cubic-bezier(.22,.61,.36,1) .10s forwards !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-shop {
    animation:mcfcStickyActionDrop .42s cubic-bezier(.22,.61,.36,1) .24s forwards !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-register {
    animation:mcfcStickyActionDrop .42s cubic-bezier(.22,.61,.36,1) .38s forwards !important;
  }

  .sticky-actions .sticky-action-tile:hover,
  .sticky-actions .sticky-action-tile:focus-visible {
    background:#d71920 !important;
    color:#fff !important;
  }

  /* Reset immediately when scrolling back up, ready for next entrance. */
  .mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    animation:none !important;
    opacity:0 !important;
    transform:translateY(-64px) !important;
  }
}

@media (min-width:981px) and (max-width:1250px) {
  .sticky-actions .sticky-action-tile {
    width:54px !important;
    min-width:54px !important;
  }

  .sticky-actions .sticky-action-tile svg {
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .mcfc-nav.show-mini-logo .sticky-action-shoutouts,
  .mcfc-nav.show-mini-logo .sticky-action-shop,
  .mcfc-nav.show-mini-logo .sticky-action-register {
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}



/* =========================================================
   STICKY ACTIONS — VISIBILITY + TRUE STAGGER FIX
   Previous keyframes were being blocked by !important base values.
   This uses direct transitions with individual delays instead.
   ========================================================= */
@media (min-width:981px) {

  .sticky-actions {
    display:flex !important;
    position:absolute !important;
    right:var(--mcfc-menu-left) !important;
    top:0 !important;
    bottom:0 !important;
    z-index:60 !important;
    align-items:stretch !important;
    justify-content:flex-end !important;
    overflow:visible !important;
    pointer-events:none !important;
  }

  .sticky-actions .sticky-action-tile {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:62px !important;
    min-width:62px !important;
    height:48px !important;

    margin:0 !important;
    padding:0 !important;

    background:#ed1d24 !important;
    color:#fff !important;

    border-left:1px solid rgba(120,0,0,.18) !important;

    opacity:0 !important;
    transform:translateY(-58px) !important;

    animation:none !important;

    transition:
      transform .42s cubic-bezier(.22,.61,.36,1),
      opacity .22s ease,
      background-color .18s ease !important;

    transition-delay:0s !important;
  }

  .sticky-actions .sticky-action-tile:last-child {
    border-right:1px solid rgba(120,0,0,.18) !important;
  }

  /* Icon-only sticky buttons */
  .sticky-actions .sticky-action-tile svg {
    display:block !important;
    position:static !important;

    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;

    margin:0 !important;
    padding:0 !important;

    color:#fff !important;
    stroke:#fff !important;
    fill:none !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;

    transform:none !important;
  }

  .sticky-actions .sticky-action-tile svg * {
    stroke:#fff !important;
    fill:none !important;
  }

  .sticky-actions .sticky-action-tile span {
    display:none !important;
  }

  /* Show when the same trigger that brings in the crest fires */
  .mcfc-nav.show-mini-logo .sticky-actions {
    pointer-events:auto !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile {
    opacity:1 !important;
    transform:translateY(0) !important;
  }

  /* Clearly visible stagger */
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(1) {
    transition-delay:.12s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(2) {
    transition-delay:.30s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(3) {
    transition-delay:.48s !important;
  }

  /* No delay when scrolling back up */
  .mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    transition-delay:0s !important;
  }

  .sticky-actions .sticky-action-tile:hover,
  .sticky-actions .sticky-action-tile:focus-visible {
    background:#d71920 !important;
    color:#fff !important;
  }
}

@media (min-width:981px) and (max-width:1250px) {
  .sticky-actions .sticky-action-tile {
    width:54px !important;
    min-width:54px !important;
  }

  .sticky-actions .sticky-action-tile svg {
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .mcfc-nav.show-mini-logo .sticky-action-tile {
    transition:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}



/* =========================================================
   STICKY ACTIONS — VERTICAL DROP-IN
   Each icon now starts above the sticky bar and physically
   drops down into position, one after another.
   ========================================================= */
@media (min-width:981px) {

  .sticky-actions {
    overflow:visible !important;
  }

  .sticky-actions .sticky-action-tile {
    opacity:0 !important;
    transform:translateY(-82px) !important;

    transition:
      transform .58s cubic-bezier(.18,.89,.32,1.18),
      opacity .12s linear,
      background-color .18s ease !important;

    transition-delay:0s !important;
    will-change:transform, opacity;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile {
    opacity:1 !important;
    transform:translateY(0) !important;
  }

  /* Staggered physical drop */
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(1) {
    transition-delay:.10s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(2) {
    transition-delay:.28s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(3) {
    transition-delay:.46s !important;
  }

  /* Reset immediately above the bar when scrolling back up */
  .mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    opacity:0 !important;
    transform:translateY(-82px) !important;
    transition-delay:0s !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .sticky-actions .sticky-action-tile,
  .mcfc-nav.show-mini-logo .sticky-action-tile {
    transition:none !important;
    transform:none !important;
  }
}



/* =========================================================
   STICKY ACTIONS — PURE DROP, NO FADE
   Icons remain fully opaque throughout the animation and
   travel down from above the sticky bar.
   ========================================================= */
@media (min-width:981px) {

  .sticky-actions {
    overflow:visible !important;
  }

  .sticky-actions .sticky-action-tile {
    opacity:1 !important;
    visibility:visible !important;

    /* Start completely above the sticky bar */
    transform:translateY(-110px) !important;

    transition-property:transform, background-color !important;
    transition-duration:.56s, .18s !important;
    transition-timing-function:cubic-bezier(.20,.90,.30,1.12), ease !important;
    transition-delay:0s, 0s !important;

    will-change:transform;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile {
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
  }

  /* Clear stagger between each physical drop */
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(1) {
    transition-delay:.08s, 0s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(2) {
    transition-delay:.30s, 0s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(3) {
    transition-delay:.52s, 0s !important;
  }

  /* On scroll back up, move them straight back above the bar */
  .mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(-110px) !important;
    transition-delay:0s, 0s !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .sticky-actions .sticky-action-tile,
  .mcfc-nav.show-mini-logo .sticky-action-tile {
    transition:none !important;
  }
}



/* =========================================================
   STICKY BAR — +15PX HEIGHT
   Original sticky navigation height increased by 15px.
   The crest keeps its overlap and the drop-in action icons
   are vertically centred in the thicker bar.
   ========================================================= */
@media (min-width:981px) {
  .mcfc-nav {
    --sticky-extra-height:15px;
  }

  .mcfc-nav .mcfc-nav-inner {
    min-height:calc(var(--nav-h) + var(--sticky-extra-height)) !important;
  }

  .mcfc-nav .desktop-nav {
    height:calc(var(--nav-h) + var(--sticky-extra-height)) !important;
  }

  .mcfc-nav .nav-item,
  .mcfc-nav .nav-link,
  .mcfc-nav .nav-toggle {
    height:calc(var(--nav-h) + var(--sticky-extra-height)) !important;
  }

  /* Keep the compact sticky actions centred in the taller bar */
  .sticky-actions {
    top:50% !important;
    bottom:auto !important;
    height:48px !important;
    transform:translateY(-50%) !important;
  }

  /* Keep mini crest vertically balanced while retaining bottom overlap */
  .sticky-mini-logo {
    top:50% !important;
  }

  .mcfc-nav.show-mini-logo .sticky-mini-logo {
    transform:translate(0,-27%) !important;
  }

  .mcfc-nav:not(.show-mini-logo) .sticky-mini-logo {
    transform:translate(-140px,-27%) !important;
  }
}

@media (min-width:981px) and (max-width:1536px) {
  .mcfc-nav:not(.show-mini-logo) .sticky-mini-logo {
    transform:translate(-130px,-27%) !important;
  }

  .mcfc-nav.show-mini-logo .sticky-mini-logo {
    transform:translate(0,-27%) !important;
  }
}



/* =========================================================
   STICKY BAR FINAL SIZE / CREST OVERLAP
   - Sticky bar reduced by 5px from previous version
   - Crest enlarged
   - Crest overlaps bottom edge by exactly 10px
   ========================================================= */
@media (min-width:981px) {
  .mcfc-nav {
    --sticky-extra-height:10px !important;
  }

  .mcfc-nav .mcfc-nav-inner {
    min-height:calc(var(--nav-h) + 10px) !important;
  }

  .mcfc-nav .desktop-nav,
  .mcfc-nav .nav-item,
  .mcfc-nav .nav-link,
  .mcfc-nav .nav-toggle {
    height:calc(var(--nav-h) + 10px) !important;
  }

  /* Larger sticky crest */
  .sticky-mini-logo {
    top:auto !important;
    bottom:-10px !important;
    width:62px !important;
    height:62px !important;
  }

  .sticky-mini-logo img {
    width:62px !important;
    height:auto !important;
    max-height:none !important;
  }

  /* Offscreen until top bar has disappeared */
  .mcfc-nav:not(.show-mini-logo) .sticky-mini-logo {
    transform:translateX(-150px) !important;
  }

  /* Final position: exactly 10px below sticky bar */
  .mcfc-nav.show-mini-logo .sticky-mini-logo {
    transform:translateX(0) !important;
  }

  /* Keep menu comfortably clear of larger crest */
  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:102px !important;
  }

  /* Keep dropdown margins equal after menu shift */
  .mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:calc(var(--mcfc-menu-left) + 102px) !important;
    right:calc(var(--mcfc-menu-left) + 102px) !important;
    width:auto !important;
  }
}

@media (min-width:981px) and (max-width:1536px) {
  .sticky-mini-logo {
    width:58px !important;
    height:58px !important;
    bottom:-10px !important;
  }

  .sticky-mini-logo img {
    width:58px !important;
  }

  .mcfc-nav:not(.show-mini-logo) .sticky-mini-logo {
    transform:translateX(-145px) !important;
  }

  .mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:94px !important;
  }

  .mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:calc(var(--mcfc-menu-left) + 94px) !important;
    right:calc(var(--mcfc-menu-left) + 94px) !important;
  }
}



/* Sticky bar reduced by another 10px: back to original nav height.
   Larger crest and 10px bottom overlap remain unchanged. */
@media (min-width:981px) {
  .mcfc-nav {
    --sticky-extra-height:0px !important;
  }

  .mcfc-nav .mcfc-nav-inner {
    min-height:var(--nav-h) !important;
  }

  .mcfc-nav .desktop-nav,
  .mcfc-nav .nav-item,
  .mcfc-nav .nav-link,
  .mcfc-nav .nav-toggle {
    height:var(--nav-h) !important;
  }

  .sticky-mini-logo {
    bottom:-10px !important;
  }

  /* Keep drop-in actions vertically centred in the slimmer bar */
  .sticky-actions {
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
  }
}



/* =========================================================
   DEFINITIVE STICKY BAR HEIGHT
   Explicit 58px desktop height so older --nav-h rules cannot
   keep the bar at its previous size.
   ========================================================= */
@media (min-width:981px) {
  .mcfc-nav,
  .mcfc-nav .mcfc-nav-inner,
  .mcfc-nav .desktop-nav,
  .mcfc-nav .nav-item,
  .mcfc-nav .nav-link,
  .mcfc-nav .nav-toggle {
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;
  }

  .mcfc-nav {
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .mcfc-nav .mcfc-nav-inner {
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  /* Keep the enlarged crest hanging exactly 10px below */
  .sticky-mini-logo {
    bottom:-10px !important;
  }

  /* Centre the three drop-in icons in the now smaller bar */
  .sticky-actions {
    top:5px !important;
    bottom:auto !important;
    height:48px !important;
    transform:none !important;
  }

  .sticky-actions .sticky-action-tile {
    height:48px !important;
  }

  /* Thick white menu underline remains flush with the new bottom */
  .desktop-nav .nav-link::after,
  .desktop-nav .nav-toggle::after {
    bottom:0 !important;
  }
}



/* =========================================================
   STICKY CREST + ACTION ANIMATION FINAL FIX
   1. Crest gets 5px top breathing room in sticky bar.
   2. Action icons genuinely drop from above.
   3. Sticky action icons are completely hidden when top bar
      is visible, so they cannot bleed into the upper header.
   ========================================================= */
@media (min-width:981px) {

  /* Crest: 5px down from its previous sticky position,
     while preserving the intended bottom overlap. */
  .sticky-mini-logo {
    bottom:-15px !important;
  }

  /* The sticky action container itself is clipped/hidden until triggered. */
  .sticky-actions {
    top:0 !important;
    bottom:auto !important;
    height:58px !important;
    transform:none !important;
    overflow:visible !important;
  }

  /* IMPORTANT: hide the entire sticky action group before trigger.
     This prevents any icons appearing in the top utility bar on scroll-up. */
  .mcfc-nav:not(.show-mini-logo) .sticky-actions {
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .mcfc-nav.show-mini-logo .sticky-actions {
    visibility:visible !important;
    pointer-events:auto !important;
  }

  /* Each button starts a full button-height ABOVE the sticky bar.
     No opacity animation: this is movement only. */
  .sticky-actions .sticky-action-tile {
    position:relative !important;
    top:0 !important;

    opacity:1 !important;
    visibility:inherit !important;

    transform:translateY(-72px) !important;

    transition-property:transform, background-color !important;
    transition-duration:.52s, .18s !important;
    transition-timing-function:cubic-bezier(.20,.80,.25,1), ease !important;
    transition-delay:0s, 0s !important;

    will-change:transform;
  }

  /* Genuine staggered drop into the bar */
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(1) {
    transform:translateY(5px) !important;
    transition-delay:.08s, 0s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(2) {
    transform:translateY(5px) !important;
    transition-delay:.30s, 0s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(3) {
    transform:translateY(5px) !important;
    transition-delay:.52s, 0s !important;
  }

  /* When scrolling back up, remove them instantly rather than
     animating upward through the visible top bar. */
  .mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    transform:translateY(-72px) !important;
    transition:none !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .mcfc-nav.show-mini-logo .sticky-action-tile {
    transition:none !important;
    transform:translateY(5px) !important;
  }
}



/* =========================================================
   STICKY ACTION MASK FIX
   The action icons now animate INSIDE a clipped 58px sticky-bar
   window, so they cannot ever appear in the upper top bar.
   ========================================================= */
@media (min-width:981px) {

  /* The action group is exactly the height of the sticky bar
     and clips anything above/below it. */
  .sticky-actions {
    top:0 !important;
    bottom:auto !important;
    height:58px !important;
    overflow:hidden !important;
    clip-path:inset(0 0 0 0) !important;
    transform:none !important;
  }

  /* Keep the group present so the downward movement is visible,
     but disable interaction until the sticky state is active. */
  .mcfc-nav:not(.show-mini-logo) .sticky-actions {
    visibility:visible !important;
    pointer-events:none !important;
  }

  .mcfc-nav.show-mini-logo .sticky-actions {
    visibility:visible !important;
    pointer-events:auto !important;
  }

  /* Start each tile fully above the clipped sticky-bar window.
     Because the container clips overflow, none of it can bleed
     into the top utility bar. */
  .sticky-actions .sticky-action-tile {
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(-58px) !important;

    transition:
      transform .48s cubic-bezier(.20,.82,.28,1),
      background-color .18s ease !important;

    transition-delay:0s,0s !important;
  }

  /* Drop into the bar with a clear stagger */
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(1) {
    transform:translateY(5px) !important;
    transition-delay:.08s,0s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(2) {
    transform:translateY(5px) !important;
    transition-delay:.26s,0s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(3) {
    transform:translateY(5px) !important;
    transition-delay:.44s,0s !important;
  }

  /* On the way back up, snap them above the masked window.
     They remain invisible because the wrapper clips them. */
  .mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    transform:translateY(-58px) !important;
    transition:none !important;
  }
}



/* =========================================================
   STICKY ACTIONS — SLIDE IN FROM RIGHT
   Full-height tiles, no inset hover border.
   ========================================================= */
@media (min-width:981px) {
  .sticky-actions {
    position:absolute !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    height:100% !important;
    display:flex !important;
    align-items:stretch !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  .sticky-actions .sticky-action-tile {
    width:62px !important;
    min-width:62px !important;
    height:100% !important;
    min-height:100% !important;
    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:#ed1d24 !important;
    color:#fff !important;
    border:0 !important;
    border-left:1px solid rgba(120,0,0,.18) !important;
    outline:0 !important;
    box-shadow:none !important;

    opacity:1 !important;
    visibility:visible !important;
    transform:translateX(210px) !important;

    transition:
      transform .48s cubic-bezier(.22,.61,.36,1),
      background-color .18s ease !important;
    transition-delay:0s,0s !important;
  }

  .sticky-actions .sticky-action-tile:last-child {
    border-right:0 !important;
  }

  .sticky-actions .sticky-action-tile svg {
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    display:block !important;
    stroke:#fff !important;
    fill:none !important;
    color:#fff !important;
    margin:0 !important;
    padding:0 !important;
  }

  .sticky-actions .sticky-action-tile svg * {
    stroke:#fff !important;
    fill:none !important;
  }

  .sticky-actions .sticky-action-tile span {
    display:none !important;
  }

  .mcfc-nav.show-mini-logo .sticky-actions {
    pointer-events:auto !important;
  }

  /* Slide in from right with a slight stagger */
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(1) {
    transform:translateX(0) !important;
    transition-delay:.08s,0s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(2) {
    transform:translateX(0) !important;
    transition-delay:.18s,0s !important;
  }

  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(3) {
    transform:translateX(0) !important;
    transition-delay:.28s,0s !important;
  }

  .mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    transform:translateX(210px) !important;
    transition-delay:0s,0s !important;
  }

  /* Full-cell hover */
  .sticky-actions .sticky-action-tile:hover,
  .sticky-actions .sticky-action-tile:focus-visible {
    background:#d71920 !important;
    color:#fff !important;
    border-color:rgba(120,0,0,.18) !important;
    outline:none !important;
    box-shadow:none !important;
  }

  /* Reserve right-side room for the full-height action tiles */
  .desktop-nav {
    padding-right:200px !important;
  }
}

@media (min-width:981px) and (max-width:1250px) {
  .sticky-actions .sticky-action-tile {
    width:54px !important;
    min-width:54px !important;
  }

  .sticky-actions .sticky-action-tile svg {
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
  }

  .desktop-nav {
    padding-right:170px !important;
  }
}



/* Sticky action icons: all slide in together, no stagger */
@media (min-width:981px) {
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(1),
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(2),
  .mcfc-nav.show-mini-logo .sticky-action-tile:nth-child(3) {
    transform:translateX(0) !important;
    transition-delay:0s,0s !important;
  }
}



/* Larger icons in the sticky action tiles */
@media (min-width:981px) {
  .sticky-actions .sticky-action-tile svg {
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    min-height:29px !important;
    max-width:29px !important;
    max-height:29px !important;
  }
}

@media (min-width:981px) and (max-width:1250px) {
  .sticky-actions .sticky-action-tile svg {
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    max-width:26px !important;
    max-height:26px !important;
  }
}



/* Shoutouts megaphone has more visual whitespace than the other SVGs,
   so enlarge it slightly to give all three icons equal visual weight. */
@media (min-width:981px) {
  .sticky-actions .sticky-action-shoutouts svg {
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
  }
}

@media (min-width:981px) and (max-width:1250px) {
  .sticky-actions .sticky-action-shoutouts svg {
    width:31px !important;
    height:31px !important;
    min-width:31px !important;
    min-height:31px !important;
    max-width:31px !important;
    max-height:31px !important;
  }
}



/* =========================================================
   STICKY ICON HOVER LABELS
   ========================================================= */
@media (min-width:981px) {
  .sticky-actions .sticky-action-tile::after {
    content:attr(aria-label);
    position:absolute;
    left:50%;
    top:calc(100% + 8px);
    z-index:100;

    padding:7px 11px;
    border-radius:3px;

    background:#111;
    color:#fff;

    font-family:Montserrat,Arial,sans-serif;
    font-size:12px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transform:translate(-50%,-4px);
    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility .16s ease;
  }

  .sticky-actions .sticky-action-tile::before {
    content:"";
    position:absolute;
    left:50%;
    top:100%;
    z-index:101;

    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-bottom:5px solid #111;

    opacity:0;
    visibility:hidden;
    transform:translateX(-50%);
    transition:opacity .16s ease, visibility .16s ease;
  }

  .sticky-actions .sticky-action-tile:hover::after,
  .sticky-actions .sticky-action-tile:focus-visible::after {
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
  }

  .sticky-actions .sticky-action-tile:hover::before,
  .sticky-actions .sticky-action-tile:focus-visible::before {
    opacity:1;
    visibility:visible;
  }

  /* Allow tooltip to extend below sticky bar */
  .sticky-actions {
    overflow:visible !important;
  }
}



/* Brown font for sticky icon hover labels */
@media (min-width:981px) {
  .sticky-actions .sticky-action-tile::after {
    color:#8B5E3C !important;
  }
}



/* =========================================================
   STICKY ICON TOOLTIPS — RELIABLE VERSION
   Uses the site's Brown typeface and ensures the tooltip can
   render outside the sticky bar without being clipped.
   ========================================================= */
@media (min-width:981px) {
  .mcfc-nav,
  .mcfc-nav-inner,
  .sticky-actions {
    overflow:visible !important;
  }

  .sticky-actions {
    z-index:80 !important;
  }

  .sticky-actions .sticky-action-tile {
    position:relative !important;
    overflow:visible !important;
  }

  .sticky-actions .sticky-action-tile::after {
    content:attr(aria-label) !important;

    position:absolute !important;
    top:calc(100% + 9px) !important;
    left:50% !important;
    z-index:9999 !important;

    display:block !important;
    min-width:max-content !important;
    width:max-content !important;

    padding:8px 11px !important;

    background:#111 !important;
    color:#fff !important;

    font-family:"League Spartan",Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1 !important;
    letter-spacing:.02em !important;
    text-transform:none !important;
    white-space:nowrap !important;

    border:0 !important;
    border-radius:2px !important;
    box-shadow:none !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transform:translate(-50%,-4px) !important;
    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility 0s linear .16s !important;
  }

  .sticky-actions .sticky-action-tile::before {
    content:"" !important;
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    z-index:10000 !important;

    display:block !important;
    width:0 !important;
    height:0 !important;

    border-left:5px solid transparent !important;
    border-right:5px solid transparent !important;
    border-bottom:5px solid #111 !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transform:translateX(-50%) !important;
    transition:
      opacity .16s ease,
      visibility 0s linear .16s !important;
  }

  .sticky-actions .sticky-action-tile:hover::after,
  .sticky-actions .sticky-action-tile:focus-visible::after {
    opacity:1 !important;
    visibility:visible !important;
    transform:translate(-50%,0) !important;
    transition-delay:0s !important;
  }

  .sticky-actions .sticky-action-tile:hover::before,
  .sticky-actions .sticky-action-tile:focus-visible::before {
    opacity:1 !important;
    visibility:visible !important;
    transition-delay:0s !important;
  }
}



/* =========================================================
   TABLET + MOBILE HEADER (980px and below)
   Red bar, white hamburger left, centred crest overlapping
   bottom edge, three white quick-action icons right.
   ========================================================= */

.mcfc-mobile-header {
  display:none;
}

@media (max-width:980px) {

  /* Hide desktop/tablet-unneeded header structures */
  .mcfc-utility,
  .mcfc-nav {
    display:none !important;
  }

  .mcfc-mobile-header {
    position:sticky;
    top:0;
    z-index:2000;

    height:72px;
    width:100%;

    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;

    background:#ed1d24;
    color:#fff;
    border-bottom:1px solid #d71920;
    overflow:visible;
  }

  /* Hamburger - left */
  .mcfc-mobile-menu {
    justify-self:start;
    width:58px;
    height:72px;
    padding:0;
    border:0;
    background:transparent;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    cursor:pointer;
    color:#fff;
  }

  .mcfc-mobile-menu span {
    display:block;
    width:25px;
    height:2px;
    background:#fff;
    border-radius:0;
    transition:transform .25s ease, opacity .2s ease;
  }

  /* Crest - perfectly centred, overlapping bottom */
  .mcfc-mobile-logo {
    position:relative;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    width:82px;
    height:72px;
  }

  .mcfc-mobile-logo img {
    position:absolute;
    top:6px;
    left:50%;
    transform:translateX(-50%);
    width:76px;
    height:auto;
    max-height:none;
    display:block;
  }

  /* 10px bottom overlap */
  .mcfc-mobile-logo img {
    margin-bottom:-10px;
  }

  /* Quick icons - right */
  .mcfc-mobile-actions {
    justify-self:end;
    height:72px;
    display:flex;
    align-items:stretch;
  }

  .mcfc-mobile-actions a {
    width:54px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:transparent;
    border-left:1px solid rgba(120,0,0,.18);
    text-decoration:none;
    transition:background-color .18s ease;
  }

  .mcfc-mobile-actions a:hover,
  .mcfc-mobile-actions a:focus-visible {
    background:#d71920;
    color:#fff;
  }

  .mcfc-mobile-actions svg {
    width:25px;
    height:25px;
    min-width:25px;
    min-height:25px;
    stroke:#fff;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mcfc-mobile-actions svg * {
    stroke:#fff;
    fill:none;
  }

  /* Make shoutouts megaphone optically match the other two */
  .mcfc-mobile-actions a:first-child svg {
    width:29px;
    height:29px;
  }

  /* Mobile full menu remains available and opens from hamburger */
  .mobile-menu {
    z-index:1999 !important;
  }
}

@media (max-width:700px) {
  .mcfc-mobile-header {
    height:66px;
  }

  .mcfc-mobile-menu,
  .mcfc-mobile-actions,
  .mcfc-mobile-actions a {
    height:66px;
  }

  .mcfc-mobile-menu {
    width:52px;
  }

  .mcfc-mobile-actions a {
    width:48px;
  }

  .mcfc-mobile-logo {
    height:66px;
    width:74px;
  }

  .mcfc-mobile-logo img {
    top:5px;
    width:70px;
  }

  .mcfc-mobile-actions svg {
    width:23px;
    height:23px;
  }

  .mcfc-mobile-actions a:first-child svg {
    width:27px;
    height:27px;
  }
}

@media (max-width:430px) {
  .mcfc-mobile-actions a {
    width:44px;
  }

  .mcfc-mobile-menu {
    width:48px;
  }

  .mcfc-mobile-logo img {
    width:66px;
  }
}



/* Mobile/tablet quick-action SVGs: exact same visual size */
@media (max-width:980px) {
  .mcfc-mobile-actions svg,
  .mcfc-mobile-actions a:first-child svg {
    width:25px !important;
    height:25px !important;
    min-width:25px !important;
    min-height:25px !important;
    max-width:25px !important;
    max-height:25px !important;
  }
}

@media (max-width:700px) {
  .mcfc-mobile-actions svg,
  .mcfc-mobile-actions a:first-child svg {
    width:23px !important;
    height:23px !important;
    min-width:23px !important;
    min-height:23px !important;
    max-width:23px !important;
    max-height:23px !important;
  }
}



/* Larger, matched quick-action icons on tablet/mobile */
@media (max-width:980px) {
  .mcfc-mobile-actions svg,
  .mcfc-mobile-actions a:first-child svg {
    width:31px !important;
    height:31px !important;
    min-width:31px !important;
    min-height:31px !important;
    max-width:31px !important;
    max-height:31px !important;
  }
}

@media (max-width:700px) {
  .mcfc-mobile-actions svg,
  .mcfc-mobile-actions a:first-child svg {
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    min-height:29px !important;
    max-width:29px !important;
    max-height:29px !important;
  }
}



/* =========================================================
   RUGBY-STYLE TABLET / MOBILE DRAWER
   ========================================================= */
@media (max-width:980px) {
  body.mcfc-menu-open {
    overflow:hidden;
  }

  .mcfc-mobile-drawer {
    position:fixed;
    inset:0;
    z-index:4000;
    display:grid;
    grid-template-columns:minmax(0,1fr) 122px;
    background:rgba(0,0,0,.55);
    pointer-events:none;
    opacity:0;
    transition:opacity .2s ease;
  }

  .mcfc-mobile-drawer.is-open {
    pointer-events:auto;
    opacity:1;
  }

  .mcfc-mobile-drawer-left {
    min-width:0;
    height:100%;
    background:#fff;
    transform:translateX(-100%);
    transition:transform .46s cubic-bezier(.22,.61,.36,1);
    overflow:auto;
    overscroll-behavior:contain;
  }

  .mcfc-mobile-drawer.is-open .mcfc-mobile-drawer-left {
    transform:translateX(0);
  }

  .mcfc-mobile-drawer-actions {
    align-self:start;
    justify-self:end;
    width:122px;
    display:grid;
    grid-auto-rows:122px;
    overflow:hidden;
  }

  .mcfc-mobile-drawer-actions a {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:#fff;
    background:#ed1d24;
    border-left:1px solid #d71920;
    border-bottom:1px solid #d71920;
    text-decoration:none;
    transform:translateX(130px);
    transition:transform .42s cubic-bezier(.22,.61,.36,1), background-color .18s ease;
  }

  .mcfc-mobile-drawer.is-open .mcfc-mobile-drawer-actions a:nth-child(1) {
    transform:translateX(0);
    transition-delay:.10s;
  }
  .mcfc-mobile-drawer.is-open .mcfc-mobile-drawer-actions a:nth-child(2) {
    transform:translateX(0);
    transition-delay:.20s;
  }
  .mcfc-mobile-drawer.is-open .mcfc-mobile-drawer-actions a:nth-child(3) {
    transform:translateX(0);
    transition-delay:.30s;
  }

  .mcfc-mobile-drawer-actions svg {
    width:31px;
    height:31px;
    stroke:#fff;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mcfc-mobile-drawer-actions span {
    font-family:"League Spartan",Arial,sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .mcfc-mobile-drawer-actions a:hover,
  .mcfc-mobile-drawer-actions a:focus-visible {
    background:#d71920;
  }

  .mcfc-mobile-drawer-top {
    min-height:118px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 20px;
    border-bottom:1px solid #e2e2e2;
  }

  .mcfc-mobile-drawer-logo img {
    width:86px;
    height:auto;
    display:block;
  }

  .mcfc-mobile-close {
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    color:#111;
    font-size:34px;
    line-height:1;
    cursor:pointer;
  }

  .mcfc-mobile-menu-list {
    background:#fff;
  }

  .mcfc-mobile-menu-item {
    border-bottom:1px solid #e3e3e3;
  }

  .mcfc-mobile-menu-item > a,
  .mcfc-mobile-menu-toggle {
    width:100%;
    min-height:74px;
    padding:0 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:0;
    background:#fff;
    color:#111;
    text-decoration:none;
    text-align:left;
    font-family:"League Spartan",Arial,sans-serif;
    font-size:28px;
    font-weight:800;
    letter-spacing:-.02em;
    text-transform:uppercase;
    cursor:pointer;
  }

  .mcfc-mobile-menu-toggle span {
    width:34px;
    height:34px;
    border-radius:50%;
    background:#ececec;
    display:grid;
    place-items:center;
    font-size:22px;
    font-weight:400;
    transition:transform .22s ease, background .18s ease;
  }

  .mcfc-mobile-menu-item.is-open .mcfc-mobile-menu-toggle span {
    transform:rotate(45deg);
    background:#ed1d24;
    color:#fff;
  }

  .mcfc-mobile-submenu {
    max-height:0;
    overflow:hidden;
    background:#fafafa;
    transition:max-height .34s ease;
  }

  .mcfc-mobile-menu-item.is-open .mcfc-mobile-submenu {
    max-height:520px;
  }

  .mcfc-mobile-submenu a {
    display:block;
    padding:14px 24px;
    border-top:1px solid #ededed;
    color:#333;
    text-decoration:none;
    font-family:"League Spartan",Arial,sans-serif;
    font-size:15px;
    font-weight:700;
  }

  .mcfc-mobile-store-row {
    display:grid;
    grid-template-columns:1fr 130px;
    min-height:96px;
    background:#ed1d24;
    color:#fff;
  }

  .mcfc-mobile-store-row a,
  .mcfc-mobile-store-row span {
    display:flex;
    align-items:center;
    color:#fff;
  }

  .mcfc-mobile-store-row a {
    padding:0 22px;
    text-decoration:none;
    font-family:"League Spartan",Arial,sans-serif;
    font-size:28px;
    font-weight:800;
    text-transform:uppercase;
  }

  .mcfc-mobile-store-row span {
    justify-content:center;
    border-left:1px solid #d71920;
  }

  .mcfc-mobile-store-row svg {
    width:31px;
    height:31px;
    stroke:#fff;
    fill:none;
    stroke-width:1.8;
  }

  .mcfc-mobile-copyright {
    padding:18px 22px;
    font-family:"League Spartan",Arial,sans-serif;
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#111;
    background:#fff;
  }
}

@media (max-width:700px) {
  .mcfc-mobile-drawer {
    grid-template-columns:minmax(0,1fr) 92px;
  }

  .mcfc-mobile-drawer-actions {
    width:92px;
    grid-auto-rows:108px;
  }

  .mcfc-mobile-drawer-actions a {
    transform:translateX(100px);
  }

  .mcfc-mobile-drawer-actions svg {
    width:28px;
    height:28px;
  }

  .mcfc-mobile-drawer-actions span {
    font-size:9px;
  }

  .mcfc-mobile-drawer-top {
    min-height:96px;
    padding:12px 16px;
  }

  .mcfc-mobile-drawer-logo img {
    width:72px;
  }

  .mcfc-mobile-menu-item > a,
  .mcfc-mobile-menu-toggle {
    min-height:64px;
    padding:0 18px;
    font-size:22px;
  }

  .mcfc-mobile-store-row {
    grid-template-columns:1fr 92px;
    min-height:82px;
  }

  .mcfc-mobile-store-row a {
    font-size:24px;
  }
}



/* Hide scrollbar on tablet/mobile drawer while retaining scrolling */
@media (max-width:980px) {
  .mcfc-mobile-drawer-left {
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
  }

  .mcfc-mobile-drawer-left::-webkit-scrollbar {
    display:none !important;
    width:0 !important;
    height:0 !important;
  }
}



/* Keep the tablet/mobile red header sticky at the top */
@media (max-width:980px) {
  .mcfc-mobile-header {
    position:sticky !important;
    top:0 !important;
    z-index:3000 !important;
  }
}



/* =========================================================
   TABLET / MOBILE MENU — STRONGER TYPE + RED ACCENTS
   ========================================================= */
@media (max-width:980px) {

  /* Stronger main navigation typography */
  .mcfc-mobile-menu-item > a,
  .mcfc-mobile-menu-toggle {
    font-weight:900 !important;
  }

  /* Red accent line on the left of each main menu row */
  .mcfc-mobile-menu-item {
    position:relative !important;
  }

  .mcfc-mobile-menu-item::before {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:4px;
    height:0;
    background:#ed1d24;
    transform:translateY(-50%);
    transition:height .22s ease;
    z-index:2;
  }

  .mcfc-mobile-menu-item:hover::before,
  .mcfc-mobile-menu-item.is-open::before {
    height:100%;
  }

  /* Red text treatment on hover/open */
  .mcfc-mobile-menu-item > a,
  .mcfc-mobile-menu-toggle {
    transition:
      color .18s ease,
      padding-left .22s ease,
      background-color .18s ease !important;
  }

  .mcfc-mobile-menu-item > a:hover,
  .mcfc-mobile-menu-item > a:focus-visible,
  .mcfc-mobile-menu-item.is-open > .mcfc-mobile-menu-toggle {
    color:#d71920 !important;
    padding-left:28px !important;
    background:#fff !important;
  }

  /* Red circular + controls */
  .mcfc-mobile-menu-toggle span {
    background:#ed1d24 !important;
    color:#fff !important;
    font-weight:700 !important;
  }

  /* Submenu stronger and with red hover accent */
  .mcfc-mobile-submenu a {
    position:relative;
    font-weight:800 !important;
    transition:
      color .18s ease,
      padding-left .2s ease,
      background-color .18s ease;
  }

  .mcfc-mobile-submenu a:hover,
  .mcfc-mobile-submenu a:focus-visible {
    color:#d71920 !important;
    padding-left:30px !important;
    background:#fff !important;
  }

  /* Small red bar under the logo area */
  .mcfc-mobile-drawer-top {
    position:relative;
  }

  .mcfc-mobile-drawer-top::after {
    content:"";
    position:absolute;
    left:20px;
    bottom:-1px;
    width:72px;
    height:4px;
    background:#ed1d24;
  }

  /* Slightly stronger action labels */
  .mcfc-mobile-drawer-actions span {
    font-weight:900 !important;
  }

  .mcfc-mobile-store-row a {
    font-weight:900 !important;
  }
}

@media (max-width:700px) {
  .mcfc-mobile-menu-item > a,
  .mcfc-mobile-menu-toggle {
    font-weight:900 !important;
  }

  .mcfc-mobile-drawer-top::after {
    left:16px;
    width:60px;
  }
}



/* Final MCFC red header colour overrides */
.mcfc-utility,
.mcfc-nav { background:#ed1d24; }

.mcfc-wordmark,
.mcfc-wordmark span { color:#fff !important; }

.utility-links,
.utility-links a,
.nav-link,
.nav-toggle,
.icon-btn,
.menu-btn { color:#fff; }

.bars,
.bars::before,
.bars::after { background:#fff; }

.nav-link::after,
.nav-toggle::after { background:#fff; }

.join-btn {
  background:#fff;
  color:#ed1d24;
}

.join-btn:hover {
  background:#000;
  color:#fff;
}

.mobile-name,
.mobile-name span { color:#000 !important; }


/* =========================================================
   WORDPRESS INTEGRATION
   ========================================================= */

/* Prevent theme page title from creating a white strip above the homepage hero. */
body.home .entry-header,
body.home .page-header,
body.home .page-title,
body.home h1.entry-title,
body.home .wp-block-post-title,
body.home main > .wp-block-post-title {
  display:none !important;
}

/* Remove common homepage container spacing around the first block/hero. */
body.home .site-main,
body.home main,
body.home .entry-content,
body.home .wp-site-blocks {
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Hide common theme headers because MCFC supplies its own site header.
   Deliberately scoped so the custom .mcfc-header is never hidden. */
body.mcfc1998-custom-header-active header.site-header,
body.mcfc1998-custom-header-active .site-header:not(.mcfc-header),
body.mcfc1998-custom-header-active .wp-block-template-part > header:not(.mcfc-header) {
  display:none !important;
}

/* WordPress admin-bar compensation for sticky navigation while logged in. */
body.admin-bar .mcfc-nav {
  top:32px !important;
}
@media (max-width:782px) {
  body.admin-bar .mcfc-mobile-header {
    top:46px !important;
  }
}

/* Put the custom header directly against a full-width hero. */
body.home .mcfc-nav + * .mcfc-featured-hero,
body.home .mcfc-nav + .mcfc-featured-hero {
  margin-top:0 !important;
}


/* =========================================================
   WORDPRESS HEADER HOTFIX v1.0.1
   The standalone prototype used layout context that does not exist in WP.
   Explicitly restore the desktop header layout and keep the mobile drawer
   completely out of document flow until its breakpoint.
   ========================================================= */

.mcfc-header {
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  z-index:3000 !important;
}

.mcfc-mobile-header,
.mcfc-mobile-drawer {
  display:none !important;
}

/* Defensive reset: closed menu layers must never occupy page height on desktop. */
.mobile-menu:not(.open),
.mcfc-mobile-drawer:not(.is-open) {
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Desktop header must remain compact rather than inheriting any full-screen menu sizing. */
@media (min-width:981px) {
  .mcfc-header {
    min-height:0 !important;
  }

  .mcfc-utility {
    position:relative !important;
  }

  .mcfc-nav {
    position:sticky !important;
  }

  .mobile-menu {
    position:fixed !important;
  }
}

/* Tablet/mobile components are only allowed to exist at their intended breakpoint. */
@media (max-width:980px) {
  .mcfc-mobile-header {
    display:grid !important;
  }

  .mcfc-mobile-drawer {
    display:grid !important;
  }

  .mcfc-utility,
  .mcfc-nav {
    display:none !important;
  }

  .mcfc-header {
    height:0 !important;
    min-height:0 !important;
  }
}


/* MCFC Portal v0.9.1 — consistent 1500px site header */
#mcfcHeader .mcfc-header-inner,
#mcfcStickyNav .mcfc-nav-inner,
.mcfc-header-inner,
.mcfc-nav-inner {
    width: min(1500px, calc(100% - 50px)) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

@media (max-width: 900px) {
    #mcfcHeader .mcfc-header-inner,
    #mcfcStickyNav .mcfc-nav-inner,
    .mcfc-header-inner,
    .mcfc-nav-inner {
        width: calc(100% - 32px) !important;
    }
}

@media (max-width: 520px) {
    #mcfcHeader .mcfc-header-inner,
    #mcfcStickyNav .mcfc-nav-inner,
    .mcfc-header-inner,
    .mcfc-nav-inner {
        width: calc(100% - 24px) !important;
    }
}


/* MCFC Portal v0.9.2 — site-wide front-end header geometry */
html body #mcfcHeader .mcfc-header-inner,
html body #mcfcStickyNav .mcfc-nav-inner,
html body .mcfc-header-inner,
html body .mcfc-nav-inner {
    width:min(1500px, calc(100% - 50px)) !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}
@media(max-width:900px){
    html body #mcfcHeader .mcfc-header-inner,
    html body #mcfcStickyNav .mcfc-nav-inner,
    html body .mcfc-header-inner,
    html body .mcfc-nav-inner{width:calc(100% - 32px) !important}
}
@media(max-width:520px){
    html body #mcfcHeader .mcfc-header-inner,
    html body #mcfcStickyNav .mcfc-nav-inner,
    html body .mcfc-header-inner,
    html body .mcfc-nav-inner{width:calc(100% - 24px) !important}
}


/* MCFC Portal v0.9.3 — full-width site header */
html body #mcfcHeader,
html body #mcfcStickyNav {
    width:100% !important;
    max-width:none !important;
}

html body #mcfcHeader .mcfc-header-inner,
html body #mcfcStickyNav .mcfc-nav-inner,
html body .mcfc-header-inner,
html body .mcfc-nav-inner {
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

/* Header controls keep sensible breathing room; individual page content
   is intentionally left unconstrained for page-by-page styling. */
html body #mcfcHeader .mcfc-header-inner,
html body #mcfcStickyNav .mcfc-nav-inner {
    padding-left:25px !important;
    padding-right:25px !important;
}

@media(max-width:900px){
    html body #mcfcHeader .mcfc-header-inner,
    html body #mcfcStickyNav .mcfc-nav-inner{
        padding-left:16px !important;
        padding-right:16px !important;
    }
}

@media(max-width:520px){
    html body #mcfcHeader .mcfc-header-inner,
    html body #mcfcStickyNav .mcfc-nav-inner{
        padding-left:12px !important;
        padding-right:12px !important;
    }
}


/* v1.0.2 — League Spartan header typography */
#mcfcHeader,
#mcfcStickyNav,
#mcfcHeader *,
#mcfcStickyNav *{
  font-family:"League Spartan",Arial,sans-serif !important;
}
#mcfcHeader .nav-link,
#mcfcStickyNav .nav-link,
#mcfcHeader .join-btn,
#mcfcStickyNav .join-btn{
  font-weight:600;
}


/* =========================================================
   v2.2.3 — TRUE 1500PX DESKTOP HEADER LAYOUT
   Full-width red band, centred 1500px header content.
   Parent Portal is aligned to the far right of the menu.
   ========================================================= */
@media (min-width:981px) {
  html body #mcfcStickyNav .mcfc-wrap.mcfc-nav-inner {
    width:calc(100% - 40px) !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    grid-template-columns:1fr !important;
    --mcfc-menu-left:0px !important;
  }

  html body #mcfcStickyNav .desktop-nav {
    width:100% !important;
    max-width:1500px !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    padding:0 !important;
  }

  /* Push only the portal entry to the far-right edge of the 1500px menu. */
  html body #mcfcStickyNav .mcfc-portal-nav-item {
    margin-left:auto !important;
  }

  html body #mcfcStickyNav .mcfc-portal-nav-link {
    padding-right:0 !important;
  }

  /* Dropdown follows the same 1500px inner boundaries. */
  html body #mcfcStickyNav .desktop-nav .dropdown {
    left:0 !important;
    right:0 !important;
  }

  /* Upper utility content uses the same 1500px visual line. */
  html body #mcfcHeader .mcfc-utility .mcfc-wrap {
    width:calc(100% - 40px) !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

@media (min-width:1541px) {
  html body #mcfcStickyNav .mcfc-wrap.mcfc-nav-inner,
  html body #mcfcHeader .mcfc-utility .mcfc-wrap {
    width:1500px !important;
  }
}

/* =========================================================
   MCFC Portal v2.2.4 — sticky crest slides DOWN into position
   When the upper utility bar scrolls away and the compact red
   navigation becomes active, the smaller crest drops vertically
   into its final 10px-overlap position instead of entering from left.
   ========================================================= */
@media (min-width:981px) {
  #mcfcStickyNav .sticky-mini-logo {
    transition:transform .56s cubic-bezier(.22,.61,.36,1) !important;
    will-change:transform;
  }

  #mcfcStickyNav.mcfc-nav:not(.show-mini-logo) .sticky-mini-logo {
    transform:translateY(-125px) !important;
  }

  #mcfcStickyNav.mcfc-nav.show-mini-logo .sticky-mini-logo {
    transform:translateY(0) !important;
  }
}

@media (prefers-reduced-motion:reduce) and (min-width:981px) {
  #mcfcStickyNav .sticky-mini-logo {
    transition:none !important;
  }
}

/* =========================================================
   MCFC Portal v2.2.5 — sticky logo/menu/action spacing
   - When the crest drops in, move the navigation right so
     the first menu item cannot sit underneath the crest.
   - When the three sticky action icons drop in on the right,
     reserve that space so Parent Portal moves left cleanly.
   ========================================================= */
@media (min-width:981px) {
  html body #mcfcStickyNav .desktop-nav {
    box-sizing:border-box !important;
    transition:padding-left .48s cubic-bezier(.22,.61,.36,1),
               padding-right .48s cubic-bezier(.22,.61,.36,1) !important;
  }

  /* Normal desktop position before the compact sticky state appears. */
  html body #mcfcStickyNav.mcfc-nav:not(.show-mini-logo) .desktop-nav {
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* Crest occupies the left; sticky icons occupy the right. */
  html body #mcfcStickyNav.mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:100px !important;
    padding-right:205px !important;
  }

  /* Parent Portal remains the final menu item but now finishes
     immediately before the three sticky action tiles. */
  html body #mcfcStickyNav.mcfc-nav.show-mini-logo .mcfc-portal-nav-item {
    margin-left:auto !important;
  }

  html body #mcfcStickyNav.mcfc-nav.show-mini-logo .mcfc-portal-nav-link {
    padding-right:18px !important;
  }

  /* Keep dropdowns aligned with the shifted navigation area. */
  html body #mcfcStickyNav.mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:100px !important;
    right:205px !important;
    width:auto !important;
  }
}

@media (min-width:981px) and (max-width:1250px) {
  html body #mcfcStickyNav.mcfc-nav.show-mini-logo .desktop-nav {
    padding-left:84px !important;
    padding-right:178px !important;
  }

  html body #mcfcStickyNav.mcfc-nav.show-mini-logo .desktop-nav .dropdown {
    left:84px !important;
    right:178px !important;
  }
}

@media (prefers-reduced-motion:reduce) and (min-width:981px) {
  html body #mcfcStickyNav .desktop-nav {
    transition:none !important;
  }
}


/* =========================================================
   MCFC Portal v2.2.6 — main crest aligned to 1500px left edge
   ========================================================= */
@media (min-width:981px) {
  html body #mcfcHeader .mcfc-top-logo {
    padding-left:0 !important;
    margin-left:0 !important;
    justify-self:start !important;
  }
}


/* =========================================================
   v3.9.5 — STICKY ACTION OVERFLOW FIX
   Earlier slide-in rules parked the three tiles 210px beyond the right
   edge. That produced real horizontal scrolling even before the controls
   were visible. Keep the inactive state in-place and hidden; reveal it
   inside the existing right-hand action area once sticky mode is active.
   ========================================================= */
@media(min-width:981px){
  #mcfcStickyNav .sticky-actions{right:0!important;max-width:200px!important}
  #mcfcStickyNav.mcfc-nav:not(.show-mini-logo) .sticky-actions{
    visibility:hidden!important;
    pointer-events:none!important;
  }
  #mcfcStickyNav.mcfc-nav:not(.show-mini-logo) .sticky-action-tile{
    visibility:hidden!important;
    opacity:0!important;
    transform:none!important;
    transition:none!important;
  }
  #mcfcStickyNav.mcfc-nav.show-mini-logo .sticky-actions{
    visibility:visible!important;
    pointer-events:auto!important;
  }
  #mcfcStickyNav.mcfc-nav.show-mini-logo .sticky-action-tile{
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
  }
}
@media(min-width:981px) and (max-width:1250px){
  #mcfcStickyNav .sticky-actions{max-width:170px!important}
}


/* =========================================================
   v3.9.6 — RESPONSIVE ROOT FIX
   Remove transformed/off-canvas action states that inflate scrollWidth.
   ========================================================= */
@media (min-width:981px) {
  html, body { max-width:100%; }

  #mcfcStickyNav,
  #mcfcStickyNav .mcfc-nav-inner,
  #mcfcStickyNav .desktop-nav {
    max-width:100vw !important;
    box-sizing:border-box !important;
  }

  #mcfcStickyNav .sticky-actions {
    right:0 !important;
    left:auto !important;
    width:auto !important;
    max-width:186px !important;
    transform:none !important;
  }

  #mcfcStickyNav.mcfc-nav:not(.show-mini-logo) .sticky-actions {
    visibility:hidden !important;
    pointer-events:none !important;
  }

  #mcfcStickyNav.mcfc-nav:not(.show-mini-logo) .sticky-action-tile {
    transform:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    transition:none !important;
  }

  #mcfcStickyNav.mcfc-nav.show-mini-logo .sticky-actions {
    visibility:visible !important;
    pointer-events:auto !important;
  }

  #mcfcStickyNav.mcfc-nav.show-mini-logo .sticky-action-tile {
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

@media (min-width:981px) and (max-width:1250px) {
  #mcfcStickyNav .sticky-actions { max-width:162px !important; }
}


/* v3.11.1: lock MCFC header hover colours to club palette.
   Prevent theme/global link rules from turning the crest/wordmark or nav blue. */
.mcfc-header a.mcfc-wordmark,
.mcfc-header a.mcfc-wordmark:hover,
.mcfc-header a.mcfc-wordmark:focus,
.mcfc-header a.mcfc-wordmark:focus-visible,
.mcfc-wordmark,
.mcfc-wordmark:hover,
.mcfc-wordmark:focus,
.mcfc-wordmark:focus-visible {
  color:#111 !important;
  text-decoration:none !important;
}
.mcfc-header .desktop-nav .nav-link:hover,
.mcfc-header .desktop-nav .nav-toggle:hover,
.mcfc-header .desktop-nav .nav-link:focus,
.mcfc-header .desktop-nav .nav-toggle:focus,
.mcfc-header .desktop-nav .nav-link:focus-visible,
.mcfc-header .desktop-nav .nav-toggle:focus-visible,
.desktop-nav .nav-item:hover > .nav-link,
.desktop-nav .nav-item:hover > .nav-toggle {
  color:#fff !important;
  background:transparent !important;
  text-decoration:none !important;
}


/* =========================================================
   v3.11.2 — FINAL HEADER HOVER COLOUR LOCK
   The plugin version is also bumped so WordPress emits a new
   stylesheet URL and browsers/CDNs do not reuse the old CSS.
   ========================================================= */

/* Never allow a theme/global hover rule to recolour or filter the club crest. */
html body #mcfcHeader a.mcfc-top-logo,
html body #mcfcHeader a.mcfc-top-logo:any-link,
html body #mcfcHeader a.mcfc-top-logo:hover,
html body #mcfcHeader a.mcfc-top-logo:focus,
html body #mcfcHeader a.mcfc-top-logo:active,
html body #mcfcHeader a.mcfc-wordmark,
html body #mcfcHeader a.mcfc-wordmark:any-link,
html body #mcfcHeader a.mcfc-wordmark:hover,
html body #mcfcHeader a.mcfc-wordmark:focus,
html body #mcfcHeader a.mcfc-wordmark:active {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

html body #mcfcHeader a.mcfc-top-logo img,
html body #mcfcHeader a.mcfc-top-logo:hover img,
html body #mcfcHeader a.mcfc-top-logo:focus img,
html body #mcfcHeader a.mcfc-top-logo:active img,
html body #mcfcHeader a.mcfc-wordmark img,
html body #mcfcHeader a.mcfc-wordmark:hover img,
html body #mcfcHeader a.mcfc-wordmark:focus img,
html body #mcfcHeader a.mcfc-wordmark:active img {
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1 !important;
  transform:none !important;
  mix-blend-mode:normal !important;
}

/* The main navigation lives outside #mcfcHeader, so target #mcfcStickyNav directly. */
html body #mcfcStickyNav .desktop-nav .nav-item > a.nav-link,
html body #mcfcStickyNav .desktop-nav .nav-item > button.nav-toggle,
html body #mcfcStickyNav .desktop-nav .nav-item:hover > a.nav-link,
html body #mcfcStickyNav .desktop-nav .nav-item:hover > button.nav-toggle,
html body #mcfcStickyNav .desktop-nav .nav-item > a.nav-link:hover,
html body #mcfcStickyNav .desktop-nav .nav-item > button.nav-toggle:hover,
html body #mcfcStickyNav .desktop-nav .nav-item > a.nav-link:focus,
html body #mcfcStickyNav .desktop-nav .nav-item > button.nav-toggle:focus,
html body #mcfcStickyNav .desktop-nav .nav-item > button.nav-toggle[aria-expanded="true"] {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:transparent !important;
  text-decoration:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
}

/* Explicitly protect the Club Information dropdown trigger from theme button hover styles. */
html body #mcfcStickyNav .desktop-nav .nav-item.has-dropdown > button.nav-toggle:hover,
html body #mcfcStickyNav .desktop-nav .nav-item.has-dropdown > button.nav-toggle:focus,
html body #mcfcStickyNav .desktop-nav .nav-item.has-dropdown > button.nav-toggle:active {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background-color:transparent !important;
}

/* =========================================================
   v3.11.3 — VISIBLE HEADER TEXT HOVER FIX
   Targets the wording itself (not the crest image) and both
   desktop + mobile Club Information controls. No blue theme
   hover colour can leak into these labels.
   ========================================================= */

/* MCFC1998.COM / any brand wording beside the crest: keep its normal colour. */
html body #mcfcStickyNav .mobile-name,
html body #mcfcStickyNav .mobile-name:hover,
html body #mcfcStickyNav .mobile-name:focus,
html body #mcfcStickyNav .mobile-name:active,
html body #mcfcStickyNav .mobile-name span,
html body #mcfcStickyNav .mobile-name:hover span,
html body #mcfcStickyNav .mobile-name:focus span,
html body #mcfcStickyNav .mobile-name:active span {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}

/* Protect any text node/element added inside the top brand link. */
html body #mcfcHeader .mcfc-wordmark,
html body #mcfcHeader .mcfc-wordmark:hover,
html body #mcfcHeader .mcfc-wordmark:focus,
html body #mcfcHeader .mcfc-wordmark:active,
html body #mcfcHeader .mcfc-wordmark span,
html body #mcfcHeader .mcfc-wordmark strong,
html body #mcfcHeader .mcfc-wordmark em,
html body #mcfcHeader .mcfc-wordmark:hover span,
html body #mcfcHeader .mcfc-wordmark:hover strong,
html body #mcfcHeader .mcfc-wordmark:hover em {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}

/* Desktop Club Information: text remains white in every state. */
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle,
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle:hover,
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle:focus,
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle:focus-visible,
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle:active,
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle[aria-expanded="true"],
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle *,
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle:hover *,
html body #mcfcStickyNav .desktop-nav .has-dropdown > .nav-toggle:focus * {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}

/* Mobile/tablet Club Information: do not change text colour on hover. */
@media (max-width:980px) {
  html body #mcfcHeader .mcfc-mobile-menu-item > .mcfc-mobile-menu-toggle,
  html body #mcfcHeader .mcfc-mobile-menu-item > .mcfc-mobile-menu-toggle:hover,
  html body #mcfcHeader .mcfc-mobile-menu-item > .mcfc-mobile-menu-toggle:focus,
  html body #mcfcHeader .mcfc-mobile-menu-item > .mcfc-mobile-menu-toggle:focus-visible,
  html body #mcfcHeader .mcfc-mobile-menu-item > .mcfc-mobile-menu-toggle:active {
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    background:#fff !important;
    text-decoration:none !important;
  }

  /* Keep the + control in the MCFC palette, not inherited theme blue. */
  html body #mcfcHeader .mcfc-mobile-menu-toggle > span,
  html body #mcfcHeader .mcfc-mobile-menu-toggle:hover > span,
  html body #mcfcHeader .mcfc-mobile-menu-toggle:focus > span,
  html body #mcfcHeader .mcfc-mobile-menu-item.is-open > .mcfc-mobile-menu-toggle > span {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:#ed1d24 !important;
  }
}
