/* 
EH.20260410
 _                        __   __                 _   _ _ 
| |    ___  __   __ ___   \ \ / /___  _   _      / \ | | |
| |   / _ \ \ \ / // _ \   \ V // _ \| | | |    / _ \| | |
| |__| (_) | \ V /|  __/    | ||  __/| |_| |   / ___ \ | |
|_____\___/   \_/  \___|    |_| \___| \__,_|  /_/   \_\_|_|                             
*/

body header.header {
	z-index: 1000001;
		}
/* =========================
   NO MENUS
   ========================= */		
.menuContainer {
	display: none;
}
#searchToggle {
	display: none;
}
/* =========================
   HERO H1 + HERO VIDEO
   ========================= */

.hero-video-shell-2026 {
  position: relative;
  overflow: hidden;
}

.hero-video-shell-2026 #hero-video-mobile-image {
  display: none;
}

.hero-video-shell-2026 .hero-video-element-2026,
.hero-video-shell-2026 #hero-video,
video#hero-video {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  margin-bottom: 0px;
  background: #000000;
  object-fit: cover;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

.hero-video-shell-2026 #gradient-video-overlay,
#gradient-video-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.12) 0%,
    rgba(0,0,0,0.28) 35%,
    rgba(0,0,0,0.62) 100%
  );
}

.hero-video-shell-2026 .hero-text-overlay-2026,
.impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  text-align: center;
  pointer-events: none;
}

.hero-video-shell-2026 .hero-text-overlay-2026 h1.page-title,
.impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 h1.page-title {
  margin: 0;
  height: auto;
  text-align: center;
  -webkit-transform: translate3d(0,0,0);
  z-index: 5;
  pointer-events: none;
}

.hero-video-shell-2026 .hero-text-overlay-2026 h1.page-title span,
.impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 h1.page-title span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45em 1.1em 0.5em 1.2em;
  max-width: min(92vw, 1200px);
  background: rgba(0, 0, 0, 0.58);
  color: #ffffff;
  font-family: input-sans-compressed, sans;
  font-size: clamp(2rem, 7vw, 3.5rem);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
  box-shadow: 0 14px 34px rgba(0,0,0,0.28);
  text-shadow: 0 2px 10px rgba(0,0,0,0.3);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  clip-path: polygon(100px 0, 100% 0, calc(100% - 100px) 100%, 0 100%);
  -webkit-clip-path: polygon(100px 0, 100% 0, calc(100% - 100px) 100%, 0 100%);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.hero-video-shell-2026 .video-controls,
div.video-controls {
  position: absolute;
  bottom: 0;
  z-index: 6;
  pointer-events: none;
}
.hero-video-shell-2026,
.impact.noImpact.wrap {
  margin-top: 0 !important;
}
		
#ferris-bulldog {
  position: relative !important;
  z-index: 1000002 !important;
}
		
header,
.site-header,
#header {
  position: relative;
  z-index: 1000001;
}

/* REMOVE STICKY TAB FLAGS */
.stickyTabs {
  display: none;
}

/* DISPLAY MOBILE CTA BAR ALWAYS */
:root {
  --site-header-height: 93px;
}
		
.featured-intro .triBg {
  display: none;
}

p.video-overlay-cta {
  margin-top: -50px;
  margin-bottom: 107px;
  height: fit-content;
  text-align: center;
  -webkit-transform: translate3d(0,0,0);
  z-index: 5;
  color: white;
  pointer-events: all;
}

.video-overlay-cta a.cta-button {
  color: white;
  border-color: white;
}

.video-overlay-cta a.cta-button:hover {
  color: #111111;
}

.r3 {
  background-image: url(https://www.ferris.edu/images/background-kcad-campus-20250918.webp);
}

.r3-2 .interiorNewsFourColumn {
  margin: 0 0 0 0;
}

.r3-2 {
  padding: 4em 0em 2em 0em;
}

.tab_container {
  margin-bottom: 2em;
}

.r2-moveForward {
  width: 100%;
  max-width: 1510px;
  display: flex;
  flex-wrap: wrap;
  margin: 5em auto;
  padding: 0 2em 0 2em;
}

.r2-moveForward-1 {
  width: 50%;
  padding: 0 4em 0 0;
  align-content: center;
}

.r2-moveForward-2 {
  width: 50%;
  align-content: center;
}

.r2-programs {
  width: 100%;
}

.r2-programs-2 {
  width: 100%;
  max-width: 1110px;
  margin: 0 auto 4em;
}

.r2-gallery {
  width: 100%;
}

.r2-gallery-2 {
  width: 100%;
  margin: 0 auto;
}

.ferrisFlex-Three {
  justify-content: flex-start;
}

.tab_content {
  padding: 2em 0 0 0;
}

a.interiorNewsFourColumnItem {
  background-color: rgba(255,255,255,0.9);
}

.home-impact .overlay {
  background: linear-gradient(180deg,rgba(255,255,255,0) 0%, rgba(0,0,0,1) 100%);
}

.home-impact .caption h1.title {
  margin-bottom: 0.5em;
  letter-spacing: 0.2em;
}

.home-impact .slide-item {
  min-height: 900px;
}

.home-impact .caption.center-center {
  top: 50%;
}

.home-impact .caption h1.title span {
  font-size: 0.6em;
  letter-spacing: 0em;
}

.ferrisFlexObject-Two-simple.program-object {
  display: none;
}

/* Wrapper to position everything */
.background-video-container {
  position: relative;
  width: 100%;
  height: 60vh;
  overflow: hidden;
}

/* Adjust the video */
.background-video-container iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-height: 60vh;
  min-width: 177.78vh;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Overlay */
.background-video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
}

/* Content on top */
.background-video-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 2;
}

.mobileCounter {
  display: none;
  width: 100%;
  background: black;
  background-image: url(/images/background-kcad-student-20250918.webp);
  padding: 0 0 0 0;
}

.mobileCounterOverlay {
  background: rgba(0,0,0,0.75);
  width: 100%;
  height: 100%;
}

.counterContainer {
  width: 100%;
  background: transparent;
  padding: 2em 0;
}

.counterContainerInner {
  width: 100%;
  max-width: 1100px;
  margin: 2em auto;
}

.counterContainerInner h2 {
  color: #ffffff;
}

.counterHeading {
  width: fit-content;
  margin: 2em 0 0 0;
  color: #ffffff;
}

.counterContainerInner h2 {
  font-size: 2.4em;
  text-align: left;
}

.counterHeading img {
  width: 100%;
  max-width: 600px;
}

.region1Counters {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 2em 0;
}

.region1CountersItem {
  display: flex;
  width: 25%;
  background: rgba(0,0,0,0.4);
  align-items: center;
  padding: 1em;
  border: 1px solid #111111;
}

.region1CountersItem h2 {
  color: #ffffff;
  text-align: center;
  font-size: 2.5em;
  font-family: input-sans-compressed,Arial,Helvetica,sans-serif;
  margin: 0 0 0 0 !important;
}

.region1CountersItem p {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  color: #ffffff;
  font-family: input-sans-compressed,Arial,Helvetica,sans-serif;
  text-transform: uppercase;
}

.region1CountersItemInner {
  width: 100%;
}

.interiorNewsFourColumn {
  margin: 0 0 0 0;
}

a.interiorContentCardItem-twoColumn:active {
  transform: scale(0.95);
}

/* Donation popup */
.popup-box {
  position: fixed;
  min-width: 310px;
  z-index: 9999999;
  overflow: hidden;
  border: 1px solid #111111;
  width: 95vw;
  height: 75vh;
  max-width: 900px;
  left: calc(max(50% - 450px, 2.5vw));
  top: 15vh;
  background-color: #111111;
  padding: 0.5em;
}

.popup-inner {
  padding: 1em;
  overflow: scroll;
  -webkit-box-shadow: 6px 6px 5px 0px rgba(0,0,0,0.08);
  -moz-box-shadow: 6px 6px 5px 0px rgba(0,0,0,0.08);
  box-shadow: 6px 6px 5px 0px rgba(0,0,0,0.08);
  height: 100%;
  background-color: #333333;
  color: #ffffff;
}

.popup-inner .cta-button {
  border-color: #ffffff;
  color: #ffffff;
}

.popup-inner .cta-button:hover {
  border-color: #ffffff;
  color: #111111;
}

.mc-donation {
  height: 85vh;
  width: 100%;
  border: 1px solid #d0d0d0;
}

.closePopupButton {
  background-color: transparent;
  border-width: 0;
  font-family: inherit;
  font-size: 1.4em;
  font-style: inherit;
  font-weight: inherit;
  line-height: inherit;
  padding: 0;
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: #ffffff;
  float: right;
}

.closePopupButton:hover {
  color: #ba0c2f;
  cursor: pointer;
}

/* =========================
   CAROUSEL
   ========================= */

#kcadFeaturedScrollerSection2026 {
  width: 100%;
  padding: 4em;
  background: #000000;
  position: relative;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
}

#kcadFeaturedScrollerViewport2026 {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-y;
  position: relative;
  z-index: 1;
}

#kcadFeaturedScrollerViewport2026::-webkit-scrollbar {
  display: none;
}

#kcadFeaturedScrollerViewport2026.kcad-featured-scroller-is-dragging-2026 {
  cursor: grabbing;
  scroll-behavior: auto;
}

#kcadFeaturedScrollerTrack2026 {
  display: flex;
  align-items: stretch;
  gap: 1.5em;
  width: max-content;
}

.kcad-featured-scroller-panel-2026 {
  flex: 0 0 60vw;
  max-width: 520px;
  min-width: 320px;
  aspect-ratio: 3 / 4;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  background: #111111;
  transform: scale(0.92);
  opacity: 0.72;
  transition: transform 0.35s ease, opacity 0.35s ease, box-shadow 0.35s ease;
  box-shadow: 0 0 0 rgba(0,0,0,0);
  pointer-events: auto;
  cursor: pointer;
  border-radius: 0;
  clip-path: polygon(
    14px 0,
    100% 0,
    100% calc(100% - 14px),
    calc(100% - 14px) 100%,
    0 100%,
    0 14px
  );
  -webkit-clip-path: polygon(
    14px 0,
    100% 0,
    100% calc(100% - 14px),
    calc(100% - 14px) 100%,
    0 100%,
    0 14px
  );
}

.kcad-featured-scroller-panel-2026::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0em;
  clip-path: polygon(
    14px 0,
    100% 0,
    100% calc(100% - 14px),
    calc(100% - 14px) 100%,
    0 100%,
    0 14px
  );
  -webkit-clip-path: polygon(
    14px 0,
    100% 0,
    100% calc(100% - 14px),
    calc(100% - 14px) 100%,
    0 100%,
    0 14px
  );
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 {
  transform: scale(1);
  opacity: 1;
  box-shadow: 0 18px 44px rgba(0,0,0,0.28);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026::after {
  border-color: rgba(255,255,255,0.14);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026.kcad-featured-scroller-panel-is-paused-2026 {
  animation: kcadFeaturedScrollerPausedPulse2026 2.4s ease-in-out infinite;
}

@keyframes kcadFeaturedScrollerPausedPulse2026 {
  0% {
    box-shadow: 0 18px 44px rgba(0,0,0,0.28);
  }
  50% {
    box-shadow: 0 22px 52px rgba(255,255,255,0.08), 0 18px 44px rgba(0,0,0,0.32);
  }
  100% {
    box-shadow: 0 18px 44px rgba(0,0,0,0.28);
  }
}

.kcad-featured-scroller-video-2026 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%) scale(1.08);
  z-index: 0;
  pointer-events: none;
  transition: transform 0.6s ease, filter 0.6s ease;
  filter: blur(2px) saturate(0.92) brightness(0.9);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 .kcad-featured-scroller-video-2026 {
  transform: translate(-50%, -50%) scale(1.14);
  filter: blur(0px) saturate(1.02) brightness(1);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026.kcad-featured-scroller-panel-text-hidden-2026 .kcad-featured-scroller-video-2026 {
  transform: translate(-50%, -50%) scale(1.16);
  filter: blur(0px) saturate(1.08) brightness(1.06) contrast(1.04);
}

.kcad-featured-scroller-panel-overlay-2026 {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 1;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.78) 0%,
    rgba(0, 0, 0, 0.52) 26%,
    rgba(0, 0, 0, 0.24) 52%,
    rgba(0, 0, 0, 0.08) 100%
  );
  transition: background 0.6s ease, opacity 0.6s ease;
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 .kcad-featured-scroller-panel-overlay-2026 {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.62) 0%,
    rgba(0, 0, 0, 0.34) 24%,
    rgba(0, 0, 0, 0.14) 48%,
    rgba(0, 0, 0, 0.03) 100%
  );
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026.kcad-featured-scroller-panel-text-hidden-2026 .kcad-featured-scroller-panel-overlay-2026 {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.22) 0%,
    rgba(0, 0, 0, 0.10) 18%,
    rgba(0, 0, 0, 0.03) 36%,
    rgba(0, 0, 0, 0) 70%
  );
  opacity: 0.95;
}

.kcad-featured-scroller-state-flash-2026 {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
}

.kcad-featured-scroller-state-flash-text-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.5rem;
  padding: 0.7rem 1.2rem 0.7rem 1.3rem;
  background: rgba(0, 0, 0, 0.56);
  color: #ffffff;
  font-family: input-sans-compressed, sans;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1.15rem;
  line-height: 1;
  transform: scale(0.98);
  text-shadow: 0 2px 10px rgba(0,0,0,0.35);
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  -webkit-clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}

.kcad-featured-scroller-state-flash-2026.kcad-featured-scroller-state-flash-visible-2026 {
  animation: kcadFeaturedScrollerStateFlash2026 0.9s ease;
}

@keyframes kcadFeaturedScrollerStateFlash2026 {
  0% {
    opacity: 0;
  }
  18% {
    opacity: 1;
  }
  68% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.kcad-featured-scroller-state-flash-2026.kcad-featured-scroller-state-flash-visible-2026 .kcad-featured-scroller-state-flash-text-2026 {
  animation: kcadFeaturedScrollerStateFlashText2026 0.9s ease;
}

@keyframes kcadFeaturedScrollerStateFlashText2026 {
  0% {
    opacity: 0;
    transform: scale(0.96);
  }
  20% {
    opacity: 1;
    transform: scale(1);
  }
  70% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.01);
  }
}

.kcad-featured-scroller-panel-content-2026 {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 1.75em 1.5em 1.25em 1.5em;
  color: #ffffff;
  pointer-events: none;
}

.kcad-featured-scroller-title-2026 {
  margin: 0 0 0.35em 0;
  color: #ffffff;
  font-size: 1.75rem;
  font-family: input-sans-compressed, sans;
  text-transform: uppercase;
  line-height: 1.08;
  opacity: 0.35;
  transform: translateY(12px);
  transition: opacity 0.6s ease, transform 0.6s ease, text-shadow 0.35s ease;
  text-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 .kcad-featured-scroller-title-2026 {
  opacity: 1;
  transform: translateY(0);
  text-shadow: 0 4px 16px rgba(0,0,0,0.45);
}

.kcad-featured-scroller-panel-content-2026 p {
  margin: 0;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateY(10px);
  text-shadow: 0 2px 10px rgba(0,0,0,0.3);
  transition:
    opacity 0.45s ease 0.08s,
    max-height 0.45s ease 0.08s,
    transform 0.45s ease 0.08s,
    text-shadow 0.35s ease;
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 .kcad-featured-scroller-panel-content-2026 p {
  opacity: 1;
  max-height: 120px;
  transform: translateY(0);
  text-shadow: 0 4px 14px rgba(0,0,0,0.42);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-text-hidden-2026 .kcad-featured-scroller-title-2026 {
  opacity: 0;
  transform: translateY(10px);
  text-shadow: 0 0 0 rgba(0,0,0,0);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-text-hidden-2026 .kcad-featured-scroller-panel-content-2026 p {
  opacity: 0;
  max-height: 0;
  transform: translateY(10px);
  text-shadow: 0 0 0 rgba(0,0,0,0);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-text-hidden-2026 .kcad-featured-scroller-panel-content-2026 {
  pointer-events: none;
}

.kcad-featured-scroller-progress-rail-2026 {
  position: absolute;
  left: 1em;
  right: 1em;
  bottom: 0.9em;
  height: 4px;
  background: rgba(255,255,255,0.18);
  overflow: hidden;
  border-radius: 999px;
  z-index: 3;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 .kcad-featured-scroller-progress-rail-2026 {
  opacity: 1;
  transform: translateY(0);
}

.kcad-featured-scroller-progress-bar-2026 {
  width: 0%;
  height: 100%;
  background: #ffffff;
  border-radius: 999px;
  transition: width 0.08s linear, background-color 0.25s ease, box-shadow 0.25s ease;
  box-shadow:
    0 0 8px rgba(255,255,255,0.35),
    0 0 18px rgba(255,255,255,0.2);
}

.kcad-featured-scroller-panel-2026[data-audio-active="true"] .kcad-featured-scroller-progress-bar-2026 {
  background: #BA0C2F;
  box-shadow:
    0 0 10px rgba(186,12,47,0.55),
    0 0 22px rgba(186,12,47,0.35);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-paused-2026 .kcad-featured-scroller-progress-bar-2026 {
  background: #BA0C2F;
  box-shadow:
    0 0 10px rgba(186,12,47,0.55),
    0 0 22px rgba(186,12,47,0.35);
}

.kcad-featured-scroller-controls-2026 {
  position: absolute;
  right: 1em;
  bottom: 2.2em;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 0.45em;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 .kcad-featured-scroller-controls-2026 {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.kcad-featured-scroller-sound-toggle-2026,
.kcad-featured-scroller-fullscreen-link-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  background: rgba(0,0,0,0.52);
  color: #ffffff;
  padding: 0.5em 1.05em 0.5em 1.15em;
  min-width: 7.25rem;
  font-size: 0.85rem;
  font-family: input-sans-compressed, sans;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1;
  cursor: pointer;
  opacity: 1;
  pointer-events: auto;
  transform: none;
  transition:
    opacity 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease,
    filter 0.25s ease,
    color 0.25s ease;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 8px 18px rgba(0,0,0,0.18);
  filter: saturate(0.88) brightness(0.96);
}

.kcad-featured-scroller-sound-toggle-2026:hover,
.kcad-featured-scroller-sound-toggle-2026:focus-visible,
.kcad-featured-scroller-fullscreen-link-2026:hover,
.kcad-featured-scroller-fullscreen-link-2026:focus-visible {
  opacity: 1;
  background: rgba(0,0,0,0.74);
  box-shadow: 0 10px 22px rgba(0,0,0,0.28);
  filter: saturate(1) brightness(1);
  color: #ffffff;
}

.kcad-featured-scroller-sound-toggle-2026:active,
.kcad-featured-scroller-fullscreen-link-2026:active {
  transform: scale(0.98);
}

.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 .kcad-featured-scroller-sound-toggle-2026,
.kcad-featured-scroller-panel-2026.kcad-featured-scroller-panel-is-centered-2026 .kcad-featured-scroller-fullscreen-link-2026 {
  opacity: 0.82;
}

.kcad-featured-scroller-panel-2026[data-audio-active="true"] .kcad-featured-scroller-sound-toggle-2026 {
  opacity: 1;
  background: rgba(186,12,47,0.9);
  box-shadow: 0 10px 22px rgba(186,12,47,0.26);
  filter: saturate(1.02) brightness(1.02);
}

#kcadFeaturedScrollerPrevButton2026,
#kcadFeaturedScrollerNextButton2026 {
  display: block;
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 58px;
  height: 58px;
  z-index: 9999;
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  padding: 0;
  pointer-events: auto;
  transition: background-color 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

#kcadFeaturedScrollerPrevButton2026:hover,
#kcadFeaturedScrollerNextButton2026:hover {
  opacity: 1;
}

#kcadFeaturedScrollerPrevButton2026:active,
#kcadFeaturedScrollerNextButton2026:active {
  transform: translateY(-50%) scale(0.96);
}

#kcadFeaturedScrollerPrevButton2026 {
  left: 1em;
}

#kcadFeaturedScrollerNextButton2026 {
  right: 1em;
}

#kcadFeaturedScrollerPrevButton2026::before,
#kcadFeaturedScrollerNextButton2026::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
}

#kcadFeaturedScrollerPrevButton2026::before {
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-right: 16px solid #ffffff;
  margin-left: -2px;
}

#kcadFeaturedScrollerNextButton2026::before {
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 16px solid #ffffff;
  margin-left: 2px;
}

@media screen and (max-width: 1200px) {
  .hero-video-shell-2026 .hero-video-element-2026,
  .hero-video-shell-2026 #hero-video,
  video#hero-video {
    margin-top: 0px;
  }
}

@media screen and (max-width: 1024px) {
  .r2-moveForward-1 {
    width: 100%;
  }

  .r2-moveForward-2 {
    width: 100%;
  }
}

@media screen and (max-width: 900px) {
  .region1CountersItem h2 {
    font-size: 2em;
  }

  .region1CountersItem {
    width: 33%;
  }

  .h2SpeedlineBackground .h2SpeedlineBackgroundText {
    font-size: 1.65em;
    margin: 0 0 0 0 !important;
  }

  .background-video-container {
    display: none;
  }

  .mobileCounter {
    display: block;
  }

  #kcadFeaturedScrollerSection2026 {
    padding: 2.5em 2em;
  }

  .kcad-featured-scroller-panel-2026 {
    flex-basis: 72vw;
    min-width: 280px;
  }
}

@media screen and (max-width: 800px) {
  .home-impact .slide-item {
    min-height: 800px;
  }
}

@media screen and (max-width: 700px) {
  .counterContainer {
    padding: 2em 2em;
  }

  .region1CountersItem {
    width: 100%;
    margin-bottom: 2em;
  }

  .region1CountersItem:last-of-type {
    margin-bottom: 0em;
  }
}

@media only screen and (max-width: 650px) {
  a.interiorContentCardItem-twoColumn {
    margin-bottom: 1.5em;
  }
}

@media screen and (max-width: 640px) {
  .hero-video-shell-2026 .hero-text-overlay-2026 h1.page-title span,
  .impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 h1.page-title span {
    padding: 0.5em 0.9em 0.55em 1em;
    font-size: clamp(1.6rem, 8vw, 2.2rem);
    clip-path: polygon(60px 0, 100% 0, calc(100% - 60px) 100%, 0 100%);
    -webkit-clip-path: polygon(60px 0, 100% 0, calc(100% - 60px) 100%, 0 100%);
  }

  .impact img {
    height: 700px;
  }

  .home-impact .caption h1.title,
  .home-impact .caption h2.title {
    font-size: 2.5em;
    margin-bottom: 0.25em;
    line-height: 1em;
    transition: all .25s ease;
    padding: 0.8em;
  }

  .home-impact .overlay {
    background: linear-gradient(180deg,rgba(255,255,255,0) 0%, rgba(0,0,0,0.5) 50%,rgba(0,0,0,1) 100%);
  }
		
		

		
		
/* VIDEO PANEL */

  .kcad-featured-scroller-panel-2026 {
    flex-basis: 82vw;
    min-width: 240px;
    clip-path: polygon(
      10px 0,
      100% 0,
      100% calc(100% - 10px),
      calc(100% - 10px) 100%,
      0 100%,
      0 10px
    );
    -webkit-clip-path: polygon(
      10px 0,
      100% 0,
      100% calc(100% - 10px),
      calc(100% - 10px) 100%,
      0 100%,
      0 10px
    );
  }

  .kcad-featured-scroller-panel-2026::after {
    clip-path: polygon(
      10px 0,
      100% 0,
      100% calc(100% - 10px),
      calc(100% - 10px) 100%,
      0 100%,
      0 10px
    );
    -webkit-clip-path: polygon(
      10px 0,
      100% 0,
      100% calc(100% - 10px),
      calc(100% - 10px) 100%,
      0 100%,
      0 10px
    );
  }

  #kcadFeaturedScrollerSection2026 {
    padding: 2em 1.25em;
  }

  #kcadFeaturedScrollerPrevButton2026 {
    left: 0.35em;
  }

  #kcadFeaturedScrollerNextButton2026 {
    right: 0.35em;
  }

  #kcadFeaturedScrollerPrevButton2026,
  #kcadFeaturedScrollerNextButton2026 {
    width: 48px;
    height: 48px;
  }

  .kcad-featured-scroller-controls-2026 {
    right: 0.8em;
    bottom: 2em;
    gap: 0.35em;
  }

  .kcad-featured-scroller-sound-toggle-2026,
  .kcad-featured-scroller-fullscreen-link-2026 {
    font-size: 0.72rem;
    min-width: 6.4rem;
    padding: 0.45em 0.9em 0.45em 1em;
  }

  .kcad-featured-scroller-title-2026 {
    font-size: 1.45rem;
  }

  .kcad-featured-scroller-progress-rail-2026 {
    left: 0.8em;
    right: 0.8em;
    bottom: 0.75em;
  }

  .kcad-featured-scroller-state-flash-text-2026 {
    min-width: 6.25rem;
    font-size: 1rem;
    padding: 0.6rem 1rem 0.6rem 1.1rem;
  }
}

@media (max-width: 480px) {
  .home-impact .overlay {
    display: initial;
  }

  .home-impact .caption h1.title span {
    font-size: 0.5em;
    letter-spacing: 0em;
  }
}

@media (max-width: 481px) {
  .home-impact .slide-item .mobileShow {
    display: none;
  }

  .home-impact .slide-item .desktopShow {
    display: initial;
  }
}

@media screen and (max-width: 639px) {
  .hero-video-shell-2026 #hero-video-mobile-image,
  img#hero-video-mobile-image {
    display: none;
  }

  .hero-video-shell-2026 #hero-video-mobile-image + #hero-video,
  .hero-video-shell-2026 #hero-video-mobile-image ~ .video-controls,
  #hero-video-mobile-image + #hero-video,
  #hero-video-mobile-image ~ .video-controls {
    display: block;
  }

  #hero-video + div.video-controls button {
    opacity: .8;
  }
}
		
		
		
		
		
		
/* =========================
   FORM BLOCK STYLING
   ========================= */	
		
#formBlock2026 {
  position: relative;
  padding: 2.2rem;
  background: #111111;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 18px 40px rgba(0,0,0,0.16);
  overflow: hidden;
}
#formBlock2026::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,0.08);
  clip-path: polygon(
    18px 0,
    100% 0,
    100% calc(100% - 18px),
    calc(100% - 18px) 100%,
    0 100%,
    0 18px
  );
  -webkit-clip-path: polygon(
    18px 0,
    100% 0,
    100% calc(100% - 18px),
    calc(100% - 18px) 100%,
    0 100%,
    0 18px
  );
}

#formBlock2026::after {
  content: "Request Info";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 2rem;
  left: 1.5rem;
  z-index: 2;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.92);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  line-height: 1;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 24px rgba(186,12,47,0.22);
}

#formBlock2026 > * {
  position: relative;
  z-index: 1;
}

#formBlock2026 iframe {
  display: block;
  width: 100% !important;
  min-height: 720px;
  border: 0;
  background: transparent;
  margin-top: 2.4rem;
}

/* If the embed outputs direct form markup rather than only an iframe */
#formBlock2026 form,
#formBlock2026 .fsForm,
#formBlock2026 .formstack-form,
#formBlock2026 .mktoForm {
  margin-top: 2.4rem;
  padding: 0;
  background: transparent !important;
  color: #ffffff;
}

/* Headings / intro text inside common embedded forms */
#formBlock2026 h1,
#formBlock2026 h2,
#formBlock2026 h3,
#formBlock2026 .fsTitle,
#formBlock2026 .mktoTitleText {
  color: #ffffff !important;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-bottom: 0.5rem;
}

#formBlock2026 p,
#formBlock2026 .fsBody,
#formBlock2026 .mktoDescription {
  color: rgba(255,255,255,0.86) !important;
}

/* Labels */
#formBlock2026 label,
#formBlock2026 .fsLabel,
#formBlock2026 .mktoLabel {
  color: #ffffff !important;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.9rem !important;
  margin-bottom: 0.35rem !important;
}

/* Inputs */
#formBlock2026 input[type="text"],
#formBlock2026 input[type="email"],
#formBlock2026 input[type="tel"],
#formBlock2026 input[type="number"],
#formBlock2026 select,
#formBlock2026 textarea,
#formBlock2026 .fsField input,
#formBlock2026 .fsField select,
#formBlock2026 .fsField textarea,
#formBlock2026 .mktoField {
  width: 100% !important;
  background: rgba(255,255,255,0.06) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0.85rem 0.9rem !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

#formBlock2026 input::placeholder,
#formBlock2026 textarea::placeholder {
  color: rgba(255,255,255,0.5) !important;
}

#formBlock2026 input:focus,
#formBlock2026 select:focus,
#formBlock2026 textarea:focus,
#formBlock2026 .mktoField:focus {
  outline: none !important;
  border-color: rgba(186,12,47,0.9) !important;
  background: rgba(255,255,255,0.08) !important;
  box-shadow: 0 0 0 3px rgba(186,12,47,0.16) !important;
}

/* Submit button */
#formBlock2026 button,
#formBlock2026 input[type="submit"],
#formBlock2026 .fsSubmitButton,
#formBlock2026 .mktoButton {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  background: rgba(186,12,47,0.96) !important;
  color: #ffffff !important;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 0.8rem 1.2rem 0.86rem 1.3rem !important;
  min-height: auto !important;
  border-radius: 0 !important;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(186,12,47,0.22);
  transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

#formBlock2026 button:hover,
#formBlock2026 input[type="submit"]:hover,
#formBlock2026 .fsSubmitButton:hover,
#formBlock2026 .mktoButton:hover {
  background: #9f0a28 !important;
  box-shadow: 0 14px 28px rgba(186,12,47,0.28);
}

#formBlock2026 button:active,
#formBlock2026 input[type="submit"]:active,
#formBlock2026 .fsSubmitButton:active,
#formBlock2026 .mktoButton:active {
  transform: scale(0.98);
}

/* Calm down excessive spacing in embeds */
#formBlock2026 .fsRow,
#formBlock2026 .mktoFormRow,
#formBlock2026 .form-group {
  margin-bottom: 0.9rem !important;
}

/* Mobile */
@media screen and (max-width: 1024px) {
  #formBlock2026 {
    margin-top: 1.5rem;
  }
}

@media screen and (max-width: 640px) {
  #formBlock2026 {
    padding: 1rem;
  }

  #formBlock2026::before {
  }

  #formBlock2026::after {
    font-size: 0.8rem;
    padding: 0.4rem 0.75rem 0.44rem 0.85rem;
  }

  #formBlock2026 iframe {
    min-height: 760px;
  }
}
		
/* COUNTERS */
		
/* Wrapper to position everything */
.background-video-container {
    position: relative;
    width: 100%;
    height: 60vh; /* Adjust the height to your preference (e.g., 60% of viewport height) */
    overflow: hidden;
}

/* Adjust the video */
.background-video-container iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw; /* Maintain the 16:9 aspect ratio */
    min-height: 60vh; /* Ensure the video scales properly */
    min-width: 177.78vh;
    transform: translate(-50%, -50%);
    pointer-events: none; /* Prevent user interaction */
}


        /* Overlay */
        .background-video-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.75); /* Semi-transparent black */
        }

 /* Content on top */
.background-video-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; /* Make it span the full width */
    height: 100%; /* Make it span the full height */
    display: flex; /* Optional: Use flexbox for centering content */
    align-items: center; /* Center content vertically */
    justify-content: center; /* Center content horizontally */
    text-align: center; /* Ensure text is centered */
    z-index: 2; /* Ensure it's above everything */
}		
		
	.mobileCounter
		{ display: none; width: 100%; background: black; background-image: url(/images/background-kcad-student-20250918.webp); padding: 0 0 0 0; }
		
	.mobileCounterOverlay
		{ background: rgba(0,0,0,0.75); width: 100%; height: 100%; }
		
	.counterContainer
		{ width: 100%; background: transparent; padding: 2em 0; }
		
	.counterContainerInner
		{ width: 100%; max-width: 1100px; margin: 2em auto; }
		
	.counterContainerInner h2
		{ color: #ffffff; }
		
	.counterHeading
		{ width: fit-content; margin: 2em 0 0 0; color: #ffffff; }
		
	.counterContainerInner h2
		{ font-size: 2.4em; text-align: left; }
		
	.counterHeading img
		{ width: 100%; max-width: 600px; }
		
	.region1Counters
		{ width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; margin: 2em 0; }
		
	.region1CountersItem
		{ display: flex; width: 25%; background: rgba(0,0,0,0.4); align-items: center; padding: 1em; border: 1px solid #111111;  }
		
	.region1CountersItem h2
		{ color: #ffffff; text-align: center; font-size: 2.5em; font-family: input-sans-compressed,Arial,Helvetica,sans-serif; margin: 0 0 0 0 !important; }
	
	.region1CountersItem p
		{ margin: 0 0 0 0; padding: 0 0 0 0; text-align: center; color: #ffffff; font-family: input-sans-compressed,Arial,Helvetica,sans-serif; text-transform: uppercase; }
		
	.region1CountersItemInner
		{ width: 100%; }
		
	.interiorNewsFourColumn
		{ margin: 0 0 0 0; }
		
		
    @media screen and (max-width: 1200px) 
    {
	.counterContainer
		{ padding: 2em 2em; }
	.region1CountersItem
		{ width: 30%; }
	}
		
	@media screen and (max-width: 900px)	
		{
	.region1CountersItem h2
		{ font-size: 2em; }
	.region1CountersItem
		{ width: 33%; }
	.h2SpeedlineBackground .h2SpeedlineBackgroundText
		{ font-size: 1.65em; margin: 0 0 0 0 !important; }
	.background-video-container
		{ display: none; }
	.mobileCounter
		{ display: block; }
		}
		
	@media screen and (max-width: 700px)
		{
	.counterContainer
		{ padding: 2em 2em; }
	.region1CountersItem
		{ width: 100%; margin-bottom: 2em; }
	.region1CountersItem:last-of-type
		{ margin-bottom: 0em; }
		}
		
/* HUB MAP */
.r2-centerBlack {
	width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap-reverse;
    padding: 0 0 0 0;
	background-color: #111111;
		}
.r2-hubMap {
	width: 100%;
	max-width: 1350px;
	margin: 0 auto;
	padding: 0 6em;;
		}
.r2-hubMap .calloutText {
	color: #ffffff;
		}
.r2-hubMap p {
	color: #ffffff;
		}
.r2-hubMap .ferrisFlex-Two-simple {
	margin-bottom: 0;
	margin: 0 0 0 0;
	padding: 2em 0 2em 0;
		}
.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexBigColumn {
	width: 65%;
		}
.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn {
	width: 35%;
	padding: 0 2em;
		}
.r2-hubMap .cta-button {
	color: #ffffff;
	border-color: #ffffff;
		}
.r2-hubMap .cta-button:hover {
	color: #111111;
	background-color: #ffffff;
		}
.r2-hubMap .ferrisFlexObject-Three {
	width: 100%;
	height: initial;
		}
@media screen and (max-width: 1024px) {
.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexBigColumn, .r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn {
	width: 100%;
		}
}
		
/* =========================
   CAROUSEL INTRO
   ========================= */

.kcad-carousel-intro-2026 {
  width: 100%;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,0.96) 0%,
      rgba(17,17,17,0.98) 100%
    );
  padding: 4.5rem 2rem 2rem 2rem;
  position: relative;
  overflow: hidden;
}

.kcad-carousel-intro-2026::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(460px, 48vw);
  height: 100%;
  background:
    linear-gradient(
      135deg,
      rgba(186,12,47,0.22) 0%,
      rgba(186,12,47,0.08) 32%,
      rgba(186,12,47,0) 70%
    );
  pointer-events: none;
}

.kcad-carousel-intro-2026::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,0.75) 0%,
    rgba(255,255,255,0.12) 45%,
    rgba(255,255,255,0) 100%
  );
  pointer-events: none;
}

.kcad-carousel-intro-inner-2026 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.kcad-carousel-kicker-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem 0;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.92);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 24px rgba(186,12,47,0.22);
}

.kcad-carousel-heading-2026 {
  margin: 0;
  color: #ffffff;
  line-height: 0.95;
}

.kcad-carousel-heading-2026 span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.32em 0.72em 0.38em 0.78em;
  background: rgba(255,255,255,0.06);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(2.3rem, 5vw, 4.8rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(0,0,0,0.28);
  box-shadow: 0 14px 34px rgba(0,0,0,0.2);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.kcad-carousel-description-2026 {
  width: 100%;
  max-width: 760px;
  margin: 1.15rem 0 0 0;
  color: rgba(255,255,255,0.88);
  font-size: 1.08rem;
  line-height: 1.55;
  text-wrap: pretty;
}

.kcad-carousel-description-2026 strong {
  color: #ffffff;
}

/* Tighten the handoff into the carousel */
.kcad-carousel-intro-2026 + #kcadFeaturedScrollerSection2026 {
  padding-top: 2rem;
}

/* Mobile */
@media screen and (max-width: 900px) {
  .kcad-carousel-intro-2026 {
    padding: 3.5rem 1.5rem 1.5rem 1.5rem;
  }

  .kcad-carousel-description-2026 {
    font-size: 1rem;
    max-width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .kcad-carousel-intro-2026 {
    padding: 3rem 1.25rem 1.25rem 1.25rem;
  }

  .kcad-carousel-kicker-2026 {
    font-size: 0.8rem;
    padding: 0.38rem 0.72rem 0.42rem 0.82rem;
  }

  .kcad-carousel-heading-2026 span {
    font-size: clamp(1.8rem, 9vw, 2.8rem);
    padding: 0.34em 0.62em 0.4em 0.68em;
  }

  .kcad-carousel-description-2026 {
    margin-top: 1rem;
    font-size: 0.98rem;
    line-height: 1.5;
  }
}
		
.kcad-carousel-kicker-2026,
.kcad-carousel-heading-2026,
.kcad-carousel-description-2026 {
  opacity: 0;
  transform: translateY(16px);
  animation: kcadCarouselIntroFade2026 0.8s ease forwards;
}

.kcad-carousel-heading-2026 {
  animation-delay: 0.08s;
}

.kcad-carousel-description-2026 {
  animation-delay: 0.16s;
}

@keyframes kcadCarouselIntroFade2026 {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
		
/* =========================
   INTRO LEFT FEATURE BLOCK
   ========================= */

.kcad-feature-block-2026 {
  position: relative;
  padding: 1.5rem 2rem 1.5rem 0;
}

.kcad-feature-block-2026::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: -1.25rem;
  width: 3px;
  height: calc(100% - 0.5rem);
  background: linear-gradient(
    180deg,
    rgba(186,12,47,0.95) 0%,
    rgba(186,12,47,0.3) 70%,
    rgba(186,12,47,0) 100%
  );
  box-shadow: 0 0 18px rgba(186,12,47,0.18);
}

.kcad-feature-kicker-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem 0;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.92);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 24px rgba(186,12,47,0.22);
}

.kcad-feature-heading-2026 {
  margin: 0;
  color: #111111;
  line-height: 0.95;
}

.kcad-feature-heading-2026 span {
  display: inline-block;
  padding: 0;
  background: transparent;
  color: #111111;

  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(2rem, 4.2vw, 4.1rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 0.95;

  text-shadow: none;
  box-shadow: none;

  clip-path: none;
  -webkit-clip-path: none;
}

.kcad-feature-heading-2026 {
  position: relative;
  margin: 0;
  color: #111111;
}

.kcad-feature-heading-2026::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  margin-top: 0.6rem;

  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.6) 60%,
    rgba(186,12,47,0) 100%
  );
}

.kcad-feature-lead-2026 {
  max-width: 38rem;
  margin: 1.15rem 0 1rem 0;
  font-size: 1.1rem;
  line-height: 1.6;
  color: #333333;
}

.kcad-feature-block-2026 p:not(.kcad-feature-kicker-2026):not(.kcad-feature-lead-2026) {
  max-width: 40rem;
  color: #444444;
  line-height: 1.65;
}

/* Make the CTA feel more intentional with your new visual language */
.kcad-feature-block-2026 .cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.75rem;
  border: 0;
  background: rgba(186,12,47,0.96);
  color: #ffffff !important;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 0.8rem 1.2rem 0.86rem 1.3rem;
  box-shadow: 0 12px 24px rgba(186,12,47,0.18);
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.kcad-feature-block-2026 .cta-button:hover {
  background: #9f0a28;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(186,12,47,0.24);
}

.kcad-feature-block-2026 .cta-button:active {
  transform: scale(0.98);
}

/* Mobile */
@media screen and (max-width: 1024px) {
  .kcad-feature-block-2026 {
    padding: 0 0 1rem 0;
  }

  .kcad-feature-block-2026::before {
    left: -0.75rem;
  }
}

@media screen and (max-width: 640px) {
  .kcad-feature-kicker-2026 {
    font-size: 0.8rem;
    padding: 0.38rem 0.72rem 0.42rem 0.82rem;
  }

  .kcad-feature-heading-2026 span {
    display: inline-block;
    font-size: clamp(1.7rem, 8vw, 2.6rem);
    padding-left: 0.08em;
    clip-path: none;
    -webkit-clip-path: none;
  }

  .kcad-feature-lead-2026 {
    font-size: 1rem;
  }

  .kcad-feature-block-2026::before {
    display: none;
  }
}
		
/* =========================
   SCROLL REVEAL
   ========================= */

.kcad-reveal-2026 {
  opacity: 0;
  transform: translateY(22px);
  filter: blur(4px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease,
    filter 0.7s ease;
  will-change: opacity, transform, filter;
}

.kcad-reveal-2026.kcad-reveal-visible-2026 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Optional stagger for inner elements (extra polish) */
.kcad-feature-block-2026 .kcad-feature-kicker-2026,
.kcad-feature-block-2026 .kcad-feature-heading-2026,
.kcad-feature-block-2026 .kcad-feature-lead-2026,
.kcad-feature-block-2026 p,
.kcad-feature-block-2026 .cta-button {
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

.kcad-reveal-visible-2026 .kcad-feature-kicker-2026 { transition-delay: 0.05s; opacity: 1; transform: translateY(0); }
.kcad-reveal-visible-2026 .kcad-feature-heading-2026 { transition-delay: 0.12s; opacity: 1; transform: translateY(0); }
.kcad-reveal-visible-2026 .kcad-feature-lead-2026 { transition-delay: 0.2s; opacity: 1; transform: translateY(0); }
.kcad-reveal-visible-2026 .kcad-feature-block-2026 p { transition-delay: 0.28s; opacity: 1; transform: translateY(0); }
.kcad-reveal-visible-2026 .cta-button { transition-delay: 0.36s; opacity: 1; transform: translateY(0); }
		
/* Form block reveal */
.r2-moveForward-2.kcad-reveal-2026 #formBlock2026 {
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.55s ease,
    transform 0.55s ease;
  transition-delay: 0.14s;
}

.r2-moveForward-2.kcad-reveal-2026.kcad-reveal-visible-2026 #formBlock2026 {
  opacity: 1;
  transform: translateY(0);
}
		
.r2-moveForward-1.kcad-reveal-2026 {
  transition-delay: 0s;
}

.r2-moveForward-2.kcad-reveal-2026 {
  transition-delay: 0.12s;
}
		
/* =========================
   HERO OVERLAY LAYOUT
   ========================= */

.hero-video-shell-2026 .hero-text-overlay-2026,
.impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 {
  position: absolute;
  inset: 0;
  z-index: 5;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 2rem 1rem;
  text-align: center;
  pointer-events: none;
}

/* =========================
   HERO TITLE
   ========================= */

.hero-title-row-2026 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: auto;
  max-width: min(92vw, 1000px);
  margin: 0 auto;
}

.hero-video-shell-2026 .hero-text-overlay-2026 h1.page-title,
.impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 h1.page-title {
  margin: 0;
  position: relative;
  z-index: 3;

  opacity: 0;
  transform: translateY(14px) scale(0.985);
  animation: heroTitleReveal2026 0.85s cubic-bezier(.2,.8,.2,1) forwards;
}

.hero-video-shell-2026 .hero-text-overlay-2026 h1.page-title span,
.impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 h1.page-title span {
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0.5em 1.2em 0.55em 1.3em;

  background: rgba(0, 0, 0, 0.6);
  color: #ffffff;

  font-family: input-sans-compressed, sans;
  font-size: clamp(2rem, 6vw, 3.8rem);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: 0.05em;
  text-transform: uppercase;

  text-align: center;

  box-shadow: 0 16px 40px rgba(0,0,0,0.28);
  text-shadow: 0 2px 12px rgba(0,0,0,0.35);

  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);

  /* full parallelogram */
  clip-path: polygon(
    80px 0,
    100% 0,
    calc(100% - 80px) 100%,
    0 100%
  );
  -webkit-clip-path: polygon(
    80px 0,
    100% 0,
    calc(100% - 80px) 100%,
    0 100%
  );
}

@keyframes heroTitleReveal2026 {
  0% {
    opacity: 0;
    transform: translateY(14px) scale(0.985);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* =========================
   HERO SIGNATURE
   ========================= */

.hero-signature-2026 {
  position: relative;
  margin-top: 1.1rem;
  color: rgba(255,255,255,0.95);
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(0.95rem, 1.4vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-align: center;
  text-shadow:
    0 1px 10px rgba(0,0,0,0.25),
    0 0 18px rgba(255,255,255,0.06);

  opacity: 0;
  transform: translateY(8px);
  filter: blur(4px);

  animation: heroSignatureReveal2026 0.55s cubic-bezier(.25,.8,.25,1) forwards;
  animation-delay: 0.25s;

  transition: opacity 0.25s ease, transform 0.25s ease;
  will-change: opacity, transform;
}

.hero-signature-2026::before {
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin: 0 auto 0.55rem auto;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.75) 40%,
    rgba(255,255,255,0.95) 50%,
    rgba(255,255,255,0.75) 60%,
    rgba(255,255,255,0) 100%
  );

  opacity: 0;
  transform: translateY(4px) scaleX(0.85);

  animation: heroSignatureLineReveal2026 0.45s ease forwards;
  animation-delay: 0.2s;
}

/* once JS takes over, stop CSS animation cleanly */
.hero-signature-2026.hero-signature-scroll-ready-2026 {
  animation: none;
  filter: blur(0);
}

.hero-signature-2026.hero-signature-scroll-ready-2026::before {
  animation: none;
  opacity: 1;
  transform: translateY(0) scaleX(1);
}

@keyframes heroSignatureReveal2026 {
  0% {
    opacity: 0;
    transform: translateY(8px);
    filter: blur(4px);
  }
  60% {
    opacity: 0.9;
    transform: translateY(2px);
    filter: blur(1px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes heroSignatureLineReveal2026 {
  0% {
    opacity: 0;
    transform: translateY(4px) scaleX(0.75);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scaleX(1);
  }
}

/* =========================
   MOBILE
   ========================= */

@media screen and (max-width: 640px) {
  .hero-video-shell-2026 .hero-text-overlay-2026 h1.page-title span,
  .impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 h1.page-title span {
    padding: 0.55em 1em 0.6em 1.1em;
    font-size: clamp(1.8rem, 8vw, 2.4rem);

    clip-path: polygon(
      50px 0,
      100% 0,
      calc(100% - 50px) 100%,
      0 100%
    );
  }

  .hero-signature-2026 {
    margin-top: 0.9rem;
    font-size: 0.9rem;
    letter-spacing: 0.16em;
  }

  .hero-signature-2026::before {
    width: 80px;
    margin-bottom: 0.55rem;
  }
}
/* =========================
   HERO SHIMMER EFFECT
   ========================= */

.hero-video-shell-2026 .hero-text-overlay-2026 h1.page-title span,
.impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 h1.page-title span {
  position: relative;
  overflow: hidden;
}

/* shimmer layer */
.hero-video-shell-2026 .hero-text-overlay-2026 h1.page-title span::after,
.impact.noImpact #hero-video ~ .text-overlay.hero-text-overlay-2026 h1.page-title span::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;

  width: 60%;
  height: 100%;

  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.08) 35%,
    rgba(255,255,255,0.18) 50%,
    rgba(255,255,255,0.08) 65%,
    rgba(255,255,255,0) 100%
  );

  transform: skewX(-18deg);

  pointer-events: none;
  opacity: 0;

  animation: heroShimmer2026 1.4s ease forwards;
  animation-delay: 0.9s;
}

@keyframes heroShimmer2026 {
  0% {
    left: -120%;
    opacity: 0;
  }
  15% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    left: 140%;
    opacity: 0;
  }
}	
		
/* =========================
    MAP POLISH
   ========================= */

.r2-centerBlack {
  position: relative;
  overflow: hidden;
  margin: 0 auto 0 auto !important;
  padding: 4.5rem 0 !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(186,12,47,0.16) 0%, rgba(186,12,47,0.05) 22%, rgba(186,12,47,0) 48%),
    linear-gradient(180deg, #0b0b0b 0%, #111111 100%);
}

.r2-centerBlack::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 18%, rgba(255,255,255,0) 82%, rgba(255,255,255,0.04) 100%);
  opacity: 0.45;
}

.r2-centerBlack::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(186,12,47,0.8) 0%, rgba(255,255,255,0.12) 38%, rgba(255,255,255,0) 100%);
}

.r2-hubMap {
  position: relative;
  z-index: 1;
  max-width: 1420px;
  padding: 0 4rem !important;
}

.r2-hubMap .ferrisFlex-Two-simple {
  align-items: center;
  gap: 2rem;
  padding: 0 !important;
}

/* Left copy block */
.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn {
  width: 34%;
  padding: 0 2rem 0 0 !important;
}

.hub-map-copy-2026 {
  position: relative;
}

.hub-map-copy-2026::before {
  content: "";
  position: absolute;
  top: 0.35rem;
  left: -1rem;
  width: 3px;
  height: calc(100% - 0.7rem);
  background: linear-gradient(180deg, rgba(186,12,47,0.95) 0%, rgba(186,12,47,0.28) 72%, rgba(186,12,47,0) 100%);
  box-shadow: 0 0 18px rgba(186,12,47,0.2);
}

.hub-map-kicker-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem 0;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.92);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 24px rgba(186,12,47,0.22);
}

.hub-map-heading-2026 {
  margin: 0;
  color: #ffffff !important;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(2.1rem, 4vw, 4rem);
  line-height: 0.95;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.hub-map-heading-2026::after {
  content: "";
  display: block;
  width: 82px;
  height: 3px;
  margin-top: 0.7rem;
  background: linear-gradient(90deg, rgba(186,12,47,1) 0%, rgba(186,12,47,0.55) 60%, rgba(186,12,47,0) 100%);
}

.hub-map-lead-2026 {
  margin-top: 1.1rem;
  max-width: 34rem;
  font-size: 1.12rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.9) !important;
}

.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn p {
  color: rgba(255,255,255,0.82);
  line-height: 1.65;
}

/* Map column */
.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexBigColumn {
  width: 66%;
}

#michigan-map-container {
  position: relative;
  padding: 1.25rem;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.015) 100%);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 46px rgba(0,0,0,0.28);
  overflow: hidden;
}

#michigan-map-container::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,0.06);
  clip-path: polygon(
    18px 0,
    100% 0,
    100% calc(100% - 18px),
    calc(100% - 18px) 100%,
    0 100%,
    0 18px
  );
  -webkit-clip-path: polygon(
    18px 0,
    100% 0,
    100% calc(100% - 18px),
    calc(100% - 18px) 100%,
    0 100%,
    0 18px
  );
}

#michigan-map {
  position: relative;
  border-radius: 0;
  overflow: visible;
}

#michigan-map > img:last-child {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,0.18));
}

/* Hub dots */
#michigan-map .hub {
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px;
  background: #ba0c2f !important;
  border: 2px solid rgba(255,255,255,0.96);
  box-shadow:
    0 0 0 0 rgba(186,12,47,0.55),
    0 0 18px rgba(186,12,47,0.45);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

#michigan-map .hub:hover,
#michigan-map .hub:focus-visible,
#michigan-map .hub[aria-expanded="true"] {
  transform: scale(1.12);
  background: #d01139 !important;
  box-shadow:
    0 0 0 6px rgba(186,12,47,0.12),
    0 0 24px rgba(186,12,47,0.55);
  outline: none;
}

/* Passive locations */
#michigan-map .location {
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px;
  background: rgba(186,12,47,0.9) !important;
  box-shadow: 0 0 10px rgba(186,12,47,0.2);
}

#michigan-map .line {
  opacity: 0.55;
  filter: saturate(0.92);
}

/* Big Rapids main icon */
#main-campus-icon {
  width: 74px;
  height: auto;
  filter:
    drop-shadow(0 10px 22px rgba(0,0,0,0.28))
    drop-shadow(0 0 16px rgba(186,12,47,0.12));
  transition: transform 0.2s ease, filter 0.2s ease;
}

#main-campus-icon:hover,
#main-campus-icon:focus-visible {
  transform: scale(1.04);
  filter:
    drop-shadow(0 12px 26px rgba(0,0,0,0.3))
    drop-shadow(0 0 20px rgba(186,12,47,0.2));
  outline: none;
}

/* Popups */
#michigan-map .popup {
  background: rgba(10,10,10,0.96) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 18px 40px rgba(0,0,0,0.3);
  padding: 1rem 1rem 0.95rem 1rem !important;
  max-width: 320px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

#michigan-map .popup h2 {
  margin: 0 0 0.5rem 0;
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: uppercase;
}

#michigan-map .popup h3 {
  margin: 0.8rem 0 0.35rem 0;
  color: rgba(255,255,255,0.92);
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#michigan-map .popup p,
#michigan-map .popup li,
#michigan-map .popup div,
#michigan-map .popup a {
  color: rgba(255,255,255,0.88);
}

#michigan-map .popup a.readmore,
#michigan-map .popup a[role="menuitem"] {
  color: #ffffff;
  text-decoration: none;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

#michigan-map .popup a.readmore:hover,
#michigan-map .popup a[role="menuitem"]:hover {
  color: #ffd043;
}

#michigan-map .popup .popup-arrow {
  filter: drop-shadow(0 4px 10px rgba(0,0,0,0.18));
}

/* Reveal polish */
.r2-centerBlack.kcad-reveal-2026 {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(4px);
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
}

.r2-centerBlack.kcad-reveal-2026.kcad-reveal-visible-2026 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Responsive */
@media screen and (max-width: 1200px) {
  .r2-hubMap {
    padding: 0 2.5rem !important;
  }
}

@media screen and (max-width: 1024px) {
  .r2-centerBlack {
    padding: 3.5rem 0 !important;
  }

  .r2-hubMap .ferrisFlex-Two-simple {
    gap: 2.5rem;
  }

  .r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn,
  .r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexBigColumn {
    width: 100% !important;
    padding: 0 !important;
  }

  .hub-map-copy-2026::before {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .r2-centerBlack {
    padding: 3rem 0 !important;
  }

  .r2-hubMap {
    padding: 0 1.25rem !important;
  }

  .hub-map-kicker-2026 {
    font-size: 0.8rem;
    padding: 0.38rem 0.72rem 0.42rem 0.82rem;
  }

  .hub-map-heading-2026 {
    font-size: clamp(1.8rem, 9vw, 2.8rem);
  }

  .hub-map-lead-2026 {
    font-size: 1rem;
  }

  #michigan-map-container {
    padding: 0.85rem;
  }

  #main-campus-icon {
    width: 58px;
  }

  #michigan-map .popup {
    max-width: min(78vw, 280px);
    padding: 0.85rem 0.85rem 0.8rem 0.85rem !important;
  }

  #michigan-map .popup h2 {
    font-size: 1.3rem;
  }
}
/* =========================
   STATEWIDE HUB MAP LAYOUT TUNE-UP
   ========================= */

/* Keep desktop in two columns */
.r2-hubMap .ferrisFlex-Two-simple {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  margin: 0 !important;
  padding: 0 !important;
}

.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn {
  width: 34% !important;
  flex: 0 0 34%;
  padding: 0 2rem 0 0 !important;
}

.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexBigColumn {
  width: 66% !important;
  flex: 0 0 66%;
  padding: 0 !important;
}

/* Give the map panel more visual presence in the split */
#michigan-map-container {
  position: relative;
  padding: 1.25rem;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.015) 100%);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 46px rgba(0,0,0,0.28);
  overflow: hidden;
  min-height: 100%;
}

#michigan-map-container::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,0.06);
  clip-path: polygon(
    18px 0,
    100% 0,
    100% calc(100% - 18px),
    calc(100% - 18px) 100%,
    0 100%,
    0 18px
  );
  -webkit-clip-path: polygon(
    18px 0,
    100% 0,
    100% calc(100% - 18px),
    calc(100% - 18px) 100%,
    0 100%,
    0 18px
  );
}

/* Tablet and down can stack */
@media screen and (max-width: 1024px) {
  .r2-hubMap .ferrisFlex-Two-simple {
    flex-wrap: wrap;
    gap: 2.5rem;
  }

  .r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn,
  .r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexBigColumn {
    width: 100% !important;
    flex: 0 1 100%;
    padding: 0 !important;
  }
}

/* =========================
   HUB POPUP POLISH
   ========================= */

#michigan-map .popup {
  background: rgba(10,10,10,0.97) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow:
    0 18px 40px rgba(0,0,0,0.3),
    0 0 0 1px rgba(255,255,255,0.03);
  padding: 1rem 1rem 0.95rem 1rem !important;
  max-width: 320px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 0;
  overflow: hidden;
}

#michigan-map .popup::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: #ba0c2f;
  pointer-events: none;
}

#michigan-map .popup h2 {
  margin: 0 0 0.5rem 0;
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  line-height: 1;
  text-transform: uppercase;
}

#michigan-map .popup h3 {
  margin: 0.85rem 0 0.35rem 0;
  color: rgba(255,255,255,0.96);
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

#michigan-map .popup p {
  margin: 0.45rem 0 0 0;
  color: rgba(255,255,255,0.86) !important;
  line-height: 1.55;
}

#michigan-map .popup ul,
#michigan-map .popup ol {
  margin: 0.55rem 0 0 1rem;
  padding: 0;
  color: rgba(255,255,255,0.86);
}

#michigan-map .popup li {
  margin-bottom: 0.3rem;
  line-height: 1.45;
}

#michigan-map .popup a {
  color: #ffffff;
}

#michigan-map .popup a.readmore,
#michigan-map .popup a[role="menuitem"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.7rem;
  padding: 0.45rem 0.8rem 0.48rem 0.9rem;
  color: #ffffff;
  text-decoration: none;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.88rem;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
  background: rgba(186,12,47,0.92);
  box-shadow: 0 10px 20px rgba(186,12,47,0.2);
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

#michigan-map .popup a.readmore:hover,
#michigan-map .popup a[role="menuitem"]:hover {
  background: #9f0a28;
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(186,12,47,0.26);
}

#michigan-map .popup a.readmore:active,
#michigan-map .popup a[role="menuitem"]:active {
  transform: scale(0.98);
}

/* Nicer popup arrow */
#michigan-map .popup .popup-arrow {
  filter:
    drop-shadow(0 4px 10px rgba(0,0,0,0.18))
    drop-shadow(0 0 6px rgba(255,255,255,0.04));
}
		
/* Hub pulse */
#michigan-map .hub {
  animation: ferrisHubPulse2026 2.6s ease-in-out infinite;
}

@keyframes ferrisHubPulse2026 {
  0% {
    box-shadow:
      0 0 0 0 rgba(186,12,47,0.35),
      0 0 18px rgba(186,12,47,0.45);
  }
  50% {
    box-shadow:
      0 0 0 8px rgba(186,12,47,0),
      0 0 22px rgba(186,12,47,0.55);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(186,12,47,0),
      0 0 18px rgba(186,12,47,0.45);
  }
}

/* Big Rapids anchor */
#main-campus-icon {
  width: 78px;
  height: auto;
  filter:
    drop-shadow(0 10px 22px rgba(0,0,0,0.28))
    drop-shadow(0 0 16px rgba(186,12,47,0.14));
}

/* =========================
   STUDENT LIFE SECTION
   ========================= */

.bulldog-life-section-2026 {
  position: relative;
  padding: 6rem 2rem;
  background: linear-gradient(180deg, #f8f6f3 0%, #ffffff 100%);
  overflow: hidden;
}

.bulldog-life-section-2026::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(420px, 40vw);
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(186,12,47,0.08) 0%,
    rgba(186,12,47,0.025) 35%,
    rgba(186,12,47,0) 72%
  );
  pointer-events: none;
}

.bulldog-life-section-2026::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,0.55) 0%,
    rgba(186,12,47,0.12) 35%,
    rgba(186,12,47,0) 100%
  );
  pointer-events: none;
}

.bulldog-life-inner-2026 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

.bulldog-life-header-2026 {
  max-width: 760px;
  margin-bottom: 3rem;
}

.bulldog-life-kicker-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem 0;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.94);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 22px rgba(186,12,47,0.16);
}

.bulldog-life-heading-2026 {
  margin: 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 0.95;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.bulldog-life-heading-2026::after {
  content: "";
  display: block;
  width: 92px;
  height: 3px;
  margin-top: 0.75rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.55) 60%,
    rgba(186,12,47,0) 100%
  );
}

.bulldog-life-intro-2026 {
  margin: 1.15rem 0 0 0;
  max-width: 720px;
  color: #444444;
  font-size: 1.12rem;
  line-height: 1.7;
}

.bulldog-life-grid-2026 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  align-items: stretch;
}

.bulldog-life-card-link-wrapper-2026 {
  display: block;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.bulldog-life-card-link-wrapper-2026:focus-visible {
  outline: 2px solid rgba(186,12,47,0.6);
  outline-offset: 4px;
}

.bulldog-life-card-2026 {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(17,17,17,0.08);
  box-shadow: 0 18px 38px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bulldog-life-card-link-wrapper-2026:hover .bulldog-life-card-2026 {
  transform: translateY(-4px);
  box-shadow: 0 24px 46px rgba(0,0,0,0.12);
}

.bulldog-life-image-wrap-2026 {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #d9d9d9;
}

.bulldog-life-image-wrap-2026::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 42%;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(0,0,0,0.12) 100%
  );
  pointer-events: none;
}

.bulldog-life-image-2026 {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.bulldog-life-card-link-wrapper-2026:hover .bulldog-life-image-2026 {
  transform: scale(1.03);
}

.bulldog-life-card-content-2026 {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.5rem 1.5rem 1.65rem 1.5rem;
}

.bulldog-life-card-title-2026 {
  margin: 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 2rem;
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bulldog-life-card-title-2026::after {
  content: "";
  display: block;
  width: 58px;
  height: 3px;
  margin-top: 0.65rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.45) 65%,
    rgba(186,12,47,0) 100%
  );
}

.bulldog-life-card-text-2026 {
  margin: 1rem 0 0 0;
  color: #4a4a4a;
  line-height: 1.65;
}

.bulldog-life-card-link-wrap-2026 {
  margin: 1rem 0 0 0;
}

.bulldog-life-card-link-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.52rem 0.92rem 0.56rem 1rem;
  background: rgba(186,12,47,0.94);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.07em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 22px rgba(186,12,47,0.16);
  pointer-events: none;
}

/* optional reveal polish */
.bulldog-life-section-2026.kcad-reveal-2026 {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(4px);
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
}

.bulldog-life-section-2026.kcad-reveal-2026.kcad-reveal-visible-2026 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

@media screen and (max-width: 1100px) {
  .bulldog-life-grid-2026 {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .bulldog-life-card-2026 {
    display: grid;
    grid-template-columns: minmax(240px, 38%) 1fr;
  }

  .bulldog-life-image-wrap-2026 {
    aspect-ratio: auto;
    min-height: 100%;
  }
}

@media screen and (max-width: 760px) {
  .bulldog-life-section-2026 {
    padding: 4.5rem 1.25rem;
  }

  .bulldog-life-header-2026 {
    margin-bottom: 2rem;
  }

  .bulldog-life-intro-2026 {
    font-size: 1rem;
  }

  .bulldog-life-card-2026 {
    display: block;
  }

  .bulldog-life-card-title-2026 {
    font-size: 1.75rem;
  }

  .bulldog-life-card-content-2026 {
    padding: 1.25rem 1.2rem 1.35rem 1.2rem;
  }

  .bulldog-life-kicker-2026 {
    font-size: 0.82rem;
    padding: 0.38rem 0.75rem 0.42rem 0.82rem;
  }
}
		
/* =========================
   STUDENT SUPPORT SECTION
   ========================= */

.bulldog-support-section-2026 {
  position: relative;
  padding: 6rem 2rem;
  background:
    linear-gradient(180deg, #f1efeb 0%, #f7f5f2 100%);
  overflow: visible;
}

.bulldog-support-section-2026::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: min(420px, 36vw);
  height: 100%;
  background:
    linear-gradient(
      225deg,
      rgba(186,12,47,0.09) 0%,
      rgba(186,12,47,0.03) 35%,
      rgba(186,12,47,0) 72%
    );
  pointer-events: none;
  z-index: 0;
}

.bulldog-support-section-2026::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,0.55) 0%,
    rgba(186,12,47,0.12) 35%,
    rgba(186,12,47,0) 100%
  );
  pointer-events: none;
  z-index: 0;
}

.bulldog-support-inner-2026 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
}

.bulldog-support-layout-2026 {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.4fr);
  gap: 2.5rem;
  align-items: start;
}

.bulldog-support-intro-2026 {
  position: sticky;
  top: 12rem;
  align-self: start;
}

.bulldog-support-kicker-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem 0;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.94);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 22px rgba(186,12,47,0.16);
}

.bulldog-support-heading-2026 {
  margin: 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 0.95;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.bulldog-support-heading-2026::after {
  content: "";
  display: block;
  width: 92px;
  height: 3px;
  margin-top: 0.75rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.55) 60%,
    rgba(186,12,47,0) 100%
  );
}

.bulldog-support-intro-text-2026 {
  margin: 1.15rem 0 0 0;
  max-width: 34rem;
  color: #444444;
  font-size: 1.08rem;
  line-height: 1.7;
}

.bulldog-support-grid-2026 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem;
}

.bulldog-support-card-2026 {
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(17,17,17,0.08);
  box-shadow: 0 18px 38px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bulldog-support-card-2026:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 46px rgba(0,0,0,0.12);
}

.bulldog-support-image-wrap-2026 {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #d9d9d9;
}

.bulldog-support-image-wrap-2026::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 46%;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(0,0,0,0.12) 100%
  );
  pointer-events: none;
}

.bulldog-support-image-2026 {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.bulldog-support-card-2026:hover .bulldog-support-image-2026 {
  transform: scale(1.03);
}

.bulldog-support-card-content-2026 {
  padding: 1.35rem 1.35rem 1.45rem 1.35rem;
}

.bulldog-support-card-title-2026 {
  margin: 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 1.8rem;
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bulldog-support-card-title-2026::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 0.65rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.45) 65%,
    rgba(186,12,47,0) 100%
  );
}

.bulldog-support-card-text-2026 {
  margin: 1rem 0 0 0;
  color: #4a4a4a;
  line-height: 1.65;
}

/* reveal polish */
.bulldog-support-section-2026.kcad-reveal-2026 {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(4px);
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
}

.bulldog-support-section-2026.kcad-reveal-2026.kcad-reveal-visible-2026 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

@media screen and (max-width: 1100px) {
  .bulldog-support-layout-2026 {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .bulldog-support-intro-2026 {
    position: relative;
    top: auto;
    align-self: auto;
  }
}

@media screen and (max-width: 760px) {
  .bulldog-support-section-2026 {
    padding: 4.5rem 1.25rem;
  }

  .bulldog-support-grid-2026 {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .bulldog-support-intro-text-2026 {
    font-size: 1rem;
  }

  .bulldog-support-card-title-2026 {
    font-size: 1.6rem;
  }

  .bulldog-support-card-content-2026 {
    padding: 1.2rem 1.15rem 1.3rem 1.15rem;
  }

  .bulldog-support-kicker-2026 {
    font-size: 0.82rem;
    padding: 0.38rem 0.75rem 0.42rem 0.82rem;
  }
}
		
/* =========================
   ATHLETICS SECTION
   ========================= */

.bulldog-athletics-section-2026 {
  position: relative;
  padding: 6rem 2rem;
  background:
    radial-gradient(circle at 15% 18%, rgba(186,12,47,0.18) 0%, rgba(186,12,47,0.05) 22%, rgba(186,12,47,0) 48%),
    linear-gradient(180deg, #090909 0%, #111111 100%);
  overflow: hidden;
}

.bulldog-athletics-section-2026::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 20%, rgba(255,255,255,0) 80%, rgba(255,255,255,0.03) 100%);
  opacity: 0.45;
}

.bulldog-athletics-section-2026::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,0.85) 0%,
    rgba(255,208,67,0.22) 38%,
    rgba(255,255,255,0.05) 65%,
    rgba(255,255,255,0) 100%
  );
  pointer-events: none;
}

.bulldog-athletics-inner-2026 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
}

.bulldog-athletics-hero-2026 {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.2fr);
  gap: 2.5rem;
  align-items: center;
  margin-bottom: 2.5rem;
}

.bulldog-athletics-copy-2026 {
  max-width: 42rem;
}

.bulldog-athletics-kicker-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem 0;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.94);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 22px rgba(186,12,47,0.2);
}

.bulldog-athletics-heading-2026 {
  margin: 0;
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(2.8rem, 5.5vw, 5.5rem);
  line-height: 0.92;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.bulldog-athletics-heading-2026::after {
  content: "";
  display: block;
  width: 94px;
  height: 3px;
  margin-top: 0.8rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(255,208,67,0.55) 58%,
    rgba(255,255,255,0) 100%
  );
}

.bulldog-athletics-intro-2026 {
  margin: 1.15rem 0 0 0;
  color: rgba(255,255,255,0.9);
  font-size: 1.08rem;
  line-height: 1.72;
  max-width: 40rem;
}

.bulldog-athletics-subline-2026 {
  margin: 1rem 0 0 0;
  color: rgba(255,208,67,0.92);
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bulldog-athletics-cta-wrap-2026 {
  margin: 1.4rem 0 0 0;
}

.bulldog-athletics-cta-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.58rem 1rem 0.62rem 1.08rem;
  background: rgba(186,12,47,0.96);
  color: #ffffff;
  text-decoration: none;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  -webkit-clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  box-shadow: 0 12px 24px rgba(186,12,47,0.24);
  transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.bulldog-athletics-cta-2026:hover {
  background: #9f0a28;
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(186,12,47,0.28);
}

.bulldog-athletics-cta-2026:active {
  transform: scale(0.98);
}

.bulldog-athletics-image-panel-2026 {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 48px rgba(0,0,0,0.26);
}

.bulldog-athletics-image-panel-2026::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,0.06);
  clip-path: polygon(
    18px 0,
    100% 0,
    100% calc(100% - 18px),
    calc(100% - 18px) 100%,
    0 100%,
    0 18px
  );
  -webkit-clip-path: polygon(
    18px 0,
    100% 0,
    100% calc(100% - 18px),
    calc(100% - 18px) 100%,
    0 100%,
    0 18px
  );
  z-index: 2;
}

.bulldog-athletics-image-2026 {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.bulldog-athletics-image-overlay-2026 {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.18) 0%,
    rgba(0,0,0,0.18) 45%,
    rgba(0,0,0,0.7) 100%
  );
  z-index: 1;
}

.bulldog-athletics-image-caption-2026 {
  position: absolute;
  left: 1.35rem;
  bottom: 1.15rem;
  z-index: 3;
  margin: 0;
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-shadow: 0 2px 10px rgba(0,0,0,0.32);
}

.bulldog-athletics-achievements-2026 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.35rem;
}

.bulldog-athletics-achievement-card-2026 {
  position: relative;
  padding: 1.35rem 1.25rem 1.4rem 1.25rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 16px 34px rgba(0,0,0,0.18);
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.bulldog-athletics-achievement-card-2026::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: #ba0c2f;
}

.bulldog-athletics-achievement-card-2026:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 42px rgba(0,0,0,0.24);
  border-color: rgba(255,255,255,0.14);
}

.bulldog-athletics-achievement-label-2026 {
  margin: 0;
  color: rgba(255,208,67,0.92);
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.09em;
  line-height: 1;
  text-transform: uppercase;
}

.bulldog-athletics-achievement-sport-2026 {
  margin: 0.75rem 0 0 0;
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 2rem;
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bulldog-athletics-achievement-years-2026 {
  margin: 1rem 0 0 0;
  color: rgba(255,255,255,0.86);
  font-size: 1rem;
  line-height: 1.55;
}

/* reveal polish */
.bulldog-athletics-section-2026.kcad-reveal-2026 {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(4px);
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
}

.bulldog-athletics-section-2026.kcad-reveal-2026.kcad-reveal-visible-2026 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

@media screen and (max-width: 1150px) {
  .bulldog-athletics-hero-2026 {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .bulldog-athletics-achievements-2026 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 760px) {
  .bulldog-athletics-section-2026 {
    padding: 4.5rem 1.25rem;
  }

  .bulldog-athletics-achievements-2026 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .bulldog-athletics-intro-2026 {
    font-size: 1rem;
  }

  .bulldog-athletics-image-2026 {
    min-height: 300px;
  }

  .bulldog-athletics-achievement-sport-2026 {
    font-size: 1.7rem;
  }

  .bulldog-athletics-kicker-2026 {
    font-size: 0.82rem;
    padding: 0.38rem 0.75rem 0.42rem 0.82rem;
  }
}
		
/* =========================
   STICKY INTRO COLUMN
   ========================= */

.r2-moveForward {
  align-items: flex-start;
}

.r2-moveForward-1.kcad-feature-block-2026 {
  position: sticky;
  top: 12rem;
  align-self: flex-start;
}

@media screen and (max-width: 1024px) {
  .r2-moveForward-1.kcad-feature-block-2026 {
    position: relative;
    top: auto;
  }
}
/* =========================
   STICKY HUB MAP COPY FIX
   ========================= */

/* sticky needs visible overflow on ancestors */
.r2-centerBlack {
  overflow: visible !important;
}

/* keep the decorative pseudo-elements from causing trouble */
.r2-centerBlack::before,
.r2-centerBlack::after {
  pointer-events: none;
}

/* desktop two-column layout with top alignment */
.r2-hubMap .ferrisFlex-Two-simple {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.5rem;
}

/* sticky left column */
.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn.hub-map-copy-2026 {
  width: 34% !important;
  flex: 0 0 34%;
  position: sticky;
  top: 12rem;
  align-self: flex-start;
}

/* map column */
.r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexBigColumn {
  width: 66% !important;
  flex: 0 0 66%;
}

/* tablet/mobile: turn sticky off */
@media screen and (max-width: 1024px) {
  .r2-hubMap .ferrisFlex-Two-simple {
    flex-wrap: wrap;
  }

  .r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn.hub-map-copy-2026,
  .r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexBigColumn {
    width: 100% !important;
    flex: 0 1 100%;
  }

  .r2-hubMap .ferrisFlexObject-Two-simple.ferrisFlexSmallColumn.hub-map-copy-2026 {
    position: relative;
    top: auto;
    align-self: auto;
  }
}

/* =========================
   CONTACT SECTION
   ========================= */

.bulldog-contact-section-2026 {
  position: relative;
  padding: 6rem 2rem 7rem 2rem;
  background: linear-gradient(180deg, #ffffff 0%, #f5f3ef 100%);
  overflow: hidden;
}

.bulldog-contact-section-2026::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(420px, 36vw);
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(186,12,47,0.08) 0%,
    rgba(186,12,47,0.025) 35%,
    rgba(186,12,47,0) 72%
  );
  pointer-events: none;
}

.bulldog-contact-inner-2026 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

.bulldog-contact-shell-2026 {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.75fr);
  gap: 2rem;
  padding: 2.5rem;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(17,17,17,0.08);
  box-shadow: 0 20px 44px rgba(0,0,0,0.08);
  overflow: hidden;
}

/* Decorative speedline frame */
.bulldog-contact-shell-2026::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(17,17,17,0.08);
  clip-path: polygon(
    22px 0,
    100% 0,
    100% calc(100% - 22px),
    calc(100% - 22px) 100%,
    0 100%,
    0 22px
  );
  -webkit-clip-path: polygon(
    22px 0,
    100% 0,
    100% calc(100% - 22px),
    calc(100% - 22px) 100%,
    0 100%,
    0 22px
  );
}

.bulldog-contact-shell-2026::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 220px;
  background: linear-gradient(
    135deg,
    rgba(186,12,47,0.08) 0%,
    rgba(186,12,47,0.03) 45%,
    rgba(186,12,47,0) 100%
  );
  pointer-events: none;
}

.bulldog-contact-main-2026,
.bulldog-contact-deadline-2026 {
  position: relative;
  z-index: 1;
}

.bulldog-contact-kicker-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem 0;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.94);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 22px rgba(186,12,47,0.16);
}

.bulldog-contact-heading-2026 {
  margin: 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  line-height: 0.95;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.bulldog-contact-heading-2026::after {
  content: "";
  display: block;
  width: 88px;
  height: 3px;
  margin-top: 0.75rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.55) 60%,
    rgba(186,12,47,0) 100%
  );
}

.bulldog-contact-intro-2026 {
  margin: 1.15rem 0 0 0;
  max-width: 42rem;
  color: #444444;
  font-size: 1.08rem;
  line-height: 1.7;
}

.bulldog-contact-info-2026 {
  margin-top: 1.75rem;
}

.bulldog-contact-office-2026 {
  margin: 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 1.9rem;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bulldog-contact-detail-2026 {
  margin: 0.55rem 0 0 0;
  font-size: 1.1rem;
  line-height: 1.4;
}

.bulldog-contact-detail-2026 a {
  color: #333333;
  text-decoration: none;
  transition: color 0.18s ease;
}

.bulldog-contact-detail-2026 a:hover {
  color: #ba0c2f;
}

.bulldog-contact-actions-2026 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.6rem;
}

.bulldog-contact-cta-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.58rem 1rem 0.62rem 1.08rem;
  background: rgba(186,12,47,0.96);
  color: #ffffff;
  text-decoration: none;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  -webkit-clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  box-shadow: 0 12px 24px rgba(186,12,47,0.18);
  transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.bulldog-contact-cta-2026:hover {
  background: #9f0a28;
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(186,12,47,0.22);
}

.bulldog-contact-cta-2026:active {
  transform: scale(0.98);
}

.bulldog-contact-cta-secondary-2026 {
  background: rgba(17,17,17,0.92);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.bulldog-contact-cta-secondary-2026:hover {
  background: #000000;
}

/* deadline panel */
.bulldog-contact-deadline-2026 {
  align-self: stretch;
  padding: 1.35rem 1.25rem 1.4rem 1.25rem;
  background: rgba(17,17,17,0.04);
  border: 1px solid rgba(17,17,17,0.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.16);
}

.bulldog-contact-deadline-kicker-2026 {
  margin: 0;
  color: rgba(186,12,47,0.92);
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.bulldog-contact-deadline-heading-2026 {
  margin: 0.7rem 0 0 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 2rem;
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bulldog-contact-deadline-heading-2026::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 0.65rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.45) 65%,
    rgba(186,12,47,0) 100%
  );
}

.bulldog-contact-deadline-text-2026 {
  margin: 1rem 0 0 0;
  color: #4a4a4a;
  line-height: 1.65;
}

/* reveal polish */
.bulldog-contact-section-2026.kcad-reveal-2026 {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(4px);
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
}

.bulldog-contact-section-2026.kcad-reveal-2026.kcad-reveal-visible-2026 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

@media screen and (max-width: 980px) {
  .bulldog-contact-shell-2026 {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2rem;
  }
}

@media screen and (max-width: 640px) {
  .bulldog-contact-section-2026 {
    padding: 4.5rem 1.25rem 5rem 1.25rem;
  }

  .bulldog-contact-shell-2026 {
    padding: 1.35rem;
  }

  .bulldog-contact-intro-2026 {
    font-size: 1rem;
  }

  .bulldog-contact-office-2026,
  .bulldog-contact-deadline-heading-2026 {
    font-size: 1.6rem;
  }

  .bulldog-contact-actions-2026 {
    gap: 0.65rem;
  }

  .bulldog-contact-kicker-2026 {
    font-size: 0.82rem;
    padding: 0.38rem 0.75rem 0.42rem 0.82rem;
  }
}

/* =========================
   HERO VIDEO CONTROLS
   ========================= */

.hero-video-shell-2026 .video-controls {
  display: none !important;
}

.hero-video-controls-2026 {
  position: absolute;
  right: 1.1rem;
  bottom: 1.1rem;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 0.45em;
  pointer-events: auto;
}

.hero-video-toggle-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  background: rgba(0,0,0,0.52);
  color: #ffffff;
  padding: 0.5em 1.05em 0.5em 1.15em;
  min-width: 7.25rem;
  font-size: 0.85rem;
  font-family: input-sans-compressed, sans;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1;
  cursor: pointer;
  opacity: 0.82;
  transition:
    opacity 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease,
    filter 0.25s ease,
    color 0.25s ease;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 8px 18px rgba(0,0,0,0.18);
  filter: saturate(0.88) brightness(0.96);
}

.hero-video-toggle-2026:hover,
.hero-video-toggle-2026:focus-visible {
  opacity: 1;
  background: rgba(0,0,0,0.74);
  box-shadow: 0 10px 22px rgba(0,0,0,0.28);
  filter: saturate(1) brightness(1);
  color: #ffffff;
  outline: none;
}

.hero-video-toggle-2026:active {
  transform: scale(0.98);
}

.hero-video-toggle-2026.is-active-2026 {
  opacity: 1;
  background: rgba(186,12,47,0.9);
  box-shadow: 0 10px 22px rgba(186,12,47,0.26);
  filter: saturate(1.02) brightness(1.02);
}

@media screen and (max-width: 640px) {
  .hero-video-controls-2026 {
    right: 0.8rem;
    bottom: 0.8rem;
    gap: 0.35em;
  }

  .hero-video-toggle-2026 {
    font-size: 0.72rem;
    min-width: 6.4rem;
    padding: 0.45em 0.9em 0.45em 1em;
  }
}
.hero-video-shell-2026 #hero-video,
.hero-video-shell-2026 .hero-video-element-2026 {
  pointer-events: auto;
  cursor: pointer;
}

.hero-video-controls-2026 {
  pointer-events: auto;
}

.hero-video-toggle-2026 {
  pointer-events: auto;
}

/* GLOBAL TRANSITION TIMING FOR CONSISTENCY */
* {
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}
		
/* CTA BAR Z INDEX FIX */
/* =========================
   FIX CTA BAR / HEADER STACKING
   ========================= */

/* Keep header and CTA stack above page content */
header,
.site-header,
#header {
  position: relative;
  z-index: 1000001;
}

#ferris-bulldog {
  position: relative !important;
  z-index: 1000002 !important;
}

#top-cta-bar-mobile {
  position: fixed;
  top: var(--site-header-height);
  left: 0;
  width: 100%;
  z-index: 1000000 !important;
}

#top-cta-bar-mobile ul,
#top-cta-bar-mobile ul li,
#top-cta-bar-mobile ul li a {
  position: relative;
  z-index: 1000001;
}

/* Keep the carousel intro and carousel below the CTA/header stack */
.kcad-carousel-intro-2026,
#kcadFeaturedScrollerSection2026,
#kcadFeaturedScrollerViewport2026,
#kcadFeaturedScrollerTrack2026 {
  position: relative;
  z-index: 0 !important;
}

/* Keep carousel arrows/controls functional, but not above the CTA/header */
#kcadFeaturedScrollerPrevButton2026,
#kcadFeaturedScrollerNextButton2026,
.kcad-featured-scroller-controls-2026,
.kcad-featured-scroller-state-flash-2026 {
  z-index: 5 !important;
}

/* Same idea for hero overlays/controls just in case */
.hero-video-shell-2026,
.hero-video-shell-2026 #gradient-video-overlay,
.hero-video-shell-2026 .hero-text-overlay-2026 {
  position: relative;
  z-index: 0;
}
.hero-video-controls-2026 {
  position: absolute !important;
  right: 1.1rem;
  bottom: 1.1rem;
  z-index: 6 !important;
  display: flex;
  align-items: center;
  gap: 0.45em;
  pointer-events: auto;
}
/* =========================
   FERRIS ACTION BAR 2026
   ========================= */

:root {
  --site-header-height-desktop: 93px;
  --site-header-height-compact: 50px;
  --ferris-action-bar-height: 58px;
}

/* hide the legacy CTA system */
#top-cta-bar-mobile,
#top-cta-bar-mobile-spacer {
  display: none !important;
}

/* base bar */
.ferris-action-bar-2026 {
  position: fixed;
  top: var(--site-header-height-desktop);
  left: 0;
  width: 100%;
  z-index: 1000000;
  pointer-events: none;
}

.ferris-action-bar-inner-2026 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.65rem;
  min-height: var(--ferris-action-bar-height);
  padding: 0.55rem 1rem;
  background: rgba(10,10,10,0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.16);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  pointer-events: auto;
}

/* subtle ferris accent line */
.ferris-action-bar-inner-2026::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: #ba0c2f;
  pointer-events: none;
}

/* links */
.ferris-action-bar-link-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.75rem;
  padding: 0.58rem 1rem 0.62rem 1.08rem;
  text-decoration: none;
  background: rgba(255,255,255,0.06);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(0,0,0,0.14);
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  -webkit-clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  transition:
    background-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease;
}

.ferris-action-bar-link-2026:hover,
.ferris-action-bar-link-2026:focus-visible {
  background: rgba(255,255,255,0.12);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(0,0,0,0.2);
  outline: none;
}

.ferris-action-bar-link-2026:active {
  transform: scale(0.98);
}

/* emphasize Apply */
.ferris-action-bar-link-primary-2026 {
  background: rgba(186,12,47,0.96);
  box-shadow: 0 10px 22px rgba(186,12,47,0.22);
}

.ferris-action-bar-link-primary-2026:hover,
.ferris-action-bar-link-primary-2026:focus-visible {
  background: #9f0a28;
  box-shadow: 0 12px 26px rgba(186,12,47,0.28);
}

/* subtle alternate emphasis */
.ferris-action-bar-link-secondary-2026 {
  background: rgba(255,208,67,0.14);
  color: #ffffff;
}

/* when header compresses */
@media screen and (max-width: 1199px) {
  .ferris-action-bar-2026 {
    top: var(--site-header-height-compact);
  }
}

/* mobile: move to bottom */
@media screen and (max-width: 767px) {
  .ferris-action-bar-2026 {
    top: auto;
    bottom: 0;
    padding: 0;
  }

  .ferris-action-bar-inner-2026 {
    justify-content: stretch;
    gap: 0.45rem;
    padding: 0.6rem 0.7rem calc(0.6rem + env(safe-area-inset-bottom));
    border-bottom: 0;
    border-top: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 -10px 24px rgba(0,0,0,0.18);
  }

  .ferris-action-bar-inner-2026::before {
    inset: auto 0 0 0;
    height: 0;
  }

  .ferris-action-bar-link-2026 {
    flex: 1 1 0;
    min-width: 0;
    font-size: 0.78rem;
    padding: 0.7rem 0.55rem 0.74rem 0.62rem;
  }

  /* keep page content from being covered by bottom bar */
  body {
    padding-bottom: calc(var(--ferris-action-bar-height) + 1.25rem + env(safe-area-inset-bottom));
  }
}
/* GLOBAL SCROLL BEHAVIOR */
html {
  scroll-behavior: smooth;
}
/* RFI MARGIN FIX */
#formBlock2026 {
  scroll-margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  #formBlock2026 {
    scroll-margin-top: 6rem;
  }
}
/* PROGRAM FINDER BACKGROUND SWAP */
.r3 {
  background-image: url(/images/aerial-20260410.webp)
		}
/* =========================
   FINANCIAL AID SECTION
   ========================= */

.bulldog-aid-section-2026 {
  position: relative;
  padding: 6rem 2rem;
  background:
    linear-gradient(180deg, #fbfaf7 0%, #f3efe9 100%);
  overflow: visible;
}

.bulldog-aid-section-2026::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(460px, 38vw);
  height: 100%;
  background:
    linear-gradient(
      135deg,
      rgba(186,12,47,0.08) 0%,
      rgba(186,12,47,0.025) 35%,
      rgba(186,12,47,0) 72%
    );
  pointer-events: none;
}

.bulldog-aid-section-2026::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,0.55) 0%,
    rgba(186,12,47,0.12) 35%,
    rgba(186,12,47,0) 100%
  );
  pointer-events: none;
}

.bulldog-aid-inner-2026 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
}

.bulldog-aid-layout-2026 {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.3fr);
  gap: 2.5rem;
  align-items: start;
}

.bulldog-aid-intro-2026 {
  position: sticky;
  top: 12rem;
  align-self: start;
}

.bulldog-aid-kicker-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem 0;
  padding: 0.42rem 0.9rem 0.46rem 1rem;
  background: rgba(186,12,47,0.94);
  color: #ffffff;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  -webkit-clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  box-shadow: 0 10px 22px rgba(186,12,47,0.16);
}

.bulldog-aid-heading-2026 {
  margin: 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: 0.95;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.bulldog-aid-heading-2026::after {
  content: "";
  display: block;
  width: 92px;
  height: 3px;
  margin-top: 0.75rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.55) 60%,
    rgba(186,12,47,0) 100%
  );
}

.bulldog-aid-intro-text-2026 {
  margin: 1.15rem 0 0 0;
  max-width: 36rem;
  color: #444444;
  font-size: 1.08rem;
  line-height: 1.72;
}

.bulldog-aid-feature-2026 {
  margin-top: 1.5rem;
  padding: 1.15rem 1.15rem 1.2rem 1.15rem;
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(17,17,17,0.08);
  box-shadow: 0 12px 26px rgba(0,0,0,0.05);
}

.bulldog-aid-feature-kicker-2026 {
  margin: 0;
  color: rgba(186,12,47,0.94);
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.bulldog-aid-feature-text-2026 {
  margin: 0.85rem 0 0 0;
  color: #4a4a4a;
  line-height: 1.65;
}

.bulldog-aid-actions-2026 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.45rem;
}

.bulldog-aid-cta-2026 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.58rem 1rem 0.62rem 1.08rem;
  background: rgba(17,17,17,0.92);
  color: #ffffff;
  text-decoration: none;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  -webkit-clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  box-shadow: 0 10px 22px rgba(0,0,0,0.12);
  transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.bulldog-aid-cta-2026:hover {
  background: #000000;
  color: #ffffff;
}

.bulldog-aid-cta-2026:active {
  transform: scale(0.98);
}

.bulldog-aid-cta-primary-2026 {
  background: rgba(186,12,47,0.96);
  box-shadow: 0 12px 24px rgba(186,12,47,0.18);
}

.bulldog-aid-cta-primary-2026:hover {
  background: #9f0a28;
}

.bulldog-aid-grid-2026 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.bulldog-aid-card-2026 {
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(17,17,17,0.08);
  box-shadow: 0 16px 34px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bulldog-aid-card-2026:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 40px rgba(0,0,0,0.12);
}

.bulldog-aid-card-featured-2026 {
  grid-column: span 2;
}

.bulldog-aid-card-image-wrap-2026 {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 8;
  background: #d9d9d9;
}

.bulldog-aid-card-image-2026 {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bulldog-aid-card-content-2026 {
  padding: 1.3rem 1.25rem 1.35rem 1.25rem;
}

.bulldog-aid-card-label-2026 {
  margin: 0;
  color: rgba(186,12,47,0.94);
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.bulldog-aid-card-title-2026 {
  margin: 0.7rem 0 0 0;
  color: #111111;
  font-family: input-sans-compressed, Arial, Helvetica, sans-serif;
  font-size: 2rem;
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bulldog-aid-card-title-2026::after {
  content: "";
  display: block;
  width: 58px;
  height: 3px;
  margin-top: 0.65rem;
  background: linear-gradient(
    90deg,
    rgba(186,12,47,1) 0%,
    rgba(186,12,47,0.45) 65%,
    rgba(186,12,47,0) 100%
  );
}

.bulldog-aid-card-text-2026 {
  margin: 1rem 0 0 0;
  color: #4a4a4a;
  line-height: 1.65;
}

/* reveal polish */
.bulldog-aid-section-2026.kcad-reveal-2026 {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(4px);
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
}

.bulldog-aid-section-2026.kcad-reveal-2026.kcad-reveal-visible-2026 {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

@media screen and (max-width: 1100px) {
  .bulldog-aid-layout-2026 {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .bulldog-aid-intro-2026 {
    position: relative;
    top: auto;
    align-self: auto;
  }
}

@media screen and (max-width: 760px) {
  .bulldog-aid-section-2026 {
    padding: 4.5rem 1.25rem;
  }

  .bulldog-aid-grid-2026 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .bulldog-aid-card-featured-2026 {
    grid-column: span 1;
  }

  .bulldog-aid-intro-text-2026 {
    font-size: 1rem;
  }

  .bulldog-aid-card-title-2026 {
    font-size: 1.7rem;
  }

  .bulldog-aid-kicker-2026 {
    font-size: 0.82rem;
    padding: 0.38rem 0.75rem 0.42rem 0.82rem;
  }
}
/* =========================
   STUDENT LIFE TABLET FIX
   ========================= */

@media screen and (max-width: 820px) {
  .bulldog-life-grid-2026 {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .bulldog-life-card-link-wrapper-2026 {
    display: block;
    width: 100%;
    min-height: 0;
  }

  .bulldog-life-card-2026 {
    display: block !important;
    height: auto;
  }

  .bulldog-life-image-wrap-2026 {
    aspect-ratio: 4 / 3;
    min-height: 0;
  }

  .bulldog-life-card-content-2026 {
    display: block !important;
    flex: none;
    padding: 1.25rem 1.2rem 1.35rem 1.2rem;
  }

  .bulldog-life-card-link-wrap-2026 {
    margin-top: 1.2rem;
  }
}
.r3-1 {
	padding: 1rem;
		}
/* =========================
   CTA BAR SMALL SCREEN FIX
   ========================= */

@media screen and (max-width: 420px) {

  .ferris-action-bar-inner-2026 {
    gap: 0.35rem;
  }

  .ferris-action-bar-link-2026 {
    flex: 1 1 0;
    min-width: 0;
    white-space: nowrap;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    padding: 0.65rem 0.4rem 0.68rem 0.45rem;
  }
}
		
.footer {
	margin-top: 0 !important;
		}

