/* ==========================================================================
   Diecast SuperCon Child — HOME (front page only)
   Sections 1–12 of the home page + the interactive floor plan.
   Relies on the tokens and shared pieces in global.css.
   ========================================================================== */

/* ---------- 1. Hero ---------- */
.dsc-hero {
  display: flex; min-height: clamp(600px, 88vh, 860px); overflow: hidden; isolation: isolate; color: #fff;
  /* Fallback only — shows if the hero video/poster fails to load */
  background: linear-gradient(180deg, #10142E 0%, #3A1B55 34%, #A8323F 58%, #E98A3A 70%, #1A1220 86%, #0C0F15 100%);
}
.dsc-hero__media { position: absolute; inset: 0; z-index: -2; }
.dsc-hero__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.dsc-hero__video--mobile { display: none; }
.dsc-hero__scrim {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8, 10, 15, .62) 0%, rgba(8, 10, 15, 0) 34%),
    linear-gradient(270deg, rgba(8, 10, 15, .66) 0%, rgba(8, 10, 15, 0) 58%),
    linear-gradient(0deg, #0C0F15 0%, rgba(12, 15, 21, 0) 20%);
}
.dsc-hero__inner { display: flex; justify-content: flex-end; align-items: flex-start; padding-top: clamp(128px, 17vh, 176px); padding-bottom: 72px; }
.dsc-hero__panel { display: flex; flex-direction: column; align-items: center; text-align: center; text-shadow: 0 2px 20px rgba(0, 0, 0, .65); }
.dsc .dsc-hero__kicker {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--dsc-body) !important; font-size: 12px; font-weight: 700; letter-spacing: .2em; line-height: 1.4;
  text-transform: uppercase; color: #fff; margin: 0 0 20px; padding: 9px 18px; align-self: center; max-width: 100%;
  background: rgba(226, 30, 38, .16); border: 1px solid rgba(226, 30, 38, .6); border-radius: 2px;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  text-shadow: none; box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
}
.dsc .dsc-hero__kicker::before {
  content: ''; flex: none; width: 8px; height: 8px; border-radius: 50%; background: #FF4A51;
  box-shadow: 0 0 0 0 rgba(255, 74, 81, .6); animation: dsc-pulse 2s infinite;
}
@keyframes dsc-pulse { 70% { box-shadow: 0 0 0 9px rgba(255, 74, 81, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 74, 81, 0); } }
@media (prefers-reduced-motion: reduce) { .dsc .dsc-hero__kicker::before { animation: none; } }
@media (max-width: 520px) {
  .dsc .dsc-hero__kicker { font-size: 11px; letter-spacing: .12em; padding: 8px 14px; text-align: left; }
}
.dsc-hero__date  { font-family: var(--dsc-display); font-weight: 700; font-size: clamp(42px, 4.9vw, 72px); line-height: 1; letter-spacing: .01em; text-transform: uppercase; }
.dsc .dsc-hero__venue { font-family: var(--dsc-display); font-weight: 500; font-size: clamp(21px, 2.35vw, 34px); line-height: 1.15; letter-spacing: .03em; text-transform: uppercase; margin-top: 12px; }
.dsc .dsc-hero__city { font-family: var(--dsc-display); font-weight: 600; font-size: clamp(22px, 2.5vw, 36px); line-height: 1.15; letter-spacing: .03em; text-transform: uppercase; color: var(--dsc-gold); margin-top: 6px; }
.dsc-hero .dsc-btn { margin-top: 26px; min-width: min(100%, 300px); text-shadow: none; box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .7); }

/* ---------- 2. Highlights strip ---------- */
.dsc-strip { border-top: 1px solid var(--dsc-line); border-bottom: 1px solid var(--dsc-line); }
.dsc-strip__grid {
  list-style: none; margin: 0 auto; padding: 0; width: min(100%, 1320px);
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--dsc-line);
}
.dsc-strip__grid li { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 30px 12px 28px; background: var(--dsc-ink); }
.dsc-strip__grid i { font-size: 34px; line-height: 1; color: var(--dsc-red); margin-bottom: 16px; }
.dsc-strip__grid strong { font-family: var(--dsc-display); font-weight: 600; font-size: clamp(20px, 1.95vw, 28px); line-height: 1.05; letter-spacing: .02em; text-transform: uppercase; }
.dsc-strip__grid span { font-family: var(--dsc-display); font-weight: 500; font-size: 13px; letter-spacing: .09em; text-transform: uppercase; color: #D8DCE4; margin-top: 6px; }

/* ---------- 3. Intro + four cards ---------- */
.dsc-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.dsc-card {
  position: relative; aspect-ratio: 5 / 6; overflow: hidden; border-radius: var(--dsc-radius); color: #fff;
  background: linear-gradient(160deg, #2A3142 0%, #141821 60%);
}
.dsc-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.dsc-card:hover > img { transform: scale(1.05); }
.dsc-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12, 15, 21, .97) 0%, rgba(12, 15, 21, .9) 30%, rgba(12, 15, 21, 0) 62%); }
.dsc-card__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 0 18px 24px; text-align: center; }
.dsc .dsc-card__body h3 { font-size: clamp(20px, 1.8vw, 26px); font-weight: 600; letter-spacing: .015em; }
.dsc-card__body .dsc-btn { min-width: 68%; }

/* ---------- 4. Featured attractions ---------- */
.dsc-attr { overflow: hidden; }
.dsc-attr::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(52% 150% at 92% 60%, rgba(226, 30, 38, .42) 0%, rgba(226, 30, 38, 0) 62%),
    linear-gradient(104deg, rgba(226, 30, 38, 0) 52%, rgba(255, 96, 60, .16) 68%, rgba(226, 30, 38, 0) 82%);
}
.dsc-attr > .dsc-wrap { position: relative; }
.dsc .dsc-attr__title { font-size: clamp(30px, 3.4vw, 46px); margin-bottom: clamp(26px, 3.4vw, 40px); }
.dsc-attr__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, 1fr); gap: 18px 12px; }
.dsc-attr__grid a { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; color: #fff; text-decoration: none; }
.dsc-attr__ico {
  display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%;
  background: rgba(20, 24, 33, .85); border: 1px solid rgba(255, 255, 255, .16); font-size: 26px;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.dsc-attr__img { width: 32px; height: 32px; object-fit: contain; }
/* Emblem icons already include their own ring, so they fill the circle; the standard thin border stays.
   Transparent areas show the dark disc, then red on hover, like the glyph icons. */
.dsc-attr__ico--emblem { overflow: hidden; }
.dsc-attr__ico--emblem .dsc-attr__img { width: 100%; height: 100%; mix-blend-mode: screen; transform: scale(1.13); }
.dsc-attr__grid a:hover { color: #fff; }
.dsc-attr__grid a:hover .dsc-attr__ico { background: var(--dsc-red); border-color: var(--dsc-red); transform: translateY(-3px); }
.dsc-attr__label { font-family: var(--dsc-display); font-weight: 500; font-size: 15px; line-height: 1.25; letter-spacing: .05em; text-transform: uppercase; }

/* ---------- 5. The Main Event ---------- */
.dsc-main__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 60px); align-items: start; }
.dsc-video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: #000; cursor: pointer; box-shadow: 0 28px 50px -24px rgba(12, 15, 21, .55); }
.dsc-video__thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .86; transition: opacity .3s ease, transform .6s ease; }
.dsc-video:hover .dsc-video__thumb { opacity: 1; transform: scale(1.03); }
.dsc-video__play { position: absolute; inset: 0; margin: auto; display: grid; place-items: center; width: 78px; height: 78px; border-radius: 50%; background: var(--dsc-red); color: #fff; font-size: 26px; padding-left: 5px; box-shadow: 0 0 0 10px rgba(226, 30, 38, .25); transition: transform .25s ease; }
.dsc-video:hover .dsc-video__play { transform: scale(1.08); }
.dsc-video__tag, .dsc-video__live { position: absolute; font-family: var(--dsc-display); font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: #fff; padding: 6px 12px; border-radius: 3px; line-height: 1; }
.dsc-video__tag { top: 16px; left: 16px; background: rgba(12, 15, 21, .86); }
.dsc-video__live { right: 16px; bottom: 16px; background: var(--dsc-red); }
.dsc-video__embed { position: absolute; inset: 0; display: none; background: #000; }
.dsc-video__embed iframe { width: 100%; height: 100%; border: 0; }
.dsc-video.is-playing > *:not(.dsc-video__embed) { display: none; }
.dsc-video.is-playing .dsc-video__embed { display: block; }

.dsc-stats { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--dsc-ink); color: #fff; border-radius: 6px; }
.dsc-stats li { padding: 20px 10px; text-align: center; border-left: 1px solid var(--dsc-line); }
.dsc-stats li:first-child { border-left: 0; }
.dsc-stats strong { display: block; font-family: var(--dsc-display); font-weight: 700; font-size: clamp(28px, 2.8vw, 40px); line-height: 1; }
.dsc-stats span { display: block; margin-top: 6px; font-family: var(--dsc-display); font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--dsc-muted-inv); }

.dsc .dsc-main__title { font-size: clamp(30px, 3.4vw, 46px); }
.dsc .dsc-main__intro { margin-top: 16px; color: var(--dsc-muted); font-size: 15.5px; line-height: 1.7; }
.dsc-feats { list-style: none; margin: 24px 0 0; padding: 0; }
.dsc-feats li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-top: 1px solid var(--dsc-rule); }
.dsc-feats i { flex: 0 0 44px; display: grid; place-items: center; height: 44px; border-radius: var(--dsc-radius); background: var(--dsc-red); color: #fff; font-size: 17px; }
.dsc .dsc-feats h3 { font-size: 19px; font-weight: 600; letter-spacing: .03em; }
.dsc .dsc-feats p { margin-top: 4px; font-size: 14px; line-height: 1.55; color: var(--dsc-muted); }

/* ---------- 6. Manufacturer posters (running strip) ---------- */
.dsc-mfr { overflow: hidden; }
.dsc-mfr__viewport {
  overflow: hidden; padding: 16px 0 26px;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
}
.dsc-mfr__track { --gap: 22px; display: flex; gap: var(--gap); width: max-content; align-items: center; animation: dscMfrRun 66s linear infinite; }
@media (hover: hover) { .dsc-mfr__viewport:hover .dsc-mfr__track { animation-play-state: paused; } }
.dsc-mfr__card { flex: 0 0 auto; width: 176px; aspect-ratio: 2 / 3; overflow: hidden; border-radius: var(--dsc-radius); background: var(--dsc-ink-2); border: 1px solid rgba(255, 255, 255, .16); transition: transform .35s cubic-bezier(.2, .7, .2, 1), border-color .25s ease; }
.dsc-mfr__card img { width: 100%; height: 100%; object-fit: cover; }
.dsc-mfr__card a { display: block; width: 100%; height: 100%; }
/* Script-driven motion (direction, rhythm, hover easing, drag). Without JS the CSS animation above runs. */
.dsc-mfr__viewport.is-js .dsc-mfr__track { animation: none; will-change: transform; }
.dsc-mfr__viewport.is-draggable { cursor: grab; touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.dsc-mfr__viewport.is-dragging { cursor: grabbing; }
.dsc-mfr__viewport.is-dragging .dsc-mfr__card { pointer-events: none; }
.dsc-mfr__viewport img { -webkit-user-drag: none; }
.dsc-mfr__card:hover { transform: translateY(-10px); border-color: var(--dsc-red); }
@keyframes dscMfrRun { from { transform: translateX(0); } to { transform: translateX(calc(-50% - var(--gap) / 2)); } }

/* ---------- 7. What's the Big Idea ---------- */
.dsc-idea { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); background: #fff; border: 1px solid var(--dsc-rule); border-radius: 6px; overflow: hidden; box-shadow: 0 30px 60px -36px rgba(12, 15, 21, .35); }
.dsc-idea__media { background: var(--dsc-ink); min-height: 320px; }
.dsc-idea__media img { width: 100%; height: 100%; object-fit: cover; }
.dsc-idea__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(26px, 3.6vw, 52px); }
.dsc-idea__when { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; background: var(--dsc-ink); color: #fff; border-radius: 3px; font-family: var(--dsc-display); font-size: 14px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; line-height: 1; }
.dsc-idea__when i { color: var(--dsc-gold); }
.dsc .dsc-idea__title { font-size: clamp(26px, 2.8vw, 38px); margin-top: 18px; }
.dsc .dsc-idea__where { margin-top: 8px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--dsc-muted); }
.dsc .dsc-idea__sub { margin-top: 22px; font-family: var(--dsc-display); font-size: 18px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--dsc-red); }
.dsc .dsc-idea__text { margin-top: 6px; font-size: 15px; line-height: 1.65; color: #3C4250; }
.dsc-idea__pitch { margin-top: 20px; padding-left: 14px; border-left: 3px solid var(--dsc-red); }
.dsc .dsc-idea__pitch h4 { font-size: 15px; font-weight: 600; letter-spacing: .08em; }
.dsc .dsc-idea__pitch p { margin-top: 4px; font-size: 14px; line-height: 1.6; color: var(--dsc-muted); }
.dsc-idea__panel { width: 100%; margin-top: 20px; padding: 14px 16px; background: var(--dsc-paper-2); border-radius: var(--dsc-radius); font-size: 13.5px; }
.dsc-idea__panel strong { display: block; color: var(--dsc-text); }
.dsc-idea__panel span { color: var(--dsc-muted); }
.dsc-idea__body .dsc-btn { margin-top: 26px; }

/* ---------- 8 + 9. Trading cards / Vendor spaces ---------- */
.dsc-show__frame { max-width: 1120px; margin-inline: auto; }
.dsc--dark .dsc-show__frame { border: 1px solid var(--dsc-line); }
.dsc--tint .dsc-show__frame { box-shadow: 0 30px 60px -36px rgba(12, 15, 21, .45); }
.dsc-show__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 32px; }

/* ---------- 10. Interactive floor plan (layout values unchanged, new skin) ---------- */





/* ---------- 11. Tickets ---------- */
.dsc-tix { overflow: hidden; background: var(--dsc-ink-2); }
.dsc-tix::before { content: ''; position: absolute; inset: 0; background: url('https://diecastsupercon.com/wp-content/uploads/2026/04/Choose-Your-Experience.webp') center / cover no-repeat; opacity: .1; pointer-events: none; }
.dsc-tix::after { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: var(--dsc-red); }
.dsc-tix > .dsc-wrap { position: relative; }
.dsc-tix__dates { display: inline-flex; flex-wrap: wrap; justify-content: center; margin-top: 24px; border: 1px solid var(--dsc-line); border-radius: var(--dsc-radius); background: var(--dsc-ink); font-family: var(--dsc-display); font-size: 17px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.dsc-tix__dates span { display: inline-flex; align-items: center; gap: 9px; padding: 13px 22px; }
.dsc-tix__dates span + span { border-left: 1px solid var(--dsc-line); }
.dsc-tix__dates .is-vip { color: var(--dsc-gold); }
.dsc .dsc-tix__group { display: flex; align-items: center; gap: 22px; font-size: clamp(22px, 2.3vw, 30px); font-weight: 600; letter-spacing: .03em; margin: clamp(46px, 5.5vw, 72px) 0 26px; }
.dsc-tix__group::before, .dsc-tix__group::after { content: ''; flex: 1; height: 1px; background: var(--dsc-line); }
.dsc-tix__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.dsc-tix__grid--5 { grid-template-columns: repeat(5, 1fr); }
.dsc-tix__grid--4 { grid-template-columns: repeat(4, 1fr); }
.dsc .dsc-tix__grid--5 .dsc-tier__name { display: flex; align-items: flex-end; min-height: 2.12em; }

.dsc-tier { position: relative; display: flex; flex-direction: column; padding: 26px 22px 24px; background: var(--dsc-ink); border: 1px solid var(--dsc-line); border-top: 3px solid #2E3543; border-radius: var(--dsc-radius); overflow: hidden; transition: border-color .25s ease, transform .25s ease; }
.dsc-tier:hover { transform: translateY(-4px); border-color: rgba(255, 255, 255, .28); border-top-color: var(--dsc-red); }
.dsc-tier--featured { border-top-color: var(--dsc-red); }
.dsc-tier__ico { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 18px; border-radius: var(--dsc-radius); background: var(--dsc-ink-3); color: var(--dsc-red); font-size: 18px; }
.dsc-tier__badge { position: absolute; top: 18px; right: 18px; padding: 5px 10px; border-radius: 3px; background: var(--dsc-gold); color: #14171D; font-family: var(--dsc-display); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; line-height: 1; }
.dsc-tier.is-soldout .dsc-tier__badge { background: var(--dsc-red); color: #fff; }
.dsc .dsc-tier__name { font-size: 23px; font-weight: 600; letter-spacing: .03em; }
.dsc .dsc-tier__tag { margin-top: 5px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--dsc-muted-inv); }
.dsc-tier__price { display: flex; align-items: baseline; gap: 6px; margin-top: 16px; font-family: var(--dsc-display); font-weight: 700; font-size: 54px; line-height: 1; }
.dsc-tier__price small { font-family: var(--dsc-body); font-size: 13px; font-weight: 500; color: var(--dsc-muted-inv); }
.dsc-tier__list { list-style: none; flex: 1; margin: 20px 0 22px; padding: 18px 8px 0 0; border-top: 1px solid var(--dsc-line); display: flex; flex-direction: column; gap: 9px; max-height: 248px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--dsc-red) transparent; }
.dsc-tier__list::-webkit-scrollbar { width: 4px; }
.dsc-tier__list::-webkit-scrollbar-track { background: rgba(255, 255, 255, .04); }
.dsc-tier__list::-webkit-scrollbar-thumb { background: var(--dsc-red); border-radius: 4px; }
.dsc-tier__list li { position: relative; padding-left: 20px; font-size: 13px; line-height: 1.5; color: #C6CBD6; }
.dsc-tier__list li::before { content: ''; position: absolute; left: 2px; top: 5px; width: 9px; height: 5px; border-left: 2px solid var(--dsc-red); border-bottom: 2px solid var(--dsc-red); transform: rotate(-45deg); }
.dsc-tier.is-soldout > *:not(.dsc-tier__stamp):not(.dsc-tier__badge) { opacity: .62; }
.dsc-tier__stamp { position: absolute; top: 132px; left: 50%; z-index: 2; transform: translateX(-50%) rotate(-12deg); padding: 6px 22px; border: 4px solid var(--dsc-red); border-radius: 6px; background: rgba(12, 15, 21, .78); color: #FF4D55; font-family: var(--dsc-display); font-size: 30px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; line-height: 1.1; white-space: nowrap; pointer-events: none; }
.dsc-tix__trust { list-style: none; margin: 52px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 30px; font-size: 13px; color: var(--dsc-muted-inv); }
.dsc-tix__trust li::before { content: '✓'; color: var(--dsc-red); font-weight: 700; margin-right: 8px; }

/* ---------- 12. Sponsors ---------- */
.dsc-sp { text-align: center; }
.dsc .dsc-sp__label { font-family: var(--dsc-display); font-size: clamp(18px, 1.7vw, 22px); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--dsc-text); }
.dsc .dsc-sp__label--rule { display: flex; align-items: center; gap: 26px; margin: clamp(34px, 4vw, 52px) 0 28px; }
.dsc-sp__label--rule::before, .dsc-sp__label--rule::after { content: ''; flex: 1; height: 1px; background: var(--dsc-rule); }
.dsc-sp__title { --h: clamp(90px, 10vw, 130px); display: flex; align-items: center; justify-content: center; min-height: var(--h); margin-top: 14px; font-family: var(--dsc-display); font-size: 44px; font-weight: 700; line-height: 1; text-transform: uppercase; }
.dsc-sp__title img { width: min(100%, 420px); height: var(--h); object-fit: contain; }
.dsc-sp__titles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px clamp(28px, 5vw, 72px); max-width: 980px; margin-inline: auto; }
.dsc-sp__titleblock + .dsc-sp__titleblock { position: relative; }
.dsc-sp__titleblock + .dsc-sp__titleblock::before { content: ''; position: absolute; left: calc(clamp(28px, 5vw, 72px) / -2); top: 6px; bottom: 6px; width: 1px; background: var(--dsc-rule); }
.dsc-sp__row { --cols: 7; --gx: 26px; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 22px var(--gx); align-items: flex-start; }
.dsc-sp__row > li { flex: 0 0 calc((100% - (var(--cols) - 1) * var(--gx)) / var(--cols)); min-width: 0; }
.dsc-logo { --h: 74px; display: flex; align-items: center; justify-content: center; height: var(--h); padding: 4px; border-radius: var(--dsc-radius); font-family: var(--dsc-display); font-size: 18px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--dsc-text); }
.dsc-logo img { width: 100%; height: calc(var(--h) - 8px); object-fit: contain; }
.dsc-logo--dark { background: #000; padding: 10px; color: #fff; }
.dsc-logo--dark img { height: calc(var(--h) - 20px); }
.dsc-sp__tier { display: block; margin-top: 8px; font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--dsc-muted); }
.dsc-sp__marquee { overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
.dsc-sp__track { --gap: 54px; list-style: none; margin: 0; padding: 0; display: flex; gap: var(--gap); width: max-content; align-items: flex-start; animation: dscMfrRun 52s linear infinite; }
@media (hover: hover) { .dsc-sp__marquee:hover .dsc-sp__track { animation-play-state: paused; } }
.dsc-sp__track li { flex: 0 0 150px; }
.dsc-sp__track .dsc-logo { --h: 64px; }

@media (prefers-reduced-motion: reduce) {
  .dsc-mfr__track, .dsc-sp__track { animation: none; }
  .dsc-mfr__viewport, .dsc-sp__marquee { overflow-x: auto; }
  .dsc-btn, .dsc-card > img, .dsc-tier, .dsc-mfr__card { transition: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1400px) {
  .dsc-tix__grid--5 { grid-template-columns: repeat(3, 1fr); }
  .dsc-tix__grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1100px) {
  .dsc-attr__grid { grid-template-columns: repeat(4, 1fr); gap: 30px 12px; }
  .dsc-sp__row { --cols: 4; }
}
@media (max-width: 1024px) {
  .dsc-strip__grid { grid-template-columns: repeat(3, 1fr); }
  .dsc-cards { grid-template-columns: repeat(2, 1fr); }
  .dsc-card { aspect-ratio: 4 / 3.6; }
  .dsc-main__grid { grid-template-columns: 1fr; }
  .dsc-tix__grid, .dsc-tix__grid--5, .dsc-tix__grid--4 { grid-template-columns: repeat(2, 1fr); }
  .dsc-mfr__track { --gap: 18px; }
  .dsc-mfr__card { width: 156px; }
}
@media (max-width: 900px) {
  .dsc-idea { grid-template-columns: 1fr; }
  .dsc-idea__media { min-height: 0; }
  .dsc-idea__media img { height: auto; }
}
@media (max-width: 768px) {
  .dsc-hero { min-height: clamp(560px, 82vh, 720px); }
  .dsc-hero__video--desktop { display: none; }
  .dsc-hero__video--mobile { display: block; }
  .dsc-hero__scrim { background: linear-gradient(180deg, rgba(8, 10, 15, .72) 0%, rgba(8, 10, 15, .2) 55%, rgba(8, 10, 15, 0) 70%), linear-gradient(0deg, #0C0F15 0%, rgba(12, 15, 21, 0) 22%); }
  .dsc-hero__inner { justify-content: center; padding-top: 138px; padding-bottom: 56px; }
  .dsc-hero__date { font-size: clamp(40px, 12vw, 56px); }
  .dsc-strip__grid li { padding: 24px 10px 22px; }
  .dsc-strip__grid i { font-size: 28px; margin-bottom: 12px; }
  .dsc-tix__grid, .dsc-tix__grid--5, .dsc-tix__grid--4 { grid-template-columns: 1fr; }
  .dsc .dsc-tix__grid--5 .dsc-tier__name { min-height: 0; }
  .dsc-tix__dates { display: flex; flex-direction: column; font-size: 15px; }
  .dsc-tix__dates span { justify-content: center; }
  .dsc-tix__dates span + span { border-left: 0; border-top: 1px solid var(--dsc-line); }
  .dsc-tix__group { gap: 14px; }
  .dsc-mfr__track { --gap: 14px; }
  .dsc-mfr__card { width: 136px; }
  .dsc-sp__track { --gap: 36px; }
  .dsc-sp__track li { flex-basis: 124px; }

}
@media (max-width: 560px) {
  .dsc-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .dsc-cards { grid-template-columns: 1fr; }
  .dsc-card { aspect-ratio: 4 / 3.3; }
  .dsc-attr__grid { grid-template-columns: repeat(2, 1fr); }
  .dsc-sp__row { --cols: 2; }
  .dsc-sp__titles { grid-template-columns: 1fr; }
  .dsc-sp__titleblock + .dsc-sp__titleblock::before { display: none; }
  .dsc-stats span { font-size: 11.5px; letter-spacing: .08em; }
  .dsc-show__cta .dsc-btn, .dsc-idea__body .dsc-btn { width: 100%; }
}

