/* TTmeetup Homepage 2026 — base + keyframes + responsive rules
   (extracted verbatim from the approved homepage; do not hand-edit) */
html { scroll-behavior: smooth; }
  body { margin: 0; background: #0B0716; color: #F4F1FA; font-family: 'Space Grotesk', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
  * { box-sizing: border-box; }
  a { color: #C9FF4A; text-decoration: none; }
  a:hover { color: #FFFFFF; }
  #faq a { color: #C9FF4A !important; }
  #faq a:hover, #faq a:focus, #faq a:active { color: #FFFFFF !important; }
  input { font-family: inherit; }
  @keyframes ttslide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes ttslideR { from { transform: translateX(-50%); } to { transform: translateX(0); } }
  @keyframes ttfloat { 0%,100% { transform: translateY(0) rotate(var(--r,0deg)); } 50% { transform: translateY(-12px) rotate(var(--r,0deg)); } }
  @keyframes ttpulse { 0%,100% { opacity: .35; transform: scale(1); } 50% { opacity: .8; transform: scale(1.06); } }
  @keyframes ttblink { 0%,100% { opacity: 1; } 50% { opacity: .15; } }
  @keyframes ttspin { to { transform: rotate(360deg); } }
  @keyframes ttsweep { 0% { transform: translateX(-120%); } 60%, 100% { transform: translateX(220%); } }
  @keyframes ttnudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(7px); } }
  @media (max-width: 1100px) {
    [data-desktop-nav], [data-ig] { display: none !important; }
    [data-burger] { display: flex !important; }
    #tt-header { padding: 12px 18px !important; }
  }
  @media (max-width: 760px) {
    [data-row] > span:nth-child(1) { display: none; }
    [data-row]:hover { transform: none !important; }
    [data-row-hero] { grid-template-columns: 1fr !important; row-gap: 12px; padding: 26px 22px !important; }
    [data-row-hero] > span:nth-child(3) { justify-self: start; }
    [data-row-hero]:hover { transform: none !important; }
  }
  @media (max-width: 640px) {
    #telegram > div { padding: 34px 22px !important; }
  }
  @media (hover: none) {
    a:active, button:active { transform: scale(0.97) !important; }
    [data-row]:active, [data-row-hero]:active { background: rgba(201,255,74,0.12) !important; border-color: rgba(201,255,74,0.5) !important; }
  }
  @media (max-width: 760px) {
    /* verticals: 3 rows */
    [data-screen-label="Verticals ticker"] > div:nth-child(n+4) { display: none !important; }
    [data-screen-label="Verticals ticker"] { padding: 20px 0 !important; gap: 12px !important; }
    [data-screen-label="Verticals ticker"] span { font-size: 16px !important; letter-spacing: 0 !important; }
    [data-screen-label="Verticals ticker"] > div { -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
    [data-screen-label="Verticals ticker"] > div > div { gap: 30px !important; }
    /* event rows thinner */
    [data-row] { display: grid !important; grid-template-columns: 1fr auto auto !important; align-items: center !important; column-gap: 10px !important; row-gap: 0 !important; padding: 11px 14px !important; border-radius: 12px !important; }
    [data-row-hero] { padding: 14px 16px !important; border-radius: 14px !important; row-gap: 8px !important; }
    [data-row] > span:nth-child(2) { font-size: 17px !important; }
    [data-row-hero] > span:nth-child(1) { font-size: 22px !important; }
    [data-row] > span:nth-child(3) { font-size: 11px !important; }
    [data-row-hero] > span:nth-child(2) { font-size: 12px !important; }
    [data-row] > span:nth-child(4) { padding: 6px 11px !important; font-size: 10px !important; }
    [data-row-hero] > span:nth-child(3) { padding: 8px 14px !important; font-size: 12px !important; justify-self: start; }
    #events > div:last-of-type { gap: 8px !important; }
    #events h2 { font-size: 30px !important; }
    #events { padding: 34px 18px 18px !important; }
    #why { padding: 0 18px 48px !important; }
    #events > div:first-of-type { margin-bottom: 22px !important; gap: 10px !important; }
    /* why: hide intro paragraph, keep 5 cards, thinner */
    #why [data-intro-p] { display: none !important; }
    #why [data-card]:nth-of-type(5), #why [data-card]:nth-of-type(7), #why [data-card]:nth-of-type(8) { display: none !important; }
    #why [data-card] { padding: 18px 18px 16px !important; border-radius: 16px !important; }
    #why [data-card] h3 { font-size: 19px !important; margin: 10px 0 6px !important; }
    #why [data-card] p { font-size: 13px !important; }
    #why > div:last-of-type { gap: 10px !important; }
    #why h2 { font-size: 22px !important; }
    #why > div:first-of-type { padding: 22px 18px !important; gap: 22px !important; margin-top: 0 !important; margin-bottom: 28px !important; }
    #why [data-chip] { font-size: 10px !important; padding: 6px 10px !important; }
    /* speaker / sponsor */
    #apply { padding: 0 18px 60px !important; }
    #apply h2 { font-size: 28px !important; }
    #apply > div:nth-of-type(2) { gap: 12px !important; }
    #apply a[href*="_reg_26"] { min-height: 0 !important; gap: 14px !important; padding: 20px 20px !important; border-radius: 18px !important; }
    #apply a[href*="_reg_26"] span:nth-child(2) { font-size: 38px !important; }
    #apply a[href*="_reg_26"] p { font-size: 13px !important; }
    #apply a[href*="_reg_26"] > span:last-child { font-size: 14px !important; }
    /* sponsors strip + visible scrollbar */
    [data-sponsor-grid] { display: grid !important; grid-auto-flow: column !important; grid-template-rows: repeat(4, auto) !important; grid-template-columns: none !important; grid-auto-columns: 104px !important; overflow-x: auto !important; scroll-snap-type: x proximity; padding-bottom: 14px !important; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #C9FF4A rgba(255,255,255,0.1); }
    [data-sponsor-grid]::-webkit-scrollbar { height: 6px; }
    [data-sponsor-grid]::-webkit-scrollbar-track { background: rgba(255,255,255,0.08); border-radius: 999px; }
    [data-sponsor-grid]::-webkit-scrollbar-thumb { background: #C9FF4A; border-radius: 999px; }
    [data-sponsor-grid] > * { scroll-snap-align: start; }
    [data-sponsor-grid] > a { display: block; height: auto !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; }
    [data-sponsor-grid] img { height: 52px !important; padding: 8px 10px !important; border-radius: 12px !important; }
    #sponsors { padding-bottom: 60px !important; }
    #sponsors h2 { font-size: 32px !important; }
    /* partners */
    [data-media-track] > div { grid-template-columns: repeat(4, 1fr) !important; grid-template-rows: repeat(4, auto) !important; gap: 7px !important; }
    [data-media-track] img { height: 46px !important; padding: 6px !important; border-radius: 10px !important; }
    [data-screen-label="Partners"] { padding: 0 18px 60px !important; gap: 34px !important; }
    [data-screen-label="Partners"] h2 { font-size: 26px !important; }
    [data-screen-label="Partners"] > div:first-child img { height: 66px !important; }
    /* header + hero */
    #tt-header { padding: 10px 14px !important; gap: 8px !important; }
    #tt-header a[href="#top"] span:last-child { font-size: 16px !important; }
    #tt-header a[href*="telegram"] { padding: 10px 14px !important; font-size: 13px !important; }
    #top { padding: 104px 18px 32px !important; min-height: 0 !important; }
    #top h1 { font-size: clamp(48px, 16vw, 86px) !important; }
    #top > div:nth-of-type(3) { display: flex !important; flex-direction: column-reverse !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 18px !important; }
    #top > div:nth-of-type(3) > div:first-child { flex: 0 0 auto !important; width: 100% !important; min-width: 0 !important; max-width: none !important; gap: 16px !important; }
    #top > div:nth-of-type(3) > div:last-child { flex: 0 0 auto !important; width: 100% !important; min-width: 0 !important; max-width: none !important; height: 150px !important; border-radius: 20px !important; }
    #top > div:nth-of-type(3) p { font-size: 14px !important; }
    #top > div:nth-of-type(3) > div:first-child > div:last-child { flex-wrap: nowrap !important; gap: 8px !important; }
    #top [data-magnet] { padding: 13px 10px !important; font-size: 12px !important; white-space: nowrap !important; flex: 1 1 0 !important; min-width: 0 !important; justify-content: center; }
    #telegram { padding: 0 18px !important; margin-bottom: 60px !important; }
    #telegram h2 { font-size: 30px !important; }
    footer > div { padding: 44px 18px !important; gap: 30px !important; }
  }
  @media (max-width: 380px) {
    #top > div:nth-of-type(3) > div:first-child > div:last-child { flex-wrap: wrap !important; gap: 9px !important; }
    #top [data-magnet] { flex: 1 1 100% !important; width: 100% !important; padding: 14px 12px !important; font-size: 13px !important; }
  }
  @media (prefers-reduced-motion: reduce) { * { animation-duration: .001ms !important; transition-duration: .001ms !important; } }

/* hover states, converted 1:1 from the design's per-element hover styles */
.tth1:hover{color: #FFFFFF;}
.tth2:hover{background: rgba(255,255,255,0.08); color: #FFFFFF;}
.tth3:hover{background: linear-gradient(135deg, #C9FF4A, #7B5CFF); border-color: transparent; transform: translateY(-2px);}
.tth4:hover{color: #0B0716; transform: translateY(-2px); box-shadow: 0 12px 30px -8px rgba(201,255,74,0.7);}
.tth5:hover{color: #0B0716; transform: translateY(-3px); box-shadow: 0 18px 40px -12px rgba(201,255,74,0.75);}
.tth6:hover{color: #0B0716; background: #FFFFFF; border-color: #FFFFFF;}
.tth7:hover{color: #FFFFFF; transform: translateX(10px); box-shadow: 0 20px 50px -20px rgba(201,255,74,0.5);}
.tth8:hover{background: rgba(201,255,74,0.1); border-color: rgba(201,255,74,0.45); color: #FFFFFF; transform: translateX(10px);}
.tth9:hover{border-color: rgba(201,255,74,0.45); transform: translateY(-4px);}
.tth10:hover{border-color: rgba(155,123,255,0.5); transform: translateY(-4px);}
.tth11:hover{background: rgba(255,255,255,0.07); border-color: rgba(201,255,74,0.4); transform: translateY(-6px);}
.tth12:hover{background: rgba(255,255,255,0.07); border-color: rgba(155,123,255,0.5); transform: translateY(-6px);}
.tth13:hover{color: #0B0716; background: #C9FF4A; border-color: #C9FF4A; transform: translateY(-8px);}
.tth14:hover{color: #FFFFFF; background: #7B5CFF; border-color: #7B5CFF; transform: translateY(-8px);}
#apply a.tth13:hover{color:#0B0716 !important;background:#C9FF4A !important;border-color:#C9FF4A !important;transform:translateY(-8px) !important;}
#apply a.tth14:hover{color:#FFFFFF !important;background:#7B5CFF !important;border-color:#7B5CFF !important;transform:translateY(-8px) !important;}
.tth15:hover{color: #0B0716; transform: translateY(-3px); box-shadow: 0 20px 44px -12px rgba(201,255,74,0.8);}
.tth16:hover{transform: translateY(-2px); box-shadow: 0 14px 30px -10px rgba(201,255,74,0.7);}
.tth17:hover{color: #C9FF4A;}
.tth18:hover{background: #C9FF4A; color: #0B0716;}
.tth19:hover{background: #FFFFFF; color: #0B0716;}
