/* SPEAKING-SWIPE-20261022 — swipe carousels (home promo + talk takeaways). Native scroll-snap, so touch swipe works with no JS. */
.swipe { position:relative; }
.swipe-track { position:relative; display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:4px 2px 10px; margin:0 -2px; overscroll-behavior-x:contain; }
.swipe-track::-webkit-scrollbar { display:none; }
.swipe-track:focus-visible { outline:2px solid var(--lavender); outline-offset:4px; border-radius:14px; }
.swipe-slide { flex:0 0 auto; scroll-snap-align:start; scroll-snap-stop:always; }
.swipe-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; flex-wrap:wrap; }
.swipe-left { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.swipe-dots { display:flex; gap:8px; align-items:center; }
.swipe-dot { width:8px; height:8px; border-radius:99px; background:var(--white-24); border:0; padding:0; cursor:pointer;
  transition:width .25s cubic-bezier(.22,1,.36,1), background .25s ease; }
.swipe-dot[aria-current="true"] { width:26px; background:var(--lavender); }
.swipe-dot:focus-visible, .swipe-btn:focus-visible { outline:2px solid var(--lavender); outline-offset:3px; }
.swipe-arrows { display:flex; gap:10px; }
.swipe-btn { width:44px; height:44px; border-radius:50%; border:1px solid var(--white-24); background:var(--white-08); color:var(--white);
  font-size:18px; line-height:1; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .2s ease, border-color .2s ease; }
.swipe-btn:hover:not(:disabled) { background:var(--lavender-ink); border-color:var(--lavender-ink); }
.swipe-btn:disabled { opacity:.35; cursor:default; }
.swipe-hint { font-family:var(--font-ui); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--white-60); }
.swipe-hint a { color:var(--lavender); text-decoration:none; }
/* home promo cards */
.promo-slide { width:100%; }
.promo-card { height:100%; box-sizing:border-box; background:var(--lavender-ink); border-radius:var(--radius-card); padding:var(--space-12) var(--space-12);
  display:grid; grid-template-columns:1fr auto; gap:var(--space-8); align-items:center; }
.promo-card.alt { background:linear-gradient(135deg, var(--ink-3), #2a2f5c); border:1px solid var(--white-12); }
.promo-card .band-h { font-size:clamp(28px,3.4vw,48px); }
.promo-meta { font-family:var(--font-body); font-size:15px; font-weight:600; color:var(--lavender-soft); line-height:1.65; margin-top:var(--space-4); max-width:620px; }
.promo-actions { display:flex; flex-direction:column; gap:12px; }
.promo-actions .pill-cta { justify-content:space-between; }
/* talk takeaway cards (LinkedIn-carousel style) */
.take-slide { width:min(80vw,340px); }
.take-card { height:100%; min-height:420px; box-sizing:border-box; background:linear-gradient(160deg, var(--ink-3), var(--ink-2));
  border:1px solid var(--white-12); border-radius:var(--radius-card); padding:30px 28px; display:flex; flex-direction:column; justify-content:space-between; }
.take-card.cover { background:var(--lavender-ink); border-color:var(--lavender-ink); }
.take-num { font-family:var(--font-display); font-weight:700; font-size:54px; line-height:1; color:var(--lavender); }
.take-card.cover .take-num { color:var(--white); }
.take-h { font-family:var(--font-display); font-weight:700; font-size:26px; line-height:1.15; color:var(--white); margin:18px 0 12px; letter-spacing:-.005em; }
.take-p { font-family:var(--font-body); font-size:15px; font-weight:500; line-height:1.6; color:var(--white-80); margin:0; }
.take-foot { font-family:var(--font-ui); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--white-60); margin-top:20px; }
.take-card .pill-cta { margin-top:20px; align-self:flex-start; }
/* event detail grid + figure */
.event-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:var(--space-8); }
.event-fact { background:var(--ink-2); border:1px solid var(--white-12); border-radius:18px; padding:20px 22px; }
.event-fact .k { display:block; font-family:var(--font-ui); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--lavender); margin-bottom:8px; }
.event-fact .v { font-family:var(--font-body); font-size:15px; font-weight:600; color:var(--white); line-height:1.5; }
.event-figure { margin:var(--space-10) 0 0; max-width:820px; }
.event-figure img { width:100%; height:auto; border-radius:20px; border:1px solid var(--ink-3); display:block; }
.talk-list { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:1024px) { .event-facts { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) {
  .promo-card { grid-template-columns:1fr; padding:var(--space-8) var(--space-6); gap:var(--space-6); }
  .promo-actions { flex-direction:row; flex-wrap:wrap; }
  .talk-list { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .event-facts { grid-template-columns:1fr; }
  .take-card { min-height:380px; padding:26px 22px; }
  .take-h { font-size:23px; }
  .swipe-arrows { display:none; }
}
@media (prefers-reduced-motion: reduce) { .swipe-dot { transition:none; } }

/* SPEAKING-FORM-20261022 — intake form extras */
.contact-field select { font-family:var(--font-body); font-size:15px; font-weight:600; color:var(--white); background:var(--ink);
  border:1px solid var(--ink-3); border-radius:12px; padding:12px 16px; min-height:48px; width:100%; appearance:auto; }
.contact-field select:focus-visible { outline:2px solid var(--lavender); outline-offset:3px; border-color:var(--lavender-ink); }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4); }
@media (max-width:640px) { .form-row-2 { grid-template-columns:1fr; } }
