:root {
  --ted-red: #eb0028;
  --ted-red-bright: #ff163a;
  --black: #030405;
  --panel: #090d0f;
  --panel-2: #0e1316;
  --line: rgba(255, 255, 255, 0.14);
  --muted: #aab0b4;
  --shell: 1450px;
  --nav-h: 78px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--nav-h); }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--black);
  color: #fff;
  font-family: "Inter", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}
body::selection { color: #fff; background: var(--ted-red); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
.site-shell { width: min(100% - 52px, var(--shell)); margin-inline: auto; padding-inline: 0; }
.section-anchor { scroll-margin-top: var(--nav-h); }
.ted-section { position: relative; padding: 10px 0; border-top: 1px solid var(--line); overflow: hidden; }
.ted-section::before {
  position: absolute; inset: 0; content: ""; pointer-events: none;
  background: radial-gradient(circle at 8% 20%, rgba(235,0,40,.07), transparent 28%), radial-gradient(circle at 88% 70%, rgba(255,20,20,.04), transparent 25%);
}
h1,h2,h3 { margin-top: 0; font-weight: 800; letter-spacing: -.035em; }
h2 { font-size: clamp(1.75rem, 3vw, 2.65rem); line-height: 1.18; }
p { color: #c2c6c8; }
.eyebrow { display: inline-block; margin-bottom: .55rem; color: var(--ted-red-bright); font-size: .72rem; font-weight: 800; letter-spacing: .035em; }
.btn { border-radius: 5px; padding: .78rem 1.35rem; font-size: .92rem; font-weight: 700; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-ted { color: #fff; background: var(--ted-red); border-color: var(--ted-red); box-shadow: 0 8px 28px rgba(235,0,40,.18); }
.btn-ted:hover, .btn-ted:focus { color: #fff; background: #ff1234; border-color: #ff1234; box-shadow: 0 10px 32px rgba(235,0,40,.32); }
.btn-outline-ted { color: #fff; border: 1px solid var(--ted-red); background: rgba(0,0,0,.18); }
.btn-outline-ted:hover { color: #fff; border-color: var(--ted-red-bright); background: rgba(235,0,40,.16); box-shadow: 0 0 24px rgba(235,0,40,.18); }
.btn span { margin-left: .8rem; color: inherit; }

/* Loader */
.page-loader { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: #000; transition: opacity .55s ease, visibility .55s ease; }
.page-loader.is-hidden { opacity: 0; visibility: hidden; }
.loader-x { color: var(--ted-red); font-size: 6rem; font-weight: 900; line-height: 1; animation: loaderPulse .85s ease-in-out infinite alternate; text-shadow: 0 0 45px rgba(235,0,40,.75); }
@keyframes loaderPulse { to { transform: scale(1.08) rotate(3deg); filter: brightness(1.4); } }

/* Header and logo */
#mainNav { min-height: var(--nav-h); background: rgba(2,3,4,.78); border-bottom: 1px solid transparent; backdrop-filter: blur(13px); transition: background .3s ease, border-color .3s ease, min-height .3s ease; }
#mainNav.is-scrolled { min-height: 66px; background: rgba(2,3,4,.96); border-bottom-color: var(--line); }
.navbar-brand { margin-right: 2rem; padding: 0; }
.ted-logo { display: inline-flex; position: relative; align-items: baseline; color: #fff; font-size: 2.2rem; font-weight: 400; line-height: .95; letter-spacing: -.065em; }
.ted-logo .ted, .hero-mark .ted { color: var(--ted-red); font-weight: 900; }
.ted-logo sup, .hero-mark sup { position: relative; top: -.1em; font-size: .48em; }
.ted-logo .iibs, .hero-mark .iibs { margin-left: .06em; font-weight: 400; }
.ted-logo small { position: absolute; top: 118%; left: 0; width: 240px; color: #fff; font-size: .48rem; font-weight: 500; letter-spacing: -.02em; }
.navbar-nav .nav-link { position: relative; padding: .75rem .65rem !important; color: #fff; font-size: .8rem; font-weight: 600; white-space: nowrap; }
.navbar-nav .nav-link::after { position: absolute; right: .65rem; bottom: .28rem; left: .65rem; height: 2px; content: ""; background: var(--ted-red); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--ted-red-bright); }
.navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { transform: scaleX(1); transform-origin: left; }
.offcanvas { background: #080a0c !important; }
.mobile-links a { padding: .8rem 1rem; border: 1px solid var(--line); border-radius: 5px; color: #fff; font-weight: 700; }
.mobile-links a:hover { color: var(--ted-red); border-color: var(--ted-red); }

/* Hero */
.hero-section { position: relative; min-height: 620px; padding-top: var(--nav-h); overflow: hidden; background: #000; border-bottom: 1px solid var(--line); isolation: isolate; }
.min-vh-hero { min-height: 540px; padding-bottom: 64px; }
.hero-stage { position: absolute; z-index: -3; top: var(--nav-h); right: 0; width: 69%; height: calc(100% - var(--nav-h)); background-image: url("https://www.iibs.edu.in/tedxiibs/assets/images/hero-banner-2.png"); background-repeat: no-repeat; background-position: right -308px; background-size: 887px 1062px; filter: saturate(1.14) contrast(1.03); mask-image: linear-gradient(#000 0%, #000 58%, transparent 84%); transform: scale(1.02); animation: heroZoom 12s ease-in-out infinite alternate; }
.hero-section::before { position: absolute; z-index: -2; inset: 0; content: ""; background: linear-gradient(90deg, #020303 0%, rgba(2,3,3,.97) 35%, rgba(2,3,3,.48) 61%, rgba(2,3,3,.04) 100%), linear-gradient(0deg, #050607 0%, transparent 25%); }
.hero-light { position: absolute; z-index: -1; top: 35%; right: 12%; width: 380px; height: 220px; border-radius: 50%; background: rgba(235,0,40,.12); filter: blur(70px); animation: stageLight 5s ease-in-out infinite alternate; }
@keyframes heroZoom { to { transform: scale(1.055); } }
@keyframes stageLight { to { transform: translate3d(30px,-18px,0) scale(1.12); opacity: .65; } }
.hero-copy { z-index: 2; max-width: 700px; padding-top: 20px; }
.hero-mark { display: flex; align-items: baseline; margin-bottom: .5rem; font-size: clamp(2.6rem, 4.5vw, 4rem); line-height: 1; letter-spacing: -.065em; }
.hero-copy h1 { margin-bottom: 1.25rem; font-size: clamp(2.2rem, 3.8vw, 3.65rem); line-height: 1.07; }
.hero-copy h1 span { color: var(--ted-red); }
.hero-copy > p { margin-bottom: 1.65rem; color: #f0f0f0; font-size: 1rem; }
.event-meta > div { position: relative; display: grid; min-width: 130px; padding-left: 36px; line-height: 1.3; }
.event-meta b { color: #fff; font-size: .9rem; }
.event-meta small { color: #d5d5d5; font-size: .75rem; }
.meta-icon { position: absolute; top: 0; left: 0; color: var(--ted-red); font-size: 1.8rem; line-height: 1; }
.hero-actions { margin-top: 1.8rem; }
.countdown-wrap { position: absolute; z-index: 4; right: 0; bottom: 18px; width: min(50%, 720px); padding: 17px 28px; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; background: rgba(7,8,9,.88); box-shadow: 0 20px 40px rgba(0,0,0,.32); backdrop-filter: blur(8px); }
.countdown-wrap > p { margin: 0 0 .45rem; color: var(--ted-red); font-size: .8rem; font-weight: 700; text-align: center; }
.countdown { display: grid; grid-template-columns: repeat(4, 1fr); }
.countdown > div { position: relative; display: grid; place-items: center; }
.countdown > div + div::before { position: absolute; top: 8%; bottom: 8%; left: 0; width: 1px; content: ""; background: var(--ted-red); opacity: .8; }
.countdown strong { font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.2; font-variant-numeric: tabular-nums; }
.countdown small { font-size: .7rem; font-weight: 700; }
.scroll-cue { position: absolute; bottom: 22px; left: 50%; z-index: 5; width: 25px; height: 42px; border: 1px solid rgba(255,255,255,.45); border-radius: 14px; transform: translateX(-50%); opacity: 0; }
.scroll-cue span { position: absolute; top: 8px; left: 50%; width: 4px; height: 8px; border-radius: 4px; background: var(--ted-red); transform: translateX(-50%); animation: scrollDot 1.6s ease infinite; }
@keyframes scrollDot { 0% { opacity: 0; transform: translate(-50%,0); } 35% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,16px); } }

/* X Factor */
.xfactor-section { min-height: 360px; background: linear-gradient(90deg, #070b0d, #0a0e10 57%, #070a0c); }
.x-art { position: relative; display: grid; min-height: 310px; place-items: center; overflow: hidden; }
.x-art span { position: relative; z-index: 2; color: transparent; font-size: clamp(13rem, 27vw, 21rem); font-weight: 900; line-height: .8; -webkit-text-stroke: 2px var(--ted-red); text-shadow: 0 0 12px rgba(235,0,40,.8), 0 0 40px rgba(235,0,40,.28); transform: scaleX(.86); }
.x-art::before, .x-art::after, .x-art i::before, .x-art i::after { position: absolute; content: ""; background: var(--ted-red); box-shadow: 0 0 14px rgba(235,0,40,.9); }
.x-art::before { top: 26px; left: 20%; width: 58%; height: 1px; transform: rotate(55deg); }
.x-art::after { top: 46px; right: 22%; width: 45%; height: 1px; transform: rotate(-58deg); }
.x-art i::before { bottom: 65px; left: 17%; width: 62%; height: 1px; transform: rotate(-48deg); }
.x-art i::after { right: 18%; bottom: 50px; width: 55%; height: 1px; transform: rotate(50deg); }
.x-value { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.x-value:last-child { border-bottom: 0; }
.x-value > span { display: grid; flex: 0 0 48px; width: 48px; height: 48px; place-items: center; border: 1px solid var(--ted-red); border-radius: 50%; color: var(--ted-red); font-size: 1.75rem; }
.x-value b { color: var(--ted-red); }
.x-value p { margin: .15rem 0 0; font-size: .88rem; line-height: 1.45; }

/* About and theme */
.about-section { padding-bottom: 34px; background: #080b0d; }
.about-grid > div { min-height: 300px; }
.about-grid > div + div { border-left: 1px solid var(--line); }
.about-section p { max-width: 560px; }
.icon-facts { margin-top: 1.75rem; }
.icon-facts > div { display: grid; align-content: start; min-height: 120px; padding-right: 1rem; border-right: 1px solid var(--line); }
.icon-facts > div:last-child { border-right: 0; padding-left: 1rem; }
.icon-facts > div:nth-child(2) { padding-left: 1rem; }
.icon-facts span { color: var(--ted-red); font-size: 1.8rem; }
.icon-facts b { font-size: .8rem; }
.icon-facts small { color: #b6babd; font-size: .7rem; line-height: 1.45; }
.theme-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.bulb-art { position: relative; min-height: 285px; overflow: hidden; }
.bulb-brain { position: absolute; top: 60px; left: 50%; display: grid; width: 142px; height: 154px; place-items: center; border: 6px solid var(--ted-red); border-radius: 52% 48% 45% 45% / 50% 50% 58% 58%; color: var(--ted-red); font-size: 2.5rem; font-weight: 900; line-height: .65; text-align: center; text-shadow: 0 0 18px rgba(235,0,40,.6); transform: translateX(-50%); }
.bulb-brain::before, .bulb-brain::after { position: absolute; content: ""; border: 2px dashed var(--ted-red); border-radius: 50%; }
.bulb-brain::before { inset: 18px; }
.bulb-brain::after { inset: 42px 24px; }
.bulb-base { position: absolute; top: 210px; left: 50%; width: 64px; height: 45px; border-top: 7px solid var(--ted-red); border-bottom: 7px solid var(--ted-red); transform: translateX(-50%) skewX(-10deg); box-shadow: 0 10px 0 -3px var(--ted-red); }
.bulb-rays { position: absolute; top: 135px; left: 50%; width: 260px; height: 260px; border: 2px dotted rgba(235,0,40,.65); border-radius: 50%; transform: translate(-50%,-50%); animation: bulbRotate 22s linear infinite; }
.bulb-rays::before, .bulb-rays::after { position: absolute; inset: 22px; content: ""; border: 1px dashed rgba(235,0,40,.36); border-radius: 50%; }
.bulb-rays::after { inset: 45px; }
@keyframes bulbRotate { to { transform: translate(-50%,-50%) rotate(360deg); } }

/* Speakers */
.section-heading { position: relative; margin-bottom: 1.1rem; }
.section-heading h2 { margin-bottom: .35rem; }
.heading-line { display: inline-block; width: 42px; height: 3px; background: var(--ted-red); }
.view-link { position: absolute; right: 0; bottom: .15rem; color: var(--ted-red); font-size: .78rem; font-weight: 700; }
.slider-arrow { position: absolute; z-index: 4; top: 46%; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #fff; border-radius: 50%; color: #fff; background: #0b0d0f; font-size: 1.6rem; line-height: 1; transform: translateY(-50%); transition: all .25s ease; }
.slider-arrow:hover { color: #fff; border-color: var(--ted-red); background: var(--ted-red); }
.slider-prev { left: -13px; }.slider-next { right: -13px; }
.slider-dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
.slider-dots span { width: 6px; height: 6px; border-radius: 5px; background: #42484c; transition: width .25s ease, background .25s ease; }
.slider-dots span.active { width: 30px; background: var(--ted-red); }

/* Moments */
.moments-section { background: #020303; }
.gallery-grid .col-lg { min-width: 0; }
.moment { position: relative; display: block; width: 100%; height: 155px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 7px; background-image: url("../images/design-reference.png"); background-repeat: no-repeat; background-size: 1024px 2048px; cursor: pointer; transition: transform .3s ease, border-color .3s ease; }
.moment:hover { transform: translateY(-5px); border-color: var(--ted-red); }
.moment::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(0,0,0,.35), transparent); }
.moment-1 { background-position: -34px -1316px; }.moment-2 { background-position: -249px -1316px; }.moment-3 { background-position: -434px -1316px; }.moment-4 { background-position: -613px -1316px; }.moment-5 { background-position: -820px -1316px; }
.play { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #fff; border-radius: 50%; color: #fff; background: rgba(0,0,0,.45); font-size: .75rem; transform: translate(-50%,-50%); transition: transform .3s ease, background .3s ease; }
.moment:hover .play { background: var(--ted-red); transform: translate(-50%,-50%) scale(1.12); }
.shine { position: absolute; z-index: 3; top: -100%; left: -60%; width: 30%; height: 300%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent); transform: rotate(24deg); transition: left .7s ease; }
.moment:hover .shine { left: 130%; }

/* Forms, tickets and contact */
.tickets-section { padding-bottom: 0; background: #080c0f; }
.ticket-area, .contact-area { padding-bottom: 48px; }
.contact-area { border-left: 1px solid var(--line); }
.ticket-card { position: relative; min-height: 254px; padding: 18px 20px 16px 64px; overflow: hidden; border: 1px solid rgba(255,255,255,.26); border-radius: 8px; background: linear-gradient(145deg, #171b1e, #080a0c); box-shadow: 0 16px 30px rgba(0,0,0,.28); }
.ticket-card::before { position: absolute; top: 0; bottom: 0; left: 0; width: 38px; content: ""; background: linear-gradient(170deg, #da0025, #8b0019); }
.ticket-cut { position: absolute; z-index: 2; top: -9px; bottom: -9px; left: 28px; width: 20px; background: radial-gradient(circle at 0 13px, transparent 7px, #11161a 7.5px) repeat-y; background-size: 20px 24px; }
.ticket-type { font-size: 1rem; font-weight: 800; }
.ticket-price { color: var(--ted-red); font-size: 3.1rem; font-weight: 900; line-height: 1; }
.ticket-card > small { font-size: .7rem; }
.ticket-card ul { margin: .8rem 0 0; padding: 0; list-style: none; }
.ticket-card li { margin: .23rem 0; color: #e5e5e5; font-size: .7rem; }
.ticket-card li::before { margin-right: .5rem; content: "✓"; color: var(--ted-red); font-weight: 800; }
.form-label { margin-bottom: .28rem; color: #fff; font-size: .68rem; }
.form-control, .form-select { min-height: 40px; border-color: rgba(255,255,255,.23); border-radius: 4px; color: #fff; background-color: #11161a; font-size: .78rem; }
.form-control::placeholder { color: #92999e; }
.form-control:focus, .form-select:focus { color: #fff; border-color: var(--ted-red); background-color: #11161a; box-shadow: 0 0 0 .2rem rgba(235,0,40,.16); }
.form-select { color-scheme: dark; }
.total-label { display: block; color: #ddd; font-size: .75rem; }
.total-amount { color: var(--ted-red); font-size: 2rem; line-height: 1.2; }
.secure-note { color: #b5babe; font-size: .67rem; }
.organiser { margin: .8rem 0 1rem; }
.organiser-photo { flex: 0 0 120px; width: 120px; height: 120px; border-radius: 50%; background-image: url("https://www.iibs.edu.in/tedxiibs/assets/images/team/Shrinidhi%20V%20S.png"); background-repeat: no-repeat; background-position: -665px -1477px; background-size: 1024px 2048px; box-shadow: 0 0 0 1px rgba(255,255,255,.2); }
.organiser h3 { margin-bottom: .2rem; color: var(--ted-red); font-size: 1rem; }
.organiser p { margin-bottom: .45rem; color: #fff; font-size: .75rem; }
.contact-line { display: flex; gap: .8rem; align-items: center; margin: .35rem 0; }
.contact-line span { color: var(--ted-red); font-size: 1.3rem; }
.contact-line a:hover { color: var(--ted-red); }
.help { margin-top: .9rem; font-size: .75rem; }.help b { color: var(--ted-red); }

/* Apply and footer */
.apply-section { background: linear-gradient(90deg, #080c0e, #11171a 55%, #080b0d); }
.apply-section h2 { font-size: clamp(1.8rem, 3.4vw, 2.4rem); }
.apply-section p { max-width: 300px; font-size: .78rem; }
.apply-section textarea { resize: vertical; }
.required-note { color: #b7b7b7; font-size: .65rem; }.required-note span { color: var(--ted-red); }
.site-footer { padding: 52px 0 28px; border-top: 1px solid var(--line); background: #020303; }
.footer-logo { margin-bottom: 1.8rem; }
.site-footer h3 { margin-bottom: .8rem; font-size: .8rem; letter-spacing: 0; }
.site-footer .col-lg-2 > a { display: block; margin: .18rem 0; color: #c2c6c8; font-size: .7rem; }
.site-footer .col-lg-2 > a:hover { color: var(--ted-red); }
.social-links { display: flex; gap: .8rem; }
.social-links a { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; font-size: .7rem; font-weight: 700; transition: all .25s ease; }
.social-links a:hover { color: #fff; border-color: var(--ted-red); background: var(--ted-red); transform: translateY(-3px); }
.site-footer .input-group .form-control { min-width: 130px; }
.site-footer .input-group .btn { padding: .55rem .9rem; font-size: .72rem; }
.copyright { margin-top: 1.4rem; color: #a6abaf; font-size: .7rem; text-align: center; }
.back-to-top { position: fixed; z-index: 50; right: 22px; bottom: 22px; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--ted-red); border-radius: 50%; color: #fff; background: rgba(235,0,40,.82); opacity: 0; visibility: hidden; transform: translateY(12px); transition: all .25s ease; }
.back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.modal-content { border: 1px solid var(--ted-red); color: #fff; background: #0d1113; }.modal-header,.modal-footer { border-color: var(--line); }

/* Reveal animations */
.reveal-up, .reveal-left, .reveal-right { opacity: 0; transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal-up { transform: translateY(34px); }.reveal-left { transform: translateX(-42px); }.reveal-right { transform: translateX(42px); }
.reveal-up.is-visible, .reveal-left.is-visible, .reveal-right.is-visible { opacity: 1; transform: translate3d(0,0,0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal-up,.reveal-left,.reveal-right { opacity: 1; transform: none; }
}

/* Responsive */
@media (min-width: 1400px) {
  .speaker-track { grid-auto-columns: calc((100% - 75px) / 6); }
}
@media (max-width: 1399.98px) {
  :root { --nav-h: 72px; }
  .site-shell { width: min(100% - 40px, 1220px); }
  .hero-stage { width: 62%; background-size: 1500px 3000px; background-position: right -105px; }
  .countdown-wrap { width: 54%; }
  .speaker-track { grid-auto-columns: calc((100% - 60px) / 5); }
}
@media (max-width: 1199.98px) {
  .hero-section { min-height: 680px; }
  .min-vh-hero { min-height: 590px; padding-bottom: 108px; }
  .hero-stage { width: 64%; opacity: .78; }
  .countdown-wrap { width: 58%; }
  .contact-area { margin-top: 42px; padding-top: 42px; padding-left: 0 !important; border-top: 1px solid var(--line); border-left: 0; }
  .speaker-track { grid-auto-columns: calc((100% - 45px) / 4); }
}
@media (max-width: 991.98px) {
  .site-shell { width: min(100% - 32px, 880px); }
  .hero-section { min-height: 760px; }
  .min-vh-hero { align-items: start !important; min-height: 670px; padding-top: 70px; }
  .hero-stage { top: 72px; width: 100%; opacity: .46; background-position: 72% -105px; }
  .hero-section::before { background: linear-gradient(90deg, rgba(0,0,0,.98), rgba(0,0,0,.72) 63%, rgba(0,0,0,.28)), linear-gradient(0deg, #050607 0%, transparent 45%); }
  .hero-copy { max-width: 670px; }
  .countdown-wrap { bottom: 24px; left: 50%; width: min(100%, 700px); transform: translateX(-50%); }
  .scroll-cue { display: none; }
  .xfactor-section { text-align: center; }.x-value { text-align: left; }
  .x-art { min-height: 240px; }.x-art span { font-size: 16rem; }
  .about-grid > div { min-height: auto; padding-block: 34px; }
  .about-grid > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .theme-copy { padding-inline: 0 !important; }
  .bulb-art { min-height: 290px; }
  .speaker-track { grid-auto-columns: calc((100% - 30px) / 3); }
}
@media (max-width: 767.98px) {
  body { font-size: 14px; }
  .ted-section { padding: 44px 0; }
  .site-shell { width: min(100% - 28px, 680px); }
  .hero-section { min-height: 805px; }
  .min-vh-hero { min-height: 710px; padding-top: 45px; padding-bottom: 150px; }
  .hero-mark { font-size: 3.35rem; }.hero-copy h1 { font-size: 2.35rem; }
  .event-meta { gap: 1rem 2rem !important; }.event-meta > div { min-width: 125px; }
  .countdown-wrap { padding: 14px 9px; }
  .countdown strong { font-size: 2rem; }.countdown small { font-size: .58rem; }
  .speaker-track { grid-auto-columns: calc((100% - 15px) / 2); }
  .section-heading { text-align: left !important; }.view-link { position: static; display: inline-block; margin-top: .4rem; }
  .gallery-grid .col-sm-6:nth-child(5) { width: 100%; }
  .moment { height: 190px; }
  .organiser-photo { flex-basis: 105px; width: 105px; height: 105px; }
}
@media (max-width: 575.98px) {
  :root { --nav-h: 66px; }
  .site-shell { width: calc(100% - 24px); }
  .ted-logo { font-size: 1.8rem; }.ted-logo small { width: 190px; font-size: .4rem; }
  .hero-section { min-height: 880px; }
  .hero-stage { top: 66px; background-position: 68% -105px; opacity: .35; }
  .min-vh-hero { min-height: 790px; padding-top: 50px; padding-bottom: 205px; }
  .hero-mark { font-size: 3rem; }.hero-copy h1 { font-size: clamp(1.95rem, 10vw, 2.45rem); }
  .hero-copy > p { font-size: .88rem; }
  .event-meta { display: grid !important; grid-template-columns: 1fr 1fr; }
  .event-meta > div:last-child { grid-column: 1 / -1; }
  .hero-actions .btn { flex: 1 1 100%; }
  .countdown-wrap { bottom: 26px; }
  .countdown-wrap > p { font-size: .7rem; }.countdown strong { font-size: 1.65rem; }
  .countdown > div + div::before { top: 15%; bottom: 15%; }
  .x-art { min-height: 180px; }.x-art span { font-size: 12rem; }
  .icon-facts > div { min-height: 145px; padding: .55rem !important; }
  .icon-facts small { font-size: .62rem; }
  .speaker-viewport { padding: 0 18px; }.speaker-track { grid-auto-columns: 82%; }.slider-prev { left: -8px; }.slider-next { right: -8px; }
  .moment { height: 180px; }
  .ticket-card { padding-left: 58px; }
  .organiser { align-items: flex-start !important; }.organiser-photo { flex-basis: 88px; width: 88px; height: 88px; background-position: -677px -1488px; }
  .apply-section .btn-lg { width: 100%; }
   .countdown-wrap { left: 0%;}

}


/* =========================================================
   TEDxIIBS EVENT AGENDA
========================================================= */

.tedx-agenda-section {

    position: relative;

    padding: 30px 0;

    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(230, 43, 30, 0.13),
            transparent 28%
        ),
        #070707;

    color: #ffffff;

    overflow: hidden;

}


/* subtle grid */

.tedx-agenda-section::before {

    content: "";

    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size: 60px 60px;

    pointer-events: none;

}


.tedx-agenda-section .container {

    position: relative;

    z-index: 2;

}


/* =========================================================
   HEADING
========================================================= */

.agenda-heading {

    max-width: 820px;

    margin: 0 auto 55px;

}


.agenda-kicker {

    display: inline-block;

    color: #e62b1e;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;

    margin-bottom: 15px;

}


.agenda-heading h2 {

    font-size: clamp(
        38px,
        5vw,
        70px
    );

    font-weight: 900;

    line-height: 1;

    letter-spacing: -3px;

    margin-bottom: 22px;

}


.agenda-heading h2 span {

    color: #e62b1e;

}


.agenda-heading p {

    color: #aeb0b5;

    max-width: 700px;

    margin: auto;

    line-height: 1.8;

}


/* =========================================================
   DAY TABS
========================================================= */

.agenda-day-tabs {

    gap: 14px;

    border: 0;

    margin-bottom: 0;

}


.agenda-day-tabs .nav-link {

    min-width: 220px;

    padding: 18px 30px;

    border: 1px solid #292929;

    border-radius: 8px 8px 0 0;

    background: #111111;

    color: #ffffff;

    text-align: left;

    transition: all .3s ease;

}


.agenda-day-tabs .nav-link:hover {

    border-color: #e62b1e;

    color: #ffffff;

}


.agenda-day-tabs .nav-link.active {

    background: #e62b1e;

    color: #ffffff;

    border-color: #e62b1e;

}


.day-number {

    display: block;

    font-size: 15px;

    font-weight: 900;

    letter-spacing: 1px;

}


.day-date {

    display: block;

    margin-top: 3px;

    font-size: 11px;

    opacity: .75;

    letter-spacing: .7px;

}


/* =========================================================
   CONTENT WRAPPER
========================================================= */

.agenda-tab-content {

    border: 1px solid #252525;

    background: #0c0c0c;

    padding: 55px;

    border-radius: 18px;

}


/* =========================================================
   DAY HEADING
========================================================= */

.agenda-day-header {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 480px);

    gap: 50px;

    align-items: end;

    padding-bottom: 40px;

    margin-bottom: 35px;

    border-bottom: 1px solid #252525;

}


.agenda-day-header > div > span {

    color: #e62b1e;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;

}


.agenda-day-header h3 {

    margin: 8px 0 0;

    font-size: clamp(
        28px,
        3vw,
        44px
    );

    font-weight: 800;

    letter-spacing: -2px;

}


.agenda-day-header h3 strong {

    color: #e62b1e;

}


.agenda-day-header p {

    margin: 0;

    color: #999da3;

    line-height: 1.8;

}


/* =========================================================
   TIMELINE
========================================================= */

.agenda-timeline {

    position: relative;

}


/* Vertical line */

.agenda-timeline::before {

    content: "";

    position: absolute;

    left: 174px;

    top: 15px;

    bottom: 15px;

    width: 1px;

    background:
        linear-gradient(
            to bottom,
            #e62b1e,
            #383838,
            #e62b1e
        );

}


/* =========================================================
   AGENDA ITEM
========================================================= */

.agenda-item {

    display: grid;

    grid-template-columns:
        135px
        35px
        minmax(0, 1fr);

    align-items: flex-start;

    gap: 20px;

    margin-bottom: 22px;

}


/* Time */

.agenda-time {

    text-align: right;

    padding-top: 26px;

}


.agenda-time span {

    color: #ffffff;

    font-size: 18px;

    font-weight: 900;

}


.agenda-time small {

    display: block;

    color: #e62b1e;

    font-size: 10px;

    font-weight: 800;

}


/* Timeline dot */

.agenda-dot {

    position: relative;

    width: 15px;

    height: 15px;

    margin-top: 31px;

    margin-left: 10px;

    border-radius: 50%;

    background: #e62b1e;

    border: 4px solid #070707;

    box-shadow:
        0 0 0 1px #e62b1e,
        0 0 22px rgba(230,43,30,.45);

    z-index: 2;

}


/* =========================================================
   CARD
========================================================= */

.agenda-card {

    position: relative;

    padding: 25px 28px;

    background: #111111;

    border: 1px solid #232323;

    border-radius: 13px;

    transition:
        transform .3s ease,
        border-color .3s ease,
        background .3s ease;

}


.agenda-card:hover {

    transform:
        translateX(7px);

    border-color:
        rgba(230,43,30,.75);

    background:
        #151515;

}


/* Featured Talk */

.agenda-item.featured
.agenda-card {

    background:
        linear-gradient(
            120deg,
            rgba(230,43,30,.12),
            #111111 35%
        );

    border-left:
        3px solid #e62b1e;

}


/* Break */

.agenda-item.agenda-break
.agenda-card {

    border-style:
        dashed;

}


/* =========================================================
   CARD META
========================================================= */

.agenda-meta {

    display: flex;

    justify-content:
        space-between;

    align-items: center;

    gap: 20px;

    margin-bottom: 10px;

}


.agenda-category {

    color: #e62b1e;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 1.4px;

}


.agenda-duration {

    color: #70747b;

    font-size: 10px;

    font-weight: 800;

}


/* =========================================================
   CARD CONTENT
========================================================= */

.agenda-card h4 {

    margin:
        0 0 8px;

    color: #ffffff;

    font-size: 21px;

    font-weight: 800;

    letter-spacing: -.5px;

}


.agenda-card p {

    margin: 0;

    max-width: 850px;

    color: #969ba3;

    font-size: 14px;

    line-height: 1.75;

}


/* =========================================================
   TAGS
========================================================= */

.agenda-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: 16px;

}


.agenda-tags span {

    padding:
        5px 10px;

    border:
        1px solid #292929;

    border-radius:
        30px;

    color:
        #c7c8ca;

    font-size:
        10px;

    font-weight:
        700;

}


/* =========================================================
   TAB TRANSITION
========================================================= */

.tab-pane {

    transition:
        opacity .35s ease,
        transform .35s ease;

}


.tab-pane:not(.show) {

    transform:
        translateY(12px);

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .agenda-tab-content {

        padding: 35px;

    }


    .agenda-day-header {

        grid-template-columns:
            1fr;

        gap: 18px;

    }


    .agenda-timeline::before {

        left: 134px;

    }


    .agenda-item {

        grid-template-columns:
            100px
            30px
            minmax(0, 1fr);

    }

}


@media (max-width: 767px) {

    .tedx-agenda-section {

        padding:
            75px 0;

    }


    .agenda-heading h2 {

        letter-spacing:
            -2px;

    }


    .agenda-day-tabs {

        display:
            grid;

        grid-template-columns:
            1fr 1fr;

        width:
            100%;

    }


    .agenda-day-tabs
    .nav-item {

        width:
            100%;

    }


    .agenda-day-tabs
    .nav-link {

        width:
            100%;

        min-width:
            0;

        padding:
            14px;

    }


    .agenda-tab-content {

        padding:
            28px 18px;

    }


    .agenda-timeline::before {

        left:
            6px;

    }


    .agenda-item {

        position:
            relative;

        display:
            block;

        padding-left:
            30px;

        margin-bottom:
            28px;

    }


    .agenda-time {

        text-align:
            left;

        padding-top:
            0;

        margin-bottom:
            9px;

    }


    .agenda-time span {

        color:
            #e62b1e;

    }


    .agenda-time small {

        display:
            inline;

        margin-left:
            4px;

    }


    .agenda-dot {

        position:
            absolute;

        left:
            0;

        top:
            2px;

        margin:
            0;

    }


    .agenda-card {

        padding:
            21px;

    }


    .agenda-card:hover {

        transform:
            none;

    }

}

/* =========================================================
   TEDxIIBS X FACTOR
========================================================= */

.xfactor-section {

    position: relative;

    overflow: hidden;

    padding: 110px 0;

    background:
        radial-gradient(
            circle at 20% 50%,
            rgba(230, 43, 30, .13),
            transparent 27%
        ),
        radial-gradient(
            circle at 90% 20%,
            rgba(140, 0, 12, .14),
            transparent 25%
        ),
        #050505;

    color: #ffffff;

}


/* =========================================================
   BACKGROUND GRID
========================================================= */

.xfactor-bg-grid {

    position: absolute;

    inset: 0;

    opacity: .22;

    background-image:

        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size:
        55px 55px;

}


/* =========================================================
   BACKGROUND GLOW
========================================================= */

.xfactor-red-glow {

    position: absolute;

    border-radius: 50%;

    filter: blur(100px);

    pointer-events: none;

}


.glow-one {

    width: 350px;

    height: 350px;

    background:
        rgba(230,43,30,.13);

    left: -180px;

    top: 20%;

}


.glow-two {

    width: 420px;

    height: 420px;

    background:
        rgba(230,43,30,.10);

    right: -250px;

    bottom: -100px;

}


/* =========================================================
   VISUAL HOLDER
========================================================= */

.xfactor-visual {

    position: relative;

    width: 100%;

    max-width: 620px;

    aspect-ratio: 1 / 1;

    margin: auto;

    isolation: isolate;

}


/* =========================================================
   CIRCULAR DETAILS
========================================================= */

.xfactor-circle {

    position: absolute;

    border-radius: 50%;

    border:
        1px solid
        rgba(230,43,30,.15);

}


.circle-one {

    width: 430px;

    height: 430px;

    left: -120px;

    top: 90px;

}


.circle-two {

    width: 330px;

    height: 330px;

    left: -70px;

    top: 140px;

    border-color:
        rgba(255,255,255,.05);

}


/* =========================================================
   X OUTER GLOW
========================================================= */

.x-glow {

    position: absolute;

    inset: 6%;

    background:
        linear-gradient(
            135deg,
            #ff1b22,
            #ff811a,
            #e62b1e
        );


    /*
       X SHAPE
    */

    clip-path: polygon(

        0 0,

        35% 0,

        50% 25%,

        65% 0,

        100% 0,

        70% 50%,

        100% 100%,

        65% 100%,

        50% 75%,

        35% 100%,

        0 100%,

        30% 50%

    );


    filter:

        drop-shadow(
            0 0 8px
            rgba(230,43,30,.75)
        )

        drop-shadow(
            0 0 25px
            rgba(230,43,30,.35)
        );

}


/* =========================================================
   MAIN X
========================================================= */

.x-photo-shape {

    position: absolute;

    inset: calc(6% + 3px);

    overflow: hidden;

    background: #050505;


    clip-path: polygon(

        0 0,

        35% 0,

        50% 25%,

        65% 0,

        100% 0,

        70% 50%,

        100% 100%,

        65% 100%,

        50% 75%,

        35% 100%,

        0 100%,

        30% 50%

    );


    filter:
        drop-shadow(
            0 18px 30px
            rgba(0,0,0,.6)
        );

}


/* =========================================================
   FOUR PHOTOS
========================================================= */

.x-photo {

    position: absolute;

    overflow: hidden;

}


.x-photo img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    filter:
        saturate(.9)
        contrast(1.12)
        brightness(.77);

    transition:
        transform .8s ease,
        filter .6s ease;

}


/* TOP LEFT */

.photo-1 {

    left: 0;

    top: 0;

    width: 50%;

    height: 50%;

}


/* TOP RIGHT */

.photo-2 {

    right: 0;

    top: 0;

    width: 50%;

    height: 50%;

}


/* BOTTOM LEFT */

.photo-3 {

    left: 0;

    bottom: 0;

    width: 50%;

    height: 50%;

}


/* BOTTOM RIGHT */

.photo-4 {

    right: 0;

    bottom: 0;

    width: 50%;

    height: 50%;

}


/* =========================================================
   RED EVENT FEEL
========================================================= */

.x-photo-shape::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: 3;

    pointer-events: none;

    background:

        radial-gradient(
            circle at 50% 60%,
            rgba(230,43,30,.40),
            transparent 36%
        ),

        linear-gradient(
            180deg,
            rgba(0,0,0,.05),
            rgba(115,0,10,.26)
        );

}


/* =========================================================
   PHOTO SEPARATION
========================================================= */

.photo-1 {

    border-right:
        1px solid
        rgba(255,70,50,.30);

    border-bottom:
        1px solid
        rgba(255,70,50,.25);

}


.photo-2 {

    border-bottom:
        1px solid
        rgba(255,70,50,.25);

}


.photo-3 {

    border-right:
        1px solid
        rgba(255,70,50,.30);

}


/* =========================================================
   HOVER
========================================================= */

.xfactor-visual:hover
.x-photo img {

    transform:
        scale(1.055);

    filter:
        saturate(1)
        contrast(1.15)
        brightness(.90);

}


/* =========================================================
   OVERLAY
========================================================= */

.x-overlay {

    position: absolute;

    inset: 0;

    z-index: 4;

    background:

        linear-gradient(
            90deg,
            rgba(0,0,0,.15),
            transparent,
            rgba(0,0,0,.15)
        );

    pointer-events: none;

}


/* =========================================================
   CENTER SPEAKER
========================================================= */

.x-center-speaker {

    position: absolute;

    z-index: 5;

    bottom: 9%;

    left: 50%;

    width: 33%;

    height: 51%;

    transform:
        translateX(-50%);

    pointer-events: none;

}


.x-center-speaker img {

    width: 100%;

    object-fit: contain;

    object-position: bottom;

    filter:

        brightness(.55)

        contrast(1.4)

        drop-shadow(
            0 0 18px
            rgba(230,43,30,.35)
        );

}


/* =========================================================
   SIDE GEOMETRIC ART
========================================================= */

.xfactor-side-art {

    position: absolute;

    right: -8%;

    top: 29%;

    width: 160px;

    height: 210px;

    z-index: -1;

}


.xfactor-side-art span {

    position: absolute;

    display: block;

    width: 120px;

    height: 75px;

    transform:
        rotate(-35deg)
        skewX(-15deg);

}


.xfactor-side-art span:nth-child(1) {

    top: 0;

    right: 0;

    background:
        linear-gradient(
            135deg,
            rgba(230,43,30,.75),
            rgba(100,0,10,.12)
        );

}


.xfactor-side-art span:nth-child(2) {

    top: 57px;

    right: 20px;

    background:
        linear-gradient(
            135deg,
            rgba(115,0,40,.65),
            rgba(230,43,30,.08)
        );

}


.xfactor-side-art span:nth-child(3) {

    top: 114px;

    right: 38px;

    background:
        rgba(230,43,30,.13);

}


/* =========================================================
   CONTENT
========================================================= */

.xfactor-content {

    position: relative;

    z-index: 5;

}


.xfactor-kicker {

    display: block;

    color: #e62b1e;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;

    margin-bottom: 14px;

}


.xfactor-content h2 {

    max-width: 650px;

    margin-bottom: 22px;

    color: #ffffff;

    font-size: clamp(
        38px,
        4.5vw,
        66px
    );

    font-weight: 900;

    line-height: 1;

    letter-spacing: -3px;

}


.xfactor-content h2 span {

    display: block;

    color: #e62b1e;

}


.xfactor-intro {

    max-width: 620px;

    color: #9c9fa5;

    line-height: 1.8;

    margin-bottom: 35px;

}


/* =========================================================
   PRINCIPLES
========================================================= */

.xfactor-principles {

    border-top:
        1px solid #292929;

}


.x-principle {

    display: grid;

    grid-template-columns:
        60px 1fr;

    gap: 20px;

    align-items: center;

    padding:
        20px 0;

    border-bottom:
        1px solid #292929;

    transition:
        padding-left .3s ease,
        background .3s ease;

}


.x-principle:hover {

    padding-left:
        12px;

    background:
        linear-gradient(
            90deg,
            rgba(230,43,30,.08),
            transparent
        );

}


.x-icon {

    width: 48px;

    height: 48px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    border:
        1px solid
        #e62b1e;

    color:
        #e62b1e;

    font-size:
        22px;

    font-weight:
        800;

}


.x-principle > div:last-child > span {

    color:
        #666;

    font-size:
        10px;

    font-weight:
        800;

}


.x-principle h3 {

    margin:
        2px 0 5px;

    color:
        #ffffff;

    font-size:
        18px;

    font-weight:
        800;

}


.x-principle p {

    margin: 0;

    color:
        #868a91;

    font-size:
        13px;

    line-height:
        1.6;

}


/* =========================================================
   BUTTON
========================================================= */

.xfactor-btn {

    display: inline-flex;

    align-items: center;

    gap: 25px;

    margin-top:
        28px;

    padding:
        13px 22px;

    border:
        1px solid
        #e62b1e;

    border-radius:
        7px;

    color:
        #ffffff;

    font-size:
        12px;

    font-weight:
        800;

    text-transform:
        uppercase;

    transition:
        all .3s ease;

}


.xfactor-btn i {

    color:
        #e62b1e;

    transition:
        transform .3s ease;

}


.xfactor-btn:hover {

    background:
        #e62b1e;

    color:
        #ffffff;

}


.xfactor-btn:hover i {

    color:
        #ffffff;

    transform:
        translateX(6px);

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media
(max-width: 991px) {

    .xfactor-section {

        padding:
            85px 0;

    }


    .xfactor-visual {

        max-width:
            570px;

        margin-bottom:
            30px;

    }


    .xfactor-content {

        max-width:
            700px;

        margin:
            auto;

    }

}


@media
(max-width: 575px) {

    .xfactor-section {

        padding:
            65px 0;

    }


    .xfactor-visual {

        width:
            calc(100% + 10px);

        margin-left:
            -5px;

    }


    .xfactor-content h2 {

        font-size:
            38px;

        letter-spacing:
            -2px;

    }


    .x-principle {

        grid-template-columns:
            50px 1fr;

        gap:
            15px;

    }


    .x-icon {

        width:
            42px;

        height:
            42px;

        font-size:
            18px;

    }


    .xfactor-side-art {

        display:
            none;

    }

}

.speaker-section {
    width: 100%;
    max-width: 1400px;
    margin: 50px auto;
    padding: 0 8px;
}

.speaker-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 15px 5px 50px;
}

.speaker-slider .swiper-wrapper {
    align-items: stretch;
}

.speaker-slider .swiper-slide {
    height: auto;
}

.speaker-card {
    height: 100%;
    overflow: hidden;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0 7px 25px rgba(0, 0, 0, 0.12);
    transition: transform 0.3s ease;
}

.speaker-card:hover {
    transform: translateY(-6px);
}

.speaker-media {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #000000;
}

.speaker-image,
.speaker-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.35s ease;
}

.speaker-image {
    z-index: 2;
    opacity: 1;
}

.speaker-video {
    z-index: 1;
    opacity: 0;
    pointer-events: none;
}

.speaker-card.video-active .speaker-image {
    opacity: 0;
    pointer-events: none;
}

.speaker-card.video-active .speaker-video {
    z-index: 3;
    opacity: 1;
}

/* Hover label */

.play-label {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 5;
    padding: 7px 12px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.72);
    border-radius: 20px;
    transition: opacity 0.3s ease;
}

.speaker-card.video-active .play-label {
    opacity: 0;
    visibility: hidden;
}

/* Sound button */

.sound-button {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 10;
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: #ffffff;
    font-size: 17px;
    background: rgba(0, 0, 0, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    cursor: pointer;
}

.speaker-card.video-active .sound-button {
    display: flex;
}

.sound-button:hover {
    background: #e50914;
}
.speaker-details {
    min-height: 105px;
    padding: 16px 12px;
    text-align: center;
}

.speaker-details h3 {
    margin: 0 0 6px;
    color: #171717;
    font-size: 17px;
}

.speaker-details p {
    margin: 0;
    color: #666666;
    font-size: 13px;
    line-height: 1.5;
}

/* Navigation */

.speaker-prev,
.speaker-next {
    position: absolute;
    top: 43%;
    z-index: 30;
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #ffffff;
    background: #e50914;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    transform: translateY(-50%);
}

.speaker-slider.has-slider .speaker-prev,
.speaker-slider.has-slider .speaker-next {
    display: flex;
}

.speaker-prev {
    left: 8px;
}

.speaker-next {
    right: 8px;
}

.speaker-pagination {
    bottom: 5px !important;
}

.speaker-pagination .swiper-pagination-bullet-active {
    background: #e50914;
}

@media (max-width: 767px) {
    .speaker-section {
        padding: 0 20px;
    }

    /* Change hover instruction for touch devices */
    .play-label {
        font-size: 0;
    }

    .play-label::after {
        content: "Tap to Play";
        font-size: 12px;
    }
}

.tedx-team { position:relative; isolation:isolate; overflow:hidden; padding:55px max(24px,calc((100vw - 1440px)/2)) 45px; background:radial-gradient(ellipse at 80% 25%,#500009 0%,transparent 35%),radial-gradient(ellipse at 0% 85%,#240005 0%,transparent 38%),#080808; }
    .tedx-team::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.15; background:repeating-radial-gradient(ellipse at 110% 95%,transparent 0 13px,#ee1234 14px 15px,transparent 16px 25px); pointer-events:none; }

 .section-title { display:flex; align-items:center; gap:20px; margin:0 0 8px; font-size:14px; text-transform:uppercase; letter-spacing:.37em; }
    .section-title::before { content:""; width:42px; height:6px; flex:none; background:var(--red); }
    .section-description { margin:0 0 18px; color:#d0d0d0; }
    .organizers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:10px;/* max-width:1080px; */ }
    .person { min-width:0; overflow:hidden; position:relative; border:1px solid #464646; border-radius:7px; background:linear-gradient(150deg,#34050b 0%,#161616 55%,#080808 100%); }
    .person img { width:100%; display:block; object-fit:cover; object-position:center 25%; }
    .organizers .person img { height:220px; } .members .person img { height:125px; }
    .portrait-placeholder { display:flex; justify-content:center; align-items:center; background:radial-gradient(circle at 50% 80%,#821322,#26040a 65%,#101010); color:#f5acb7; font-size:55px; font-weight:700; }
    .organizers .portrait-placeholder { height:220px; } .members .portrait-placeholder { height:125px; font-size:32px; }
    .person-content { padding:0 14px 14px; }
    .role-badge { display:inline-block; max-width:100%; padding:4px 8px; background:var(--red); color:#fff; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; overflow-wrap:anywhere; }
    .person h3 { margin:7px 0 2px; font-size:19px; line-height:1.2; }
    .person h3::after { content:""; display:block; width:33px; height:2px; background:var(--red); margin:5px 0; }
    .person p { margin:0; color:#ddd; font-size:12px; line-height:1.35; }
    .team-section { border-top:2px solid #a60018; margin-top:24px; padding-top:18px; padding: 20px;}
    .team-header { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px 22px; margin-bottom:15px; }
    .team-header .section-title { margin:0; } .team-header p { margin:0; color:#c9c9c9; font-size:13px; }
    .members { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
    .members .person-content { padding:9px 8px 12px; text-align:center; }
    .members h3 { font-size:13px; margin:0; } .members h3::after { margin:6px auto; }
    .members p { font-size:10px; }
    .footer { margin-top:27px; border-top:1px solid var(--line); padding-top:20px; }
     .sponsors-section { border-top:2px solid #a60018; margin-top:30px; padding-top:22px; }
    .sponsors-section .section-description { margin-bottom:20px; }
    .sponsor-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
    .sponsor-card { min-height:135px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:20px; border:1px solid #414141; border-radius:8px; background:linear-gradient(145deg,#1b1b1b,#0b0b0b); text-align:center; }
    .sponsor-card img { display:block; max-width:100%; width:auto; height:auto; max-height:65px; object-fit:contain; }
    .sponsor-placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:65px; border:1px dashed #6a333b; border-radius:4px; color:#e2bfc4; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
    .sponsor-card span { color:#aaa; font-size:11px; letter-spacing:.15em; text-transform:uppercase; }

    @media (min-width:1200px) { .members { grid-template-columns:repeat(8,minmax(0,1fr)); gap:5px; } .members .person img,.members .portrait-placeholder { height:110px; } .members .person-content { padding:8px 3px; } .members h3 { font-size:10px; } .members p { font-size:9px; } }
    @media (max-width:760px) { .tedx-team { padding:26px 18px 35px; }  .organizers { grid-template-columns:repeat(2,minmax(0,1fr)); } .organizers .person img,.organizers .portrait-placeholder { height:190px; } .members { grid-template-columns:repeat(3,minmax(0,1fr)); } .organizers .person img,.organizers .portrait-placeholder { height:190px; } .members { grid-template-columns:repeat(3,minmax(0,1fr)); } .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }  }
    @media (max-width:390px) { .organizers .person img,.organizers .portrait-placeholder { height:155px; } .person h3 { font-size:16px; } .members { grid-template-columns:repeat(2,minmax(0,1fr)); } 