@charset "utf-8";

.speaker-card-hit{
  text-decoration:none;
  color:inherit;
}

.speaker-card-hit:focus-visible{
  outline:3px solid rgba(233,74,87,.42);
  outline-offset:4px;
  border-radius:24px;
}

body[data-page="speaker-detail"] .header-shell{
  pointer-events:auto;
}

body[data-page="speaker-detail"] .site-header{
  margin-top:0;
  padding:14px 0;
  background:rgba(13,21,37,.80);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}

body[data-page="speaker-detail"] .site-header .logo-round{
  width:138px;
}

.speaker-detail-page{
  background:
    radial-gradient(circle at 14% 16%, rgba(233,74,87,.10), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(47,71,124,.08), transparent 22%),
    linear-gradient(180deg, #f6f2ec 0%, #ffffff 44%, #f7f3ed 100%);
}

.speaker-detail-hero{
  padding:250px 0 42px;
  color:#0f1728;
}

.speaker-hero-top{
  max-width:1180px;
}

.speaker-overview-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  margin-bottom:30px;
  border-radius:999px;
  border:1px solid rgba(15,23,40,.12);
  background:rgba(255,255,255,.72);
  color:#0f1728;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .24s ease, border-color .24s ease, transform .24s ease;
}

.speaker-overview-btn:hover{
  background:#fff;
  border-color:rgba(15,23,40,.2);
  transform:translateY(-1px);
}

.speaker-detail-kicker,
.speaker-meta-kicker{
  color:#e94a57;
}

.speaker-detail-name{
  margin:0 0 24px;
  font-size:clamp(3.8rem, 8.6vw, 7.6rem);
  line-height:.86;
  letter-spacing:-.055em;
  font-weight:900;
  max-width:12ch;
}

.speaker-hero-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 18px;
}

.speaker-detail-chip{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(233,74,87,.08);
  border:1px solid rgba(233,74,87,.18);
  color:#e94a57;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.speaker-detail-role{
  margin:0;
  font-size:.98rem;
  line-height:1.7;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#566176;
}

.speaker-detail-content{
  padding:12px 0 110px;
}

.speaker-content-grid{
  display:grid;
  grid-template-columns:minmax(320px, .46fr) minmax(0, 1fr);
  gap:30px;
  align-items:start;
}

.speaker-left-column{
  display:grid;
  gap:24px;
  align-self:start;
}

.speaker-detail-image-card,
.speaker-meta-card,
.speaker-text-card{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(15,23,40,.08);
  border-radius:28px;
  box-shadow:0 20px 50px rgba(17,24,39,.08);
}

.speaker-detail-image-card{
  padding:14px;
}

.speaker-detail-image-wrap{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  aspect-ratio:4 / 4.6;
  background:#e9edf3;
}

.speaker-detail-image,
.speaker-detail-placeholder{
  width:100%;
  height:100%;
}

.speaker-detail-image{
  display:block;
  object-fit:cover;
}

.speaker-detail-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.14), transparent 18%),
    linear-gradient(135deg, #23375f 0%, #e94a57 100%);
}

.speaker-detail-placeholder-logo{
  width:min(40%, 180px);
  opacity:.96;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.16));
}

.speaker-meta-card,
.speaker-text-card{
  padding:30px;
}

.speaker-meta-card{
  position:sticky;
  top:110px;
}

.speaker-meta-list{
  display:grid;
  gap:18px;
}

.speaker-meta-item{
  display:grid;
  gap:8px;
}

.speaker-meta-item strong{
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#6b7280;
}

.speaker-meta-item span{
  font-size:1rem;
  line-height:1.6;
  color:#17223a;
}

.speaker-content-title{
  margin:0 0 20px;
  font-size:clamp(2rem, 3.4vw, 3rem);
  line-height:.95;
  letter-spacing:-.03em;
}

.speaker-richtext p{
  margin:0 0 18px;
  color:#334155;
  font-size:1.05rem;
  line-height:1.85;
}

.speaker-content-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
  padding-top:26px;
  border-top:1px solid rgba(15,23,40,.08);
}

.speaker-secondary-btn{
  border:2px solid rgba(15,23,40,.14);
  color:#0f1728;
  background:rgba(255,255,255,.7);
}

.speaker-secondary-btn:hover{
  background:#fff;
  border-color:rgba(15,23,40,.24);
}

.speaker-related-section{
  padding:0 0 120px;
}

.speakers-grid-three{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.speaker-related-title{
  max-width:13ch;
}

@media (max-width:1100px){
  .speaker-content-grid{
    grid-template-columns:1fr;
  }

  .speaker-left-column{
    grid-template-columns:1fr 1fr;
    gap:22px;
  }

  .speaker-meta-card{
    position:static;
    top:auto;
  }

  .speakers-grid-three{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  body[data-page="speaker-detail"] .site-header{
    padding:12px 14px;
  }

  body[data-page="speaker-detail"] .site-header .logo-round{
    width:112px;
  }

  .speaker-detail-hero{
    padding:178px 0 34px;
  }

  .speaker-overview-btn{
    margin-bottom:22px;
  }

  .speaker-detail-name{
    font-size:clamp(2.9rem, 15vw, 4.5rem);
    max-width:100%;
    margin-bottom:18px;
  }

  .speaker-hero-meta{
    display:grid;
    gap:12px;
  }

  .speaker-content-grid,
  .speaker-left-column{
    grid-template-columns:1fr;
  }

  .speaker-detail-content{
    padding:6px 0 90px;
  }

  .speaker-detail-image-card,
  .speaker-meta-card,
  .speaker-text-card{
    border-radius:22px;
  }

  .speaker-meta-card,
  .speaker-text-card{
    padding:22px;
  }

  .speaker-detail-image-card{
    padding:12px;
  }

  .speaker-content-actions{
    flex-direction:column;
  }

  .speaker-content-actions .btn{
    width:100%;
  }

  .speakers-grid-three{
    grid-template-columns:1fr;
  }
}