.f5-fc {
  --fc-yellow: var(--f5-yellow, #e8ff24);
  --fc-black: var(--f5-black, #080a0d);
  --fc-panel: var(--f5-panel, #191d23);
  --fc-panel-2: var(--f5-panel-2, #22272f);
  --fc-muted: var(--f5-muted, #aeb5bf);
  --fc-line: var(--f5-line, rgba(255,255,255,.12));
  overflow: hidden;
  background: var(--fc-black);
  color: #fff;
}

.f5-fc *, .f5-fc *::before, .f5-fc *::after { box-sizing: border-box; }
.f5-fc__content > * { margin-block: 0; }
.f5-fc a { color: inherit; }
.f5-fc .f5-button { color: var(--fc-black); }
.f5-fc .f5-button--outline { color: #fff; }
.f5-fc .f5-button--outline:hover { color: var(--fc-black); }
.f5-fc-section { padding: clamp(72px, 8vw, 112px) 0; scroll-margin-top: 110px; }
.f5-fc-section--panel { background: #111419; }

.f5-fc-hero {
  position: relative;
  isolation: isolate;
  min-height: 660px;
  padding: 0;
  overflow: hidden;
  background: #050607 var(--f5-fc-hero-image) center / cover no-repeat;
}

.f5-fc-hero:not(.wp-block-cover)::before { content: ""; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgba(3,5,6,.96) 0%, rgba(3,5,6,.78) 44%, rgba(3,5,6,.12) 76%); }

.f5-fc-hero .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(3,5,6,.96) 0%, rgba(3,5,6,.78) 44%, rgba(3,5,6,.12) 76%) !important;
  opacity: 1 !important;
}

.f5-fc-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: -8%;
  bottom: -4px;
  width: min(62vw, 880px);
  aspect-ratio: 3 / 1;
  background: url("../images/neon-diagonal-accent.png") right bottom / contain no-repeat;
  filter: drop-shadow(0 0 18px rgba(232,255,36,.42));
  opacity: .64;
  pointer-events: none;
}

.f5-fc-hero .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; }
.f5-fc-hero:not(.wp-block-cover) .f5-fc-hero__inner { position: relative; z-index: 2; }
.f5-fc-hero__content { max-width: 900px; padding: 68px 0 76px; }
.f5-fc-hero h1 { max-width: 900px; margin: 0; font-family: var(--f5-display); font-size: clamp(3.8rem, 6.1vw, 6.35rem); font-weight: 900; letter-spacing: -.02em; line-height: .84; text-transform: uppercase; }
.f5-fc-hero h1 em { display: block; color: var(--fc-yellow); font-style: normal; }
.f5-fc-hero__content > p:not(.f5-kicker) { max-width: 650px; margin: 30px 0 0; color: #edf0f4; font-size: clamp(1.05rem, 1.8vw, 1.28rem); line-height: 1.58; }
.f5-fc-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

.f5-fc .f5-button-block .wp-block-button__link { min-height: 58px; padding: 17px 26px; }
.f5-fc .f5-button-block--outline .wp-block-button__link { border: 2px solid rgba(255,255,255,.62); background: rgba(8,10,13,.22); color: #fff; }
.f5-fc .f5-button-block--outline .wp-block-button__link:hover { border-color: var(--fc-yellow); background: var(--fc-yellow); color: var(--fc-black); }

.f5-fc-subnav { position: sticky; z-index: 20; top: 88px; border-block: 1px solid rgba(232,255,36,.15); background: rgba(8,10,13,.94); backdrop-filter: blur(14px); }
.admin-bar .f5-fc-subnav { top: 120px; }
.f5-fc-subnav .f5-container { display: flex; gap: clamp(18px, 4vw, 46px); overflow-x: auto; scrollbar-width: none; }
.f5-fc-subnav p { flex: none; margin: 0; }
.f5-fc-subnav a { display: block; padding: 17px 0 14px; border-bottom: 3px solid transparent; color: #dce1e7; font-size: .76rem; font-weight: 850; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.f5-fc-subnav a:hover, .f5-fc-subnav a:focus-visible { border-color: var(--fc-yellow); color: var(--fc-yellow); }

.f5-fc .f5-section-title { max-width: 900px; }
.f5-fc-intro { max-width: 790px; margin: 24px 0 0; color: var(--fc-muted); font-size: 1.08rem; }
.f5-fc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 18px; margin-top: 48px; }
.f5-fc-pillars > .f5-fc-pillar { height: 100%; margin-block: 0 !important; }
.f5-fc-pillar { min-height: 276px; padding: 34px; border: 1px solid var(--fc-line); border-radius: 18px; background: var(--fc-panel); }
.f5-fc-pillar__icon { margin: 0; }
.f5-fc-pillar .dashicons { width: 42px; height: 42px; color: var(--fc-yellow); font-size: 42px; line-height: 1; }
.f5-fc-pillar h3 { margin: 54px 0 0; font-family: var(--f5-display); font-size: 2rem; line-height: 1; text-transform: uppercase; }
.f5-fc-pillar > p:last-child { margin: 14px 0 0; color: var(--fc-muted); line-height: 1.55; }

.f5-fc-heading-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 50px; align-items: end; }
.f5-fc-heading-row > p { margin: 0 0 8px; color: var(--fc-muted); }
.f5-fc-levels { display: grid; gap: 12px; margin-top: 52px; }
.f5-fc-level { overflow: hidden; margin: 0; border: 1px solid var(--fc-line); border-radius: 14px; background: var(--fc-panel); }
.f5-fc-level[open] { border-color: rgba(232,255,36,.38); background: var(--fc-panel-2); }
.f5-fc-level summary { display: grid; grid-template-columns: 70px minmax(190px, .7fr) minmax(260px, 1fr) 28px; gap: 22px; align-items: center; min-height: 106px; padding: 22px 28px; cursor: pointer; color: #fff; list-style: none; }
.f5-fc-level summary::-webkit-details-marker { display: none; }
.f5-fc-level summary::marker { display: none; content: ""; }
.f5-fc-level__number { color: var(--fc-yellow); font-family: var(--f5-display); font-size: 1.45rem; }
.f5-fc-level summary > strong { font-family: var(--f5-display); font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1; text-transform: uppercase; }
.f5-fc-level summary > small { color: #e7ebef; font-size: .79rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.f5-fc-level summary > .dashicons { color: var(--fc-yellow); transition: transform 180ms ease; }
.f5-fc-level[open] summary > .dashicons { transform: rotate(180deg); }
.f5-fc-level__body { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0 28px 30px 120px; }
.f5-fc-level__body > p { margin: 0; padding-top: 20px; border-top: 1px solid var(--fc-line); color: var(--fc-muted); line-height: 1.55; }
.f5-fc-level__body > p strong { color: #fff; }

.f5-fc-method { display: grid; grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr); gap: clamp(50px, 8vw, 110px); align-items: center; }
.f5-fc-method__copy > p:not(.f5-kicker) { color: var(--fc-muted); }
.f5-fc-steps { margin: 0; padding: 0; border-top: 1px solid var(--fc-line); list-style: none; counter-reset: none; }
.f5-fc-steps li { padding: 23px 0; border-bottom: 1px solid var(--fc-line); color: var(--fc-muted); }
.f5-fc-steps strong { color: #fff; font-family: var(--f5-display); font-size: 1.7rem; line-height: 1; text-transform: uppercase; }

.f5-fc-schedule-board { display: grid; gap: 10px; margin-top: 46px; }
.f5-fc-schedule-head, .f5-fc-schedule-row { display: grid; grid-template-columns: minmax(150px, .62fr) repeat(2, minmax(240px, 1fr)); }
.f5-fc-schedule-head { overflow: hidden; border-radius: 12px; background: var(--fc-black); }
.f5-fc-schedule-head p { margin: 0; padding: 17px 24px; border-right: 1px solid rgba(255,255,255,.2); color: var(--fc-yellow); font-size: .79rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.f5-fc-schedule-row { min-height: 155px; overflow: hidden; border: 1px solid var(--fc-line); border-radius: 14px; background: var(--fc-panel); }
.f5-fc-schedule-row > * { display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 24px; border-right: 1px solid var(--fc-line); }
.f5-fc-schedule-row > *:last-child { border-right: 0; }
.f5-fc-schedule-row h3 { color: var(--fc-yellow); font-family: var(--f5-display); font-size: 2.25rem; line-height: 1; }
.f5-fc-schedule-row p { color: #dce1e7; line-height: 1.65; }
.f5-fc-schedule-row p strong { color: #fff; text-transform: uppercase; }
.f5-fc-empty { align-items: center; color: var(--fc-yellow) !important; font-weight: 900; }
.f5-fc-schedule-row--flexible { border-color: rgba(232,255,36,.38); }
.f5-fc-schedule-note { margin: 20px 0 0; padding: 17px 20px; border-left: 4px solid var(--fc-yellow); background: rgba(232,255,36,.07); color: #dce1e7; }
.f5-fc-venues { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 26px 0; }
.f5-fc-venues p { margin: 0; padding: 18px; border: 1px solid var(--fc-line); border-radius: 12px; background: var(--fc-panel); color: var(--fc-muted); }
.f5-fc-venues strong { color: #fff; }

.f5-fc-section--registration { background: var(--fc-yellow); color: var(--fc-black); }
.f5-fc-registration { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); gap: 50px; align-items: center; }
.f5-fc-registration .f5-kicker { color: var(--fc-black); }
.f5-fc-registration .f5-kicker::before { background: var(--fc-black); }
.f5-fc-registration h2 { max-width: 650px; margin: 0; font-family: var(--f5-display); font-size: clamp(3.2rem, 6vw, 5.8rem); line-height: .86; text-transform: uppercase; }
.f5-fc-registration p { max-width: 620px; margin: 22px 0 0; font-weight: 700; }
.f5-fc-registration__actions { display: grid !important; gap: 12px; }
.f5-fc-registration__actions .wp-block-button { width: 100%; }
.f5-fc-registration__actions .wp-block-button__link { width: 100%; min-height: 62px; text-align: left; }
.f5-fc .f5-button-block--dark .wp-block-button__link { border-color: var(--fc-black); background: var(--fc-black); color: #fff; }
.f5-fc .f5-button-block--dark .wp-block-button__link:hover { border-color: #fff; background: #fff; color: var(--fc-black); }

@media (max-width: 960px) {
  .f5-fc-pillars { grid-template-columns: 1fr 1fr; }
  .f5-fc-pillar:last-child { grid-column: 1 / -1; }
  .f5-fc-heading-row, .f5-fc-method, .f5-fc-registration { grid-template-columns: 1fr; }
  .f5-fc-level summary { grid-template-columns: 54px 1fr 28px; }
  .f5-fc-level summary > small { grid-column: 2; }
  .f5-fc-level summary > .dashicons { grid-column: 3; grid-row: 1 / span 2; }
  .f5-fc-level__body { grid-template-columns: 1fr; padding-left: 104px; }
  .f5-fc-schedule-head, .f5-fc-schedule-row { grid-template-columns: 130px repeat(2, minmax(190px, 1fr)); }
}

@media (max-width: 720px) {
  .f5-fc-section { padding: 68px 0; }
  .f5-fc-hero { min-height: 700px; }
  .f5-fc-hero .wp-block-cover__image-background { object-position: 60% center; }
  .f5-fc-hero .wp-block-cover__image-background { opacity: 1; }
  .f5-fc-hero .wp-block-cover__background { background: linear-gradient(0deg, rgba(3,5,6,.94) 0%, rgba(3,5,6,.48) 62%, rgba(3,5,6,.16) 100%) !important; }
  .f5-fc-hero::after { right: -24%; width: 112vw; }
  .f5-fc-hero__content { padding: 190px 0 76px; }
  .f5-fc-hero h1 { font-size: clamp(3.2rem, 15vw, 4.5rem); }
  .f5-fc-actions { display: grid; }
  .f5-fc-actions .wp-block-button, .f5-fc-actions .wp-block-button__link { width: 100%; }
  .f5-fc-subnav { top: 76px; }
  .admin-bar .f5-fc-subnav { top: 122px; }
  .f5-fc-pillars { grid-template-columns: 1fr; }
  .f5-fc-pillar:last-child { grid-column: auto; }
  .f5-fc-pillar { min-height: 276px; }
  .f5-fc-heading-row { gap: 22px; }
  .f5-fc-level summary { grid-template-columns: 42px 1fr 24px; gap: 12px; min-height: 92px; padding: 20px 18px; }
  .f5-fc-level__body { padding: 0 18px 24px; }
  .f5-fc-schedule-head { display: none; }
  .f5-fc-schedule-row { grid-template-columns: 1fr; min-height: 0; }
  .f5-fc-schedule-row > * { min-height: 88px; padding: 20px; border-right: 0; border-bottom: 1px solid var(--fc-line); }
  .f5-fc-schedule-row > *:last-child { border-bottom: 0; }
  .f5-fc-schedule-row h3 { min-height: 72px; }
  .f5-fc-empty { display: none; }
  .f5-fc-venues { grid-template-columns: 1fr; }
  .f5-fc-registration { grid-template-columns: 1fr; gap: 34px; }
  .f5-fc-registration__actions .wp-block-button__link { font-size: .68rem; }
}

@media (max-width: 960px) and (max-height: 560px) and (orientation: landscape) {
  .f5-fc-hero .wp-block-cover__image-background { object-position: 62% center; opacity: 1; }
  .f5-fc-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(3,5,6,.86), rgba(3,5,6,.34) 72%, rgba(3,5,6,.12)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .f5-fc { scroll-behavior: auto; }
}
