/* IVES speakers TBA teaser — prefix .sp- */
.speakers.sp-section{padding:88px var(--gutter) 80px;background:var(--sp-paper,#fafaf7)}
.speakers.sp-section:before{display:none}
.sp-section{
  --sp-violet:var(--blue);
  --sp-ink:var(--ink);
  --sp-lime:var(--lime);
  --sp-paper:#fafaf7;
  --sp-line:#dfdce7;
  --sp-muted:#787180;
  --sp-soft:#8d8595;
  --sp-card-a:#eeecf4;
  --sp-card-b:#eceee4;
  --sp-card-c:#f3eae3;
  --sp-ring-a:#d3cde4;
  --sp-ring-b:#d1d7bd;
  --sp-ring-c:#e0cabb;
  --sp-sil-a:#d0cbdf;
  --sp-sil-b:#cbd1bf;
  --sp-sil-c:#dfccbe;
  color:var(--sp-ink);
  padding:88px var(--gutter) 80px;
  overflow:hidden;
  background:var(--sp-paper);
}
.sp-wrap{max-width:1280px;margin:auto}
.sp-eyebrow{
  display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid var(--sp-line);padding-bottom:20px;
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.sp-eyebrow span:first-child{display:flex;align-items:center;gap:10px}
.sp-dot{display:inline-block;width:7px;height:7px;background:var(--sp-violet);border-radius:50%}
.sp-year{color:#85808f}
.sp-intro{
  display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding:48px 0 44px;
}
.sp-title{
  font-size:clamp(46px,5.4vw,76px);line-height:1;letter-spacing:-.065em;margin:0;font-weight:750;
  color:var(--sp-ink);
}
.sp-title em{font-style:normal;color:var(--sp-violet)}
.sp-intro-copy{justify-self:end;max-width:340px}
.sp-status{
  display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;border:1px solid #d8d3e8;padding:9px 12px;border-radius:30px;font-weight:700;
}
.sp-status i{width:6px;height:6px;border-radius:100%;background:var(--sp-violet);display:inline-block}
.sp-intro-copy p{font-size:14px;line-height:1.75;color:var(--sp-muted);margin:16px 0 0;max-width:none}
.sp-stage{display:grid;grid-template-columns:1fr 1.85fr;gap:20px}
.sp-feature{
  position:relative;background:var(--sp-violet);color:#fff;padding:32px;
  display:flex;flex-direction:column;justify-content:space-between;min-height:422px;overflow:hidden;
  border-radius:2px;
}
.sp-feature-label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;position:relative;z-index:1}
.sp-number{
  font-size:clamp(100px,12.8vw,176px);letter-spacing:-.09em;line-height:.8;font-weight:750;
  position:relative;z-index:1;margin:40px 0 14px;color:#fff;
}
.sp-number sup{
  font-size:.4em;vertical-align:top;position:relative;top:.05em;margin-left:6px;
  letter-spacing:-.05em;color:var(--sp-lime);
}
.sp-feature h3{
  font-size:31px;letter-spacing:-.045em;margin:0 0 25px;position:relative;z-index:1;color:#fff;font-weight:750;
}
.sp-feature p{
  font-size:12px;line-height:1.7;max-width:240px;margin:0;color:#ddd9ff;position:relative;z-index:1;
}
.sp-orbit{
  position:absolute;width:390px;height:390px;border:1px solid #ffffff22;border-radius:50%;
  left:38%;top:-30%;pointer-events:none;
}
.sp-orbit:before,.sp-orbit:after{
  content:"";position:absolute;inset:35px;border:1px solid #ffffff22;border-radius:50%;
}
.sp-orbit:after{inset:70px}
.sp-star{position:absolute;right:25px;bottom:29px;width:40px;height:40px;color:var(--sp-lime)}
.sp-teasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.sp-card{
  background:var(--sp-card-a);overflow:hidden;display:flex;flex-direction:column;min-width:0;
  position:relative;border:1px solid #e4e0ec;border-radius:2px;
}
.sp-card:nth-child(2){background:var(--sp-card-b);border-color:#dfe2d5}
.sp-card:nth-child(3){background:var(--sp-card-c);border-color:#e8dbd2}
.sp-portrait{
  position:relative;flex:1;min-height:290px;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:center;
}
.sp-portrait:before{
  content:"";position:absolute;border:1px solid var(--sp-ring-a);border-radius:50%;
  width:240px;height:240px;bottom:0;
}
.sp-card:nth-child(2) .sp-portrait:before{border-color:var(--sp-ring-b)}
.sp-card:nth-child(3) .sp-portrait:before{border-color:var(--sp-ring-c)}
.sp-silhouette{width:92%;height:100%;max-height:100%;object-fit:contain;object-position:bottom center;display:block;position:relative;z-index:1;filter:grayscale(1);transform:none}
.sp-card:nth-child(2) .sp-silhouette{transform:none}
.sp-card:nth-child(3) .sp-silhouette{transform:none}
.sp-q{
  position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);
  font:italic 62px Georgia,serif;color:#ffffff90;
}
.sp-card-index{
  position:absolute;top:16px;left:16px;z-index:2;font-size:9px;letter-spacing:.08em;color:#8d849b;
}
.sp-card-info{
  position:relative;padding:20px 18px;background:var(--sp-paper);
  border-top:1px solid #e3dfeb;min-height:96px;
}
.sp-card-info h3{font-size:18px;letter-spacing:-.04em;margin:0 0 7px;font-weight:650;color:var(--sp-ink)}
.sp-card-info p{font-size:10px;color:#8c8594;margin:0;line-height:1.5;max-width:none}
.sp-announcement{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:25px 0;border-bottom:1px solid var(--sp-line);
}
.sp-announcement-title{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600}
.sp-spark{
  background:var(--sp-lime);width:26px;height:26px;display:grid;place-items:center;
  border-radius:50%;font-size:16px;color:var(--sp-ink);flex:none;
}
.sp-announcement p{font-size:11px;color:var(--sp-soft);margin:0;max-width:none}
.sp-footer{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  margin-top:20px;font-size:10px;color:#948a9e;
}
.sp-footer b{color:var(--sp-violet);font-weight:700;letter-spacing:.04em}
.sp-dots{display:flex;gap:5px}
.sp-dots i{width:5px;height:5px;background:#d7d2e4;border-radius:50%;display:inline-block}
.sp-dots i:first-child{background:var(--sp-violet)}

@media(min-width:1100px) and (prefers-reduced-motion:no-preference){
  .sp-card{transition:transform .3s}
  .sp-card:hover{transform:translateY(-6px)}
  .sp-orbit{animation:sp-drift 9s ease-in-out infinite}
  @keyframes sp-drift{50%{transform:translate(-12px,18px)}}
}
@media(max-width:1050px){
  .sp-stage{grid-template-columns:1fr}
  .sp-feature{min-height:250px;padding:30px}
  .sp-number{font-size:120px;margin:25px 0 12px}
  .sp-feature h3{margin-bottom:14px}
  .sp-feature p{position:absolute;right:32px;bottom:35px;max-width:220px}
  .sp-star{right:32px;top:28px}
  .sp-portrait{min-height:260px}
  .sp-title{font-size:58px}
  .sp-intro{gap:30px}
}
@media(max-width:700px){
  .sp-section{padding:45px var(--gutter)}
  .sp-intro{grid-template-columns:1fr;gap:24px;padding:30px 0}
  .sp-title{font-size:52px}
  .sp-intro-copy{justify-self:start;max-width:100%}
  .sp-intro-copy p{font-size:13px}
  .sp-feature{padding:25px;min-height:320px}
  .sp-number{font-size:120px}
  .sp-feature p{position:relative;right:auto;bottom:auto;max-width:230px}
  .sp-feature h3{font-size:28px}
  .sp-teasers{gap:8px}
  .sp-portrait{min-height:165px}
  .sp-silhouette{width:100%;height:100%}
  
  .sp-portrait:before{width:150px;height:150px}
  .sp-q{font-size:36px}
  .sp-card-index{left:9px;top:10px;font-size:8px}
  .sp-card-info{padding:13px 9px;min-height:80px}
  .sp-card-info h3{font-size:14px}
  .sp-card-info p{font-size:9px}
  .sp-announcement{align-items:flex-start;flex-direction:column;gap:10px}
  .sp-announcement p{padding-left:38px;font-size:10px}
  .sp-footer{font-size:9px}
  .sp-eyebrow{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .sp-card,.sp-orbit{transition:none;animation:none}
}
