/* CNU Fit SEO/AEO fixes, 2026-10-18.
   1) styles for the rebuilt location, FAQ, stretch and contact sections (.cnux)
   2) accessibility fixes flagged by Lighthouse
   3) homepage hero poster so the main content paints before the video loads */

.cnux {
  --cnux-blue: #166cb6;
  --cnux-blue-dark: #0f4f86;
  --cnux-ink: #1e1e29;
  --cnux-muted: #4f5566;
  --cnux-line: #dbe3ee;
  --cnux-soft: #f2f6fb;
  --cnux-orange: #f29566;
  color: var(--cnux-ink);
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
}
.cnux * { box-sizing: border-box; }
.cnux [hidden] { display: none !important; }  /* component display rules (e.g. .cnux-btn) would otherwise show hidden items */
.cnux-wrap { max-width: 1140px; margin: 0 auto; padding: 28px max(16px, env(safe-area-inset-left, 0px)) 28px max(16px, env(safe-area-inset-right, 0px)); }
.cnux h1, .cnux h2, .cnux h3 { font-family: "Syncopate", "Montserrat", Arial, sans-serif; text-transform: uppercase; color: var(--cnux-ink); text-wrap: balance; margin: 0 0 14px; }
.cnux h1 { font-size: clamp(28px, 4.4vw, 46px); font-weight: 700; line-height: 1.1; letter-spacing: -0.5px; }
.cnux h2 { font-size: clamp(21px, 2.6vw, 28px); font-weight: 700; line-height: 1.2; }
.cnux h3 { font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: 0.3px; }
.cnux p { margin: 0 0 12px; }
.cnux a { color: var(--cnux-blue-dark); text-decoration: underline; text-underline-offset: 2px; }
.cnux a:focus-visible, .cnux summary:focus-visible { outline: 3px solid var(--cnux-orange); outline-offset: 2px; }
.cnux-measure { max-width: 70ch; }
.cnux-eyebrow { font-weight: 700; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--cnux-blue); }
.cnux-lead { font-size: 18px; max-width: 62ch; }
.cnux-note { font-size: 14px; color: var(--cnux-muted); }
.cnux-crumbs { font-size: 14px; color: var(--cnux-muted); margin-bottom: 14px; }
.cnux-crumbs a { color: var(--cnux-muted); }

.cnux-hero { background: var(--cnux-soft); border-bottom: 1px solid var(--cnux-line); }
.cnux-hero .cnux-wrap { padding-top: 44px; padding-bottom: 44px; }
/* the site header floats over the page (110px desktop, 68px phone), so page-opening heroes clear it */
.cnux > .cnux-hero:first-child .cnux-wrap { padding-top: 150px; }
@media (max-width: 767px) { .cnux > .cnux-hero:first-child .cnux-wrap { padding-top: 100px; } }
.cnux-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 36px; align-items: center; }
.cnux-hero-img { width: 100%; height: auto; border-radius: 8px; display: block; }

.cnux-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 18px; }
.cnux-btn { display: inline-flex; align-items: center; min-height: 46px; padding: 10px 20px; border-radius: 4px; background: var(--cnux-blue); color: #fff !important; font-weight: 700; text-decoration: none !important; border: 2px solid var(--cnux-blue); }
.cnux-btn:hover { background: var(--cnux-blue-dark); border-color: var(--cnux-blue-dark); }
.cnux-btn-ghost { background: transparent; color: var(--cnux-blue-dark) !important; }
.cnux-btn-ghost:hover { background: var(--cnux-blue); color: #fff !important; }
.cnux-btn-light { background: #fff; color: var(--cnux-blue-dark) !important; border-color: #fff; }
.cnux-btn-light:hover { background: var(--cnux-soft); border-color: var(--cnux-soft); }

.cnux-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--cnux-line); border-bottom: 1px solid var(--cnux-line); }
.cnux-facts li { padding: 16px 16px 16px 0; display: grid; gap: 2px; }
.cnux-facts b { font-family: "Syncopate", "Montserrat", Arial, sans-serif; font-size: 26px; color: var(--cnux-blue); line-height: 1.1; }
.cnux-facts span { font-size: 14px; color: var(--cnux-muted); }

.cnux-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.cnux-panel { background: #fff; border: 1px solid var(--cnux-line); border-radius: 8px; padding: 22px; }
.cnux-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 16px; margin: 0 0 16px; }
.cnux-dl dt { font-weight: 700; }
.cnux-dl dd { margin: 0; }
.cnux-hours { border-collapse: collapse; width: 100%; max-width: 360px; font-variant-numeric: tabular-nums; }
.cnux-hours caption { text-align: left; font-weight: 700; padding-bottom: 6px; }
.cnux-hours, .cnux-hours th, .cnux-hours td { border: 0; }
.cnux-hours th, .cnux-hours td { text-align: left; padding: 5px 0; border-bottom: 1px solid var(--cnux-line); font-weight: 400; background: transparent; }
.cnux-map { min-height: 320px; border-radius: 8px; overflow: hidden; border: 1px solid var(--cnux-line); }
.cnux-map iframe { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }

.cnux-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cnux-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cnux-card { background: #fff; border: 1px solid var(--cnux-line); border-radius: 8px; overflow: hidden; display: grid; grid-template-rows: auto 1fr; }
.cnux-card img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.cnux-card-body { padding: 18px; }
.cnux-addr { font-weight: 600; }

.cnux-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.cnux-quote { margin: 0; background: #fff; border: 1px solid var(--cnux-line); border-radius: 8px; padding: 20px; display: grid; gap: 12px; align-content: space-between; }
.cnux-quote blockquote { margin: 0; padding: 0; border: 0; font-style: normal; font-size: 16px; line-height: 1.6; color: var(--cnux-ink); }
.cnux-quote blockquote p { margin: 0; }
.cnux-quote blockquote::before, .cnux-quote blockquote::after { content: none; }
.cnux-quote figcaption { display: grid; font-size: 14px; }
.cnux-quote figcaption span { color: var(--cnux-muted); }

.cnux-qa { border-bottom: 1px solid var(--cnux-line); padding: 4px 0; }
.cnux-qa summary { cursor: pointer; list-style: none; padding: 12px 32px 12px 0; position: relative; }
.cnux-qa summary::-webkit-details-marker { display: none; }
.cnux-qa summary::after { content: "+"; position: absolute; right: 4px; top: 8px; font-size: 24px; color: var(--cnux-blue); }
.cnux-qa[open] summary::after { content: "–"; }
.cnux-qa summary h3 { display: inline; margin: 0; font-family: "Montserrat", Arial, sans-serif; text-transform: none; font-size: 18px; letter-spacing: 0; }
.cnux-qa p { max-width: 75ch; padding-bottom: 8px; }
.cnux-faq-group { margin-bottom: 28px; }

.cnux-cta { background: var(--cnux-blue); color: #fff; margin-top: 20px; }
.cnux-cta h2, .cnux-cta p { color: #fff; }

@media (max-width: 900px) {
  .cnux-hero-grid, .cnux-split, .cnux-grid2, .cnux-grid3 { grid-template-columns: minmax(0, 1fr); }
  .cnux-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Accessibility fixes (Lighthouse, 2026-10-18) */
.e-n-accordion-item-title-text { color: #dce9f6; }                       /* was #204366 on #1e1e29 (1.6:1) */
.elementor-location-footer p a, .elementor-location-footer .elementor-widget-text-editor a,
.elementor-location-footer a[href*="gymmembermachine.com"] { color: #7fb6ea !important; } /* was #156db5 on #09090b, 3.7:1 */
.elementor-widget-text-editor p a, .elementor-widget-theme-post-content p a { text-decoration: underline; }
.elementor-social-icon, .elementor-location-footer a[href*="twitter.com"], .elementor-location-footer a[href*="instagram.com"],
.elementor-location-footer a[href*="facebook.com"], .elementor-location-footer a[href*="youtube.com"] { min-width: 24px; min-height: 24px; }

/* Homepage hero: show a compressed poster immediately; the video loads on desktop only */
.elementor-35 .elementor-element.elementor-element-b00008d {
  background-image: url("/wp-content/uploads/2026/08/cnu-fit-hero-poster-768.webp");
  background-size: cover;
  background-position: center;
}
@media (min-width: 768px) {
  .elementor-35 .elementor-element.elementor-element-b00008d { background-image: url("/wp-content/uploads/2026/08/cnu-fit-hero-poster-1280.webp"); }
}
/* Page heroes (personal training, stretch therapy, trainers, blog and most other pages) share one 1920px studio
   photo. Below 1280px they use smaller copies, which each page preloads, so the photo no longer waits for the
   stylesheets. */
@media (max-width: 767px) {
  body .elementor-47 .elementor-element.elementor-element-c528669:not(.elementor-motion-effects-element-type-background),
  body .elementor-48 .elementor-element.elementor-element-e285d72:not(.elementor-motion-effects-element-type-background),
  body .elementor-49 .elementor-element.elementor-element-45d073c:not(.elementor-motion-effects-element-type-background),
  body .elementor-50 .elementor-element.elementor-element-98b0c6d:not(.elementor-motion-effects-element-type-background),
  body .elementor-51 .elementor-element.elementor-element-f84ea14:not(.elementor-motion-effects-element-type-background),
  body .elementor-52 .elementor-element.elementor-element-82c9ec1:not(.elementor-motion-effects-element-type-background),
  body .elementor-53 .elementor-element.elementor-element-f90c3e1:not(.elementor-motion-effects-element-type-background),
  body .elementor-200 .elementor-element.elementor-element-499a7ad:not(.elementor-motion-effects-element-type-background),
  body .elementor-208 .elementor-element.elementor-element-d7437af:not(.elementor-motion-effects-element-type-background),
  body .elementor-218 .elementor-element.elementor-element-1838086:not(.elementor-motion-effects-element-type-background),
  body .elementor-219 .elementor-element.elementor-element-240b240:not(.elementor-motion-effects-element-type-background),
  body .elementor-220 .elementor-element.elementor-element-444f7de:not(.elementor-motion-effects-element-type-background),
  body .elementor-221 .elementor-element.elementor-element-3ecae7e:not(.elementor-motion-effects-element-type-background),
  body .elementor-222 .elementor-element.elementor-element-9f5502d:not(.elementor-motion-effects-element-type-background),
  body .elementor-640 .elementor-element.elementor-element-684499c:not(.elementor-motion-effects-element-type-background),
  body .elementor-815 .elementor-element.elementor-element-da5e469:not(.elementor-motion-effects-element-type-background),
  body .elementor-874 .elementor-element.elementor-element-a2b0636:not(.elementor-motion-effects-element-type-background),
  body .elementor-907 .elementor-element.elementor-element-a4c4795:not(.elementor-motion-effects-element-type-background),
  body .elementor-1086 .elementor-element.elementor-element-53e57b2:not(.elementor-motion-effects-element-type-background) {
    background-image: url("/wp-content/uploads/2026/08/cnu-fit-strength-studio-768.webp");
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  body .elementor-47 .elementor-element.elementor-element-c528669:not(.elementor-motion-effects-element-type-background),
  body .elementor-48 .elementor-element.elementor-element-e285d72:not(.elementor-motion-effects-element-type-background),
  body .elementor-49 .elementor-element.elementor-element-45d073c:not(.elementor-motion-effects-element-type-background),
  body .elementor-50 .elementor-element.elementor-element-98b0c6d:not(.elementor-motion-effects-element-type-background),
  body .elementor-51 .elementor-element.elementor-element-f84ea14:not(.elementor-motion-effects-element-type-background),
  body .elementor-52 .elementor-element.elementor-element-82c9ec1:not(.elementor-motion-effects-element-type-background),
  body .elementor-53 .elementor-element.elementor-element-f90c3e1:not(.elementor-motion-effects-element-type-background),
  body .elementor-200 .elementor-element.elementor-element-499a7ad:not(.elementor-motion-effects-element-type-background),
  body .elementor-208 .elementor-element.elementor-element-d7437af:not(.elementor-motion-effects-element-type-background),
  body .elementor-218 .elementor-element.elementor-element-1838086:not(.elementor-motion-effects-element-type-background),
  body .elementor-219 .elementor-element.elementor-element-240b240:not(.elementor-motion-effects-element-type-background),
  body .elementor-220 .elementor-element.elementor-element-444f7de:not(.elementor-motion-effects-element-type-background),
  body .elementor-221 .elementor-element.elementor-element-3ecae7e:not(.elementor-motion-effects-element-type-background),
  body .elementor-222 .elementor-element.elementor-element-9f5502d:not(.elementor-motion-effects-element-type-background),
  body .elementor-640 .elementor-element.elementor-element-684499c:not(.elementor-motion-effects-element-type-background),
  body .elementor-815 .elementor-element.elementor-element-da5e469:not(.elementor-motion-effects-element-type-background),
  body .elementor-874 .elementor-element.elementor-element-a2b0636:not(.elementor-motion-effects-element-type-background),
  body .elementor-907 .elementor-element.elementor-element-a4c4795:not(.elementor-motion-effects-element-type-background),
  body .elementor-1086 .elementor-element.elementor-element-53e57b2:not(.elementor-motion-effects-element-type-background) {
    background-image: url("/wp-content/uploads/2026/08/cnu-fit-strength-studio-1280.webp");
  }
}
.cnux-price { font-weight: 700; color: var(--cnux-blue-dark); margin-top: 4px; }
.cnux-btn-outline-light { background: transparent; color: #fff !important; border-color: #fff; }
.cnux-btn-outline-light:hover { background: #fff; color: var(--cnux-blue-dark) !important; }

/* Success story videos: thumbnail first, YouTube player loads on click */
.cnux-vgrid { display: grid; gap: 20px; margin-top: 8px; }
.cnux-vgrid-h { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.cnux-vgrid-v { grid-template-columns: repeat(auto-fit, minmax(200px, 300px)); justify-content: start; }
.cnux-video { margin: 0; display: grid; gap: 8px; }
.cnux-video figcaption { font-weight: 700; font-size: 15px; }
.cnux-yt, .cnux-video iframe { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: #0b0b10; border: 0; }
.cnux-vgrid-v .cnux-yt, .cnux-vgrid-v iframe { aspect-ratio: 9 / 16; }
.cnux-yt img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cnux-play { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; margin: -24px 0 0 -34px; border-radius: 12px; background: rgba(22, 108, 182, 0.92); }
.cnux-play::after { content: ""; position: absolute; left: 27px; top: 14px; border-style: solid; border-width: 10px 0 10px 17px; border-color: transparent transparent transparent #fff; }
.cnux-yt:hover .cnux-play, .cnux-yt:focus-visible .cnux-play { background: var(--cnux-blue-dark); }
.cnux-yt:focus-visible { outline: 3px solid var(--cnux-orange); outline-offset: 2px; }

/* Personal training page: two photo slots now hold success story videos */
.elementor-48 .elementor-element.elementor-element-a08b3d5,
.elementor-48 .elementor-element.elementor-element-9910532 { background-image: none !important; --min-height: 0px; min-height: 0 !important; padding: 0 !important; justify-content: center; }
.elementor-48 .elementor-element.elementor-element-a08b3d5::before,
.elementor-48 .elementor-element.elementor-element-9910532::before { display: none !important; }
.cnux-vfill { width: 100%; }
.cnux-vfill .cnux-yt, .cnux-vfill iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 8px; }

/* Stretch therapy page: two photo slots now hold the vertical Shorts */
.elementor-49 .elementor-element.elementor-element-12ccadb,
.elementor-49 .elementor-element.elementor-element-2e7d72e { background-image: none !important; --min-height: 0px; min-height: 0 !important; padding: 0 !important; justify-content: center; align-items: center; }
.elementor-49 .elementor-element.elementor-element-12ccadb::before,
.elementor-49 .elementor-element.elementor-element-2e7d72e::before { display: none !important; }
.cnux-vfill-v .cnux-yt, .cnux-vfill-v iframe { width: min(100%, 340px); aspect-ratio: 9 / 16; margin-inline: auto; }

/* Location pages: landmarks and the success story videos */
.cnux-landmark { font-size: 15px; color: var(--cnux-muted); }
.cnux-vgrid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cnux-vgrid-pair { grid-template-columns: repeat(2, minmax(0, 300px)); }
.cnux-vgrid-pair .cnux-yt, .cnux-vgrid-pair iframe { aspect-ratio: 9 / 16; }
.cnux-videos h3 { margin-top: 28px; }
.cnux-vgrid .cnux-video { align-content: start; }
.cnux-video-desc { display: block; margin-top: 2px; font-weight: 400; font-size: 14px; color: var(--cnux-muted); }
@media (max-width: 700px) { .cnux-vgrid-2 { grid-template-columns: 1fr; } }

/* Longevity Coaching page */
.cnux-cta p a { color: #fff; }
.cnux-stat { background: #0f2a47; color: #fff; border-radius: 8px; padding: 32px 28px; display: grid; align-content: center; gap: 8px; }
.cnux-stat b { font-family: "Syncopate", "Montserrat", Arial, sans-serif; font-size: clamp(44px, 7vw, 72px); line-height: 1; color: #8cc4f2; letter-spacing: -1px; }
.cnux-stat p { color: #e6eef7; font-size: 18px; margin: 0; }
.cnux-stat .cnux-eyebrow { color: #8cc4f2; }
.cnux-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cnux-parts { list-style: none; margin: 16px 0 0; padding: 0; }
.cnux-num { display: block; font-family: "Syncopate", "Montserrat", Arial, sans-serif; font-size: 30px; font-weight: 700; color: var(--cnux-blue); line-height: 1; margin-bottom: 10px; }
.cnux-pain { border-top: 4px solid var(--cnux-orange); }
.cnux-list { padding-left: 20px; }
.cnux-list li { margin-bottom: 8px; }
.cnux-checks { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.cnux-checks li { position: relative; padding-left: 28px; }
.cnux-checks li::before { content: ""; position: absolute; left: 2px; top: 0.45em; width: 14px; height: 8px; border-left: 3px solid var(--cnux-blue); border-bottom: 3px solid var(--cnux-blue); transform: rotate(-45deg); }
.cnux-checks-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.cnux-panel-dark { background: #0f2a47; border-color: #0f2a47; color: #e6eef7; }
.cnux .cnux-panel-dark h3, .cnux-panel-dark .cnux-big { color: #fff; }
.cnux-panel-dark .cnux-eyebrow { color: #8cc4f2; }
.cnux-panel-dark .cnux-checks li::before { border-color: #8cc4f2; }
.cnux-facts-dl { margin: 0; display: grid; gap: 14px; }
.cnux-facts-dl div { border-left: 4px solid var(--cnux-blue); background: #fff; border-radius: 0 8px 8px 0; padding: 12px 16px; box-shadow: 0 1px 0 var(--cnux-line); }
.cnux-facts-dl dt { font-weight: 700; }
.cnux-facts-dl dd { margin: 0; color: var(--cnux-muted); }
.cnux-minigrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.cnux-mini { border: 1px solid var(--cnux-line); border-top: 3px solid var(--cnux-blue); border-radius: 8px; padding: 12px 14px; background: #fff; }
.cnux-mini h4 { margin: 0 0 4px; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--cnux-ink); }
.cnux-mini p { margin: 0; font-size: 15px; color: var(--cnux-muted); }
.cnux-app-video { max-width: 880px; margin: 18px 0 24px; }
.cnux-muted { color: var(--cnux-muted); }
.cnux-big { font-family: "Syncopate", "Montserrat", Arial, sans-serif; font-size: 26px; font-weight: 700; color: var(--cnux-blue); margin: 0 0 6px; line-height: 1.1; }
.cnux-callout { margin: 22px 0 0; padding: 18px 22px; border-left: 4px solid var(--cnux-orange); background: var(--cnux-soft); border-radius: 0 8px 8px 0; font-style: normal; }
.cnux-callout p { margin: 0; max-width: 75ch; }
.cnux-callout::before, .cnux-callout::after { content: none; }
.cnux-train { background: var(--cnux-soft); }
.cnux-steps { list-style: none; margin: 16px 0 12px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; counter-reset: cnux-step; }
.cnux-steps li { counter-increment: cnux-step; background: #fff; border: 1px solid var(--cnux-line); border-top: 4px solid var(--cnux-blue); border-radius: 8px; padding: 16px; }
.cnux-steps li::before { content: counter(cnux-step); display: block; font-family: "Syncopate", "Montserrat", Arial, sans-serif; font-size: 28px; font-weight: 700; color: var(--cnux-blue); line-height: 1; margin-bottom: 8px; }
.cnux-steps li:last-child { background: #0f2a47; border-color: #0f2a47; color: #e6eef7; }
.cnux .cnux-steps li:last-child h3 { color: #fff; }
.cnux-steps li:last-child::before { color: #8cc4f2; }
.cnux-steps p { margin: 0; font-size: 15px; }
.cnux-steps-plain { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.cnux-steps-plain li { border-left: 4px solid var(--cnux-blue); background: #fff; border-radius: 0 8px 8px 0; padding: 10px 16px; box-shadow: 0 1px 0 var(--cnux-line); }
.cnux-steps-plain b { display: block; }
.cnux-safety { font-size: 14px; color: var(--cnux-muted); }
.cnux-safety h2 { font-size: 17px; }
.cnux-safety p { max-width: 95ch; }
@media (max-width: 1000px) { .cnux-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cnux-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cnux-grid4, .cnux-steps, .cnux-checks-2, .cnux-minigrid { grid-template-columns: minmax(0, 1fr); } }
.cnux-top { align-items: start; }
.cnux-big { text-transform: uppercase; }
/* the theme's inline ".entry-content ul, .entry-content ol { padding-left: 20px }" outranks single classes */
.cnux .cnux-facts, .cnux .cnux-checks, .cnux .cnux-parts, .cnux .cnux-steps, .cnux .cnux-steps-plain { padding-left: 0; }

/* Page-opening heroes sit under the site's transparent header, whose menu text is white (made for the photo
   banners on the original pages), so they get a dark background too */
.cnux > .cnux-hero:first-child { background: linear-gradient(120deg, #0d2440 0%, #123a63 100%); border-bottom: 0; color: #e6eef7; }
.cnux > .cnux-hero:first-child h1 { color: #fff; }
.cnux > .cnux-hero:first-child p { color: #e6eef7; }
.cnux > .cnux-hero:first-child .cnux-eyebrow { color: #8cc4f2; }
.cnux > .cnux-hero:first-child .cnux-crumbs, .cnux > .cnux-hero:first-child .cnux-crumbs a,
.cnux > .cnux-hero:first-child .cnux-note { color: #cfe0f2; }
.cnux > .cnux-hero:first-child .cnux-btn { background: #fff; border-color: #fff; color: #0f2a47 !important; }
.cnux > .cnux-hero:first-child .cnux-btn:hover { background: #dbe9f7; border-color: #dbe9f7; }
.cnux > .cnux-hero:first-child .cnux-btn-ghost { background: transparent; border-color: #fff; color: #fff !important; }
.cnux > .cnux-hero:first-child .cnux-btn-ghost:hover { background: #fff; color: #0f2a47 !important; }
.cnux > .cnux-hero:first-child .cnux-stat { background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.22); }
/* Fitness Programs: the Longevity Coaching row (a copy of the personal training row) shows the app video */
.cnux-lv-row .elementor-element-3cb4e1e { background: #0d1b30 !important; }
.cnux-lv-row .elementor-element-3cb4e1e::before { display: none !important; }

/* Careers (/hiring/): rebuilt from the old careers app in the site's design */
.cnux-tabs { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; margin: 0 0 22px; font-size: 15px; font-weight: 700; }
.cnux-tabs a { color: #cfe0f2; text-decoration: none; padding: 4px 0; border-bottom: 2px solid transparent; }
.cnux-tabs a[aria-current="page"] { color: #fff; border-bottom-color: #f29566; }
.cnux .cnux-tabs a:hover { color: #fff; }
.cnux .cnux-tabs .cnux-tabs-cta { margin-left: auto; background: #f29566; color: #1e1e29; border: 0; border-radius: 4px; padding: 8px 14px; }
.cnux .cnux-tabs .cnux-tabs-cta:hover { background: #f6b089; color: #1e1e29; }
.cnux-rotator { min-height: 1.6em; font-weight: 700; }
.cnux > .cnux-hero:first-child .cnux-rotator span { color: #f6b089; }
.cnux-rotator span { display: none; }
.cnux-rotator span.is-on { display: inline; }
.cnux-role { display: grid; grid-template-rows: auto 1fr auto; }
.cnux-role .cnux-actions { margin-top: 6px; }
.cnux-role .cnux-btn { flex: 1 1 0; justify-content: center; }
.cnux > .cnux-hero:first-child h3 { color: #fff; }
.cnux > .cnux-hero:first-child .cnux-video-desc { color: #cfe0f2; }
.cnux-team { margin-top: 24px; }
.cnux-team figcaption { display: grid; gap: 2px; }
.cnux-team figcaption h3 { margin: 4px 0 0; }
.cnux-team .cnux-eyebrow { color: #f6b089 !important; font-size: 12px; }
.cnux-applicant { background: var(--cnux-soft); border-radius: 8px; padding: 14px 18px; margin: 0 0 16px; max-width: 520px; }
.cnux-applicant p { margin: 0; color: var(--cnux-muted); }
.cnux-applicant p:first-child { color: var(--cnux-ink); }
.cnux-cal { margin-top: 18px; border: 1px solid var(--cnux-line); border-radius: 8px; overflow: hidden; background: #fff; max-width: 860px; }
.cnux-cal iframe { display: block; width: 100%; height: 760px; border: 0; }
.cnux-hero-center .cnux-wrap { text-align: center; }
.cnux-hero-center .cnux-lead { margin-inline: auto; }
.cnux-check { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #f29566; color: #1e1e29; font-size: 26px; font-weight: 700; margin-bottom: 16px; }
.cnux-confirm { max-width: 820px; }
.cnux-slot { text-align: center; margin-bottom: 28px; }
.cnux-slot p { margin: 0; }
.cnux-hiring-band { text-align: center; margin-top: 28px; }
.cnux-hiring-band .cnux-band-big { font-family: "Syncopate", "Montserrat", Arial, sans-serif; font-weight: 700; font-size: clamp(20px, 3vw, 28px); text-transform: uppercase; margin: 0; }
.cnux-hiring-band .cnux-band-sub { text-transform: uppercase; letter-spacing: 2px; font-size: 13px; font-weight: 700; color: #dbe9f7; }
.cnux-hiring-band a { color: #fff; }
.cnux-error { color: #b42318; font-weight: 600; }

/* the application form: the preview copy's form and the Elementor Pro Form widget (CSS class cnux-form) */
.cnux-form { max-width: 860px; display: grid; gap: 16px; font-family: "Montserrat", "Segoe UI", Arial, sans-serif; }
.elementor-widget-form.cnux-form { max-width: 1140px; margin: 0 auto; padding: 0 max(16px, env(safe-area-inset-left, 0px)) 8px; display: block; }
.elementor-widget-form.cnux-form .elementor-form { max-width: 860px; }
.cnux-fgrid { display: grid; gap: 16px; }
.cnux-fgrid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cnux-fgrid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cnux-field { display: grid; gap: 6px; }
.cnux-form label, .cnux-form legend, .cnux-form .elementor-field-label { font-weight: 600; font-size: 15px; color: #1e1e29; }
.cnux-req, .cnux-form .elementor-mark-required .elementor-field-label::after { color: #b42318; }
.cnux-form input:not([type=file]), .cnux-form select, .cnux-form textarea,
.cnux-form .elementor-field-textual { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #c3cfdf; border-radius: 4px;
  background: #fff; color: #1e1e29; font: inherit; font-size: 16px; }
.cnux-form textarea { min-height: 110px; }
.cnux-form input:focus-visible, .cnux-form select:focus-visible, .cnux-form textarea:focus-visible,
.cnux-form .elementor-field-textual:focus { outline: 3px solid #f29566; outline-offset: 1px; border-color: #166cb6; }
.cnux-form input[type=file] { font: inherit; font-size: 15px; max-width: 100%; }
.cnux-fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; min-width: 0; }
.cnux-fieldset legend { padding: 0; margin-bottom: 4px; }
.cnux-form button[type=submit], .cnux-form .elementor-button { justify-self: start; min-height: 50px; padding: 12px 26px; border-radius: 4px;
  background: #166cb6; border: 2px solid #166cb6; color: #fff; font: 700 16px "Montserrat", Arial, sans-serif; cursor: pointer; }
.cnux-form button[type=submit]:hover, .cnux-form .elementor-button:hover { background: #0f4f86; border-color: #0f4f86; }
.cnux-apply-end { padding-top: 0; padding-bottom: 0; }
@media (max-width: 760px) {
  .cnux-fgrid-2, .cnux-fgrid-3 { grid-template-columns: minmax(0, 1fr); }
  .cnux .cnux-tabs .cnux-tabs-cta { margin-left: 0; }
  .cnux-cal iframe { height: 820px; }
}

/* The CNU 90-Day Promise: homepage hero, footer call to action (every page), program/studio/About pages */
aside.cnux-promise { box-sizing: border-box; width: 100%; max-width: 760px; background: #166cb6; border-left: 8px solid #e8913a;
  padding: 22px 28px; text-align: left; margin: 0; }
aside.cnux-promise p.cnux-promise-k { margin: 0 0 10px; font-family: "Syncopate", "Montserrat", Arial, sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: 3px; line-height: 1.4; text-transform: uppercase; color: #f8c896; }
aside.cnux-promise p.cnux-promise-t { margin: 0; font-family: "Montserrat", "Segoe UI", Arial, sans-serif; font-weight: 700;
  font-size: clamp(18px, 2.1vw, 25px); line-height: 1.35; color: #fff; text-transform: none; letter-spacing: 0; }
.cnux-promise-slot { width: 100%; box-sizing: border-box; position: relative; z-index: 2; }  /* above the hero and footer photo overlays */
.cnux-promise-hero { max-width: 640px; margin: 6px 0 22px; }
.cnux-promise-footer { display: flex; justify-content: center; margin: 4px 0 22px; padding: 0 16px; }
.cnux-promise-band { padding-top: 26px; padding-bottom: 6px; }
.cnux-hero aside.cnux-promise { margin-top: 22px; }
@media (max-width: 767px) {
  .cnux-promise-hero { margin: 4px auto 20px; }
  aside.cnux-promise { padding: 18px 20px; border-left-width: 6px; }
  aside.cnux-promise p.cnux-promise-k { font-size: 11px; letter-spacing: 2px; }
}

/* CNU Stretch Certified Studio badge (kit: cnustretch.com/partner-badge): shown at its own size, never stretched */
.cnux-badge { display: inline-block; line-height: 0; }
.cnux-badge img { display: block; max-width: 100%; height: auto; }
.cnux-badge:focus-visible { outline: 3px solid #f29566; outline-offset: 3px; border-radius: 4px; }
.cnux-badge-slot { display: flex; justify-content: center; width: 100%; margin-top: 14px; }
.cnux .cnux-badge-row { margin: 18px 0 0; }

/* "Choose Your Location" pop-up: a stretch therapy calendar link under each studio's consult button */
.cnux-pop-stretch { width: 100%; text-align: center; margin: 8px 0 4px; }
.cnux-pop-stretch a { color: #166cb6; font-weight: 700; font-size: 15px; text-decoration: underline; text-underline-offset: 2px; }
.cnux-pop-stretch a:hover { color: #0f4f86; }
/* Contact page: booking calendars in place of the WordPress-only form */
.cnux-contact-book { width: 100%; display: grid; gap: 14px; font-size: 16px; }
.cnux-book-row { display: grid; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid var(--cnux-line); }
.cnux-book-row:last-child { border-bottom: 0; }
.cnux-book-row b { font-size: 17px; }
.cnux-book-row .cnux-actions { margin-top: 4px; }
.cnux-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }  /* spam trap, hidden from people */
