.sam-ignite { --ignite-accent: #06d6a0; color: var(--dark-main); }
html:has(.sam-ignite) { scroll-padding-top: 96px; }
.sam-ignite *, .sam-ignite *::before, .sam-ignite *::after { box-sizing: border-box; }
.sam-ignite p { line-height: 1.6; }
.sam-ignite a:focus-visible, .sam-ignite button:focus-visible, .sam-ignite [tabindex]:focus-visible { outline: 3px solid var(--ignite-accent); outline-offset: 5px; }
.sam-ignite [hidden] { display: none !important; }
.sam-ignite__skip { position: fixed; top: 90px; left: 20px; z-index: 1001; padding: 12px 20px; background: white; color: var(--dark-main); transform: translateY(-220px); }
.sam-ignite__skip:focus { transform: none; }
.sam-ignite__hero { background: var(--deep-blue); color: white; }
.sam-ignite__hero-grid { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 6rem; padding-block: 11rem 5rem; }
.sam-ignite__hero-copy { min-width: 0; }
.sam-ignite__event-label { display: flex; align-items: center; gap: 10px; margin: 0 0 2rem; font-size: 14px; }
.sam-ignite__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ignite-accent); }
.sam-ignite__hero h1 { margin: 0 0 2rem; font-size: clamp(52px, 5.6vw, 84px); line-height: 1.05; letter-spacing: -.055em; }
.sam-ignite__lead { margin: 0 0 1rem; font-size: 22px; letter-spacing: -.025em; }
.sam-ignite__summary { max-width: 29rem; margin-bottom: 2rem; color: #b7b7cb; font-size: 16px; }
.sam-ignite__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.sam-ignite__stand { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 480px; padding: 2rem; border: 1px solid #ffffff30; border-radius: 1rem; background: #0c0c3a; overflow: hidden; }
.sam-ignite__stand::before { position: absolute; inset: 0; pointer-events: none; content: ''; background-image: radial-gradient(#06d6a033 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(90deg, transparent 35%, #000); }
.sam-ignite__stand-top, .sam-ignite__stand-bottom { position: relative; display: flex; justify-content: space-between; gap: 1rem; align-items: center; font-size: 14px; }
.sam-ignite__stand-top img { width: 96px; height: auto; }
.sam-ignite__stand-top > span { color: #b7b7cb; }
.sam-ignite__stand-number { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; }
.sam-ignite__stand-number > span { font-size: 22px; max-width: 5.5rem; line-height: 1.3; }
.sam-ignite__stand-number strong { font-size: clamp(160px, 17vw, 250px); line-height: 1; font-weight: 500; letter-spacing: -.07em; color: var(--ignite-accent); }
.sam-ignite__stand-bottom { border-top: 1px solid #ffffff30; padding-top: 1.5rem; align-items: start; }
.sam-ignite__stand-bottom > span:last-child { color: #b7b7cb; text-align: right; line-height: 1.6; }
.sam-ignite__hero-foot { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #ffffff26; padding-block: 1.5rem; font-size: 14px; color: #b7b7cb; }
.sam-ignite__hero-foot a { color: white; }
.sam-ignite__hero-foot a span { margin-left: 16px; }
.sam-ignite__countdown { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 1.75rem; border-top: 1px solid #ffffff26; }
.sam-ignite__countdown-label { margin: 0 0 .25rem; font-size: 18px; }
.sam-ignite__countdown-date { margin: 0; font-size: 13px; color: #b7b7cb; }
.sam-ignite__clock { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.sam-ignite__clock > div { display: grid; gap: .25rem; min-width: 3.25rem; text-align: center; }
.sam-ignite__clock strong { color: var(--ignite-accent); font-size: 36px; font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1.1; }
.sam-ignite__clock span { color: #b7b7cb; font-size: 12px; }
.sam-ignite__platform, .sam-ignite__visit { padding-block: 6rem; background: var(--white-bg); }
.sam-ignite__intro { display: grid; grid-template-columns: 1.25fr 1fr; gap: 5rem; align-items: end; margin-bottom: 3rem; }
.sam-ignite h2 { margin: 0; font-size: clamp(32px, 3.6vw, 52px); letter-spacing: -.045em; line-height: 1.15; }
.sam-ignite__intro > p { max-width: 28rem; color: #60606d; margin: 0; font-size: 16px; }
.sam-ignite__tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid #05051e26; }
.sam-ignite__tabs button { padding: 1.25rem .5rem; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #62626e; font: inherit; font-size: 20px; cursor: pointer; }
.sam-ignite__tabs button[aria-selected="true"] { color: var(--dark-main); border-bottom-color: var(--ignite-accent); }
.sam-ignite__tabs button:hover { background: #05051e06; }
.sam-ignite__panel { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 4rem; padding-block: 3rem 0; min-height: 420px; }
.sam-ignite__panel-copy { min-width: 0; }
.sam-ignite__label { margin: 0 0 1rem; font-size: 14px; color: #61616c; }
.sam-ignite__panel-copy h3 { line-height: 1.2; letter-spacing: -.035em; margin-bottom: 1.5rem; }
.sam-ignite__panel-copy > p:not(.sam-ignite__label) { color: #60606d; font-size: 16px; margin-bottom: 1.5rem; }
.sam-ignite__text-link { display: inline-flex; align-items: center; gap: 1.5rem; padding-block: .5rem; color: inherit; text-decoration: underline; text-underline-offset: .3em; font-size: 16px; }
.sam-ignite__panel figure { display: grid; place-items: center; margin: 0; min-width: 0; }
.sam-ignite__panel figure img { width: 100%; height: auto; max-height: 380px; object-fit: contain; }
.sam-ignite__connections { padding-block: 4rem; background: white; }
.sam-ignite__journey { padding-block: 6rem; background: #f7f7fa; }
.sam-ignite__journey-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.sam-ignite__journey-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 1.25rem; padding: 2rem 1rem; border: 1px solid #06d6a04d; border-radius: 1rem; background: white; text-align: center; min-width: 0; }
.sam-ignite__journey-card::after { position: absolute; top: 50%; left: 100%; width: calc(1.5rem + 1px); height: 2px; background: var(--ignite-accent); content: ''; }
.sam-ignite__journey-card:nth-child(5)::after { top: 100%; left: 50%; width: 2px; height: calc(3rem + 1px); }
.sam-ignite__journey-card:nth-child(n+6) { grid-row: 2; }
.sam-ignite__journey-card:nth-child(6) { grid-column: 5; }
.sam-ignite__journey-card:nth-child(7) { grid-column: 4; }
.sam-ignite__journey-card:nth-child(8) { grid-column: 3; }
.sam-ignite__journey-card:nth-child(9) { grid-column: 2; }
.sam-ignite__journey-card:nth-child(10) { grid-column: 1; }
.sam-ignite__journey-card:nth-child(n+6)::after { left: auto; right: 100%; }
.sam-ignite__journey-card:last-child::after { top: auto; bottom: 100%; right: 50%; width: 2px; height: calc(3rem + 1px); }
.sam-ignite__journey-step { position: absolute; top: .75rem; left: .85rem; color: #777786; font-size: 11px; font-variant-numeric: tabular-nums; }
.sam-ignite__journey-card svg { width: 48px; height: 52px; flex-shrink: 0; color: #009f77; }
.sam-ignite__journey-card h3 { margin: 0 0 .75rem; color: inherit; font-size: 20px; letter-spacing: -.025em; line-height: 1.3; }
.sam-ignite__journey-card p { margin: 0; font-size: 14px; color: #60606d; }
.sam-ignite__journey-badge { display: inline-block; margin-top: 1rem; padding: .25rem .75rem; border: 1px solid #05051e26; border-radius: 2rem; font-size: 12px; color: #007f60; }
.sam-ignite__journey-card--return { background: var(--deep-blue); color: white; border-color: var(--deep-blue); }
.sam-ignite__journey-card--return svg { color: var(--ignite-accent); }
.sam-ignite__journey-card--return p, .sam-ignite__journey-card--return .sam-ignite__journey-step { color: #b7b7cb; }
.sam-ignite__journey-note { margin: 2rem 0 0; text-align: center; color: #60606d; font-size: 14px; }
@media (max-width: 1100px) {
  .sam-ignite__journey-grid { grid-template-columns: 1fr; gap: 1.5rem; max-width: 42rem; margin-inline: auto; }
  .sam-ignite__journey-card, .sam-ignite__journey-card:nth-child(n+6) { grid-column: auto; grid-row: auto; flex-direction: row; align-items: start; text-align: left; padding: 2rem; gap: 1.5rem; }
  .sam-ignite__journey-card::after, .sam-ignite__journey-card:nth-child(5)::after, .sam-ignite__journey-card:nth-child(n+6)::after { top: 100%; left: 3.5rem; right: auto; width: 2px; height: calc(1.5rem + 1px); }
  .sam-ignite__journey-card:last-child::after { content: none; }
  .sam-ignite__journey-step { top: .5rem; left: .75rem; }
}
.sam-ignite__connections h2 { font-size: 32px; }
.sam-ignite__connection-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #05051e26; }
.sam-ignite__connection-grid a { position: relative; display: grid; gap: .5rem; padding: 1.5rem 1rem 0 0; color: inherit; }
.sam-ignite__connection-grid strong { font-size: 22px; font-weight: 500; letter-spacing: -.025em; }
.sam-ignite__connection-grid a > span:not(.sam-ignite__connection-arrow) { font-size: 14px; color: #62626e; }
.sam-ignite__connection-arrow { position: absolute; top: 1.5rem; right: 1.5rem; }
.sam-ignite__visit-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 6rem; align-items: center; }
.sam-ignite__visit-grid > div > p:not(.sam-ignite__label) { max-width: 30rem; margin-block: 1.5rem 2rem; color: #60606d; font-size: 16px; }
.sam-ignite__venue { border-left: 1px solid #05051e26; padding-left: 3rem; }
.sam-ignite__venue dl { display: grid; gap: 1.5rem; margin: 0 0 1rem; }
.sam-ignite__venue dt { color: #62626e; font-size: 14px; margin-bottom: .5rem; }
.sam-ignite__venue dd { margin: 0; font-size: 20px; line-height: 1.6; }
.sam-ignite__venue dd span { font-size: 14px; }
.sam-ignite__venue .sam-ignite__attendance { font-size: 12px; margin: 1rem 0 0; color: #62626e; }
@media (max-width: 991px) {
  .sam-ignite__hero-grid { gap: 2.5rem; }
  .sam-ignite__stand { min-height: 420px; padding: 1.5rem; }
  .sam-ignite__stand-bottom { flex-direction: column; }
  .sam-ignite__stand-bottom > span:last-child { text-align: left; }
  .sam-ignite__intro, .sam-ignite__panel, .sam-ignite__visit-grid { gap: 2.5rem; }
  .sam-ignite__venue { padding-left: 2rem; }
}
@media (max-width: 767px) {
  .sam-ignite__hero-grid { grid-template-columns: 1fr; padding-block: 8rem 2.5rem; }
  .sam-ignite__hero h1 { font-size: 56px; }
  .sam-ignite__lead { font-size: 20px; }
  .sam-ignite__stand { min-height: 350px; }
  .sam-ignite__stand-number strong { font-size: 180px; }
  .sam-ignite__stand-bottom { flex-direction: row; }
  .sam-ignite__stand-bottom > span:last-child { text-align: right; }
  .sam-ignite__hero-foot { flex-direction: column; font-size: 12px; }
  .sam-ignite__countdown { align-items: start; flex-direction: column; gap: 1.25rem; }
  .sam-ignite__clock { width: 100%; gap: .75rem; }
  .sam-ignite__platform, .sam-ignite__visit { padding-block: 3.5rem; }
  .sam-ignite__journey { padding-block: 3.5rem; }
  .sam-ignite__journey-card, .sam-ignite__journey-card:nth-child(n+6) { padding: 1.75rem 1.25rem; gap: 1rem; }
  .sam-ignite__journey-card svg { width: 36px; height: 42px; }
  .sam-ignite__journey-card::after, .sam-ignite__journey-card:nth-child(5)::after, .sam-ignite__journey-card:nth-child(n+6)::after { left: 2.375rem; }
  .sam-ignite__intro, .sam-ignite__panel, .sam-ignite__visit-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .sam-ignite__intro { margin-bottom: 2rem; }
  .sam-ignite__tabs button { font-size: 15px; padding-inline: 0; }
  .sam-ignite__panel { padding-top: 2rem; min-height: 0; }
  .sam-ignite__panel figure img { max-height: 300px; }
  .sam-ignite__connections { padding-block: 3rem; }
  .sam-ignite__connection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem .75rem; }
  .sam-ignite__connection-grid strong { font-size: 20px; }
  .sam-ignite__connection-arrow { right: .5rem; }
  .sam-ignite__connection-grid a > span:not(.sam-ignite__connection-arrow) { font-size: 13px; }
  .sam-ignite__visit-grid { gap: 2.5rem; }
  .sam-ignite__venue { border-left: 0; border-top: 1px solid #05051e26; padding: 2rem 0 0; }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(.sam-ignite) { scroll-behavior: smooth; }
}
