/* ════════════════════════════════
   ALUMNI / STORIES
════════════════════════════════ */

/* Reveal "in" state, scoped to this section */
[data-reveal].stories-visible { opacity: 1; transform: none; }

/* Section shell + layout container, scoped to this section
   (this rule used to be an empty placeholder; padding merged in
   from the old shared .section rule) */
.stories-section { padding: 8rem 0; }
.stories-wrap { max-width: 1240px; margin: 0 auto; padding: 0 5vw; }

/* Eyebrow label, scoped to this section */
.stories-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 1rem; }
.stories-eyebrow-line { width: 28px; height: 1.5px; background: var(--red); }
.stories-eyebrow-text { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--red); }

/* Big headline + body copy, scoped to this section */
.stories-big-h { font-family: var(--serif); font-size: clamp(38px, 4.5vw, 58px); font-weight: 400; line-height: 1.1; color: var(--navy-dark); }
.stories-big-h em { font-style: italic; color: var(--purple); }
.stories-body-l { font-size: 16px; font-weight: 300; line-height: 1.8; color: var(--ink2-50); }

.stories-cta-main-dark {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--navy-dark); color: var(--white);
  font-family: var(--mono); font-size: 13px; font-weight: 600; letter-spacing: 0.04em;
  padding: 14px 28px; border-radius: 8px;
  transition: background 0.2s, transform 0.2s;
  box-shadow: 0 4px 20px rgba(8,15,56,0.2);
}
.stories-cta-main-dark:hover { background: var(--navy-glow); transform: translateY(-2px); }

.stories-head { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.sh-right { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; justify-content: flex-end; }

/* Magazine-style grid */
.stories-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  grid-template-rows: 300px 240px;
  gap: 16px;
}

.sc {
  position: relative; border-radius: 16px; overflow: hidden;
  background: var(--navy-dark);
  transition: transform 0.4s var(--r);
}
.sc:hover { transform: scale(1.015); }
.sc:first-child { grid-row: 1 / 3; }

.sc-img { position: absolute; inset: 0; }
.sc-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.sc-grad { position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,15,56,0.95) 0%, rgba(8,15,56,0.5) 40%, transparent 70%); }
.sc-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.75rem; }
.sc-badge {
  display: inline-block; margin-bottom: 0.75rem;
  background: var(--red); color: var(--white);
  font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 20px;
}
.sc-name { font-family: var(--serif); font-size: 22px; color: var(--white); line-height: 1.1; margin-bottom: 3px; }
.sc-role { font-family: var(--mono); font-size: 10.5px; font-weight: 500; letter-spacing: 0.1em; color: rgba(255,255,255,0.5); margin-bottom: 0.75rem; }
.sc-quote { font-size: 13px; font-weight: 300; line-height: 1.65; color: rgba(255,255,255,0.7); font-style: italic; }

/* Small cards (no quotes) */
.sc.small .sc-quote { display: none; }
.sc.small .sc-name { font-size: 18px; }

/* Expandable row */
.stories-more-grid {
  display: none;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px; margin-top: 16px;
}
.stories-more-grid.open { display: grid; }

.stories-controls {
  display: flex; align-items: center; justify-content: space-between; margin-top: 2.5rem;
}
.toggle-more-btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.06em;
  color: var(--navy); border: 1.5px solid rgba(13,27,94,0.2);
  padding: 10px 22px; border-radius: 6px; cursor: pointer; background: none;
  transition: all 0.2s;
}
.toggle-more-btn:hover { border-color: var(--navy); background: var(--mist-warm); }
