    * { scroll-behavior: smooth; }
    body { font-family: 'Montserrat', sans-serif; background: #171717; color: #fff; overflow-x: hidden; }
    h1,h2,h3,h4 { font-family: 'Poppins', sans-serif; }

    /* dot-grid texture */
    .dot-grid {
      background-image: radial-gradient(circle, #1A6DB8 1px, transparent 1px);
      background-size: 22px 22px;
    }
    .dot-grid-dark {
      background-image: radial-gradient(circle, rgba(255,255,255,0.08) 1px, transparent 1px);
      background-size: 22px 22px;
    }
    .dot-grid-gold {
      background-image: radial-gradient(circle, rgba(251,192,45,0.18) 1px, transparent 1px);
      background-size: 20px 20px;
    }


  /* scroll animations */
    .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }

    /* CTA button hover */
    .cta-btn {
      position: relative;
      overflow: hidden;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .cta-btn::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(255,255,255,0.12);
      transform: translateX(-100%);
      transition: transform 0.3s ease;
    }
    .cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(26,109,184,0.45); }
    .cta-btn:hover::after { transform: translateX(0); }

    /* nav */
    nav { transition: background 0.3s, backdrop-filter 0.3s; }
    nav.scrolled { background: rgba(23,23,23,0.96); backdrop-filter: blur(12px); }
    .application-gradient-outline {
      border: 3px solid transparent !important;
      background:
        linear-gradient(#1A6DB8, #1A6DB8) padding-box,
        linear-gradient(100deg, #1A6DB8 0%, #FBC02D 52%, #F29400 100%) border-box !important;
      background-origin: border-box;
      background-clip: padding-box, border-box;
      color: #fff !important;
      box-shadow: 0 8px 20px rgba(242,148,0,0.2);
    }
    .application-gradient-outline:hover {
      background:
        linear-gradient(#155b9b, #155b9b) padding-box,
        linear-gradient(100deg, #1A6DB8 0%, #FBC02D 52%, #F29400 100%) border-box !important;
      filter: saturate(1.08) brightness(1.05);
      color: #fff !important;
    }

    /* lightbulb icon SVG */
    .bulb-icon svg { display: block; }

    /* step connector line */
    .step-line::after {
      content: '';
      position: absolute;
      top: 28px;
      left: calc(50% + 36px);
      width: calc(100% - 72px);
      height: 2px;
      background: linear-gradient(90deg, #1A6DB8, #FBC02D);
    }

    /* tag pill */
    .tag { display: inline-block; font-family: 'Poppins', sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; }

    /* conversion-focused hero */
    .conversion-hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
      gap: 4rem;
      align-items: center;
    }
    .conversion-hero-grid > * { min-width: 0; }
    .hero-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
    .hero-fact {
      display: flex; flex-direction: column; align-items: flex-start; gap: 0.28rem;
      border: 1px solid rgba(255,255,255,0.12);
      background: rgba(255,255,255,0.05);
      color: rgba(255,255,255,0.78);
      padding: 0.8rem 0.95rem;
      border-radius: 0.9rem;
      font-size: 0.86rem;
      line-height: 1.35;
    }
    .hero-fact-label {
      color: #FBC02D;
      font-family: 'Sora', sans-serif;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }
    .hero-fact-value {
      color: rgba(255,255,255,0.82);
    }
    .hero-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
    .hero-stat + .hero-stat { border-left: 1px solid rgba(255,255,255,0.1); padding-left: 1.5rem; }

    /* day-of schedule timeline */
    .day-timeline {
      position: relative;
      max-width: 58rem;
      margin: 0 auto;
    }
    .day-timeline::before {
      content: '';
      position: absolute;
      top: 0.85rem;
      bottom: 0.85rem;
      left: 9.8rem;
      width: 2px;
      background: linear-gradient(180deg, rgba(26,109,184,0.7), rgba(251,192,45,0.8));
    }
    .day-timeline-item {
      position: relative;
      display: grid;
      grid-template-columns: 8.5rem minmax(0, 1fr);
      gap: 2.7rem;
      align-items: start;
      padding-bottom: 0.9rem;
    }
    .day-timeline-time {
      padding-top: 0.8rem;
      color: #1A6DB8;
      font-family: 'Poppins', sans-serif;
      font-size: 0.76rem;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: 0.01em;
      text-align: right;
    }
    .day-timeline-marker {
      position: absolute;
      top: 0.85rem;
      left: 9.8rem;
      z-index: 1;
      width: 0.8rem;
      height: 0.8rem;
      border: 3px solid #fff;
      border-radius: 999px;
      background: #1A6DB8;
      box-shadow: 0 0 0 2px rgba(26,109,184,0.28);
      transform: translateX(-50%);
    }
    .day-timeline-content {
      min-width: 0;
      padding: 0.8rem 1.1rem 0.85rem;
      border: 1px solid rgba(23,23,23,0.08);
      border-radius: 0.85rem;
      background: #fff;
      box-shadow: 0 5px 18px rgba(23,23,23,0.04);
    }
    .day-timeline-title {
      color: #171717;
      font-family: 'Poppins', sans-serif;
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.35;
    }
    .day-timeline-note {
      margin-top: 0.24rem;
      color: #6b7280;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.78rem;
      line-height: 1.45;
    }
    .day-timeline-item.error .day-timeline-marker {
      background: #dc2626;
      box-shadow: 0 0 0 2px rgba(220,38,38,0.2);
    }
    .day-timeline-item.error .day-timeline-time,
    .day-timeline-item.error .day-timeline-title {
      color: #b91c1c;
    }
    .day-timeline-item.error .day-timeline-content {
      border-color: rgba(220,38,38,0.35);
      background: linear-gradient(135deg, #fff7f7, #fff);
      box-shadow: inset 4px 0 0 #dc2626, 0 5px 18px rgba(220,38,38,0.07);
    }
    .legacy-day-format { display: none; }
    @media (max-width: 640px) {
      .day-timeline::before {
        left: 0.45rem;
      }
      .day-timeline-item {
        display: block;
        padding: 0 0 0.85rem 1.65rem;
      }
      .day-timeline-marker {
        left: 0.45rem;
        top: 0.95rem;
      }
      .day-timeline-time {
        padding-top: 0;
        margin-bottom: 0.35rem;
        text-align: left;
        font-size: 0.72rem;
      }
      .day-timeline-content {
        padding: 0.75rem 0.9rem 0.8rem;
      }
      .day-timeline-title {
        font-size: 0.93rem;
      }
    }

    /* horizontal schedule scroll inspired by event-program timelines */
    .day-timeline {
      max-width: none;
      display: flex;
      align-items: flex-start;
      overflow-x: auto;
      overflow-y: hidden;
      margin: 0 -0.75rem;
      padding: 0.35rem 0.75rem 1.15rem;
      scroll-snap-type: x proximity;
      scrollbar-width: thin;
      scrollbar-color: rgba(26,109,184,0.45) rgba(23,23,23,0.08);
    }
    .day-timeline::-webkit-scrollbar { height: 0.65rem; }
    .day-timeline::-webkit-scrollbar-track {
      margin: 0 0.75rem;
      border-radius: 999px;
      background: rgba(23,23,23,0.07);
    }
    .day-timeline::-webkit-scrollbar-thumb {
      border-radius: 999px;
      background: rgba(26,109,184,0.45);
    }
    .day-timeline::before {
      top: 3.7rem;
      right: 0.75rem;
      bottom: auto;
      left: 0.75rem;
      width: auto;
      height: 2px;
      background: linear-gradient(90deg, #1A6DB8, #FBC02D);
    }
    .day-timeline-item {
      display: flex;
      flex: 0 0 14rem;
      box-sizing: border-box;
      flex-direction: column;
      gap: 0;
      min-height: 14.5rem;
      padding: 0 0.65rem;
      scroll-snap-align: start;
    }
    .day-timeline-time {
      min-height: 2.55rem;
      padding: 0;
      text-align: left;
      font-size: 0.72rem;
    }
    .day-timeline-marker {
      top: 3.28rem;
      left: 1.4rem;
      width: 0.82rem;
      height: 0.82rem;
    }
    .day-timeline-content {
      display: flex;
      box-sizing: border-box;
      flex-direction: column;
      height: 8.25rem;
      min-height: 8.25rem;
      margin-top: 1.82rem;
      padding: 0.9rem 0.95rem;
    }
    .day-timeline-title { font-size: 0.95rem; }
    .day-timeline-note { font-size: 0.74rem; }
    @media (max-width: 640px) {
      .day-timeline { margin: 0 -0.5rem; padding-right: 0.5rem; padding-left: 0.5rem; }
      .day-timeline::before { right: 0.5rem; left: 0.5rem; }
      .day-timeline-item { flex-basis: 11.5rem; min-height: 14rem; padding: 0 0.5rem; }
      .day-timeline-marker { left: 1.25rem; }
      .day-timeline-content { height: 8.25rem; min-height: 8.25rem; }
    }

    /* horizontal lane schedule, modeled on event-program timelines */
    .day-timeline { display: none; }
    .schedule-board {
      margin: 0 auto;
      padding: 0.8rem 1rem 0.65rem;
      overflow: hidden;
      border: 1px solid rgba(26,109,184,0.18);
      border-radius: 1.25rem;
      background: linear-gradient(135deg, rgba(241,248,255,0.74), rgba(218,237,252,0.52));
      -webkit-backdrop-filter: blur(18px) saturate(125%);
      backdrop-filter: blur(18px) saturate(125%);
      box-shadow: 0 18px 48px rgba(26,109,184,0.12), inset 0 1px 0 rgba(255,255,255,0.72);
    }
    .schedule-board-scroll {
      overflow-x: auto;
      overflow-y: hidden;
      scrollbar-width: thin;
      scrollbar-color: rgba(26,109,184,0.5) rgba(26,109,184,0.1);
    }
    .schedule-board-scroll::-webkit-scrollbar { height: 0.7rem; }
    .schedule-board-scroll::-webkit-scrollbar-track {
      margin: 0 0.25rem;
      border-radius: 999px;
      background: rgba(26,109,184,0.1);
    }
    .schedule-board-scroll::-webkit-scrollbar-thumb {
      border-radius: 999px;
      background: rgba(26,109,184,0.5);
    }
    .schedule-board-canvas {
      width: 240rem;
      min-width: 240rem;
      padding-right: 0;
      box-sizing: border-box;
    }
    .schedule-board-header,
    .schedule-board-row {
      display: grid;
      grid-template-columns: 11rem minmax(0, 1fr);
      gap: 1rem;
    }
    .schedule-board-header {
      height: 2.8rem;
      align-items: end;
      padding-bottom: 0.35rem;
    }
    .schedule-board-label {
      align-self: center;
      color: rgba(23,70,112,0.82);
      font-family: 'Poppins', sans-serif;
      font-size: 0.76rem;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0.08em;
      text-align: right;
      text-transform: uppercase;
    }
    .schedule-board-header .schedule-board-label { color: rgba(23,70,112,0.52); }
    .schedule-board-track {
      position: relative;
      min-width: 0;
      height: 4.9rem;
      border: 1px solid rgba(26,109,184,0.12);
      border-radius: 0.65rem;
      background-color: rgba(26,109,184,0.075);
      background-image: none;
    }
    .schedule-board-hour-track {
      height: 2.8rem;
      border-bottom: 1px solid rgba(26,109,184,0.22);
      border-radius: 0;
      background: none;
    }
    .schedule-board-hour-label {
      position: absolute;
      bottom: 0.4rem;
      color: rgba(23,70,112,0.78);
      font-family: 'Poppins', sans-serif;
      font-size: 0.78rem;
      font-weight: 600;
      white-space: nowrap;
      transform: translateX(-50%);
    }
    .schedule-board-hour-label.start { transform: none; }
    .schedule-board-hour-label.end { transform: translateX(-100%); }
    .schedule-board-grid-line {
      position: absolute;
      top: 0;
      bottom: 0;
      left: var(--grid-left);
      width: 1px;
      pointer-events: none;
      background: rgba(26,109,184,0.17);
    }
    .schedule-board-grid-line.half {
      background: rgba(26,109,184,0.09);
      border-left: 1px dashed rgba(26,109,184,0.13);
    }
    .schedule-board-row { margin-bottom: 0.35rem; }
    .schedule-board-event {
      position: absolute;
      top: 0.35rem;
      left: var(--event-left);
      width: var(--event-width);
      height: 4.1rem;
      box-sizing: border-box;
      overflow: hidden;
      padding: 0.45rem 0.6rem;
      border: 1px solid rgba(23,23,23,0.14);
      border-radius: 0.55rem;
      color: #fff;
      box-shadow: 0 3px 10px rgba(0,0,0,0.2);
      transition: transform 0.15s ease, box-shadow 0.15s ease;
      z-index: 1;
    }
    .schedule-board-event:hover,
    .schedule-board-event:focus-visible {
      z-index: 2;
      outline: none;
      box-shadow: 0 7px 18px rgba(0,0,0,0.3);
      transform: translateY(-2px);
    }
    .schedule-board-event.blue { background: #1A6DB8; }
    .schedule-board-event.gold { background: #FBC02D; color: #171717; }
    .schedule-board-event.orange { background: #F29400; }
    .schedule-board-event.dark { background: #36516a; }
    .schedule-board-event.error { background: #dc2626; border-color: #fca5a5; }
    .schedule-board-event.error .schedule-board-event-note {
      overflow: hidden;
      white-space: normal;
      overflow-wrap: anywhere;
      text-overflow: ellipsis;
      font-size: 0.62rem;
      font-weight: 400;
      line-height: 1.1;
    }
    .schedule-board-event-title {
      display: block;
      overflow: hidden;
      font-family: 'Poppins', sans-serif;
      font-size: 0.76rem;
      font-weight: 700;
      line-height: 1.22;
      overflow-wrap: anywhere;
    }
    .schedule-board-event-time,
    .schedule-board-event-note {
      display: block;
      overflow: hidden;
      margin-top: 0.15rem;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.6rem;
      line-height: 1.2;
      opacity: 0.78;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .schedule-board-event-note { margin-top: 0.2rem; }
    .schedule-board-milestone {
      position: absolute;
      top: 0;
      left: var(--event-left);
      height: 100%;
      transform: translateX(-0.45rem);
      z-index: 1;
    }
    .schedule-board-milestone-marker {
      position: absolute;
      top: 0.35rem;
      left: 0.45rem;
      width: 0.8rem;
      height: 0.8rem;
      border: 3px solid rgba(241,248,255,0.95);
      border-radius: 999px;
      background: #FBC02D;
      box-shadow: 0 0 0 2px rgba(193,143,0,0.28);
    }
    .schedule-board-milestone-card {
      position: absolute;
      top: 1.25rem;
      left: -2.9rem;
      width: 7.4rem;
      box-sizing: border-box;
      padding: 0.32rem 0.45rem;
      border: 1px solid rgba(23,23,23,0.12);
      border-radius: 0.55rem;
      background: #FBC02D;
      color: #171717;
      box-shadow: 0 3px 10px rgba(0,0,0,0.12);
      font-family: 'Poppins', sans-serif;
      font-size: 0.62rem;
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
    }
    .schedule-board-milestone-time {
      display: block;
      margin-top: 0.15rem;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.54rem;
      font-weight: 500;
      opacity: 0.72;
    }
    .schedule-board-legend {
      margin: 0.55rem 0 0;
      color: rgba(23,70,112,0.65);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.67rem;
      text-align: center;
    }
    #schedule {
      position: relative;
      border-top: 1px solid rgba(23,23,23,0.08);
      border-bottom: 1px solid rgba(16,45,71,0.14);
    }
    #schedule::before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      height: 2.25rem;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(23,23,23,0.08), rgba(255,255,255,0));
    }
    #schedule::after {
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 1.5rem;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(255,255,255,0), rgba(16,45,71,0.1));
    }
    #schedule > * { position: relative; z-index: 1; }
    @media (max-width: 640px) {
      .schedule-board { margin: 0 -0.5rem; padding-right: 0.75rem; padding-left: 0.75rem; border-radius: 1rem; }
      .schedule-board-canvas { width: 270rem; min-width: 270rem; }
      .schedule-board-header, .schedule-board-row { grid-template-columns: 8rem minmax(0, 1fr); gap: 0.75rem; }
      .schedule-board-header { height: 2.6rem; }
      .schedule-board-track { height: 4.5rem; }
      .schedule-board-hour-track { height: 2.6rem; }
      .schedule-board-label { font-size: 0.64rem; }
      .schedule-board-event { top: 0.3rem; height: 3.75rem; padding: 0.42rem 0.5rem; }
      .schedule-board-event-title { font-size: 0.68rem; }
      .schedule-board-event-time, .schedule-board-event-note { font-size: 0.56rem; }
    }
    /* prizes */
    .prizes-section {
      position: relative;
      overflow: hidden;
      background: linear-gradient(180deg, #102d47 0%, #123b5a 100%);
      border: none;
    }
    .prizes-section::before {
      content: '';
      position: absolute;
      top: 3rem;
      left: 8%;
      width: 13rem;
      height: 13rem;
      border-radius: 999px;
      background: rgba(26,109,184,0.08);
      filter: blur(12px);
      pointer-events: none;
    }
    .prizes-section::after {
      content: '';
      position: absolute;
      right: 8%;
      bottom: 1rem;
      width: 11rem;
      height: 11rem;
      border-radius: 999px;
      background: rgba(251,192,45,0.12);
      filter: blur(14px);
      pointer-events: none;
    }
    .prizes-inner { position: relative; z-index: 1; }
    .prize-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      align-items: stretch;
    }
    .prize-card {
      position: relative;
      display: flex;
      min-height: 14rem;
      flex-direction: column;
      height: 100%;
      overflow: hidden;
      padding: 1.25rem;
      border: 1px solid rgba(26,109,184,0.16);
      border-top: 4px solid var(--prize-accent, #1A6DB8);
      border-radius: 1.15rem;
      background: rgba(8,24,39,0.78);
      -webkit-backdrop-filter: blur(16px) saturate(120%);
      backdrop-filter: blur(16px) saturate(120%);
      box-shadow: 0 12px 30px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.12);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .prize-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 17px 34px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.16);
    }
    .prize-card--featured {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: max-content auto minmax(0, 22rem);
      align-items: center;
      justify-content: center;
      column-gap: clamp(1rem, 2.5vw, 2rem);
      min-height: 14rem;
      padding: 1rem 1.4rem;
      border: 3px solid transparent;
      border-color: transparent;
      background: linear-gradient(145deg, rgba(21,76,116,0.92), rgba(8,29,47,0.82)) padding-box, linear-gradient(90deg, #1A6DB8 0%, #FBC02D 50%, #F29400 100%) border-box;
      box-shadow: 0 18px 40px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.16);
    }
    .prize-card--gold { --prize-accent: #c7cdd6; border: 2px solid #c7cdd6; }
    .prize-card--orange { --prize-accent: #cd7f32; border: 2px solid #cd7f32; }
    .prize-card--blue { --prize-accent: #1A6DB8; }
    .prize-card--deep-blue { --prize-accent: #36516a; }
    .prize-place {
      color: #dceeff;
      font-family: 'Poppins', sans-serif;
      font-size: clamp(1.2rem, 1.65vw, 1.6rem);
      font-weight: 800;
      letter-spacing: 0.02em;
      line-height: 1.15;
    }
    .prize-card--featured .prize-place {
      color: #FBC02D;
      font-size: clamp(2rem, 3vw, 3.2rem);
      white-space: nowrap;
    }
    .prize-card--featured .prize-amount,
    .prize-card--featured .prize-detail { margin-top: 0; }
    .prize-card--featured .prize-detail { max-width: 22rem; }
    .prize-title {
      margin-top: 0.45rem;
      color: #fff;
      font-family: 'Poppins', sans-serif;
      font-size: 1.05rem;
      font-weight: 700;
      line-height: 1.25;
    }
    .prize-amount {
      margin-top: 0.7rem;
      color: #69b7ff;
      font-family: 'Poppins', sans-serif;
      font-size: clamp(2.7rem, 4vw, 4rem);
      font-weight: 800;
      letter-spacing: -0.045em;
      line-height: 0.98;
    }
    .prize-card--featured .prize-amount { font-size: clamp(4rem, 6vw, 6rem); }
    .prize-card--gold .prize-amount { color: #d8dee7; }
    .prize-card--orange .prize-amount { color: #e09a5b; }
    .prize-card--deep-blue .prize-amount { color: #69b7ff; }
    .prize-card--gold .prize-detail {
      max-width: 22rem;
      color: rgba(255,255,255,0.94);
      font-family: 'Poppins', sans-serif;
      font-size: clamp(1.05rem, 1.5vw, 1.3rem);
      font-weight: 700;
      line-height: 1.3;
    }
    .prize-card--gold .prize-detail-credit {
      color: rgba(255,255,255,0.68);
      font-size: clamp(0.46rem, 0.62vw, 0.6rem);
      font-weight: 600;
      line-height: 1.35;
      white-space: nowrap;
    }
    .prize-card--gold .prize-amount,
    .prize-card--orange .prize-amount {
      font-size: clamp(3.8rem, 6vw, 5.5rem);
      white-space: nowrap;
    }
    .prize-detail {
      margin-top: 0.7rem;
      padding-top: 0;
      color: rgba(225,239,251,0.72);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.9rem;
      line-height: 1.45;
    }
    .prize-card--featured .prize-detail {
      color: rgba(255,255,255,0.94);
      font-size: clamp(1.25rem, 1.8vw, 1.65rem);
      font-weight: 700;
      line-height: 1.3;
    }
    .prize-detail-credit {
      display: block;
      margin-top: 0.2rem;
      color: rgba(255,255,255,0.68);
      font-size: 0.68em;
      font-weight: 600;
    }
    .prize-total {
      margin-top: 1.25rem;
      color: rgba(225,239,251,0.78);
      font-family: 'Poppins', sans-serif;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-align: center;
      text-transform: uppercase;
    }
    #faq {
      border-top: 1px solid rgba(16,45,71,0.15);
      box-shadow: inset 0 12px 24px rgba(16,45,71,0.05);
    }
    @media (max-width: 960px) {
      .prize-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .prize-card--featured { grid-column: span 2; }
    }
    @media (max-width: 640px) {
      .prize-grid { grid-template-columns: 1fr; gap: 0.8rem; }
      .prize-card--featured { grid-column: auto; display: flex; flex-direction: column; align-items: flex-start; }
      .prize-card, .prize-card--featured { min-height: 13.5rem; padding: 1.25rem; }
      .prize-card--featured .prize-place { font-size: 1.8rem; }
      .prize-card--featured .prize-amount { font-size: 4.2rem; }
      .prize-card--featured .prize-detail { font-size: 1.15rem; }
    .prize-card--gold .prize-amount, .prize-card--orange .prize-amount { font-size: 4.5rem; }
    }

    /* Meet the team */
    .team-section {
      position: relative;
      overflow: hidden;
      color: #fff;
      background:
        radial-gradient(circle at 12% 18%, rgba(26,109,184,0.22), transparent 32%),
        radial-gradient(circle at 88% 82%, rgba(251,192,45,0.1), transparent 28%),
        linear-gradient(180deg, #0b2237 0%, #102d47 100%);
      border-top: 1px solid rgba(255,255,255,0.08);
      border-bottom: 1px solid rgba(255,255,255,0.12);
    }
    .team-section::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: 0.28;
      background-image: radial-gradient(circle, rgba(255,255,255,0.12) 1px, transparent 1px);
      background-size: 22px 22px;
      mask-image: linear-gradient(90deg, rgba(0,0,0,0.9), transparent 72%);
    }
    .team-inner { position: relative; z-index: 1; }
    .team-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: clamp(1rem, 2vw, 1.5rem);
    }
    .team-card { min-width: 0; }
    .team-card-media {
      position: relative;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.16);
      border-radius: 1rem;
      background: #fff;
      box-shadow: 0 14px 30px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.1);
      isolation: isolate;
    }
    .team-card-media img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 24%;
      transition: filter 0.35s ease, transform 0.35s ease;
    }
    .team-card-overlay {
      position: absolute;
      z-index: 3;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.25rem;
      text-align: center;
      background: linear-gradient(180deg, rgba(4,14,25,0.68), rgba(4,14,25,0.9));
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease;
    }
    .team-card-overlay-content { display: grid; justify-items: center; gap: 0.85rem; max-width: 22rem; }
    .team-card-bio {
      margin: 0;
      color: rgba(255,255,255,0.94);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.84rem;
      line-height: 1.5;
    }
    .team-card-link {
      position: relative;
      z-index: 4;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.7rem;
      height: 2.7rem;
      padding: 0;
      border: 1px solid rgba(255,255,255,0.65);
      border-radius: 0.7rem;
      background: #0A66C2;
      color: #fff;
      font-family: 'Poppins', sans-serif;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-decoration: none;
      pointer-events: auto;
      transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }
    .team-card-link:hover,
    .team-card-link:focus-visible {
      border-color: #fff;
      background: #004182;
      color: #fff;
    }
    .team-card-link svg { width: 1.35rem; height: 1.35rem; fill: currentColor; }
    .team-card-toggle {
      position: absolute;
      z-index: 2;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
      border-radius: 1rem;
      background: transparent;
      cursor: pointer;
    }
    .team-card-toggle:focus-visible {
      outline: 3px solid #FBC02D;
      outline-offset: -6px;
    }
    .team-card-media:hover img,
    .team-card:focus-within .team-card-media img,
    .team-card.is-open .team-card-media img {
      filter: blur(5px);
      transform: scale(1.045);
    }
    .team-card-media:hover .team-card-overlay,
    .team-card:focus-within .team-card-overlay,
    .team-card.is-open .team-card-overlay { opacity: 1; }
    .team-card--siddarth .team-card-media img {
      position: relative;
      top: clamp(2.5rem, 4vw, 4rem);
      object-position: center 14%;
      transform: scale(1.34);
    }
    .team-card--siddarth .team-card-media:hover img,
    .team-card--siddarth:focus-within .team-card-media img,
    .team-card--siddarth.is-open .team-card-media img { transform: scale(1.39); }
    .team-card-name {
      margin: 0.8rem 0 0;
      color: #fff;
      font-family: 'Poppins', sans-serif;
      font-size: clamp(0.95rem, 1.35vw, 1.2rem);
      font-weight: 700;
      line-height: 1.25;
      text-align: center;
    }
    .team-card--placeholder .team-card-media {
      display: grid;
      place-items: center;
      border-style: dashed;
      border-color: rgba(255,255,255,0.35);
      background: rgba(255,255,255,0.06);
    }
    .team-card-placeholder-label {
      max-width: 8rem;
      color: rgba(255,255,255,0.64);
      font-family: 'Poppins', sans-serif;
      font-size: 0.85rem;
      font-weight: 600;
      line-height: 1.35;
      text-align: center;
    }
    @media (max-width: 960px) {
      .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 640px) {
      .team-grid { grid-template-columns: 1fr; gap: 1.25rem; }
      .team-card-media { aspect-ratio: 4 / 3; }
      .team-card-name { margin-top: 0.65rem; font-size: 1.05rem; }
    }
    @media (prefers-reduced-motion: reduce) {
      .team-card-media img,
      .team-card-overlay,
      .team-card-link { transition: none; }
      .team-card-media:hover img,
      .team-card:focus-within .team-card-media img,
      .team-card.is-open .team-card-media img { transform: none; }
    }
