/* ══════════════════════════════════════════════════════════════
   CONFERENCES PAGE — SPECIFIC STYLES
   ══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════
   CINEMATIC CONFERENCE HERO
   ═══════════════════════════════════════ */
.conf-hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; z-index:1;
}

/* ─── Film-strip Background ─── */
.ch-filmstrip {
  position:absolute; inset:0; z-index:0;
  display:flex; flex-direction:column;
  justify-content:center; gap:4px;
  opacity:1;
}
.ch-strip {
  display:flex; gap:4px; height:42%;
  width:max-content;
}
.ch-strip img {
  height:100%; width:auto; aspect-ratio:16/10;
  object-fit:cover; display:block;
  filter:grayscale(10%) brightness(.72) saturate(.92);
}
.ch-strip-top { animation:chScrollLeft 60s linear infinite; }
.ch-strip-bot { animation:chScrollRight 55s linear infinite; }
@keyframes chScrollLeft {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}
@keyframes chScrollRight {
  from { transform:translateX(-50%); }
  to   { transform:translateX(0); }
}

/* ─── Vignette ─── */
.ch-vignette {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(10,22,40,.6) 0%, rgba(10,22,40,.15) 30%, rgba(10,22,40,.15) 70%, rgba(10,22,40,.65) 100%),
    radial-gradient(ellipse 65% 55% at 50% 50%, transparent 0%, rgba(10,22,40,.25) 100%);
}

/* ─── Particles ─── */
.conf-hero .page-particles {
  position:absolute; inset:0; z-index:1; pointer-events:none;
}

/* ─── Content ─── */
.ch-content {
  position:relative; z-index:2;
  max-width:800px; width:90%; margin:0 auto;
  text-align:center; padding:6rem 0 4rem;
}

/* Eyebrow */
.ch-eyebrow {
  display:flex; align-items:center; gap:1rem;
  justify-content:center; margin-bottom:1.5rem;
  opacity:0; animation:chFadeUp .8s .3s ease forwards;
}
.ch-ey-line { width:40px; height:1px; background:var(--border-gold); }
.ch-ey-text {
  font-size:.6rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); font-weight:600;
}

/* Headline */
.ch-h1 {
  font-family:'Cinzel',serif; font-weight:700;
  font-size:clamp(2.2rem,5.5vw,4.2rem);
  color:var(--cream); line-height:1.12; letter-spacing:.03em;
  margin-bottom:1.5rem;
}
.ch-h1-line { display:block; overflow:hidden; }
.ch-h1-word {
  display:inline-block;
  opacity:0; transform:translateY(100%);
  animation:chWordReveal .7s ease forwards;
}
.ch-h1-line:nth-child(1) .ch-h1-word:nth-child(1) { animation-delay:.5s; }
.ch-h1-line:nth-child(1) .ch-h1-word:nth-child(2) { animation-delay:.6s; }
.ch-h1-line:nth-child(2) .ch-h1-word:nth-child(1) { animation-delay:.7s; }
.ch-h1-line:nth-child(2) .ch-h1-word:nth-child(2) { animation-delay:.8s; }
@keyframes chWordReveal {
  to { opacity:1; transform:translateY(0); }
}
.ch-h1-italic {
  font-family:'IM Fell English',serif; font-style:italic;
  color:var(--saffron);
}

/* Description */
.ch-desc {
  font-size:.9rem; color:rgba(244,237,216,.65);
  line-height:1.85; max-width:620px; margin:0 auto 2rem;
  opacity:0; animation:chFadeUp .8s .9s ease forwards;
}

/* Stats */
.ch-stats {
  display:flex; align-items:center; justify-content:center;
  gap:2rem; flex-wrap:wrap; margin-bottom:2rem;
  opacity:0; animation:chFadeUp .8s 1.05s ease forwards;
}
.ch-stat { text-align:center; }
.ch-stat-num {
  display:block; font-family:'Cinzel',serif;
  font-size:1.5rem; font-weight:700; color:var(--saffron); line-height:1;
}
.ch-stat-label {
  font-size:.55rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--dim); margin-top:.3rem; display:block;
}
.ch-stat-div {
  width:1px; height:32px; background:var(--border-gold);
}

/* Actions */
.ch-actions {
  display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap;
  opacity:0; animation:chFadeUp .8s 1.2s ease forwards;
}

/* Scroll cue */
.ch-scroll {
  position:absolute; bottom:2rem; left:0; right:0;
  z-index:3; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:.5rem;
  opacity:0; animation:chFadeUp .8s 1.5s ease forwards;
}
.ch-scroll span {
  font-size:.55rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--dim); font-weight:500;
}
.ch-scroll-line {
  width:1px; height:28px;
  background:linear-gradient(180deg,var(--saffron),transparent);
  animation:chScrollPulse 2s ease-in-out infinite;
}
@keyframes chScrollPulse {
  0%,100% { opacity:1; transform:scaleY(1); }
  50%     { opacity:.4; transform:scaleY(.6); }
}
@keyframes chFadeUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ─── Responsive: Conference Hero ─── */
@media(max-width:768px) {
  .conf-hero { min-height:100svh; }
  .ch-strip { height:35%; }
  .ch-h1 { font-size:clamp(1.8rem,8vw,2.8rem); white-space:normal; }
  .ch-desc { font-size:.84rem; }
  .ch-stats { gap:1.2rem; }
  .ch-stat-num { font-size:1.2rem; }
  .ch-stat-div { height:24px; }
}
@media(max-width:540px) {
  /* 4 stats wrap into 2×2 grid — hide vertical dividers to avoid misalignment */
  .ch-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem 1.4rem;
    justify-items: center;
  }
  .ch-stat-div { display: none; }
  .ch-stat-num { font-size: 1.3rem; }
  .ch-stat-label { font-size: .5rem; letter-spacing: .1em; }
}
@media(max-width:480px) {
  .ch-actions { flex-direction:column; align-items:center; }
}

/* ─── FILTER BAR ─── */
.filter-bar {
  position:sticky; top:56px; z-index:100;
  background:rgba(10,22,40,0.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border-gold);
  padding:1rem 5vw;
  display:flex; align-items:center; gap:1rem;
  flex-wrap:wrap;
}
.filter-bar-label {
  font-size:.58rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--dim); font-weight:600;
}
.filter-pill {
  padding:.45rem 1.1rem; border:1px solid var(--border-gold);
  background:transparent; color:var(--dim); font-size:.66rem;
  letter-spacing:.1em; text-transform:uppercase; font-family:'Inter',sans-serif;
  cursor:pointer; transition:all .25s;
}
.filter-pill.active { background:var(--saffron); color:var(--white); border-color:var(--saffron); }
.filter-pill:hover:not(.active) { border-color:var(--saffron); color:var(--cream); }

/* Type legend */
.type-legend {
  display:flex; gap:2rem; justify-content:center;
  padding:1.5rem 0; flex-wrap:wrap;
}
.legend-item { display:flex; align-items:center; gap:.5rem; font-size:.7rem; color:var(--dim); }
.legend-dot { width:10px; height:10px; border-radius:50%; }
.legend-dot.flagship { background:var(--saffron); }
.legend-dot.school { background:var(--gold-light); }
.legend-dot.legal { background:#7C6FB3; }
.legend-dot.training { background:#5BA08A; }

/* ─── YEAR GROUP ─── */
.year-group {
  margin-bottom:4rem;
}
.year-group.hidden { display:none; }
.year-header {
  display:flex; align-items:center; gap:1.5rem; margin-bottom:2rem;
}
.year-number {
  font-family:'Cinzel',serif; font-size:2.4rem; font-weight:700;
  color:var(--saffron); line-height:1;
}
.year-line { flex:1; height:1px; background:var(--border-gold); }
.year-count {
  font-size:.62rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--dim); font-weight:600;
}

/* ─── CONFERENCE CARDS ─── */
.conf-cards-grid { display:flex; flex-direction:column; gap:1.5rem; }
.conf-cards-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.compact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }

/* Featured Card */
.conf-card-featured {
  display:grid; grid-template-columns:.45fr .55fr; align-items:center;
  background:var(--glass-bg); backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  overflow:hidden;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.conf-card-featured:hover {
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  border-color:rgba(212,80,10,.3);
}
.conf-card-featured .card-visual {
  position:relative; overflow:hidden;
  aspect-ratio: 16 / 9;
  width: 100%;
}
.conf-card-featured .card-visual img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s;
}
.conf-card-featured:hover .card-visual img { transform:scale(1.05); }

/* Standard Card */
.conf-card-standard {
  background:var(--glass-bg); backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  overflow:hidden;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.conf-card-standard:hover {
  transform:translateY(-5px);
  box-shadow:0 16px 48px rgba(0,0,0,.3);
  border-color:rgba(212,80,10,.3);
}
.conf-card-standard .card-visual {
  position:relative; overflow:hidden;
  aspect-ratio: 16 / 9;
  width: 100%;
}
.conf-card-standard .card-visual img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s;
}
.conf-card-standard:hover .card-visual img { transform:scale(1.05); }

/* Compact Card */
.conf-card-compact {
  display:grid; grid-template-columns:.35fr .65fr; align-items:center;
  background:var(--glass-bg); backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  overflow:hidden;
  transition:transform .3s, box-shadow .3s;
}
.conf-card-compact:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 38px rgba(0,0,0,.25);
}
.conf-card-compact .card-visual {
  position:relative; overflow:hidden;
  aspect-ratio: 16 / 9;
  width: 100%;
}
.conf-card-compact .card-visual img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s;
}
.conf-card-compact:hover .card-visual img { transform:scale(1.05); }

/* Card Shared Elements */
.card-badge {
  position:absolute; top:1rem; left:1rem;
  background:var(--saffron); color:var(--white);
  font-size:.54rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.3rem .7rem; font-weight:700; z-index:2;
}
.card-content { padding:1.5rem; }
.card-meta {
  display:flex; align-items:center; gap:.8rem; flex-wrap:wrap;
  margin-bottom:.6rem;
}
.card-meta-item { font-size:.72rem; color:var(--cream); opacity:.7; }
.card-meta-divider { width:1px; height:14px; background:var(--border-gold); }
.card-title {
  font-family:'Cinzel',serif; font-size:1.05rem; font-weight:700;
  color:var(--cream); margin-bottom:.4rem; line-height:1.3;
}
.card-subtitle {
  font-family:'IM Fell English',serif; font-style:italic;
  font-size:.82rem; color:var(--saffron-light); margin-bottom:.5rem; font-weight:600;
}
.card-desc { font-size:.76rem; color:var(--dim); line-height:1.7; margin-bottom:1rem; text-align:justify; hyphens:auto; }
.card-highlights {
  display:flex; gap:1.2rem; margin-bottom:1rem; flex-wrap:wrap;
}
.card-highlight-item { text-align:center; }
.card-highlight-number {
  display:block; font-family:'Cinzel',serif;
  font-size:1.1rem; font-weight:700; color:var(--saffron); line-height:1;
}
.card-highlight-label {
  font-size:.54rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dim);
}
.card-tags { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.card-tag {
  font-size:.56rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.25rem .6rem; border:1px solid var(--border-gold);
  color:var(--dim);
}
.card-link {
  font-family:'Cinzel',serif; font-size:.66rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--saffron); display:inline-flex; align-items:center; gap:.3rem;
  transition:gap .25s;
}
.card-link:hover { gap:.6rem; }

/* ─── HIGHLIGHT ANIMATION ─── */
@keyframes highlightPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(212,80,10,0.7),
                0 20px 60px rgba(0,0,0,.35);
  }
  50% {
    box-shadow: 0 0 0 15px rgba(212,80,10,0),
                0 20px 60px rgba(0,0,0,.35);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(212,80,10,0),
                0 20px 60px rgba(0,0,0,.35);
  }
}

.highlight-entry {
  animation: highlightPulse 2s ease-out !important;
  border-color: rgba(212,80,10,.5) !important;
}

/* ─── RESPONSIVE ─── */
@media(max-width:960px) {
  .conf-card-featured { grid-template-columns:1fr; }
  .conf-cards-row { grid-template-columns:repeat(2,1fr); }
  .compact-grid { grid-template-columns:1fr; }
  .conf-card-compact { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .conf-cards-row { grid-template-columns:1fr; }
  .filter-bar { flex-wrap:wrap; justify-content:center; padding:.7rem 4vw; gap:.6rem; }
  .filter-pill { padding:.4rem .85rem; font-size:.62rem; }
  .year-number { font-size:1.8rem; }
  .card-desc { text-align:left; hyphens:none; }
  .card-title { font-size:.95rem; }
  .conf-card-compact { grid-template-columns:.35fr .65fr; }

  /* Hero: allow title wrap on small mobile */
  .ch-h1 { font-size:clamp(1.6rem,8vw,2.4rem); white-space:normal; }
  .ch-content { padding:5rem 4vw 3.5rem; }
  .ch-stats { gap:.8rem; }
  .ch-stat-num { font-size:1.1rem; }
  .ch-stat-div { height:20px; }
  .ch-desc { font-size:.8rem; }

  /* Type legend */
  .type-legend { gap:1rem; padding:1rem 0; }
  .legend-item { font-size:.65rem; }

  /* Year group */
  .year-group { margin-bottom:2.8rem; }
  .year-header { margin-bottom:1.4rem; }
  .year-number { font-size:1.7rem; }
}
