:root{--purple:#5f2f98;--purple-dark:#37155f;--purple-soft:#f2eafb;--purple-mid:#7b45b5;--lavender:#dcc7f3;--ink:#19151f;--muted:#665f6d;--cream:#faf8f3;--white:#fff;--line:#ded7e4;--green:#177a52;--radius:22px;--shadow:0 18px 50px rgba(37,19,54,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6}img{display:block;max-width:100%}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:.75rem 1rem;border-radius:8px}.container{width:min(1180px,calc(100% - 2.5rem));margin-inline:auto}.narrow{max-width:820px}.center{text-align:center}.section-pad{padding:clamp(4rem,8vw,7rem) 0}.eyebrow{margin:0 0 .8rem;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.purple{color:var(--purple)}h1,h2,h3{line-height:1.08;margin:0 0 1rem;letter-spacing:-.035em}h1{font-size:clamp(3rem,8vw,6.9rem)}h2{font-size:clamp(2.25rem,5vw,4rem)}h3{font-size:1.45rem}.lead{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.55;color:#3e3744}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem clamp(1rem,3vw,2.5rem);background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(95,47,152,.12)}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:0}.brand img{width:46px;height:46px;object-fit:contain;flex:0 0 auto}.brand span{display:flex;flex-direction:column;min-width:0}.brand strong{font-size:1rem;white-space:nowrap}.brand em{font-style:normal;font-size:.77rem;color:var(--muted);white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:1.3rem}.site-header nav a{text-decoration:none;font-weight:700;font-size:.92rem}.nav-cta{background:var(--purple);color:#fff;padding:.72rem 1rem;border-radius:999px}.hero{position:relative;min-height:calc(100vh - 68px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,9,28,.8) 0%,rgba(22,10,35,.54) 48%,rgba(20,10,30,.15) 100%),linear-gradient(0deg,rgba(23,10,35,.66),transparent 48%)}.hero-content{position:relative;z-index:1;width:min(900px,calc(100% - 2.5rem));margin:0 auto 0 clamp(1.25rem,7vw,7rem);padding:clamp(4rem,10vw,8rem) 0}.hero-kicker{font-size:clamp(1rem,2vw,1.35rem);font-weight:750}.hero-titleline{font-size:clamp(1.6rem,3.4vw,3rem);font-weight:800;margin:.4rem 0 1rem}.hero-text{max-width:760px;font-size:clamp(1.05rem,2vw,1.35rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}.hero-note{font-size:.9rem;opacity:.86}.button,.ticket-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.88rem 1.25rem;text-decoration:none;font-weight:800}.primary{background:#fff;color:var(--purple-dark)}.ghost{border:1px solid rgba(255,255,255,.7);color:#fff}.secondary{background:#fff;color:var(--purple-dark)}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}.image-band img{width:100%;max-height:520px;object-fit:cover}.optimizer{background:linear-gradient(180deg,#fff,var(--purple-soft))}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}.values-grid article{background:#fff;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow)}.split-section{background:#fff}.split{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:520px}.split.reverse{grid-template-columns:.9fr 1.1fr}.split.reverse img{order:2}.split img{width:100%;height:100%;min-height:520px;object-fit:cover}.split>div{padding:clamp(2.5rem,7vw,7rem)}.people{background:var(--cream)}.audience-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}.audience-bars div{background:#fff;border-radius:var(--radius);padding:2rem;text-align:center;box-shadow:var(--shadow)}.audience-bars strong{display:block;color:var(--purple);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1}.audience-bars span{font-weight:750}.mix-note{text-align:center;font-size:1.15rem;margin-top:1.8rem}.proof{background:#fff}.logo-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}.logo-cloud span{border:1px solid var(--line);border-radius:999px;padding:.65rem 1rem;font-weight:750}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2.5rem}.gallery img{width:100%;height:260px;object-fit:cover;border-radius:16px}.location{background:var(--cream)}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.venue-photos{display:grid;grid-template-columns:1.2fr .8fr;gap:.75rem}.venue-photos img{width:100%;height:440px;object-fit:cover;border-radius:18px}.venue-photos img+img{height:320px;align-self:end}.checks{padding:0;list-style:none}.checks li{position:relative;padding:.45rem 0 .45rem 1.6rem}.checks li:before{content:'✓';position:absolute;left:0;color:var(--purple);font-weight:900}.tickets{background:#fff}.price-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-top:2.5rem}.price{display:flex;flex-direction:column;padding:1.35rem;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:380px}.price.featured{border:2px solid var(--purple);box-shadow:var(--shadow);transform:translateY(-8px)}.price.inactive{background:#f6f4f7;color:#6f6874}.price .status{align-self:flex-start;background:#e9e4ec;border-radius:999px;padding:.3rem .65rem;font-size:.74rem;font-weight:800}.price .status.open{background:#dff4ea;color:var(--green)}.price .date{font-size:.82rem;color:var(--muted);margin:.8rem 0 .25rem}.price strong{font-size:2.1rem;color:var(--purple);margin-bottom:.65rem}.price p:not(.date){font-size:.92rem}.ticket-link{margin-top:auto;background:var(--purple);color:#fff}.ticket-link.disabled{background:#ddd8df;color:#8a838f;cursor:not-allowed}.ticket-note{margin-top:1.5rem;background:var(--purple-soft);border-radius:14px;padding:1rem 1.2rem;display:flex;gap:.7rem;flex-wrap:wrap}.faq{background:var(--cream)}details{background:#fff;border:1px solid var(--line);border-radius:14px;margin:.8rem 0;padding:1rem 1.1rem}summary{font-weight:800;cursor:pointer}details p{color:var(--muted)}.east{background:var(--purple-dark);color:#fff}.east-card{display:flex;align-items:center;justify-content:space-between;gap:2rem}.east-card h2{font-size:clamp(2.2rem,5vw,4.4rem)}.final-cta{padding:clamp(4rem,8vw,7rem) 0;background:var(--purple);color:#fff;text-align:center}.final-cta p{font-size:1.15rem}footer{background:#1d1128;color:#fff;padding:2.5rem 0}.footer-grid{display:flex;justify-content:space-between;gap:2rem}footer p{margin:0;color:#e4dceb}
@media(max-width:980px){.site-header nav a:not(.nav-cta){display:none}.intro-grid,.venue-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:repeat(2,1fr)}.split,.split.reverse{grid-template-columns:1fr}.split.reverse img{order:0}.split img{min-height:400px}.price-grid{grid-template-columns:repeat(2,1fr)}.price.featured{transform:none}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container{width:min(100% - 1.5rem,1180px)}.site-header{padding:.55rem .75rem}.brand img{width:40px;height:40px}.brand strong{display:block;font-size:.95rem}.brand em{font-size:.68rem}.nav-cta{padding:.62rem .8rem;font-size:.8rem!important}.hero{min-height:760px}.hero-content{width:calc(100% - 1.5rem);margin:0 .75rem;padding:5rem 0 3rem}.hero h1{font-size:clamp(2.65rem,14vw,4.8rem)}.hero-actions{flex-direction:column}.button{width:100%}.values-grid,.audience-bars,.price-grid,.gallery{grid-template-columns:1fr}.split img{min-height:300px}.split>div{padding:2.5rem 1.25rem}.venue-photos{grid-template-columns:1fr}.venue-photos img,.venue-photos img+img{height:300px}.east-card,.footer-grid{flex-direction:column;align-items:flex-start}.east-card .button{width:auto}.image-band img{min-height:260px}.price{min-height:auto}.ticket-link{margin-top:1rem}}

/* Mystic World, event app and inclusive ticket updates */
.mystic{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.2),transparent 25%),linear-gradient(135deg,var(--purple-dark),var(--purple) 55%,#8b50c5);color:#fff}.mystic:before,.mystic:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;width:420px;height:420px}.mystic:before{right:-180px;top:-220px}.mystic:after{left:-260px;bottom:-300px;width:560px;height:560px}.mystic-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,6rem);align-items:center}.mystic .lead{color:#f7f0ff}.mystic-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:clamp(1.6rem,4vw,2.6rem);border-radius:var(--radius);backdrop-filter:blur(12px);box-shadow:0 22px 60px rgba(25,8,43,.25)}.mystic-symbol{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#fff;color:var(--purple);font-size:1.5rem;margin-bottom:1.2rem}.app-section{background:linear-gradient(180deg,var(--purple-soft),#fff)}.app-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,7vw,7rem);align-items:center}.app-visual{min-height:500px;display:grid;place-items:center;border-radius:32px;background:radial-gradient(circle at 50% 35%,#a774d2,var(--purple) 55%,var(--purple-dark));overflow:hidden}.phone{width:min(270px,70%);padding:10px;border-radius:38px;background:#17131c;box-shadow:0 35px 70px rgba(28,10,47,.35);transform:rotate(-4deg)}.phone-top{width:36%;height:20px;margin:0 auto -10px;border-radius:0 0 14px 14px;background:#17131c;position:relative;z-index:2}.phone-screen{min-height:470px;padding:2.5rem 1.2rem 1.2rem;border-radius:30px;background:linear-gradient(180deg,#fbf8ff,#eee2fa);color:var(--ink)}.phone-screen strong{display:block;color:var(--purple);font-size:1.65rem;margin:.4rem 0 1.2rem}.mini-label{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.app-line{height:9px;border-radius:10px;background:#c9b1df;margin:.55rem 0}.app-line.short{width:63%}.app-tile{background:#fff;border:1px solid #dfd2eb;padding:.8rem;border-radius:12px;margin:.8rem 0;font-weight:750;box-shadow:0 7px 18px rgba(70,38,97,.08)}.included-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.6rem;margin-bottom:2.6rem}.included-grid article{border-radius:18px;background:var(--purple-soft);padding:1.4rem;border:1px solid #dfccef}.included-grid span{display:block;color:var(--purple);font-size:2rem;font-weight:900;line-height:1}.included-grid strong{display:block;margin:.45rem 0}.included-grid p{font-size:.9rem;margin-bottom:0}.ticket-notes{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.ticket-note{margin-top:0;border-left:5px solid var(--purple)}
@media(max-width:980px){.mystic-grid,.app-grid{grid-template-columns:1fr}.included-grid{grid-template-columns:repeat(2,1fr)}.app-visual{min-height:440px}}
@media(max-width:640px){.included-grid,.ticket-notes{grid-template-columns:1fr}.mystic-card{padding:1.35rem}.app-visual{min-height:390px}.phone-screen{min-height:390px}.phone{width:230px}.site-header nav .nav-cta{background:var(--purple)}}

/* Added sections: past speakers, testimonials and draft schedule */
.speakers-section{background:#f7f3fb}.people-group{margin-top:3rem}.people-group>h3{font-size:1.5rem;color:#5f2f98;margin-bottom:1.2rem}.speaker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}.speaker{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 12px 35px rgba(52,25,86,.10);border:1px solid rgba(95,47,152,.13)}.speaker img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(100%);display:block}.speaker div{padding:1.1rem}.speaker span{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#5f2f98;font-weight:800}.speaker h4{font-size:1.2rem;margin:.35rem 0}.speaker p{font-size:.92rem;line-height:1.5;margin:0}.returning .speaker{border-top:5px solid #5f2f98}
.testimonials{background:#5f2f98;color:#fff}.testimonials .eyebrow{color:#fff}.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:2.5rem}.quote-grid blockquote{margin:0;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:1.5rem}.quote-grid blockquote p{font-size:1.08rem;line-height:1.65;margin-top:0}.quote-grid blockquote footer{font-weight:800;color:#fff;background:transparent;padding:0;margin:1rem 0 0;border:0;min-height:0}
.schedule-section{background:#faf8f4}.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2.5rem;align-items:start}.day{background:#fff;border:1px solid #e6dfd5;border-radius:26px;overflow:hidden;box-shadow:0 10px 28px rgba(45,35,25,.07)}.day header{padding:1.5rem;background:#eee6db}.day header span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#5f2f98;font-weight:800}.day header h3{font-size:1.7rem;margin:.25rem 0}.day header p{margin:0}.featured-day{outline:3px solid #5f2f98}.featured-day header{background:#5f2f98;color:#fff}.featured-day header span{color:#e7d8ff}.day ol{list-style:none;padding:1.1rem 1.3rem;margin:0}.day li{display:grid;grid-template-columns:82px 1fr;gap:.75rem;padding:.9rem 0;border-bottom:1px solid #ece5dc}.day li:last-child{border:0}.day time{font-weight:800;color:#5f2f98;white-space:nowrap}.day li strong,.day li span{display:block}.day li span{font-size:.88rem;margin-top:.22rem;color:#6b625a}.schedule-section .center{max-width:850px}
.site-footer .footer-grid{grid-template-columns:1fr;gap:1rem;text-align:center;max-width:1100px}.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}.site-footer p{margin:0;line-height:1.65}
@media(max-width:1000px){.speaker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-grid{grid-template-columns:1fr}.quote-grid{grid-template-columns:1fr}}
@media(max-width:600px){.speaker-grid{grid-template-columns:1fr 1fr;gap:.75rem}.speaker div{padding:.8rem}.speaker h4{font-size:1rem}.speaker p{font-size:.8rem}.schedule-grid{gap:1rem}}

/* Refined footer */
.site-footer{position:relative;overflow:hidden;background:linear-gradient(135deg,#21102f 0%,#37155f 58%,#5f2f98 140%);color:#fff;padding:0}
.site-footer:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-280px;top:-330px}
.site-footer:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(255,255,255,.07);border-radius:50%;left:-210px;bottom:-240px}
.footer-shell{position:relative;z-index:1;padding:clamp(3.2rem,6vw,5.2rem) 0 1.5rem}
.footer-brand{display:flex;align-items:center;gap:1.2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.16)}
.footer-brand img{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:18px;padding:.45rem}
.footer-brand div{display:flex;flex-direction:column;gap:.18rem}
.footer-brand strong{font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.1}
.footer-brand span{color:#ded2eb;font-size:.95rem}
.footer-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);padding:2.4rem 0}
.footer-columns h3{font-size:1rem;letter-spacing:.09em;text-transform:uppercase;color:#d9bfff;margin-bottom:1rem}
.footer-columns p{color:#e8e0ef;line-height:1.75;margin:.4rem 0}
.site-footer a{color:#fff;text-decoration-color:#b996da;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s ease,text-decoration-color .2s ease}
.site-footer a:hover{color:#ead9ff;text-decoration-color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem;border-top:1px solid rgba(255,255,255,.16);padding-top:1.25rem;color:#cdbfd7;font-size:.82rem}
@media(max-width:720px){.footer-brand{align-items:flex-start}.footer-columns{grid-template-columns:1fr;gap:1.8rem}.footer-bottom{flex-direction:column;gap:.35rem}.footer-brand span{font-size:.85rem}}

/* Contact form */
.contact-section{background:linear-gradient(180deg,#fff,var(--purple-soft))}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,7vw,7rem);align-items:start}
.contact-email{font-weight:750}.contact-email a{color:var(--purple);text-underline-offset:3px}
.contact-form{background:#fff;border:1px solid rgba(95,47,152,.16);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.5rem);box-shadow:var(--shadow)}
.form-field{margin-bottom:1.15rem}.form-field label{display:block;font-weight:800;margin-bottom:.4rem}
.form-field input,.form-field textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #cfc4d8;border-radius:12px;padding:.85rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}
.form-field textarea{resize:vertical;min-height:150px}.form-field input:focus,.form-field textarea:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 4px rgba(95,47,152,.13)}
.form-field input[aria-invalid="true"],.form-field textarea[aria-invalid="true"]{border-color:#b32845}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-submit{border:0;background:var(--purple);color:#fff;cursor:pointer;font:inherit}.contact-submit:disabled{opacity:.6;cursor:wait}
.form-status{min-height:1.5em;margin:.8rem 0 0;font-weight:700;color:#9d2341}.form-status.success{color:var(--green)}
.contact-modal[hidden]{display:none}.contact-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem}
.contact-modal-backdrop{position:absolute;inset:0;background:rgba(20,9,29,.76);backdrop-filter:blur(6px)}
.contact-modal-dialog{position:relative;z-index:1;width:min(520px,100%);background:#fff;border-radius:28px;padding:clamp(2rem,6vw,3.5rem);text-align:center;box-shadow:0 35px 100px rgba(17,7,26,.4)}
.contact-modal-dialog h2{font-size:clamp(2.2rem,6vw,3.6rem)}.contact-modal-dialog p:not(.eyebrow){font-size:1.08rem;color:var(--muted)}
.contact-modal-close{position:absolute;right:1rem;top:.8rem;border:0;background:transparent;color:var(--muted);font-size:2rem;line-height:1;cursor:pointer}
.modal-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1.2rem;border-radius:50%;background:var(--purple-soft);color:var(--purple);font-size:2rem;font-weight:900}
.modal-button{border:0;background:var(--purple);color:#fff;cursor:pointer;margin-top:.8rem}
body.modal-open{overflow:hidden}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}

/* Speaker previews and responsive mobile navigation */
.speaker.is-clickable {
      position: relative;
      cursor: pointer;
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .speaker.is-clickable:hover,
    .speaker.is-clickable:focus-visible {
      transform: translateY(-5px);
      box-shadow: 0 18px 42px rgba(46, 22, 72, .18);
    }

    .speaker.is-clickable:focus-visible {
      outline: 3px solid #5f2f98;
      outline-offset: 4px;
    }

    .speaker-preview-link {
      display: block;
      margin-top: .7rem;
      color: #5f2f98;
      font-size: .78rem;
      font-weight: 850;
      letter-spacing: .035em;
      line-height: 1.2;
      text-decoration: underline;
      text-underline-offset: .2em;
      white-space: nowrap;
    }

    .speaker-modal[hidden] {
      display: none;
    }

    .speaker-modal {
      position: fixed;
      inset: 0;
      z-index: 10000;
      display: grid;
      place-items: center;
      overflow-y: auto;
      padding: 22px;
    }

    .speaker-modal-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(22, 10, 34, .78);
      backdrop-filter: blur(5px);
    }

    .speaker-modal-dialog {
      position: relative;
      z-index: 1;
      width: min(1160px, 100%);
      margin: auto;
      border-radius: 24px;
      background: #fff;
      box-shadow: 0 28px 90px rgba(0, 0, 0, .34);
      overflow: hidden;
    }

    .speaker-modal-layout {
      display: grid;
      grid-template-columns: 300px minmax(0, 1fr);
      align-items: start;
    }

    .speaker-modal-image {
      width: 260px;
      height: 260px;
      margin: 38px 0 0 38px;
      border-radius: 18px;
      object-fit: cover;
      object-position: center;
      background: #eee8f5;
      box-shadow: 0 12px 34px rgba(35, 18, 48, .14);
    }

    .speaker-modal-copy {
      padding: 36px 52px 38px 34px;
    }

    .speaker-modal-copy .eyebrow {
      margin-bottom: .55rem;
    }

    .speaker-modal-copy h2 {
      margin: 0 0 .25rem;
      font-size: clamp(2.15rem, 4.5vw, 4.35rem);
      line-height: .98;
    }

    .speaker-modal-role {
      margin: .8rem 0 1.05rem;
      color: #5f2f98;
      font-weight: 750;
      line-height: 1.4;
    }

    .speaker-modal-talk {
      margin: 0 0 1.05rem;
      font-size: clamp(1.45rem, 2.7vw, 2.2rem);
      line-height: 1.12;
    }

    .speaker-modal-description {
      column-count: 2;
      column-gap: 34px;
      font-size: .98rem;
      line-height: 1.5;
    }

    .speaker-modal-description p {
      break-inside: avoid;
      margin: 0 0 .8rem;
    }

    .speaker-modal-description p:last-child {
      margin-bottom: 0;
    }

    .speaker-modal-close {
      position: absolute;
      z-index: 2;
      top: 14px;
      right: 14px;
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      padding: 0;
      border: 2px solid #5f2f98;
      border-radius: 50%;
      background: #fff;
      color: #24152f;
      font-size: 2rem;
      line-height: 1;
      cursor: pointer;
      transition: transform .18s ease, background .18s ease, color .18s ease;
      box-shadow: 0 5px 20px rgba(0, 0, 0, .18);
    }

    .speaker-modal-close:hover,
    .speaker-modal-close:focus-visible {
      transform: scale(1.07);
      background: #5f2f98;
      color: #fff;
    }

    .speaker-modal-button {
      margin-top: 1.35rem;
      cursor: pointer;
      transition: transform .18s ease, background .18s ease, color .18s ease;
    }

    .speaker-modal-button:hover,
    .speaker-modal-button:focus-visible {
      transform: translateY(-2px);
      background: #5f2f98;
      color: #fff;
    }

    body.speaker-modal-open {
      overflow: hidden;
    }

    @media (max-width: 980px) {
      .speaker-modal-dialog {
        width: min(760px, 100%);
      }

      .speaker-modal-layout {
        grid-template-columns: 220px minmax(0, 1fr);
      }

      .speaker-modal-image {
        width: 190px;
        height: 190px;
        margin: 30px 0 0 30px;
      }

      .speaker-modal-copy {
        padding: 30px 34px 32px 24px;
      }

      .speaker-modal-description {
        column-count: 1;
      }
    }

    @media (max-width: 680px) {
      .speaker-preview-link {
        white-space: normal;
      }

      .speaker-modal {
        place-items: start center;
        padding: 10px;
      }

      .speaker-modal-dialog {
        border-radius: 18px;
      }

      .speaker-modal-layout {
        grid-template-columns: 1fr;
      }

      .speaker-modal-image {
        width: 150px;
        height: 150px;
        margin: 24px 0 0 22px;
      }

      .speaker-modal-copy {
        padding: 22px;
      }

      .speaker-modal-copy h2 {
        font-size: 2.25rem;
      }

      .speaker-modal-description {
        font-size: .96rem;
      }
    }



    /* Mobile navigation: exactly two states.
       Desktop >= 1181px: full navigation.
       Mobile/tablet <= 1180px: hamburger containing every link. */
    .mobile-menu-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      width: 46px;
      height: 46px;
      padding: 0;
      border: 2px solid #5f2f98;
      border-radius: 14px;
      background: #fff;
      color: #24152f;
      cursor: pointer;
      transition: background .18s ease, color .18s ease, transform .18s ease;
    }

    .mobile-menu-toggle:hover,
    .mobile-menu-toggle:focus-visible {
      background: #5f2f98;
      color: #fff;
      transform: translateY(-1px);
    }

    .mobile-menu-icon {
      position: relative;
      display: block;
      width: 22px;
      height: 16px;
    }

    .mobile-menu-icon::before,
    .mobile-menu-icon::after,
    .mobile-menu-icon span {
      position: absolute;
      left: 0;
      display: block;
      width: 22px;
      height: 2px;
      border-radius: 999px;
      background: currentColor;
      transition: transform .22s ease, top .22s ease, opacity .18s ease;
      content: "";
    }

    .mobile-menu-icon::before { top: 0; }
    .mobile-menu-icon span { top: 7px; }
    .mobile-menu-icon::after { top: 14px; }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::before {
      top: 7px;
      transform: rotate(45deg);
    }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span {
      opacity: 0;
    }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::after {
      top: 7px;
      transform: rotate(-45deg);
    }

    @media (max-width: 1180px) {
      .site-header {
        position: sticky;
        top: 0;
        z-index: 9000;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
      }

      .site-header .brand {
        min-width: 0;
        flex: 1 1 auto;
      }

      .site-header .brand span {
        min-width: 0;
      }

      .site-header .brand strong,
      .site-header .brand em {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .mobile-menu-toggle {
        display: inline-flex !important;
        flex: 0 0 auto;
        margin-left: auto;
      }

      /* Override the old responsive state in styles.css, including the rule
         that kept only .nav-cta visible. */
      .site-header > nav#main-navigation {
        display: none !important;
        flex: 1 0 100% !important;
        width: 100% !important;
        max-width: none !important;
        margin: 12px 0 0 !important;
        padding: 10px !important;
        border: 1px solid rgba(95, 47, 152, .18);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 18px 45px rgba(36, 21, 47, .14);
      }

      .site-header > nav#main-navigation.is-open {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 4px !important;
      }

      .site-header > nav#main-navigation > a,
      .site-header > nav#main-navigation > a:not(.nav-cta),
      .site-header > nav#main-navigation > .nav-cta {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 12px 14px !important;
        border-radius: 12px;
        color: #24152f !important;
        text-align: left !important;
        opacity: 1 !important;
      }

      .site-header > nav#main-navigation > a:hover,
      .site-header > nav#main-navigation > a:focus-visible {
        background: #f2ebf8 !important;
        color: #5f2f98 !important;
      }

      .site-header > nav#main-navigation > .nav-cta {
        margin-top: 6px !important;
        background: #5f2f98 !important;
        color: #fff !important;
        text-align: center !important;
      }

      .site-header > nav#main-navigation > .nav-cta:hover,
      .site-header > nav#main-navigation > .nav-cta:focus-visible {
        background: #43206d !important;
        color: #fff !important;
      }

      body.mobile-menu-open {
        overflow: hidden;
      }
    }

    @media (min-width: 1181px) {
      .mobile-menu-toggle {
        display: none !important;
      }

      .site-header > nav#main-navigation {
        display: flex !important;
      }

      .site-header > nav#main-navigation > a {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
      }
    }


/* TLC organizer logos */
.hero-organizer{
  display:flex;
  align-items:center;
  gap:.65rem;
}

.hero-organizer-logo{
  width:34px;
  height:34px;
  object-fit:contain;
  flex:0 0 auto;
}

.footer-organizer-logo{
  width:82px;
  height:82px;
  object-fit:contain;
  margin:0 0 1rem;
}

@media(max-width:640px){
  .hero-organizer{
    align-items:flex-start;
  }

  .hero-organizer-logo{
    width:30px;
    height:30px;
  }
}
