/* =========================================================================
   TA Tech v2 · FINAL · Light theme + Purple accent + auto-scrolling logo carousels
   ---------------------------------------------------------------------
   Scoped entirely under .tad-page--tatech. Loaded AFTER tatech.css so it wins.
   Matches client screenshot: white background, deep purple accent, navy nav,
   TA Dialogues logo (color) in header + footer, purple pill Reserve button.

   Content editing:
   · Delegate logos + all partner tier logos scroll left→right automatically.
     To add/remove/reorder a logo, edit the <img> list in the HTML. The JS
     duplicates the strip once at page-load for a seamless loop, so you never
     touch the duplicate — just the source list.
   · No hover animation on logos.
   ========================================================================= */

/* ---- Brand fonts · self-hosted for WP portability ---------------------
   Google Fonts URL in <head> is the fast path (already loaded).
   These @font-face rules point at the local .ttf files so the WP theme
   works even if fonts.googleapis.com is blocked / offline.
   Full family (all weights) lives under assets/fonts/<Family>/static/.
   Only the two most-used weights are pre-declared here — add more as needed.
   ---------------------------------------------------------------------- */
@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat/static/Montserrat-Regular.ttf") format("truetype");
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat/static/Montserrat-Bold.ttf") format("truetype");
    font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat/static/Montserrat-ExtraBold.ttf") format("truetype");
    font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
    font-family: "Open Sans";
    src: url("../fonts/Open_Sans/static/OpenSans-Regular.ttf") format("truetype");
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: "Open Sans";
    src: url("../fonts/Open_Sans/static/OpenSans-SemiBold.ttf") format("truetype");
    font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
    font-family: "Playfair Display";
    src: url("../fonts/Playfair_Display/static/PlayfairDisplay-Bold.ttf") format("truetype");
    font-weight: 700; font-style: normal; font-display: swap;
}

/* ---- Purple palette + light base ------------------------------------- */
.tad-page--tatech {
    /* Client brief · headings → Montserrat (replaces HK Modular) · text → Fira Code */
    --tt-font-display: "Montserrat", "Chakra Petch", "Space Grotesk", sans-serif;
    --tt-font-text:    "Fira Code", ui-monospace, "SFMono-Regular", Menlo, monospace;
    --tt-font-body:    "Open Sans", "Fira Code", ui-sans-serif, system-ui, sans-serif;

    --tt-purple:        #6D28D9;
    --tt-purple-hover:  #5B21B6;
    --tt-purple-soft:   rgba(109, 40, 217, 0.08);
    --tt-purple-line:   rgba(109, 40, 217, 0.24);
    --tt-ink:           #0B1B3B;
    --tt-ink-muted:     #4A5A7A;
    --tt-bg:            #FFFFFF;
    --tt-bg-alt:        #F8F5FF;
    --tt-border:        #E7E3F5;
    --tt-divider:       #EFECF8;

    background: var(--tt-bg) !important;
    color: var(--tt-ink) !important;
    font-family: var(--tt-font-text);
}
/* Every heading in the TA Tech page adopts the display stack (HK Modular
   → Chakra Petch fallback). Body copy stays on Fira Code as per the brief. */
.tad-page--tatech h1,
.tad-page--tatech h2,
.tad-page--tatech h3,
.tad-page--tatech h4,
.tad-page--tatech .tt-h1,
.tad-page--tatech .tt-h2,
.tad-page--tatech .tt-h3,
.tad-page--tatech .tt-hero__title,
.tad-page--tatech .tt-hero__theme { font-family: var(--tt-font-display) !important; }
.tad-page--tatech * { box-sizing: border-box; }

.tad-page--tatech .tad-chip {
    background: var(--tt-purple-soft) !important;
    color: var(--tt-purple) !important;
    border: 1px solid var(--tt-purple-line);
}

/* ---- Tagback (top + bottom) → light --------------------------------- */
.tad-page--tatech .tad-tagback {
    background: #F5F0FA !important;
    border-color: var(--tt-border) !important;
    color: var(--tt-ink) !important;
    backdrop-filter: none;
}
.tad-page--tatech .tad-tagback__link { color: var(--tt-ink-muted) !important; }
.tad-page--tatech .tad-tagback__link:hover { color: var(--tt-purple) !important; }
.tad-page--tatech .tad-tagback__meta,
.tad-page--tatech .tad-tagback__meta strong { color: var(--tt-ink) !important; }
.tad-page--tatech .tad-tagback__meta a { color: var(--tt-purple) !important; }

/* ---- Header ---------------------------------------------------------- */
.tad-page--tatech .tad-header {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--tt-border) !important;
    position: sticky; top: 0; z-index: 40; backdrop-filter: none;
}
.tad-page--tatech .tad-header__inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--tad-space-5); min-height: 82px;
}
.tad-page--tatech .tad-header__logo--real img {
    height: 44px; width: auto; display: block; filter: none !important;
}
.tad-page--tatech .tad-header__nav { display: flex; gap: var(--tad-space-6); margin-left: auto; margin-right: var(--tad-space-5); }
.tad-page--tatech .tad-header__nav-link {
    color: var(--tt-ink) !important; text-decoration: none;
    font-family: var(--tt-font-display);
    font-weight: 700 !important; font-size: 13px !important;
    letter-spacing: 0.1em; text-transform: uppercase;
    transition: color 180ms ease;
}
.tad-page--tatech .tad-header__nav-link:hover { color: var(--tt-purple) !important; text-shadow: none !important; }
.tad-page--tatech .tad-header__menu-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 8px; }
.tad-page--tatech .tad-header__menu-toggle span { display: block; width: 22px; height: 2px; background: var(--tt-ink); border-radius: 2px; margin: 5px 0; }

/* ---- Buttons -------------------------------------------------------- */
.tad-page--tatech .tad-btn {
    border-radius: 999px;
    font-family: var(--tt-font-display);
    font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
    transition: transform 200ms ease, box-shadow 240ms ease, background-color 180ms ease, color 180ms ease;
}
.tad-page--tatech .tad-btn--primary {
    background: var(--tt-purple) !important; color: #FFFFFF !important;
    border: 1.5px solid var(--tt-purple) !important; box-shadow: none !important;
}
.tad-page--tatech .tad-btn--primary:hover {
    background: var(--tt-purple-hover) !important; border-color: var(--tt-purple-hover) !important;
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -8px rgba(109, 40, 217, 0.4), 0 6px 12px -4px rgba(109, 40, 217, 0.25) !important;
}
.tad-page--tatech .tad-btn--ghost {
    background: transparent !important; color: var(--tt-purple) !important;
    border: 1.5px solid var(--tt-purple) !important;
}
.tad-page--tatech .tad-btn--ghost:hover {
    background: var(--tt-purple-soft) !important; transform: translateY(-3px);
    box-shadow: 0 10px 22px -8px rgba(109, 40, 217, 0.25) !important;
}

/* ---- HERO · split-grid: image LEFT, text RIGHT ---------------------- */
.tad-page--tatech .tt-hero {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8F5FF 100%) !important;
    padding-block: clamp(48px, 6vw, 88px) !important;
    color: var(--tt-ink);
}
.tad-page--tatech .tad-hero__hex,
.tad-page--tatech .tad-hero__scanline,
.tad-page--tatech .tt-hero__scanline { display: none !important; }
.tad-page--tatech .tt-hero__grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
    position: relative; z-index: 2;
}
.tad-page--tatech .tt-hero__media {
    display: flex; align-items: center; justify-content: center;
    padding: var(--tad-space-4);
}
.tad-page--tatech .tt-hero__logo {
    width: 100%; max-width: 460px; height: auto; display: block;
    border-radius: 20px;
    box-shadow: 0 30px 80px -20px rgba(109, 40, 217, 0.35),
                0 12px 32px -12px rgba(109, 40, 217, 0.25);
    filter: none;
}
.tad-page--tatech .tt-hero__body { text-align: left; }
.tad-page--tatech .tt-hero__eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 18px;
    background: var(--tt-purple-soft) !important;
    border: 1px solid var(--tt-purple-line) !important;
    color: var(--tt-purple) !important;
    border-radius: 999px;
    font-family: var(--tt-font-display); font-weight: 700;
    font-size: 12px !important; letter-spacing: 0.14em !important;
    text-transform: uppercase; margin-bottom: var(--tad-space-5);
}
.tad-page--tatech .tt-hero__eyebrow-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--tt-purple); box-shadow: 0 0 0 4px rgba(109, 40, 217, 0.18);
}
.tad-page--tatech .tt-hero__title {
    font-family: var(--tt-font-display);
    font-weight: 700; font-size: clamp(2.5rem, 5vw, 4rem);
    line-height: 1; letter-spacing: -0.02em;
    color: var(--tt-ink) !important;
    margin: 0 0 var(--tad-space-3);
}
.tad-page--tatech .tt-hero__theme,
.tad-page--tatech .tad-hero__theme {
    color: var(--tt-purple) !important; text-shadow: none !important;
    font-family: var(--tt-font-display); font-style: italic;
    font-size: clamp(1.4rem, 2.2vw, 1.9rem);
    line-height: 1.15;
    margin: 0 0 var(--tad-space-5);
}
.tad-page--tatech .tt-hero__sub {
    color: var(--tt-ink-muted) !important;
    max-width: 54ch; font-size: 1.05rem; line-height: 1.6;
    margin: 0 0 var(--tad-space-6);
}
.tad-page--tatech .tt-hero__ctas { display: flex; gap: 10px; flex-wrap: wrap; }

/* ---- Section base -------------------------------------------------- */
.tad-page--tatech .tt-section {
    padding-block: clamp(48px, 6vw, 88px);
    text-align: center; background: var(--tt-bg);
}
.tad-page--tatech .tt-eyebrow {
    display: inline-block; font-family: "Fira Code", monospace;
    font-size: 11px !important; letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--tt-purple) !important; margin-bottom: var(--tad-space-3);
}
.tad-page--tatech .tt-h2 {
    font-family: var(--tt-font-display);
    font-weight: 700; font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.15; color: var(--tt-ink) !important;
    margin: 0 auto var(--tad-space-4); max-width: 24ch;
}
.tad-page--tatech .tt-lead {
    color: var(--tt-ink-muted) !important;
    max-width: 62ch; margin: 0 auto var(--tad-space-6);
}
.tad-page--tatech .tt-chips {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: 10px; margin-bottom: var(--tad-space-5);
}

/* ---- Flagship + positioning banner --------------------------------- */
.tad-page--tatech .tt-flagship { background: linear-gradient(180deg, var(--tt-bg), var(--tt-bg-alt)); }
.tad-page--tatech .tt-positioning {
    max-width: 780px; margin: var(--tad-space-6) auto 0;
    padding: var(--tad-space-5);
    background: var(--tt-purple-soft);
    border-left: 3px solid var(--tt-purple);
    border-radius: 8px;
    font-family: var(--tt-font-display); font-style: italic;
    font-size: 1.15rem; color: var(--tt-ink); line-height: 1.4; text-align: center;
}

/* ---- Countdown ---------------------------------------------------- */
.tad-page--tatech .tt-countdown {
    display: flex; justify-content: center; gap: var(--tad-space-4);
    margin-block: var(--tad-space-6); flex-wrap: wrap;
}
.tad-page--tatech .tt-countdown__unit {
    min-width: 110px; padding: var(--tad-space-4) var(--tad-space-3);
    background: #FFFFFF !important;
    border: 1px solid var(--tt-border) !important;
    border-radius: 12px;
    box-shadow: 0 8px 24px -12px rgba(109, 40, 217, 0.18);
}
.tad-page--tatech .tt-countdown__num {
    display: block; font-family: var(--tt-font-display);
    font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 700; line-height: 1;
    color: var(--tt-purple) !important; text-shadow: none !important;
}
.tad-page--tatech .tt-countdown__label {
    display: block; font-family: "Fira Code", monospace;
    font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--tt-ink-muted) !important; margin-top: 8px;
}
.tad-page--tatech .tt-countdown--sub .tt-countdown__unit { min-width: 78px; padding: var(--tad-space-3); }
.tad-page--tatech .tt-countdown--sub .tt-countdown__num { font-size: 1.6rem; }
.tad-page--tatech .tt-countdown[data-tad-countdown-done="true"] { display: none; }

/* ---- Stat tiles · 5 metrics in ascending order --------------------- */
.tad-page--tatech .tt-stats {
    display: grid; grid-template-columns: repeat(5, 1fr);
    gap: var(--tad-space-3); margin-block: var(--tad-space-6);
}
.tad-page--tatech .tt-stat {
    padding: var(--tad-space-5) var(--tad-space-4);
    background: #FFFFFF !important;
    border: 1px solid var(--tt-border) !important;
    border-radius: 14px; text-align: center;
    box-shadow: 0 6px 20px -12px rgba(109, 40, 217, 0.14);
    transition: transform 200ms ease, box-shadow 200ms ease;
}
.tad-page--tatech .tt-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -14px rgba(109, 40, 217, 0.28);
}
.tad-page--tatech .tt-stat__num {
    display: block;
    font-family: var(--tt-font-display);
    font-weight: 700; font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    line-height: 1; letter-spacing: -0.01em;
    color: var(--tt-purple) !important;
    text-shadow: none !important;
    margin-bottom: 10px;
}
.tad-page--tatech .tt-stat__label {
    display: block; font-family: "Fira Code", monospace;
    font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--tt-ink-muted) !important; line-height: 1.5;
}

/* ---- What Happens icon boxes -------------------------------------- */
.tad-page--tatech .tt-happens {
    background: var(--tt-bg-alt) !important;
    border-block: 1px solid var(--tt-border) !important;
}
.tad-page--tatech .tt-happens__grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: var(--tad-space-4); margin-top: var(--tad-space-6);
}
.tad-page--tatech .tt-happens__item {
    padding: var(--tad-space-5) var(--tad-space-3);
    background: #FFFFFF !important;
    border: 1px solid var(--tt-border) !important;
    border-radius: 12px; text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.tad-page--tatech .tt-happens__item:hover {
    transform: translateY(-3px); border-color: var(--tt-purple) !important;
    box-shadow: 0 12px 28px -12px rgba(109, 40, 217, 0.25);
}
.tad-page--tatech .tt-happens__icon {
    width: 52px; height: 52px; border-radius: 12px;
    background: var(--tt-purple-soft) !important;
    color: var(--tt-purple) !important;
    display: grid; place-items: center;
    border: 1px solid var(--tt-purple-line) !important;
}
.tad-page--tatech .tt-happens__icon svg { width: 24px; height: 24px; }
.tad-page--tatech .tt-happens__label {
    font-family: var(--tt-font-display); font-weight: 600;
    font-size: 0.95rem; color: var(--tt-ink) !important;
    transition: opacity 200ms ease;
}
/* Hover-reveal description: hidden by default, expands on hover/focus */
.tad-page--tatech .tt-happens__desc {
    margin: 0;
    max-height: 0; overflow: hidden;
    color: var(--tt-ink-muted) !important;
    font-size: 13px; line-height: 1.5;
    opacity: 0;
    transition: max-height 320ms ease, opacity 220ms ease 60ms, margin-top 220ms ease;
}
.tad-page--tatech .tt-happens__item:hover .tt-happens__desc,
.tad-page--tatech .tt-happens__item:focus-within .tt-happens__desc {
    max-height: 180px; opacity: 1; margin-top: 8px;
}

/* ---- Speakers · 10 people in a 5-col grid (2 rows) --------------- */
.tad-page--tatech .tt-speakers__grid {
    display: grid; grid-template-columns: repeat(5, 1fr);
    gap: var(--tad-space-4); margin-top: var(--tad-space-6);
    max-width: 1200px; margin-inline: auto;
}
.tad-page--tatech .tt-speaker {
    background: #FFFFFF !important;
    border: 1px solid var(--tt-border) !important;
    border-radius: 12px; overflow: hidden; cursor: pointer;
    text-align: center; padding: 0; color: inherit; font: inherit;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.tad-page--tatech .tt-speaker:hover {
    transform: translateY(-4px); border-color: var(--tt-purple) !important;
    box-shadow: 0 16px 32px -14px rgba(109, 40, 217, 0.25);
}
.tad-page--tatech .tt-speaker__photo { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.tad-page--tatech .tt-speaker__info { padding: var(--tad-space-4) var(--tad-space-3); }
.tad-page--tatech .tt-speaker__name {
    font-family: var(--tt-font-display); font-weight: 600;
    font-size: 1.05rem; color: var(--tt-ink) !important; margin-bottom: 4px;
}
.tad-page--tatech .tt-speaker__role { font-size: 12px; color: var(--tt-ink-muted) !important; }
.tad-page--tatech .tt-speaker__co {
    font-family: "Fira Code", monospace; font-size: 10px;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--tt-purple) !important; margin-top: 8px; text-align: center;
}

/* Speaker popup — image LEFT, name/co RIGHT, bio LEFT-aligned below */
.tad-page--tatech .tt-modal {
    position: fixed; inset: 0; z-index: 100;
    background: rgba(11, 27, 59, 0.55); backdrop-filter: blur(6px);
    display: none; align-items: center; justify-content: center;
    padding: var(--tad-space-4);
}
.tad-page--tatech .tt-modal[data-open="true"] { display: flex; }
.tad-page--tatech .tt-modal__panel {
    max-width: 640px; width: 100%;
    background: #FFFFFF !important; border: 1px solid var(--tt-border) !important;
    border-radius: 16px; padding: var(--tad-space-6);
    max-height: 84vh; overflow-y: auto; position: relative;
    box-shadow: 0 40px 100px -20px rgba(109, 40, 217, 0.28);
}
.tad-page--tatech .tt-modal__close {
    position: absolute; top: 12px; right: 16px;
    background: none; border: 0; color: var(--tt-ink) !important;
    cursor: pointer; font-size: 26px; line-height: 1;
}
.tad-page--tatech .tt-modal__top {
    display: flex; align-items: center; gap: var(--tad-space-4);
    padding-bottom: var(--tad-space-4);
    border-bottom: 1px solid var(--tt-divider) !important;
    margin-bottom: var(--tad-space-4); text-align: left;
}
.tad-page--tatech .tt-modal__top img {
    width: 100px; height: 100px; border-radius: 50%;
    object-fit: cover; flex-shrink: 0;
    border: 2px solid var(--tt-purple-soft) !important;
}
.tad-page--tatech .tt-modal__top h3 {
    font-family: var(--tt-font-display);
    font-size: 1.5rem; color: var(--tt-ink) !important; margin: 0 0 6px;
}
.tad-page--tatech .tt-modal__top p { color: var(--tt-ink-muted) !important; margin: 0; font-size: 14px; }
.tad-page--tatech .tt-modal__bio { color: var(--tt-ink-muted) !important; line-height: 1.7; text-align: left; }

/* ---- Delegates gallery ------------------------------------------- */
.tad-page--tatech .tt-delegates { background: var(--tt-bg-alt) !important; }
.tad-page--tatech .tt-gallery {
    display: grid; grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 220px 220px;
    gap: 10px; margin-top: var(--tad-space-6);
}
.tad-page--tatech .tt-gallery img {
    width: 100%; height: 100%; object-fit: cover; cursor: pointer;
    border-radius: 10px; border: 1px solid var(--tt-border) !important;
    transition: transform 200ms ease, box-shadow 200ms ease;
}
.tad-page--tatech .tt-gallery img:first-child { grid-row: 1 / span 2; }
.tad-page--tatech .tt-gallery img:hover { transform: scale(1.02); box-shadow: 0 12px 28px -12px rgba(109, 40, 217, 0.28); }
.tad-page--tatech .tt-and-more {
    margin-top: var(--tad-space-4);
    font-family: "Fira Code", monospace; font-size: 11px;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--tt-ink-muted) !important;
}

/* Lightbox · un-scoped (JS appends it to <body> so we can't rely on .tad-page ancestry) */
.tt-lightbox {
    position: fixed; inset: 0; z-index: 200;
    background: rgba(11, 27, 59, 0.92);
    display: none !important;    /* stays hidden on load; JS toggles data-open */
    align-items: center; justify-content: center; padding: 16px;
}
.tt-lightbox[data-open="true"] { display: flex !important; }
.tt-lightbox__img {
    max-width: 92vw; max-height: 84vh; object-fit: contain; border-radius: 8px;
    box-shadow: 0 40px 100px -20px rgba(109, 40, 217, 0.4);
}
.tt-lightbox__nav {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(255,255,255,0.14); color: #FFFFFF;
    border: 1px solid rgba(255,255,255,0.3); cursor: pointer;
    width: 48px; height: 48px; border-radius: 50%;
    font-size: 22px; display: grid; place-items: center;
}
.tt-lightbox__nav--prev { left: 24px; }
.tt-lightbox__nav--next { right: 24px; }
.tt-lightbox__close {
    position: absolute; top: 20px; right: 20px;
    background: rgba(0,0,0,0.4); color: #FFFFFF;
    border: 0; cursor: pointer; font-size: 24px;
    width: 44px; height: 44px; border-radius: 50%;
}
.tt-lightbox__counter {
    position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%);
    font-family: "Fira Code", monospace; font-size: 12px;
    color: rgba(255,255,255,0.72); letter-spacing: 0.1em;
}

/* ==================================================================
   AUTO-SCROLLING LOGO CAROUSEL · used by delegates + partner tiers
   ---------------------------------------------------------------
   HTML shape (edit the source list, JS clones it once for seamless loop):
     <div class="tt-marquee" data-tt-marquee>
       <div class="tt-marquee__track">
         <img …/> <img …/> …
       </div>
     </div>
   No hover. No click. Purely decorative flow. To pause: add
   data-tt-marquee-pause. To change speed: --tt-marquee-duration.
   ================================================================== */
.tad-page--tatech .tt-marquee {
    position: relative;
    overflow: hidden;
    padding: var(--tad-space-3) 0;
    margin-top: var(--tad-space-5);
    /* Soft fade at both edges */
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.tad-page--tatech .tt-marquee__track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: tt-marquee-scroll var(--tt-marquee-duration, 40s) linear infinite;
    /* Seamless loop trick: originals + clone are wrapped in groups of equal width.
       See JS: it wraps children into two identical .tt-marquee__group divs, so
       translating by exactly -50% lands on an identical frame. */
}
.tad-page--tatech .tt-marquee__group {
    display: flex; align-items: center; gap: 40px;
    padding-right: 40px;   /* keep spacing between the two groups */
    flex-shrink: 0;
}
.tad-page--tatech .tt-marquee[data-tt-marquee-pause="true"] .tt-marquee__track { animation-play-state: paused; }
.tad-page--tatech .tt-marquee__track img {
    height: 60px; width: auto; max-width: 160px;
    flex-shrink: 0; object-fit: contain;
    background: #FFFFFF;
    padding: 10px 18px;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(11, 27, 59, 0.08);
    /* NO hover animation, per client */
}
@keyframes tt-marquee-scroll {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-50%, 0, 0); }
}

/* Partner tier variant — smaller logos, tighter gap */
.tad-page--tatech .tt-marquee--partners .tt-marquee__track { gap: 32px; --tt-marquee-duration: 36s; }
.tad-page--tatech .tt-marquee--partners .tt-marquee__track img { height: 52px; max-width: 140px; padding: 8px 14px; }

/* ---- Partner carousel · single row, 16:9 slides, horizontal snap-scroll ---- */
.tad-page--tatech .tt-partner-carousel {
    position: relative;
    max-width: 1100px;
    margin: var(--tad-space-6) auto 0;
}
.tad-page--tatech .tt-partner-carousel__track {
    display: flex;
    gap: var(--tad-space-3);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 6px;
    scrollbar-width: none;
}
.tad-page--tatech .tt-partner-carousel__track::-webkit-scrollbar { display: none; }
.tad-page--tatech .tt-partner-carousel__slide {
    flex: 0 0 100%;
    scroll-snap-align: center;
    aspect-ratio: 16 / 9;
    background: #0B1226;
    border-radius: 16px; overflow: hidden;
    border: 1px solid var(--tt-border) !important;
    box-shadow: 0 18px 40px -18px rgba(109, 40, 217, 0.32);
}
.tad-page--tatech .tt-partner-carousel__slide img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
}
.tad-page--tatech .tt-partner-carousel__arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 46px; height: 46px; border-radius: 50%;
    border: 1px solid var(--tt-purple-line);
    background: #FFFFFF;
    color: var(--tt-purple);
    font-family: var(--tt-font-text);
    font-size: 18px; font-weight: 700;
    display: grid; place-items: center;
    cursor: pointer; z-index: 3;
    box-shadow: 0 8px 20px -10px rgba(109, 40, 217, 0.35);
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}
.tad-page--tatech .tt-partner-carousel__arrow:hover {
    background: var(--tt-purple); color: #FFFFFF; transform: translateY(-50%) scale(1.06);
}
.tad-page--tatech .tt-partner-carousel__arrow--prev { left: -20px; }
.tad-page--tatech .tt-partner-carousel__arrow--next { right: -20px; }
.tad-page--tatech .tt-partner-carousel__dots {
    display: flex; justify-content: center; gap: 8px;
    margin-top: var(--tad-space-4);
}
.tad-page--tatech .tt-partner-carousel__dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--tt-purple-line);
    border: 0; padding: 0; cursor: pointer;
    transition: transform 180ms ease, background 180ms ease;
}
.tad-page--tatech .tt-partner-carousel__dot[aria-current="true"] {
    background: var(--tt-purple);
    transform: scale(1.35);
}
@media (max-width: 720px) {
    .tad-page--tatech .tt-partner-carousel__arrow--prev { left: 6px; }
    .tad-page--tatech .tt-partner-carousel__arrow--next { right: 6px; }
    .tad-page--tatech .tt-partner-carousel__arrow { width: 40px; height: 40px; }
}

/* Legacy logo slots removed — partners section is banner-carousel only. */

/* ---- Newsletter band · inline, between Flagship and What Happens ---- */
.tad-page--tatech .tt-newsband {
    background: var(--tt-purple) !important;
    padding-block: clamp(32px, 4vw, 52px);
}
.tad-page--tatech .tt-newsband__inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--tad-space-6); flex-wrap: wrap;
}
.tad-page--tatech .tt-newsband__copy { flex: 1 1 380px; }
.tad-page--tatech .tt-newsband__title {
    font-family: var(--tt-font-display); font-weight: 700;
    font-size: clamp(1.35rem, 2.4vw, 1.8rem);
    color: #FFFFFF !important; margin: 0 0 8px;
}
.tad-page--tatech .tt-newsband__sub {
    font-family: var(--tt-font-text); font-size: 13px; line-height: 1.6;
    color: rgba(255, 255, 255, 0.82) !important; margin: 0;
}
.tad-page--tatech .tt-newsband__form {
    flex: 1 1 380px; display: flex; gap: 10px; flex-wrap: wrap;
    align-items: center; justify-content: flex-end;
}
.tad-page--tatech .tt-newsband__input {
    flex: 1 1 220px; min-width: 0;
    padding: 14px 18px; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.12);
    color: #FFFFFF; font-family: var(--tt-font-text); font-size: 14px;
    outline: none; transition: border-color 180ms ease, background 180ms ease;
}
.tad-page--tatech .tt-newsband__input::placeholder { color: rgba(255, 255, 255, 0.6); }
.tad-page--tatech .tt-newsband__input:focus {
    border-color: #FFFFFF; background: rgba(255, 255, 255, 0.18);
}
/* Invert the primary button inside the purple band so it stays visible */
.tad-page--tatech .tt-newsband .tad-btn--primary {
    background: #FFFFFF !important; color: var(--tt-purple) !important;
    border-color: #FFFFFF !important;
}
.tad-page--tatech .tt-newsband .tad-btn--primary:hover {
    background: var(--tt-bg-alt) !important;
    box-shadow: 0 14px 28px -8px rgba(11, 27, 59, 0.35) !important;
}
.tad-page--tatech .tt-newsband .tad-form__status { flex-basis: 100%; text-align: right; color: #FFFFFF; }
@media (max-width: 780px) {
    .tad-page--tatech .tt-newsband__inner { flex-direction: column; align-items: stretch; text-align: center; }
    /* In column direction flex-basis becomes height — reset it so the band hugs its content */
    .tad-page--tatech .tt-newsband__copy,
    .tad-page--tatech .tt-newsband__form { flex: 0 0 auto; }
    .tad-page--tatech .tt-newsband__form { justify-content: stretch; }
    .tad-page--tatech .tt-newsband .tad-btn--primary { flex: 1 1 auto; }
    .tad-page--tatech .tt-newsband .tad-form__status { text-align: center; }
}

/* ---- Partners tiers (labels stay; logos flow in marquee) --------- */
.tad-page--tatech .tt-partners__tier {
    font-family: "Fira Code", monospace; font-size: 11px;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--tt-purple) !important;
    margin: var(--tad-space-6) 0 var(--tad-space-2);
    text-align: center;
}
.tad-page--tatech .tt-partners__cta { margin-top: var(--tad-space-6); }
/* Legacy tile grid still supported if user re-enables it */
.tad-page--tatech .tt-partners__row {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--tad-space-3); max-width: 720px; margin: 0 auto var(--tad-space-4);
}
.tad-page--tatech .tt-partners__tile {
    aspect-ratio: 2/1; background: #FFFFFF !important;
    border: 1px solid var(--tt-border) !important; border-radius: 10px;
    display: grid; place-items: center; padding: var(--tad-space-3);
    box-shadow: 0 4px 14px rgba(11, 27, 59, 0.06);
}
.tad-page--tatech .tt-partners__tile img { max-width: 76%; max-height: 60%; object-fit: contain; }

/* ---- Agenda ----------------------------------------------------- */
.tad-page--tatech .tt-agenda { background: var(--tt-bg-alt) !important; }
.tad-page--tatech .tt-agenda__list {
    max-width: 860px; margin: var(--tad-space-6) auto 0; text-align: left;
}
.tad-page--tatech .tt-agenda__item {
    background: #FFFFFF !important; border: 1px solid var(--tt-border) !important;
    border-radius: 10px; margin-bottom: 10px; overflow: hidden;
    box-shadow: 0 3px 10px rgba(11, 27, 59, 0.04);
}
.tad-page--tatech .tt-agenda__trigger {
    width: 100%; padding: var(--tad-space-4) var(--tad-space-5);
    background: transparent; border: 0; cursor: pointer;
    color: var(--tt-ink) !important;
    display: grid; grid-template-columns: 120px 1fr;
    gap: var(--tad-space-4); align-items: center;
    text-align: left; font: inherit;
    transition: background 160ms ease;
}
.tad-page--tatech .tt-agenda__trigger:hover { background: var(--tt-purple-soft); }
.tad-page--tatech .tt-agenda__time {
    font-family: "Fira Code", monospace; font-size: 12px;
    color: var(--tt-purple) !important; letter-spacing: 0.1em;
    padding-right: var(--tad-space-3);
    border-right: 1px solid var(--tt-divider) !important;
}
.tad-page--tatech .tt-agenda__title {
    font-family: var(--tt-font-display); font-weight: 600;
    font-size: 1rem; line-height: 1.4; color: var(--tt-ink) !important;
}
.tad-page--tatech .tt-agenda__body {
    padding: 0 var(--tad-space-5) var(--tad-space-4) 152px;
    color: var(--tt-ink-muted) !important;
    display: none; font-size: 14px; line-height: 1.6;
}
.tad-page--tatech .tt-agenda__item[data-open="true"] .tt-agenda__body { display: block; }
.tad-page--tatech .tt-agenda__cta { margin-top: var(--tad-space-6); }

/* ---- Sub-events (centered) -------------------------------------- */
.tad-page--tatech .tt-subevents__grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 500px));
    gap: var(--tad-space-5); margin: var(--tad-space-6) auto 0;
    justify-content: center;
    align-items: stretch;
}
.tad-page--tatech .tt-subevent {
    /* Soft lavender wash instead of stark white — kills the "empty white block"
       the client flagged in Delhi's card without changing the tone of the page. */
    background: linear-gradient(180deg, #FFFFFF 0%, #F8F5FF 100%) !important;
    border: 1px solid var(--tt-border) !important;
    border-radius: 16px; padding: var(--tad-space-6);
    text-align: center;
    display: flex; flex-direction: column; justify-content: center;
    transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
    box-shadow: 0 4px 12px rgba(11, 27, 59, 0.04);
}
.tad-page--tatech .tt-subevent:hover {
    transform: translateY(-4px); border-color: var(--tt-purple) !important;
    box-shadow: 0 24px 48px -16px rgba(109, 40, 217, 0.25);
}
.tad-page--tatech .tt-subevent__eyebrow {
    font-family: "Fira Code", monospace; font-size: 10px;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--tt-purple) !important; margin-bottom: var(--tad-space-3);
}
.tad-page--tatech .tt-subevent__title {
    font-family: var(--tt-font-display); font-weight: 700;
    font-size: 1.5rem; color: var(--tt-ink) !important;
    margin-bottom: var(--tad-space-4);
}
.tad-page--tatech .tt-subevent__chips {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: 8px; margin-bottom: var(--tad-space-4);
}
.tad-page--tatech .tt-subevent__desc {
    color: var(--tt-ink-muted) !important;
    font-size: 14px; line-height: 1.6;
    margin-bottom: var(--tad-space-4); text-align: left;
}
/* Sub-event gallery (Delhi = clickable large tiles · Hyderabad = blurred) */
/* Layout auto-adapts: once countdown hits 0 (data-tad-countdown-done),
   its space collapses and the gallery flows into the freed vertical room. */
.tad-page--tatech .tt-subevent .tt-countdown[data-tad-countdown-done="true"] { display: none !important; margin: 0 !important; }
.tad-page--tatech .tt-subevent__gallery {
    position: relative;
    display: grid;
    /* Compact single strip of 5 uniform tiles — keeps the card short.
       The card auto-adapts: countdown hides itself at 00:00 and this strip
       plus the centred content simply reflow into the space. */
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-block: var(--tad-space-4);
}
.tad-page--tatech .tt-subevent__gallery img {
    width: 100%; height: 100%;
    object-fit: cover; border-radius: 8px;
    border: 1px solid var(--tt-border);
    aspect-ratio: 1 / 1;
    transition: transform 200ms ease, box-shadow 200ms ease;
}
@media (max-width: 520px) {
    .tad-page--tatech .tt-subevent__gallery { grid-template-columns: repeat(3, 1fr); }
}
.tad-page--tatech .tt-subevent--past .tt-subevent__gallery img { cursor: zoom-in; }
.tad-page--tatech .tt-subevent--past .tt-subevent__gallery img:hover {
    transform: scale(1.03);
    box-shadow: 0 8px 20px -8px rgba(109, 40, 217, 0.35);
}
.tad-page--tatech .tt-subevent__gallery--blurred img {
    filter: blur(8px) saturate(0.6);
    pointer-events: none;
    opacity: 0.75;
}
.tad-page--tatech .tt-subevent__gallery-badge {
    position: absolute; inset: 0;
    display: grid; place-items: center;
    font-family: "Fira Code", monospace; font-size: 12px;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--tt-ink) !important;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(2px);
    border-radius: 8px;
    pointer-events: none;
    text-align: center; padding: var(--tad-space-3);
}
.tad-page--tatech .tt-subevent__cta { margin-top: var(--tad-space-4); }
.tad-page--tatech .tt-subevent--past .tt-countdown,
.tad-page--tatech .tt-subevent--past .tt-subevent__cta { display: none; }
.tad-page--tatech .tt-subevent--past .tt-subevent__eyebrow::after { content: " · Completed"; color: var(--tt-ink-muted); }
.tad-page--tatech .tt-subevent--tbd .tt-countdown,
.tad-page--tatech .tt-subevent--tbd .tt-subevent__cta { display: none; }
.tad-page--tatech .tt-subevent--tbd .tt-subevent__eyebrow::after { content: " · Date TBD"; color: var(--tt-ink-muted); }
.tad-page--tatech .tt-subevents__note {
    margin-top: var(--tad-space-6);
    font-family: "Fira Code", monospace; font-size: 11px;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--tt-ink-muted) !important;
}

/* ---- Newsletter -------------------------------------------------- */
.tad-page--tatech .tt-newsletter {
    background: linear-gradient(135deg, var(--tt-purple-soft), rgba(109, 40, 217, 0.14)) !important;
    border-block: 1px solid var(--tt-purple-line) !important;
}
.tad-page--tatech .tt-newsletter__form {
    display: flex; gap: 10px; align-items: stretch;
    max-width: 520px; margin: 0 auto; flex-wrap: wrap; justify-content: center;
}
.tad-page--tatech .tt-newsletter__input {
    flex: 1; min-width: 220px; padding: 12px 16px;
    background: #FFFFFF !important; border: 1px solid var(--tt-border) !important;
    border-radius: 6px; color: var(--tt-ink) !important;
    font-family: inherit; font-size: 15px;
}
.tad-page--tatech .tt-newsletter__input::placeholder { color: var(--tt-ink-muted); }
.tad-page--tatech .tt-newsletter__input:focus { outline: 0; border-color: var(--tt-purple) !important; }

/* ---- Dual forms ------------------------------------------------- */
.tad-page--tatech .tt-forms { text-align: center; }
.tad-page--tatech .tt-forms__grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: var(--tad-space-5); margin-top: var(--tad-space-6);
}
.tad-page--tatech .tt-form {
    background: #FFFFFF !important; border: 1px solid var(--tt-border) !important;
    border-radius: 14px; padding: var(--tad-space-6); text-align: left;
    box-shadow: 0 6px 20px -12px rgba(109, 40, 217, 0.12);
}
.tad-page--tatech .tt-form__title {
    font-family: var(--tt-font-display); font-size: 1.25rem;
    color: var(--tt-ink) !important; margin: 0 0 var(--tad-space-4);
}
.tad-page--tatech .tt-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tad-page--tatech .tt-form__full { grid-column: 1 / -1; }
.tad-page--tatech .tt-form label { display: flex; flex-direction: column; gap: 4px; }
.tad-page--tatech .tt-form label span {
    font-family: "Fira Code", monospace; font-size: 10px;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--tt-ink-muted) !important;
}
.tad-page--tatech .tt-form input,
.tad-page--tatech .tt-form select,
.tad-page--tatech .tt-form textarea {
    padding: 10px 12px; background: #FFFFFF !important;
    border: 1px solid var(--tt-border) !important;
    border-radius: 6px; color: var(--tt-ink) !important;
    font-family: inherit; font-size: 15px;
}
.tad-page--tatech .tt-form textarea { min-height: 90px; resize: vertical; }
.tad-page--tatech .tt-form input:focus,
.tad-page--tatech .tt-form select:focus,
.tad-page--tatech .tt-form textarea:focus {
    outline: 0; border-color: var(--tt-purple) !important;
    box-shadow: 0 0 0 3px var(--tt-purple-soft) !important;
}
.tad-page--tatech .tt-form__submit { grid-column: 1 / -1; margin-top: 8px; justify-content: center; }
.tad-page--tatech .tt-forms__note {
    margin-top: var(--tad-space-6);
    color: var(--tt-ink-muted) !important; font-size: 14px;
}
.tad-page--tatech .tt-forms__note a { color: var(--tt-purple) !important; }

/* ---- Footer ---------------------------------------------------- */
.tad-page--tatech .tt-footer {
    background: var(--tt-bg-alt) !important; color: var(--tt-ink) !important;
    padding-block: var(--tad-space-8);
    border-top: 1px solid var(--tt-border) !important;
}
.tad-page--tatech .tt-footer__inner {
    display: grid; grid-template-columns: 2fr 1fr 1.4fr 1fr;
    gap: var(--tad-space-6); text-align: left;
}
.tad-page--tatech .tt-footer__logo {
    height: 46px; width: auto; margin-bottom: var(--tad-space-4);
    background: transparent !important; filter: none !important;
}
.tad-page--tatech .tt-footer__tagline {
    color: var(--tt-ink-muted) !important;
    max-width: 32ch; margin-bottom: var(--tad-space-4);
}
.tad-page--tatech .tt-footer__powered {
    font-family: "Fira Code", monospace; font-size: 11px;
    letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--tt-ink-muted) !important;
}
.tad-page--tatech .tt-footer__powered a { color: var(--tt-purple) !important; font-weight: 600; text-decoration: none; }
.tad-page--tatech .tt-footer__col h4 {
    font-family: "Fira Code", monospace; font-size: 11px;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--tt-purple) !important; margin: 0 0 var(--tad-space-4);
}
.tad-page--tatech .tt-footer__col ul { list-style: none; padding: 0; margin: 0; }
.tad-page--tatech .tt-footer__col li { margin-bottom: 8px; }
.tad-page--tatech .tt-footer__col a {
    color: var(--tt-ink-muted) !important; text-decoration: none;
    font-size: 14px; transition: color 180ms ease;
}
.tad-page--tatech .tt-footer__col a:hover { color: var(--tt-purple) !important; }
.tad-page--tatech .tt-footer__col address {
    font-style: normal; color: var(--tt-ink-muted) !important;
    font-size: 14px; line-height: 1.7;
}
.tad-page--tatech .tt-footer__col address span { display: block; }
.tad-page--tatech .tt-footer__social {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
    gap: 12px; align-items: center;
}
.tad-page--tatech .tt-footer__social a {
    display: grid; place-items: center;
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(109, 40, 217, 0.08) !important;
    color: var(--tt-purple) !important;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}
.tad-page--tatech .tt-footer__social a:hover {
    background: var(--tt-purple) !important; color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* ---- Responsive ------------------------------------------------ */
@media (max-width: 1024px) {
    .tad-page--tatech .tt-stats { grid-template-columns: repeat(3, 1fr); }
    .tad-page--tatech .tt-stats--metrics { grid-template-columns: repeat(3, 1fr); }
    .tad-page--tatech .tt-happens__grid { grid-template-columns: repeat(2, 1fr); }
    .tad-page--tatech .tt-speakers__grid { grid-template-columns: repeat(3, 1fr); }
    .tad-page--tatech .tt-footer__inner { grid-template-columns: 1fr 1fr; }
    .tad-page--tatech .tt-marquee__track img { height: 52px; }
}
@media (max-width: 780px) {
    .tad-page--tatech .tad-header__nav { display: none; }
    .tad-page--tatech .tad-header__menu-toggle { display: block; }
    .tad-page--tatech .tad-header__cta { display: none; }
    .tad-page--tatech .tt-hero { padding-block: 40px; }
    .tad-page--tatech .tt-hero__logo { max-width: 82%; }
    .tad-page--tatech .tt-hero__ctas { flex-direction: column; align-items: stretch; }
    .tad-page--tatech .tt-hero__ctas .tad-btn { justify-content: center; }
    .tad-page--tatech .tt-countdown { gap: 8px; }
    .tad-page--tatech .tt-countdown__unit { min-width: 72px; padding: 12px 8px; }
    .tad-page--tatech .tt-countdown__num { font-size: 1.75rem; }
    .tad-page--tatech .tt-stats { grid-template-columns: repeat(2, 1fr); }
    .tad-page--tatech .tt-stats--metrics { grid-template-columns: repeat(2, 1fr); }
    .tad-page--tatech .tt-happens__grid { grid-template-columns: 1fr 1fr; }
    .tad-page--tatech .tt-speakers__grid { grid-template-columns: repeat(2, 1fr); }
    .tad-page--tatech .tt-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 160px 160px 160px; }
    .tad-page--tatech .tt-gallery img:first-child { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 16/9; }
    .tad-page--tatech .tt-marquee__track { gap: 24px; }
    .tad-page--tatech .tt-marquee__track img { height: 44px; padding: 8px 12px; }
    .tad-page--tatech .tt-partner-banner__inner { flex-direction: column; gap: 12px; }
    .tad-page--tatech .tt-partner-banner__label { border-right: 0; border-bottom: 1px solid var(--tt-divider); padding: 0 0 12px; }
    .tad-page--tatech .tt-agenda__trigger { grid-template-columns: 90px 1fr; gap: 12px; padding: 14px 16px; }
    .tad-page--tatech .tt-agenda__body { padding-left: 118px; }
    .tad-page--tatech .tt-subevents__grid { grid-template-columns: 1fr; }
    .tad-page--tatech .tt-forms__grid { grid-template-columns: 1fr; }
    .tad-page--tatech .tt-form__grid { grid-template-columns: 1fr; }
    .tad-page--tatech .tt-modal__top { flex-direction: column; text-align: center; }
    .tad-page--tatech .tt-modal__top img { width: 80px; height: 80px; }
    .tad-page--tatech .tt-footer__inner { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .tad-page--tatech .tt-speakers__grid { grid-template-columns: 1fr; }
    .tad-page--tatech .tt-happens__grid { grid-template-columns: 1fr; }
    .tad-page--tatech .tt-agenda__trigger { grid-template-columns: 1fr; gap: 8px; }
    .tad-page--tatech .tt-agenda__time { border-right: 0; padding-right: 0; }
    .tad-page--tatech .tt-agenda__body { padding-left: 16px; }
}
