/* Leadership
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.council-leadership-section {
   position: relative;
   padding: var(--section-padding-y) 0;
   background-color: var(--color-white);
}

.council-heading {
   max-width: 820px;
   margin: 0 auto 4rem;
}

.council-president { margin-bottom: 3rem; }

@media (max-width: 991.98px) {
   .council-leadership-section { padding: var(--section-padding-y-md) 0; }
}

@media (max-width: 575.98px) {
   .council-leadership-section { padding: var(--section-padding-y-sm) 0; }
   .council-heading { margin-bottom: 3rem; }
}


/* Council Profiles
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.council-profile {
   display: flex;
   flex-direction: column;
   width: 100%;
   max-width: 280px;
   height: 100%;
   margin: 0 auto;
   padding: 1rem;
   overflow: hidden;
   border: var(--border-width) solid var(--color-border);
   border-radius: var(--border-radius-xl);
   text-align: center;
   background-color: var(--color-white);
   box-shadow: var(--shadow-xs);
   transition:
      border-color var(--transition-normal),
      box-shadow var(--transition-normal),
      transform var(--transition-normal);
}

.council-profile:hover {
   border-color: rgba(251, 193, 12, 0.55);
   box-shadow: var(--shadow-md);
   transform: translateY(-5px);
}

.council-photo {
   position: relative;
   overflow: hidden;
   border-radius: var(--border-radius-lg);
   background-color: var(--color-background-soft);
}

.council-photo::before {
   content: "";
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 2;
   width: 160%;
   height: 160%;
   border-radius: 50%;
   background-color: rgba(255, 255, 255, 0.3);
   opacity: 0;
   transform: translate(-50%, -50%) scale(0);
   pointer-events: none;
}

.council-photo img {
   display: block;
   width: 100%;
   aspect-ratio: 4 / 5;
   object-fit: cover;
   object-position: center top;
   transition: transform var(--transition-slow);
}

.council-profile:hover .council-photo img {
   transform: scale(1.05);
}

.council-profile:hover .council-photo::before {
   animation: councilShine 0.7s ease-out;
}

@keyframes councilShine {
   0% {
      opacity: 0.55;
      transform: translate(-50%, -50%) scale(0);
   }

   60% { opacity: 0.2; }

   100% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(1);
   }
}

.council-info {
   flex: 1;
   padding: 1.25rem 0 0.25rem;
}

.council-info h3 { margin-bottom: 0.35rem; }

.council-info .p-note {
   margin-bottom: 0;
   color: var(--mybone-primary);
}

@media (prefers-reduced-motion: reduce) {
   .council-profile,
   .council-photo img {
      transition: none;
   }

   .council-profile:hover,
   .council-profile:hover .council-photo img {
      transform: none;
   }

   .council-profile:hover .council-photo::before {
      animation: none;
   }
}


/* Council Members
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.council-members-section {
   position: relative;
   padding: var(--section-padding-y) 0;
   background-color: var(--mybone-primary-soft);
}

.council-members-heading {
   max-width: 700px;
   margin: 0 auto 3rem;
}

@media (max-width: 991.98px) {
   .council-members-section { padding: var(--section-padding-y-md) 0; }
}

@media (max-width: 575.98px) {
   .council-members-section { padding: var(--section-padding-y-sm) 0; }
   .council-members-heading { margin-bottom: 2.5rem; }
}
