/* FITfactory v75: Hero framing, neon accents and FAQ refinements */

:root {
  --ff-neon-v75: #f06cff;
  --ff-neon-soft-v75: #f4b8ff;
  --ff-neon-green-v75: #79ffc6;
}

/* The EGYM hero was the only full-width hero whose copy ignored the common
   centered page gutter. Keep the image edge-to-edge, but align the copy. */
@media screen and (min-width:900px) {
  .egym-fullwidth-hero-content-v62 {
    width:min(1260px,calc(100% - 80px));
    margin-inline:auto;
  }
}

@media screen and (max-width:899px) {
  .egym-fullwidth-hero-content-v62 {
    width:min(1180px,calc(100% - 48px));
    margin-inline:auto;
  }
}

/* New edge-to-edge entrances for FIGHTfactory and About. */
.ff-hero-v75 {
  position:relative;
  isolation:isolate;
  display:grid;
  min-height:clamp(610px,68vh,760px);
  overflow:hidden;
  background:#100914;
  color:#fff;
}

.ff-hero-picture-v75,
.ff-hero-picture-v75 img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}

.ff-hero-picture-v75 img {
  object-fit:cover;
  object-position:center center;
}

.ff-hero-overlay-v75 {
  position:absolute;
  z-index:1;
  inset:0;
  background:
    linear-gradient(90deg,rgba(11,6,15,.98) 0%,rgba(17,9,23,.92) 30%,rgba(25,13,32,.58) 54%,rgba(25,13,32,.08) 82%),
    linear-gradient(0deg,rgba(14,7,18,.72) 0%,transparent 45%);
}

.ff-hero-v75::after {
  position:absolute;
  z-index:1;
  inset:auto 0 0;
  height:3px;
  background:linear-gradient(90deg,transparent 4%,var(--ff-neon-v75) 48%,var(--ff-neon-green-v75) 72%,transparent 96%);
  box-shadow:0 0 18px rgba(240,108,255,.68);
  content:"";
}

.ff-hero-inner-v75.shell {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  width:min(1260px,calc(100% - 80px));
  min-height:inherit;
  margin-inline:auto;
  padding-block:64px;
}

.ff-hero-copy-v75 {
  width:min(720px,58%);
  padding:34px 36px 36px;
  border:1px solid rgba(238,190,255,.34);
  border-left:4px solid var(--ff-neon-v75);
  border-radius:0 20px 20px 0;
  background:linear-gradient(135deg,rgba(17,9,23,.93),rgba(34,17,43,.72));
  box-shadow:0 22px 64px rgba(5,2,8,.48),0 0 28px rgba(240,108,255,.11);
  backdrop-filter:blur(7px);
}

.ff-hero-copy-v75 .eyebrow {
  color:var(--ff-neon-soft-v75);
}

.ff-hero-copy-v75 h1 {
  margin:12px 0 22px;
  max-width:760px;
  color:#fff;
  font-size:clamp(3.2rem,5vw,5.25rem);
  line-height:1;
  letter-spacing:-.025em;
  overflow:visible;
  text-wrap:balance;
}

.ff-hero-copy-v75 .lead {
  max-width:650px;
  color:#f5edf7;
  line-height:1.7;
}

.fight-page-hero-v75 .fight-page-grid {
  display:block;
}

.fight-page-hero-v75 .fight-page-copy > img {
  display:block;
  width:clamp(126px,13vw,172px);
  height:auto;
  margin:0 0 18px;
  filter:drop-shadow(0 0 16px rgba(240,108,255,.34));
}

.fight-page-hero-v75 .fight-membership-highlight-v16 {
  background:rgba(13,7,18,.74);
  border-color:rgba(244,184,255,.58);
}

.fight-page-hero-v75 .button-secondary {
  background:rgba(18,9,24,.8);
}

.about-hero-v75 .ff-hero-picture-v75 img {
  object-position:58% center;
}

.about-hero-copy-v75 h1 span,
.about-hero-copy-v75 h1 em {
  display:block;
  line-height:1.03;
}

.about-hero-copy-v75 h1 em {
  margin-top:.14em;
  color:#ffd2ff;
  font-style:normal;
  text-shadow:0 0 5px rgba(255,255,255,.82),0 0 18px rgba(240,108,255,.9),0 0 38px rgba(240,108,255,.46);
}

/* More purposeful positioning for the two distinct career images. */
.career-hero-v75 .career-hero-picture img {
  object-position:57% center;
}

.career-role-hero-v75 .career-hero-picture img {
  object-position:54% center;
}

@media screen and (min-width:900px) {
  .career-hero-v75 .career-hero-inner,
  .career-role-hero-v75 .career-hero-inner {
    width:min(1260px,calc(100% - 80px));
  }
}

.career-hero-v75 .career-hero-copy h1 em,
.career-role-hero-v75 .career-hero-copy h1 em {
  text-shadow:0 0 5px rgba(255,255,255,.42),0 0 20px rgba(240,108,255,.68);
}

/* Deliberate neon glow: strong enough to read as neon, slow and calm rather
   than a distracting flash. */
@keyframes ff-neon-breathe-v75 {
  0%,100% { box-shadow:0 0 0 1px rgba(240,108,255,.34),0 0 18px rgba(240,108,255,.18),inset 0 0 20px rgba(240,108,255,.035); }
  50% { box-shadow:0 0 0 1px rgba(240,108,255,.62),0 0 30px rgba(240,108,255,.34),inset 0 0 26px rgba(240,108,255,.075); }
}

.about-values-v75 article,
.career-profile-neon-v75 article {
  position:relative;
  border-color:rgba(240,108,255,.68);
  background:linear-gradient(145deg,rgba(62,37,73,.98),rgba(39,23,48,.98));
  animation:ff-neon-breathe-v75 4.8s ease-in-out infinite;
}

.about-values-v75 article:nth-child(2),
.career-profile-neon-v75 article:nth-child(2) { animation-delay:-1.2s; }
.about-values-v75 article:nth-child(3) { animation-delay:-2.4s; }
.about-values-v75 article:nth-child(4) { animation-delay:-3.6s; }

.about-values-v75 article::after,
.career-profile-neon-v75 article::after {
  position:absolute;
  inset:7px;
  border:1px solid rgba(244,184,255,.13);
  border-radius:12px;
  pointer-events:none;
  content:"";
}

.about-values-v75 :is(h2,.topic-icon),
.career-profile-neon-v75 :is(h2,.topic-icon) {
  color:#ffd5ff;
  text-shadow:0 0 8px rgba(240,108,255,.62),0 0 22px rgba(240,108,255,.28);
}

.about-values-v75 .topic-icon,
.career-profile-neon-v75 .topic-icon {
  border-color:rgba(240,108,255,.82);
  box-shadow:0 0 16px rgba(240,108,255,.28);
}

.career-process-neon-v75 .career-process::before {
  height:3px;
  background:linear-gradient(90deg,var(--ff-neon-v75),#ffd0ff 48%,var(--ff-neon-green-v75));
  box-shadow:0 0 8px rgba(240,108,255,.9),0 0 22px rgba(240,108,255,.55);
}

.career-process-neon-v75 .career-process b {
  border-color:#ffd1ff;
  background:#25142e;
  color:#fff;
  box-shadow:0 0 7px rgba(255,255,255,.5),0 0 22px rgba(240,108,255,.82),inset 0 0 16px rgba(240,108,255,.2);
  text-shadow:0 0 8px rgba(255,255,255,.85);
}

.career-process-neon-v75 .career-process span {
  color:#fff;
  text-shadow:0 0 12px rgba(240,108,255,.28);
}

.faq-topic-v75 {
  margin-top:clamp(44px,7vw,72px);
}

.faq-list-v75 {
  position:relative;
}

.faq-list-v75 details {
  border-left:2px solid rgba(240,108,255,.32);
}

.faq-list-v75 details[open] {
  border-left-color:var(--ff-neon-v75);
  box-shadow:inset 4px 0 20px rgba(240,108,255,.055);
}

@media screen and (max-width:899px) {
  .ff-hero-inner-v75.shell {
    width:min(1180px,calc(100% - 36px));
  }
  .ff-hero-copy-v75 {
    width:min(690px,72%);
    padding:28px;
  }
  .career-hero-v75 .career-hero-inner,
  .career-role-hero-v75 .career-hero-inner {
    width:min(1180px,calc(100% - 36px));
  }
}

@media screen and (max-width:699px) {
  .ff-hero-v75 {
    min-height:760px;
    align-items:end;
  }
  .ff-hero-picture-v75 img {
    object-position:center center;
  }
  .about-hero-v75 .ff-hero-picture-v75 img {
    object-position:63% center;
  }
  .ff-hero-overlay-v75 {
    background:linear-gradient(0deg,rgba(12,6,16,.99) 0%,rgba(19,9,25,.94) 48%,rgba(19,9,25,.18) 82%);
  }
  .ff-hero-inner-v75.shell {
    align-items:flex-end;
    width:calc(100% - 28px);
    padding-block:34px;
  }
  .ff-hero-copy-v75 {
    width:100%;
    padding:22px 20px 24px;
    border-radius:0 16px 16px 0;
    background:rgba(19,9,25,.82);
  }
  .ff-hero-copy-v75 h1 {
    font-size:clamp(2.4rem,12vw,3.5rem);
  }
  .fight-page-hero-v75 .fight-page-copy > img {
    width:118px;
  }
  .career-hero-v75 .career-hero-picture,
  .career-role-hero-v75 .career-hero-picture,
  .career-hero-v75 .career-hero-overlay,
  .career-role-hero-v75 .career-hero-overlay {
    aspect-ratio:4 / 5;
  }
  .career-hero-v75 .career-hero-picture img,
  .career-role-hero-v75 .career-hero-picture img {
    object-position:center center;
  }
  .career-process-neon-v75 .career-process::before {
    width:3px;
    height:auto;
    background:linear-gradient(180deg,var(--ff-neon-v75),#ffd0ff 48%,var(--ff-neon-green-v75));
  }
}

@media (prefers-reduced-motion:reduce) {
  .about-values-v75 article,
  .career-profile-neon-v75 article {
    animation:none;
    box-shadow:0 0 0 1px rgba(240,108,255,.48),0 0 24px rgba(240,108,255,.24),inset 0 0 22px rgba(240,108,255,.055);
  }
}

@media (forced-colors:active) {
  .ff-hero-overlay-v75 { background:Canvas; opacity:.86; }
  .ff-hero-copy-v75,
  .about-values-v75 article,
  .career-profile-neon-v75 article,
  .career-process-neon-v75 .career-process b { box-shadow:none; border:2px solid CanvasText; }
  .ff-hero-v75::after,
  .about-values-v75 article::after,
  .career-profile-neon-v75 article::after { display:none; }
}
