﻿
/* ─── Section wrapper ─── */
.key-roles-section {
   background: var(--bg-deep);
   min-height: 100vh;
   font-family: 'DM Sans', sans-serif;
}

/* ─── Section heading ─── */
.key-roles-title {
   font-family: 'Syne', sans-serif;
   font-size: clamp(1.6rem, 3vw, 2.4rem);
   font-weight: 700;
   color: var(--text-primary);
   letter-spacing: -0.01em;
}

/* ─── Card base ─── */
.role-card {
   background: var(--bg-card);
   border: 1px solid var(--border-default);
   border-radius: 14px;
   padding: 1.5rem 1.6rem 1.75rem;
   height: 100%;
   display: flex;
   flex-direction: column;
   gap: 1rem;
   transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
   position: relative;
   overflow: hidden;
}

   .role-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at top left, rgba(59,130,246,0.06) 0%, transparent 60%);
      pointer-events: none;
   }

   .role-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.4);
      border-color: rgba(59,130,246,0.3);
   }

/* ─── Highlighted (center) card ─── */
.role-card--highlighted {
   background: var(--bg-highlight);
   border-color: var(--border-highlight);
   box-shadow: 0 0 0 1px rgba(59,130,246,0.3), 0 8px 32px rgba(59,130,246,0.15);
}

   .role-card--highlighted::before {
      background: radial-gradient(ellipse at top center, rgba(59,130,246,0.12) 0%, transparent 65%);
   }

   .role-card--highlighted:hover {
      box-shadow: 0 0 0 1px rgba(59,130,246,0.5), 0 16px 48px rgba(59,130,246,0.25);
   }

/* ─── Card header row ─── */
.role-card__header {
   display: flex;
   align-items: center;
   gap: 0.65rem;
}

.role-card__logo {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   width: 36px;
   height: 36px;
}

.role-card__company {
   font-family: 'Syne', sans-serif;
   font-size: 1.05rem;
   font-weight: 700;
   color: var(--text-primary);
   letter-spacing: -0.01em;
}

/* ─── Role title ─── */
.role-card__title {
   font-family: 'Syne', sans-serif;
   font-size: 0.95rem;
   font-weight: 600;
   color: var(--accent-blue);
   letter-spacing: 0.01em;
   border-top: 1px solid var(--border-default);
   padding-top: 0.85rem;
}

/* ─── Bullet list ─── */
.role-card__bullets {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: 0.45rem;
}

   .role-card__bullets li {
      font-size: 0.84rem;
      color: var(--text-secondary);
      line-height: 1.45;
      display: flex;
      align-items: flex-start;
      gap: 0.45rem;
   }

      .role-card__bullets li::before {
         content: '›';
         color: var(--bullet-dot);
         font-size: 1rem;
         line-height: 1.3;
         flex-shrink: 0;
      }

.bftvdeck-slide-renderer {
   position: absolute;
   top: 0px;
   margin-top: 20px;
   width: 90%;
   width: 100%;
   padding: 0 10px;
}

.NOTbftvDeck-container {
   position: relative;
   overflow: hidden;
   /* background-color: red; */
   height: 100%;
   width: 95%;
   transform: translateX(20px);
}

.bftvdeck-slide-bullet-list {
   /*margin-left: 40px;*/
   width: 100%;
   color: #ffffff;
   /*font-size: 1.35rem;*/
   font-weight: 500;
   padding: 0 10px; /* added */
}

.bftvdeck-slide-bullet-list-item {
   display: flex;
   align-items: center;
   gap: 14px;
   padding: 0px 0; /* 12px saturday*/
   /* border-top: 2px solid rgba(255, 255, 255, 0.15); */

   border-top: 2px solid transparent; /* keeps layout the same */
   /* center strong, fade to transparent at ends */
   border-image: linear-gradient( to right, rgba(255, 255, 255, 0), /* fully transparent left */
   rgba(255, 255, 255, 0.35), /* visible in the middle */
   rgba(255, 255, 255, 0) /* fully transparent right */
   ) 1 0 0 0; /* apply only to top border */
}

.NOT bftvdeck-slide-bullet-list-item::before {
   content: "";
   position: absolute;
   top: 0;
   left: 50%;
   width: 80%; /* ← control line length here */
   height: 1px;
   transform: translateX(-50%);
   background: red; /* rgba(255, 255, 255, 0.15); */
}

.bftvdeck-slide-bullet-list-item:first-child {
   border-top: none;
}


.bftvdeck-slide-bullet-list-item-icon {
   /*width: 28px;
   height: 28px;*/
   display: flex;
   align-items: center;
   justify-content: center;
   /* border-radius: 50%;
            background: rgba(255, 255, 255, 0.12); */
   flex-shrink: 0;
}

   .bftvdeck-slide-bullet-list-item-icon img {
      width: 16px;
      height: 16px;
      opacity: 0.95;
   }

.bftvdeck-slide-bullet-list-item-text {
   white-space: nowrap;
   letter-spacing: 0.2px;
}
