﻿:root {
  --tt-black: #101010;
  --tt-charcoal: #222222;
  --tt-white: #ffffff;
  --tt-off-white: #f4f4f2;
  --tt-grey: #777777;
  --tt-border: #d9d9d9;
  --tt-red: #bb1e2d;
  --tt-red-dark: #941521;
  --tt-green: #176b45;
  --tt-accent: #e4b623;
  --tt-max: 1360px;
  --tt-container: 1440px;
  --tt-header-height: 84px;
  --tt-display: "Poppins", sans-serif;
  --tt-body: "Source Sans 3", "Source Sans Pro", sans-serif;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4.5rem;
  --space-7: 6rem;
  --tt-radius-sm: 2px;
  --tt-shadow-soft: 0 18px 45px rgba(16,16,16,.10);
  --tt-transition: 180ms ease;
}

body.tt-mobile-nav-open, body.tt-search-open { overflow: hidden; }

.tt-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  overflow: visible;
  background: var(--tt-white);
  box-shadow: 0 1px 0 rgba(0,0,0,.09);
}

/* ---------- Utility Navigation ---------- */
.tt-utility-bar {
  position: relative;
  z-index: 2;
  min-height: 42px;
  height: auto;
  overflow: visible;
  background: #0c0c0c;
}

.tt-utility-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding-block: 6px;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.tt-utility-inner::-webkit-scrollbar {
  display: none;
}

.tt-utility-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2vw, 28px);
  min-width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
}

.tt-utility-list li {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.tt-utility-list a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 2px 0;
  color: var(--tt-red);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.tt-utility-list a:hover,
.tt-utility-list a:focus-visible {
  color: #fff;
}

.tt-main-bar { background: #fff; }
.tt-header-inner { min-height: var(--tt-header-height); display: grid; grid-template-columns: minmax(250px, auto) 1fr auto; align-items: center; gap: 28px; transition: min-height .25s ease; }
.tt-logo { display: inline-flex; align-items: center; gap: 14px; flex-shrink: 0; color: var(--tt-black); text-decoration: none; }
.tt-logo img { width: auto; height: 58px; flex: 0 0 auto; object-fit: contain; transition: height .25s ease; }
.tt-logo-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tt-brand-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1; }
.tt-brand-copy strong { color: var(--tt-black); font-family: Poppins, sans-serif; font-size: 1.12rem; font-weight: 800; letter-spacing: -.025em; white-space: nowrap; }
.tt-brand-copy small { margin-top: 5px; color: var(--tt-red); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }

.tt-nav { justify-self: center; height: 100%; }
.tt-nav-list { display: flex; align-items: stretch; height: 100%; margin: 0; padding: 0; list-style: none; }
.tt-nav-item { display: flex; align-items: stretch; }
.tt-nav-link { position: relative; display: inline-flex; align-items: center; gap: 7px; border: 0; background: transparent; padding: 0 15px; color: #171717; font: inherit; font-size: .86rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; cursor: pointer; }
.tt-nav-link::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 0; height: 4px; background: var(--tt-red); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.tt-nav-item:hover > .tt-nav-link::after, .tt-nav-item.is-open > .tt-nav-link::after, .tt-nav-link:focus-visible::after { transform: scaleX(1); }
.tt-nav-link i { font-size: .72rem; transition: transform .2s ease; }
.tt-nav-item.is-open > .tt-nav-link i { transform: rotate(180deg); }

.tt-header-actions { display: flex; align-items: center; gap: 10px; }
.tt-icon-button { width: 46px; height: 46px; display: inline-grid; place-items: center; border: 1px solid var(--tt-border); background: #fff; color: #111; font-size: 1.1rem; transition: background .2s ease, color .2s ease; }
.tt-icon-button:hover { background: var(--tt-black); color: #fff; }
.tt-header-cta { display: inline-flex; min-height: 46px; align-items: center; padding: 0 22px; background: var(--tt-red); color: #fff; font-size: .88rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tt-header-cta:hover { background: #9f1423; color: #fff; }
.tt-mobile-toggle { display: none; }

.tt-mega-menu { position: absolute; left: 50%; top: 100%; width: min(calc(100vw - 48px), var(--tt-max)); transform: translate(-50%, 10px); display: grid; grid-template-columns: minmax(220px, .8fr) minmax(420px, 1.7fr) minmax(250px, .8fr); gap: 48px; padding: 38px; background: #fff; border-top: 4px solid var(--tt-red); box-shadow: 0 22px 45px rgba(0,0,0,.16); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.tt-nav-item.is-open .tt-mega-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.tt-mega-menu__eyebrow { color: var(--tt-red); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.tt-mega-menu__intro h2 { margin: 8px 0 12px; font-size: 2rem; font-weight: 850; text-transform: uppercase; }
.tt-mega-menu__intro p { margin: 0; color: var(--tt-grey); line-height: 1.55; }
.tt-mega-menu__links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 28px; margin: 0; padding: 0; list-style: none; }
.tt-mega-menu__links a { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--tt-border); color: #171717; font-weight: 750; }
.tt-mega-menu__links a:hover { color: var(--tt-red); }
.tt-mega-menu__feature { position: relative; min-height: 175px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; overflow: hidden; background: var(--tt-black); color: #fff; }
.tt-mega-menu__feature::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--tt-red) 0 33%, #fff 33% 66%, var(--tt-green) 66%); }
.tt-mega-menu__feature span { color: rgba(255,255,255,.7); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.tt-mega-menu__feature strong { max-width: 190px; margin-top: 8px; font-size: 1.35rem; line-height: 1.08; text-transform: uppercase; }
.tt-mega-menu__feature i { position: absolute; top: 22px; right: 22px; }

.tt-campaign-strip { background: var(--tt-red); color: #fff; }
.tt-campaign-strip[hidden] { display: none; }
.tt-campaign-inner { min-height: 48px; display: flex; align-items: center; gap: 18px; }
.tt-campaign-message { min-width: 0; flex: 1; display: flex; align-items: center; justify-content: center; gap: 16px; color: #fff; }
.tt-campaign-message strong { font-size: .88rem; letter-spacing: .035em; text-transform: uppercase; }
.tt-campaign-message span { font-size: .9rem; }
.tt-campaign-action { font-weight: 800; white-space: nowrap; }
.tt-campaign-close { border: 0; background: transparent; color: #fff; width: 36px; height: 36px; }

.tt-search-panel { position: fixed; inset: 0; z-index: 1200; }
.tt-search-backdrop, .tt-mobile-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.62); }
.tt-search-dialog { position: relative; z-index: 1; width: min(calc(100% - 32px), 920px); margin: 100px auto 0; padding: 38px; background: #fff; }
.tt-search-dialog__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.tt-search-dialog h2 { margin: 0; font-size: 1.6rem; font-weight: 850; text-transform: uppercase; }
.tt-search-form { display: flex; border-bottom: 3px solid #111; }
.tt-search-form input { flex: 1; min-width: 0; border: 0; padding: 16px 0; font-size: 1.3rem; outline: none; }
.tt-search-form button { border: 0; background: transparent; padding: 0 12px; font-size: 1.25rem; }
.tt-mobile-backdrop { display: none; position: fixed; z-index: 998; }
.tt-mobile-utility { display: none; }

.tt-scrolled .tt-utility-bar {
  min-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.tt-scrolled .tt-utility-inner {
  min-height: 0;
  padding-block: 0;
}
.tt-scrolled .tt-header-inner { min-height: 72px; }
.tt-scrolled .tt-logo img { height: 46px; }
.tt-scrolled .tt-brand-copy strong { font-size: 1rem; }
.tt-scrolled .tt-brand-copy small { font-size: .62rem; }

.tt-home-shell { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .95fr); gap: 12px; padding-top: 12px; padding-bottom: 12px; align-items: stretch; }
#heroFeaturedStory, #heroStoryGrid { min-width: 0; }
.tt-featured-story, .tt-featured-story__link { position: relative; display: block; height: clamp(500px, 44vw, 590px); min-height: 0; overflow: hidden; background: #1a1a1a; color: #fff; }
.tt-featured-story__image, .tt-story-card__image { width: 100%; height: 100%; object-fit: cover; object-position: center center; transform: translateZ(0); transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.tt-featured-story__image { position: absolute; inset: 0; }
.tt-story-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.02) 22%, rgba(0,0,0,.20) 52%, rgba(0,0,0,.90) 100%); }
.tt-featured-story__content { position: absolute; left: clamp(24px, 3.2vw, 46px); right: clamp(24px, 3.2vw, 46px); bottom: clamp(28px, 3.5vw, 44px); z-index: 2; max-width: 670px; }
.tt-story-category { display: inline-flex; align-items: center; min-height: 25px; padding: 0 10px; border-left: 3px solid #fff; background: var(--tt-red); color: #fff; font-size: .66rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.tt-featured-story__title { max-width: 650px; margin: 14px 0 12px; color: #fff; font-family: Poppins, sans-serif; font-size: clamp(2rem, 3vw, 3.35rem); line-height: 1.03; font-weight: 750; letter-spacing: -.035em; text-wrap: balance; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.tt-featured-story__summary { max-width: 590px; margin: 0 0 20px; color: rgba(255,255,255,.88); font-size: clamp(.95rem, 1.05vw, 1.08rem); line-height: 1.48; text-shadow: 0 1px 10px rgba(0,0,0,.3); }
.tt-story-action { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: .85rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.tt-featured-story__link:hover .tt-featured-story__image, .tt-story-card__link:hover .tt-story-card__image { transform: scale(1.035); }

#heroStoryGrid { display: grid; height: clamp(500px, 44vw, 590px); grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: 1.08fr .92fr; gap: 12px; }
.tt-story-card { position: relative; min-height: 0; overflow: hidden; background: #1a1a1a; }
.tt-story-card--1 { grid-column: 1 / -1; }
.tt-story-card__link { position: absolute; inset: 0; display: block; color: #fff; }
.tt-story-card__content { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 18px; }
.tt-story-card__meta { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.82); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.tt-story-card__title { margin: 9px 0 0; color: #fff; font-family: Poppins, sans-serif; font-size: clamp(1rem, 1.22vw, 1.3rem); line-height: 1.18; font-weight: 700; letter-spacing: -.02em; text-wrap: balance; text-shadow: 0 1px 12px rgba(0,0,0,.35); }

.tt-news-section { padding: 72px 0 92px; background: var(--tt-off-white); }
.tt-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.tt-section-heading h2 { margin: 0; font-family: Poppins, sans-serif; font-size: clamp(2rem, 3vw, 3.25rem); font-weight: 850; letter-spacing: -.04em; text-transform: uppercase; }
.tt-section-heading h2::after { content: ""; display: block; width: 64px; height: 5px; margin-top: 12px; background: var(--tt-red); }
.tt-section-heading a { color: #111; font-size: .82rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
#homeNewsRail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.tt-news-card { min-width: 0; background: #fff; }
.tt-news-card__link { display: block; height: 100%; color: #111; }
.tt-news-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: #ddd; }
.tt-news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tt-news-card__body { padding: 20px 20px 22px; }
.tt-news-card__meta { display: flex; justify-content: space-between; gap: 12px; color: var(--tt-grey); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tt-news-card__meta span { color: var(--tt-red); }
.tt-news-card h3 { margin: 13px 0 10px; font-family: Poppins, sans-serif; font-size: 1.18rem; line-height: 1.18; font-weight: 750; }
.tt-news-card p { display: -webkit-box; margin: 0 0 16px; overflow: hidden; color: var(--tt-grey); line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.tt-news-card__action { display: inline-flex; align-items: center; gap: 8px; color: #111; font-size: .77rem; font-weight: 850; text-transform: uppercase; }
.tt-news-card__link:hover .tt-news-card__media img { transform: scale(1.04); }
.tt-news-card__link:hover h3, .tt-news-card__link:hover .tt-news-card__action { color: var(--tt-red); }

.tt-hero-skeleton, .tt-story-grid-skeleton, .tt-news-grid-skeleton { min-height: 420px; background: linear-gradient(90deg,#e7e7e7 25%,#f4f4f4 37%,#e7e7e7 63%); background-size: 400% 100%; animation: tt-loading 1.3s infinite; }
@keyframes tt-loading { from { background-position: 100% 0; } to { background-position: 0 0; } }

@media (max-width: 1199px) {
  .tt-utility-bar { display: none; }

  .tt-header-inner {
    min-height: 76px;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
  }

  .tt-logo img { height: 52px; }
  .tt-brand-copy strong { font-size: 1rem; }
  .tt-brand-copy small { font-size: .62rem; }

  .tt-mobile-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1280;
    background: rgba(8, 10, 12, .62);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    backdrop-filter: blur(3px);
    transition: opacity .28s ease, visibility .28s ease;
  }

  .tt-mobile-nav-open .tt-mobile-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .tt-nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1300;
    width: min(92vw, 440px);
    height: 100vh;
    height: 100dvh;
    padding:
      max(92px, calc(env(safe-area-inset-top) + 82px))
      clamp(20px, 5vw, 30px)
      max(30px, env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background:
      linear-gradient(180deg, rgba(187,30,45,.08), transparent 170px),
      #fff;
    border-left: 1px solid rgba(16,16,16,.08);
    box-shadow: -24px 0 60px rgba(0,0,0,.22);
    transform: translate3d(105%,0,0);
    visibility: hidden;
    pointer-events: none;
    transition:
      transform .34s cubic-bezier(.22,.8,.24,1),
      visibility .34s ease;
  }

  .tt-nav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(
      90deg,
      var(--tt-black) 0 33.333%,
      var(--tt-red) 33.333% 66.666%,
      var(--tt-green) 66.666% 100%
    );
  }

  .tt-mobile-nav-open .tt-nav {
    transform: translate3d(0,0,0);
    visibility: visible;
    pointer-events: auto;
  }

  .tt-nav-list {
    display: block;
    height: auto;
    margin: 0;
    padding: 0;
  }

  .tt-nav-item {
    display: block;
    margin: 0;
    border-bottom: 1px solid rgba(16,16,16,.1);
  }

  .tt-nav-item:first-child {
    border-top: 1px solid rgba(16,16,16,.1);
  }

  .tt-nav-link {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 60px;
    justify-content: space-between;
    padding: 0 4px;
    color: #161616;
    font-size: .9rem;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(187,30,45,.12);
  }

  a.tt-nav-link {
    cursor: pointer;
  }

  button.tt-nav-link {
    appearance: none;
    -webkit-appearance: none;
  }

  .tt-nav-link:hover,
  .tt-nav-link:focus-visible,
  .tt-nav-link[aria-current="page"] {
    color: var(--tt-red);
    background: rgba(187,30,45,.055);
  }

  .tt-nav-link::after {
    display: none;
  }

  .tt-dropdown-toggle i {
    display: inline-grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border-radius: 50%;
    background: #f1f1ef;
    color: #111;
  }

  .tt-nav-item.is-open > .tt-dropdown-toggle {
    color: var(--tt-red);
  }

  .tt-nav-item.is-open > .tt-dropdown-toggle i {
    background: var(--tt-red);
    color: #fff;
  }

  .tt-mega-menu {
    position: static;
    width: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    max-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: #fafaf8;
    box-shadow: inset 4px 0 0 rgba(187,30,45,.18);
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transform: none;
    transition: max-height .32s ease, padding .32s ease;
  }

  .tt-nav-item.is-open .tt-mega-menu {
    max-height: 900px;
    padding: 8px 0 14px 14px;
    pointer-events: auto;
    transform: none;
  }

  .tt-mega-menu__intro,
  .tt-mega-menu__feature {
    display: none;
  }

  .tt-mega-menu__links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    width: 100%;
  }

  .tt-mega-menu__links li {
    display: block;
    width: 100%;
  }

  .tt-mega-menu__links a {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 10px 11px 4px;
    border-bottom: 1px solid rgba(16,16,16,.08);
    color: #303030;
    font-size: .88rem;
    line-height: 1.3;
    text-decoration: none;
    pointer-events: auto;
    touch-action: manipulation;
  }

  .tt-mega-menu__links li:last-child a {
    border-bottom: 0;
  }

  .tt-mega-menu__links a:hover,
  .tt-mega-menu__links a:focus-visible {
    color: var(--tt-red);
    background: rgba(187,30,45,.05);
  }

  .tt-mega-menu__links a i {
    flex: 0 0 auto;
    color: var(--tt-red);
  }

  .tt-mobile-utility {
    display: block;
    margin-top: 30px;
    padding: 22px 4px 0;
    border-top: 3px solid #111;
  }

  .tt-mobile-utility::before {
    content: "More";
    display: block;
    margin-bottom: 10px;
    color: var(--tt-red);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .tt-mobile-utility ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .tt-mobile-utility a {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 8px 0;
    color: #555;
    font-weight: 700;
    text-decoration: none;
    pointer-events: auto;
    touch-action: manipulation;
  }

  .tt-mobile-utility a:hover,
  .tt-mobile-utility a:focus-visible {
    color: var(--tt-red);
  }

  .tt-mobile-toggle {
    display: inline-grid;
    position: relative;
    z-index: 1400;
    border-radius: 50%;
  }

  .tt-mobile-nav-open .tt-mobile-toggle {
    position: fixed;
    top: max(16px, env(safe-area-inset-top));
    right: clamp(16px, 4vw, 24px);
    background: #111;
    border-color: #111;
    color: #fff;
    box-shadow: 0 8px 22px rgba(0,0,0,.2);
  }

  .tt-header-cta { display: none; }
  .tt-home-shell { grid-template-columns: 1fr; }
  .tt-featured-story, .tt-featured-story__link { height: 560px; min-height: 0; }
  #heroStoryGrid { height: 560px; min-height: 0; }
  #homeNewsRail { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .tt-utility-inner, .tt-header-inner, .tt-campaign-inner, .tt-home-shell, .tt-section-shell { width: min(calc(100% - 24px), var(--tt-max)); }
  .tt-header-inner { min-height: 68px; }
  .tt-logo img { height: 46px; }
  .tt-brand-copy strong { font-size: .88rem; }
  .tt-brand-copy small { display: none; }
  .tt-icon-button { width: 42px; height: 42px; }
  .tt-campaign-inner { width: 100%; padding-left: 12px; }
  .tt-campaign-message { justify-content: flex-start; gap: 8px; overflow: hidden; }
  .tt-campaign-message strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tt-campaign-message > span:not(.tt-campaign-action) { display: none; }
  .tt-campaign-action { font-size: .75rem; }
  .tt-home-shell { width: 100%; gap: 8px; padding-top: 8px; }
  .tt-featured-story, .tt-featured-story__link { height: 470px; min-height: 0; }
  .tt-featured-story__content { left: 20px; right: 20px; bottom: 26px; }
  .tt-featured-story__title { font-size: clamp(1.8rem, 8.5vw, 2.65rem); line-height: 1.05; }
  .tt-featured-story__summary { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  #heroStoryGrid { display: grid; height: auto; grid-template-columns: 1fr; grid-template-rows: repeat(3, 230px); min-height: 0; }
  .tt-story-card--1 { grid-column: auto; }
  .tt-news-section { padding: 54px 0 68px; }
  .tt-section-heading { align-items: center; }
  .tt-section-heading h2 { font-size: 2rem; }
  #homeNewsRail { grid-template-columns: 1fr; gap: 18px; }
  .tt-search-dialog { margin-top: 72px; padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* =========================================================
   COMPACT EDITORIAL HERO — PHOTO-FIRST
   Replaces the oversized full-image text treatment.
========================================================= */

.tt-home-shell {
  grid-template-columns: minmax(0, 1.62fr) minmax(360px, .98fr);
  gap: 14px;
  padding-top: 14px;
  padding-bottom: 18px;
}

.tt-featured-story,
.tt-featured-story__link,
#heroStoryGrid {
  height: clamp(440px, 38vw, 520px);
}

.tt-featured-story__image,
.tt-story-card__image {
  object-fit: cover;
  object-position: center 38%;
}

/* Keep the photograph clean. Only a very light lower shade remains. */
.tt-featured-story .tt-story-shade {
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0) 48%,
    rgba(0,0,0,.08) 72%,
    rgba(0,0,0,.28) 100%
  );
}

/* British-Cycling-like compact editorial panel */
.tt-featured-story__content {
  left: auto;
  right: 24px;
  bottom: 24px;
  width: min(46%, 430px);
  max-width: none;
  padding: 20px 22px 19px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 32px rgba(0,0,0,.16);
  backdrop-filter: blur(5px);
}

.tt-featured-story__title {
  max-width: none;
  margin: 11px 0 9px;
  color: #101010;
  font-size: clamp(1.45rem, 1.8vw, 2rem);
  line-height: 1.08;
  font-weight: 750;
  letter-spacing: -.035em;
  text-shadow: none;
}

.tt-featured-story__summary {
  display: -webkit-box;
  max-width: none;
  margin: 0 0 15px;
  overflow: hidden;
  color: #555;
  font-size: .91rem;
  line-height: 1.43;
  text-shadow: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tt-featured-story .tt-story-category {
  min-height: 23px;
  border-left: 0;
  padding: 0 9px;
  font-size: .62rem;
}

.tt-featured-story .tt-story-action {
  min-height: 36px;
  padding: 0 14px;
  background: var(--tt-red);
  color: #fff;
  font-size: .72rem;
  letter-spacing: .055em;
}

.tt-featured-story .tt-story-action i {
  transition: transform .2s ease;
}

.tt-featured-story__link:hover .tt-story-action i {
  transform: translateX(3px);
}

/* Supporting stories: first card gets a compact white panel. */
#heroStoryGrid {
  grid-template-rows: 1.12fr .88fr;
}

.tt-story-card .tt-story-shade {
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0) 40%,
    rgba(0,0,0,.16) 66%,
    rgba(0,0,0,.72) 100%
  );
}

.tt-story-card--1 .tt-story-shade {
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0) 50%,
    rgba(0,0,0,.16) 100%
  );
}

.tt-story-card--1 .tt-story-card__content {
  left: auto;
  right: 16px;
  bottom: 16px;
  width: min(67%, 355px);
  padding: 15px 17px 16px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 10px 26px rgba(0,0,0,.14);
}

.tt-story-card--1 .tt-story-card__title {
  margin-top: 8px;
  color: #111;
  font-size: clamp(1.02rem, 1.18vw, 1.28rem);
  line-height: 1.14;
  text-shadow: none;
}

.tt-story-card--1 .tt-story-card__meta {
  color: #666;
}

.tt-story-card--1 .tt-story-category {
  border-left: 0;
  min-height: 22px;
  font-size: .59rem;
}

.tt-story-card--2 .tt-story-card__content,
.tt-story-card--3 .tt-story-card__content {
  left: 15px;
  right: 15px;
  bottom: 14px;
}

.tt-story-card--2 .tt-story-card__title,
.tt-story-card--3 .tt-story-card__title {
  max-width: 95%;
  margin-top: 7px;
  font-size: clamp(.92rem, 1.02vw, 1.08rem);
  line-height: 1.16;
  font-weight: 700;
}

.tt-story-card--2 .tt-story-card__meta time,
.tt-story-card--3 .tt-story-card__meta time {
  display: none;
}

.tt-story-card--2 .tt-story-category,
.tt-story-card--3 .tt-story-category {
  min-height: 21px;
  border-left: 0;
  padding-inline: 8px;
  font-size: .56rem;
}

/* Avoid the cards feeling like edge-to-edge billboards. */
.tt-home-hero {
  background: #f1f1ef;
}

.tt-featured-story,
.tt-story-card {
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}

/* News begins sooner and feels tied to the hero. */
.tt-news-section {
  padding-top: 58px;
}

@media (max-width: 1199px) {
  .tt-featured-story,
  .tt-featured-story__link {
    height: 520px;
  }

  #heroStoryGrid {
    height: 520px;
  }

  .tt-featured-story__content {
    width: min(52%, 430px);
  }
}

@media (max-width: 767px) {
  .tt-home-shell {
    gap: 10px;
    padding-bottom: 10px;
  }

  .tt-featured-story,
  .tt-featured-story__link {
    height: 450px;
  }

  .tt-featured-story__image {
    object-position: center 34%;
  }

  .tt-featured-story__content {
    left: 14px;
    right: 14px;
    bottom: 14px;
    width: auto;
    padding: 16px 17px;
  }

  .tt-featured-story__title {
    font-size: clamp(1.35rem, 6vw, 1.8rem);
  }

  .tt-featured-story__summary {
    font-size: .86rem;
    -webkit-line-clamp: 2;
  }

  #heroStoryGrid {
    grid-template-rows: repeat(3, 215px);
  }

  .tt-story-card--1 .tt-story-card__content {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
  }

  .tt-story-card--2 .tt-story-card__content,
  .tt-story-card--3 .tt-story-card__content {
    left: 14px;
    right: 14px;
    bottom: 13px;
  }
}





/* =========================================================
   PHASE 2 — CENTRAL HOMEPAGE SECTIONS
   Append this entire block to assets/css/phase1.css
========================================================= */

.tt-p2-section { position: relative; }
.tt-p2-eyebrow { display: inline-block; color: var(--tt-red); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.tt-p2-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.tt-p2-heading h2 { margin: 6px 0 0; font-family: Poppins, sans-serif; font-size: clamp(2rem, 3.1vw, 3.5rem); line-height: .98; font-weight: 850; letter-spacing: -.05em; text-transform: uppercase; }
.tt-p2-heading-link { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 5px; border-bottom: 2px solid currentColor; color: #111; font-size: .76rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.tt-p2-heading--inverse h2, .tt-p2-heading--inverse .tt-p2-heading-link { color: #fff; }
.tt-p2-heading--compact { margin-bottom: 22px; }
.tt-p2-button { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px; background: var(--tt-red); color: #fff; font-size: .75rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.tt-p2-button:hover { background: #a61626; color: #fff; }

/* Quick actions */
.tt-p2-quick-actions { padding: 18px 0 76px; background: var(--tt-off-white); }
.tt-p2-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 2px; background: #fff; }
.tt-p2-action { position: relative; min-height: 210px; overflow: hidden; isolation: isolate; color: #fff; }
.tt-p2-action--red { background: var(--tt-red); }
.tt-p2-action--black { background: #111; }
.tt-p2-action--green { background: var(--tt-green); }
.tt-p2-action--image { background: #303030; }
.tt-p2-action__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.tt-p2-action__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.72)); }
.tt-p2-action:not(.has-image) .tt-p2-action__shade { background: linear-gradient(135deg,rgba(255,255,255,.08),transparent 62%); }
.tt-p2-action__body { position: absolute; inset: auto 22px 22px; display: grid; gap: 8px; }
.tt-p2-action__body strong { max-width: 220px; font-family: Poppins,sans-serif; font-size: clamp(1.2rem,1.5vw,1.65rem); line-height: 1.02; font-weight: 800; letter-spacing: -.03em; text-transform: uppercase; }
.tt-p2-action__body small { max-width: 240px; color: rgba(255,255,255,.8); font-size: .88rem; line-height: 1.4; }
.tt-p2-action__body i { position: absolute; right: 0; bottom: 0; font-size: 1.15rem; }
.tt-p2-action:hover .tt-p2-action__image { transform: scale(1.045); }
.tt-p2-action:hover .tt-p2-action__body i { transform: translate(3px,-3px); }

/* Events */
.tt-p2-events { padding: 88px 0; background: #fff; }
.tt-p2-events-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: 28px; align-items: stretch; }
.tt-p2-event-feature { position: relative; min-height: 455px; overflow: hidden; background: #171717; color: #fff; }
.tt-p2-event-feature__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tt-p2-event-feature__shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.05) 22%,rgba(0,0,0,.86) 100%); }
.tt-p2-event-date { position: absolute; top: 22px; left: 22px; z-index: 2; width: 78px; padding: 11px 8px; background: #fff; color: #111; text-align: center; text-transform: uppercase; }
.tt-p2-event-date span { display: block; color: var(--tt-red); font-size: 1.5rem; font-weight: 900; line-height: 1; }
.tt-p2-event-date strong { display: block; margin-top: 5px; font-size: .65rem; letter-spacing: .06em; }
.tt-p2-event-feature__content { position: absolute; left: 28px; right: 28px; bottom: 28px; z-index: 2; max-width: 580px; }
.tt-p2-chip { display: inline-flex; min-height: 25px; align-items: center; padding: 0 10px; background: var(--tt-red); color: #fff; font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.tt-p2-event-feature h3 { max-width: 560px; margin: 12px 0 8px; color: #fff; font-family: Poppins,sans-serif; font-size: clamp(1.65rem,2.3vw,2.5rem); line-height: 1.03; font-weight: 780; letter-spacing: -.04em; }
.tt-p2-event-feature p { max-width: 540px; margin: 0 0 13px; color: rgba(255,255,255,.82); line-height: 1.45; }
.tt-p2-event-meta { margin-bottom: 17px; color: rgba(255,255,255,.82); font-size: .82rem; }
.tt-p2-event-meta span { display: inline-flex; align-items: center; gap: 7px; }
.tt-p2-event-feature__content > a { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: .74rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.tt-p2-event-list { display: grid; border-top: 1px solid var(--tt-border); }
.tt-p2-event-row { display: grid; grid-template-columns: 78px minmax(0,1fr) auto 20px; align-items: center; gap: 18px; padding: 20px 2px; border-bottom: 1px solid var(--tt-border); color: #111; }
.tt-p2-event-row time { display: grid; justify-items: start; }
.tt-p2-event-row time strong { color: var(--tt-red); font-size: 1.65rem; line-height: 1; }
.tt-p2-event-row time span { margin-top: 4px; color: var(--tt-grey); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.tt-p2-event-row__main { display: grid; gap: 3px; }
.tt-p2-event-row__main small { color: var(--tt-red); font-size: .67rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.tt-p2-event-row__main b { font-family: Poppins,sans-serif; font-size: 1rem; line-height: 1.2; }
.tt-p2-event-row__status { padding: 6px 9px; background: #f0f0ed; color: #333; font-size: .65rem; font-weight: 850; white-space: nowrap; text-transform: uppercase; }
.tt-p2-event-row:hover { padding-left: 10px; color: var(--tt-red); }

/* Tandem intro */
.tt-p2-intro { padding: 0 0 94px; background: #fff; }
.tt-p2-intro-card { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(390px,.88fr); min-height: 540px; background: var(--tt-off-white); }
.tt-p2-intro-media { position: relative; min-height: 480px; overflow: hidden; background: #d9d9d4; }
.tt-p2-intro-image { width: 100%; height: 100%; object-fit: cover; }
.tt-p2-intro-mark { position: absolute; right: 20px; bottom: 10px; color: rgba(255,255,255,.8); font-family: Poppins,sans-serif; font-size: 5rem; font-weight: 900; line-height: 1; }
.tt-p2-intro-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,5vw,72px); }
.tt-p2-intro-copy h2 { max-width: 520px; margin: 9px 0 18px; font-family: Poppins,sans-serif; font-size: clamp(2.2rem,3.5vw,4rem); line-height: .97; font-weight: 850; letter-spacing: -.055em; text-transform: uppercase; }
.tt-p2-intro-copy > p { max-width: 570px; margin: 0 0 27px; color: #555; font-size: 1.04rem; line-height: 1.65; }
.tt-p2-role-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-bottom: 30px; padding-top: 22px; border-top: 1px solid #ccc; }
.tt-p2-role-pair span { display: grid; gap: 5px; }
.tt-p2-role-pair b { font-family: Poppins,sans-serif; font-size: .9rem; text-transform: uppercase; }
.tt-p2-role-pair small { color: #666; line-height: 1.4; }
.tt-p2-intro-copy .tt-p2-button { align-self: flex-start; }

/* Results */
.tt-p2-results { padding: 86px 0 92px; overflow: hidden; background: #111; color: #fff; }
.tt-p2-results::before { content:""; position:absolute; right:-100px; top:-150px; width:420px; height:420px; border:80px solid rgba(197,31,48,.13); border-radius:50%; }
.tt-p2-result-grid { position: relative; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 2px; background: rgba(255,255,255,.12); }
.tt-p2-result-card { display: grid; grid-template-columns: auto 1fr; gap: 18px; min-height: 210px; padding: 28px; background: #1d1d1d; }
.tt-p2-result-card.is-featured { background: var(--tt-red); }
.tt-p2-result-position { font-family: Poppins,sans-serif; font-size: 3.4rem; font-weight: 900; line-height: .82; letter-spacing: -.08em; }
.tt-p2-result-card small { color: rgba(255,255,255,.65); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.tt-p2-result-card h3 { margin: 8px 0 6px; color: #fff; font-family: Poppins,sans-serif; font-size: 1.1rem; line-height: 1.15; }
.tt-p2-result-card p { margin: 0; color: rgba(255,255,255,.72); }
.tt-p2-result-time { grid-column: 2; align-self: end; color: #fff; font-family: Poppins,sans-serif; font-size: 1.65rem; }

/* Team story */
.tt-p2-team { padding: 94px 0; background: var(--tt-off-white); }
.tt-p2-team-story { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(340px,.7fr); min-height: 480px; background: #fff; }
.tt-p2-team-story__media { min-height: 460px; overflow: hidden; background: #ddd; }
.tt-p2-team-story__image { width: 100%; height: 100%; object-fit: cover; }
.tt-p2-team-story__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px,4.5vw,64px); }
.tt-p2-team-story__copy h3 { margin: 10px 0 18px; font-family: Poppins,sans-serif; font-size: clamp(2rem,3vw,3.45rem); line-height: .99; font-weight: 830; letter-spacing: -.05em; }
.tt-p2-team-story__copy p { margin: 0 0 28px; color: #5e5e5e; font-size: 1.02rem; line-height: 1.6; }
.tt-p2-team-story__copy .tt-p2-button { align-self: flex-start; }

/* Join/support */
.tt-p2-join-panel { position: relative; padding: 86px 0; background: linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.72)),var(--tt-p2-join-image),#151515; background-size: cover; background-position: center; }
.tt-p2-join-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid rgba(255,255,255,.28); }
.tt-p2-join-card { min-height: 250px; padding: 32px; border-right: 1px solid rgba(255,255,255,.28); color: #fff; }
.tt-p2-join-card:last-child { border-right: 0; }
.tt-p2-join-card span { display: block; font-family: Poppins,sans-serif; font-size: clamp(1.5rem,2.2vw,2.35rem); line-height: 1; font-weight: 850; letter-spacing: -.04em; text-transform: uppercase; }
.tt-p2-join-card p { max-width: 310px; margin: 18px 0 44px; color: rgba(255,255,255,.72); line-height: 1.5; }
.tt-p2-join-card strong { display: inline-flex; align-items: center; gap: 8px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.tt-p2-join-card:hover { background: var(--tt-red); color: #fff; }

/* Partners */
.tt-p2-partners { padding: 66px 0 82px; background: #fff; }
.tt-p2-partner-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid var(--tt-border); }
.tt-p2-partner { display: grid; min-height: 112px; place-items: center; padding: 20px; border-right: 1px solid var(--tt-border); color: #777; }
.tt-p2-partner:last-child { border-right: 0; }
.tt-p2-partner__logo { max-width: 135px; max-height: 54px; object-fit: contain; filter: grayscale(1); opacity: .65; transition: filter .2s ease,opacity .2s ease,transform .2s ease; }
.tt-p2-partner span { font-family: Poppins,sans-serif; font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.tt-p2-partner:hover .tt-p2-partner__logo { filter: grayscale(0); opacity: 1; transform: scale(1.04); }

@media (max-width: 1199px) {
  .tt-p2-action-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tt-p2-events-layout { grid-template-columns: 1fr; }
  .tt-p2-event-feature { min-height: 430px; }
  .tt-p2-intro-card, .tt-p2-team-story { grid-template-columns: 1fr; }
  .tt-p2-intro-media, .tt-p2-team-story__media { min-height: 480px; }
  .tt-p2-result-grid { grid-template-columns: 1fr; }
  .tt-p2-result-card { min-height: 170px; }
  .tt-p2-join-grid { grid-template-columns: 1fr; }
  .tt-p2-join-card { min-height: 190px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.28); }
  .tt-p2-join-card:last-child { border-bottom: 0; }
  .tt-p2-partner-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .tt-p2-heading { align-items: flex-start; }
  .tt-p2-heading h2 { font-size: 2.15rem; }
  .tt-p2-heading-link { margin-top: 8px; font-size: .65rem; }
  .tt-p2-quick-actions { padding: 10px 0 54px; }
  .tt-p2-action-grid { grid-template-columns: 1fr; gap: 1px; }
  .tt-p2-action { min-height: 175px; }
  .tt-p2-events { padding: 62px 0; }
  .tt-p2-event-feature { min-height: 450px; }
  .tt-p2-event-feature__content { left: 20px; right: 20px; bottom: 20px; }
  .tt-p2-event-feature h3 { font-size: 1.8rem; }
  .tt-p2-event-row { grid-template-columns: 64px minmax(0,1fr) 18px; gap: 12px; }
  .tt-p2-event-row__status { display: none; }
  .tt-p2-intro { padding-bottom: 64px; }
  .tt-p2-intro-media, .tt-p2-team-story__media { min-height: 330px; }
  .tt-p2-intro-copy, .tt-p2-team-story__copy { padding: 34px 24px 40px; }
  .tt-p2-intro-copy h2 { font-size: 2.45rem; }
  .tt-p2-role-pair { grid-template-columns: 1fr; gap: 15px; }
  .tt-p2-results, .tt-p2-team { padding: 64px 0; }
  .tt-p2-result-card { grid-template-columns: 62px 1fr; padding: 22px; }
  .tt-p2-result-position { font-size: 2.7rem; }
  .tt-p2-join-panel { padding: 54px 0; }
  .tt-p2-join-card { padding: 26px; }
  .tt-p2-partner-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tt-p2-partner { min-height: 96px; }
}






/* =========================================================
   THIKA TANDEM DESIGN SYSTEM + SITE FOOTER
   Append this entire block to assets/css/phase1.css
========================================================= */
html{scroll-behavior:smooth}
body{font-family:var(--tt-body);font-size:1rem;line-height:1.6;color:var(--tt-black);background:var(--tt-white);text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{font-family:var(--tt-display);letter-spacing:-.03em}
a{transition:color var(--tt-transition),background var(--tt-transition),border-color var(--tt-transition),transform var(--tt-transition)}
img{max-width:100%}
:focus-visible{outline:3px solid var(--tt-accent);outline-offset:4px}
.tt-container,
.tt-section-shell,
.tt-home-shell,
.tt-header-inner,
.tt-utility-inner,
.tt-campaign-inner{
  width:min(calc(100% - 40px),var(--tt-container));
  max-width:var(--tt-container);
  margin-inline:auto;
}
.tt-p2-section,.tt-news-section{padding-block:var(--space-7)}
.tt-section-heading h2,.tt-p2-heading h2{text-transform:uppercase;font-weight:800;letter-spacing:-.045em}
.tt-news-card__media{aspect-ratio:4/3}
.tt-p2-intro__media,.tt-p2-team-story__media{overflow:hidden}
.tt-p2-intro__media img{aspect-ratio:16/9;object-fit:cover}
.tt-p2-team-story__media img{aspect-ratio:3/4;object-fit:cover}
.tt-p2-join{min-height:auto}

.tt-site-footer{position:relative;background:#0b0b0b;color:var(--tt-white)}
.tt-footer-accent{height:5px;background:linear-gradient(90deg,var(--tt-black) 0 33.333%,var(--tt-red) 33.333% 66.666%,var(--tt-green) 66.666% 100%)}
.tt-footer-main{padding-block:76px 68px}
.tt-footer-layout{display:grid;grid-template-columns:1.35fr .65fr .78fr .72fr 1.25fr;gap:clamp(30px,3.5vw,62px);align-items:start}
.tt-footer-logo{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.tt-footer-identity>img{height:64px!important;width:auto!important;max-height:34px!important;}
.tt-footer-logo span{display:flex;flex-direction:column;line-height:1}
.tt-footer-logo strong{font-family:var(--tt-display);font-size:1.18rem;font-weight:800;letter-spacing:-.03em}
.tt-footer-logo small{margin-top:6px;color:#e25260;font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.tt-footer-statement{max-width:355px;margin:24px 0;color:rgba(255,255,255,.62);line-height:1.65}
.tt-footer-contact{display:flex;flex-direction:column;gap:13px;margin:0;font-style:normal}
.tt-footer-contact a{display:grid;grid-template-columns:20px minmax(0,1fr);gap:11px;color:rgba(255,255,255,.72);line-height:1.42;text-decoration:none}
.tt-footer-contact i{margin-top:3px;color:#e25260}
.tt-footer-contact a:hover{color:#fff}
.tt-footer-social{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.tt-footer-social a{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none}
.tt-footer-social a:hover{background:var(--tt-red);border-color:var(--tt-red);transform:translateY(-2px)}
.tt-footer-column h2,.tt-footer-newsletter h2{margin:0 0 22px;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tt-footer-column ul{margin:0;padding:0;list-style:none}
.tt-footer-column li+li{margin-top:12px}
.tt-footer-column a{color:rgba(255,255,255,.63);font-weight:600;text-decoration:none}
.tt-footer-column a:hover{color:#fff;transform:translateX(3px)}
.tt-footer-kicker{display:block;margin-bottom:8px;color:#e25260;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.tt-footer-newsletter h2{margin-bottom:12px;font-size:1.36rem;letter-spacing:-.025em;text-transform:none}
.tt-footer-newsletter>p{margin:0 0 22px;color:rgba(255,255,255,.61);line-height:1.55}
.tt-footer-newsletter-form>label:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tt-footer-newsletter-control{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04)}
.tt-footer-newsletter-control:focus-within{border-color:#fff;box-shadow:0 0 0 3px rgba(228,182,35,.22)}
.tt-footer-newsletter-control input{min-width:0;border:0;background:transparent;color:#fff;padding:14px 15px;outline:0}
.tt-footer-newsletter-control input::placeholder{color:rgba(255,255,255,.38)}
.tt-footer-newsletter-control button{display:inline-flex;align-items:center;gap:10px;border:0;background:var(--tt-red);color:#fff;padding:0 17px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tt-footer-newsletter-control button:hover{background:var(--tt-red-dark)}
.tt-footer-newsletter-control button:disabled{cursor:wait;opacity:.65}
.tt-footer-consent{display:grid;grid-template-columns:16px 1fr;gap:9px;margin-top:13px;color:rgba(255,255,255,.48);font-size:.75rem;line-height:1.35;cursor:pointer}
.tt-footer-consent input{margin-top:2px;accent-color:var(--tt-red)}
.tt-footer-form-message{min-height:22px;margin:10px 0 0!important;color:rgba(255,255,255,.72)!important;font-size:.8rem}
.tt-footer-form-message.is-success{color:#7fd6a6!important}.tt-footer-form-message.is-error{color:#ff8f9b!important}
.tt-footer-bottom{border-top:1px solid rgba(255,255,255,.11);background:#050505}
.tt-footer-bottom__inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.tt-footer-bottom nav{display:flex;flex-wrap:wrap;gap:22px}
.tt-footer-bottom a,.tt-footer-bottom p{margin:0;color:rgba(255,255,255,.5);font-size:.78rem;text-decoration:none}
.tt-footer-bottom a:hover{color:#fff}
@media(max-width:1199px){.tt-footer-layout{grid-template-columns:1.2fr repeat(3,.7fr);}.tt-footer-newsletter{grid-column:1/-1;max-width:650px}.tt-footer-main{padding-block:64px}}
@media(max-width:767px){
  .tt-container,
  .tt-section-shell,
  .tt-home-shell,
  .tt-header-inner,
  .tt-utility-inner,
  .tt-campaign-inner{
    width:min(calc(100% - 24px),var(--tt-container));
    max-width:var(--tt-container);
    margin-inline:auto;
  }.tt-p2-section,.tt-news-section{padding-block:var(--space-6)}.tt-footer-layout{grid-template-columns:1fr 1fr;gap:40px 28px}.tt-footer-identity,.tt-footer-newsletter{grid-column:1/-1}.tt-footer-main{padding-block:52px}.tt-footer-bottom__inner{padding-block:21px;align-items:flex-start;flex-direction:column}.tt-footer-bottom nav{gap:12px 18px}}
@media(max-width:479px){.tt-footer-layout{grid-template-columns:1fr}.tt-footer-identity,.tt-footer-newsletter{grid-column:auto}.tt-footer-newsletter-control{grid-template-columns:1fr}.tt-footer-newsletter-control button{min-height:46px;justify-content:center}.tt-footer-column{padding-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tt-site-footer *{transition:none!important}}

/* =========================================================
   INNER PAGES — BRITISH-CYCLING-INSPIRED, THIKA TANDEM THEME
========================================================= */
.tt-inner-page main { overflow: hidden; }
.tt-inner-hero { position: relative; min-height: clamp(390px, 46vw, 620px); display: flex; align-items: end; overflow: hidden; background: var(--tt-black); }
.tt-inner-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tt-inner-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.42) 62%, rgba(0,0,0,.18)); }
.tt-inner-hero__content { position: relative; z-index: 2; padding-top: 90px; padding-bottom: 68px; color: #fff; }
.tt-inner-hero__content h1 { max-width: 900px; margin: 10px 0 14px; color: #fff; font-family: Poppins,sans-serif; font-size: clamp(2.8rem,7vw,6rem); line-height: .94; font-weight: 800; letter-spacing: -.055em; text-transform: uppercase; }
.tt-inner-hero__content p { max-width: 680px; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(1.05rem,1.7vw,1.35rem); line-height: 1.45; }
.tt-breadcrumb { border-bottom: 1px solid var(--tt-border); background: #fff; }
.tt-breadcrumb .tt-section-shell { min-height: 52px; display: flex; align-items: center; gap: 10px; font-size: .82rem; font-weight: 750; }
.tt-breadcrumb a { color: var(--tt-red); }
.tt-breadcrumb i { font-size: .65rem; color: var(--tt-grey); }
.tt-inner-intro { padding: 82px 0 94px; background: var(--tt-off-white); }
.tt-inner-intro__heading { max-width: 900px; margin-bottom: 34px; }
.tt-inner-intro__heading h2 { margin: 8px 0 0; font-family: Poppins,sans-serif; font-size: clamp(2rem,4vw,3.7rem); line-height: 1.02; letter-spacing: -.045em; }
.tt-inner-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.tt-inner-card { position: relative; min-height: 320px; display: flex; flex-direction: column; align-items: flex-start; padding: 34px; overflow: hidden; background: #fff; border-top: 5px solid var(--tt-red); box-shadow: 0 12px 34px rgba(0,0,0,.07); }
.tt-inner-card:nth-child(2) { border-color: var(--tt-black); }
.tt-inner-card:nth-child(3) { border-color: var(--tt-green); }
.tt-inner-card__eyebrow { color: var(--tt-red); font-size: .7rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.tt-inner-card h2 { margin: 16px 0 12px; font-family: Poppins,sans-serif; font-size: 1.65rem; line-height: 1.08; }
.tt-inner-card p { margin: 0 0 28px; color: var(--tt-grey); line-height: 1.6; }
.tt-inner-card a { margin-top: auto; color: var(--tt-black); font-size: .78rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.tt-inner-card a:hover { color: var(--tt-red); }
.tt-listing-section,.tt-data-section,.tt-rich-section { padding: 90px 0; background: #fff; }
.tt-page-listing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.tt-listing-card { background: var(--tt-off-white); }
.tt-listing-card__media { aspect-ratio: 4/3; overflow: hidden; background: #ddd; }
.tt-listing-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.tt-listing-card:hover img { transform: scale(1.035); }
.tt-listing-card__body { padding: 26px; }
.tt-listing-card__body > span { color: var(--tt-red); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.tt-listing-card h3 { margin: 10px 0; font-family: Poppins,sans-serif; font-size: 1.35rem; }
.tt-listing-card p { color: var(--tt-grey); line-height: 1.55; }
.tt-listing-card a { color: #111; font-weight: 850; text-transform: uppercase; font-size: .76rem; }
.tt-filter-panel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: 18px; align-items: end; margin-bottom: 28px; padding: 24px; background: var(--tt-off-white); }
.tt-filter-panel label { display: grid; gap: 7px; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.tt-filter-panel select { min-height: 48px; border: 1px solid var(--tt-border); background: #fff; padding: 0 14px; }
.tt-filter-panel button { min-height: 48px; border: 0; padding: 0 28px; background: var(--tt-red); color: #fff; font-weight: 900; text-transform: uppercase; }
.tt-responsive-table { overflow-x: auto; border-top: 5px solid var(--tt-red); }
.tt-responsive-table table { width: 100%; min-width: 720px; border-collapse: collapse; }
.tt-responsive-table th { padding: 16px; background: var(--tt-black); color: #fff; text-align: left; font-size: .72rem; text-transform: uppercase; }
.tt-responsive-table td { padding: 18px 16px; border-bottom: 1px solid var(--tt-border); }
.tt-responsive-table td small { display: block; color: var(--tt-grey); }
.tt-rich-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 70px; align-items: center; }
.tt-rich-grid h2 { margin: 8px 0 16px; font-family: Poppins,sans-serif; font-size: clamp(2rem,4vw,3.5rem); }
.tt-rich-grid p { color: var(--tt-grey); font-size: 1.08rem; line-height: 1.65; }
.tt-rich-grid aside { padding: 34px; background: var(--tt-black); color: #fff; }
.tt-rich-grid aside strong { font-family: Poppins,sans-serif; font-size: 1.5rem; }
.tt-rich-grid aside p { color: rgba(255,255,255,.72); }
.tt-page-cta { padding: 62px 0; background: var(--tt-red); color: #fff; }
.tt-page-cta .tt-section-shell { display: flex; justify-content: space-between; gap: 32px; align-items: center; }
.tt-page-cta span { font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.tt-page-cta h2 { max-width: 750px; margin: 8px 0 0; color: #fff; font-family: Poppins,sans-serif; font-size: clamp(2rem,4vw,3.4rem); line-height: 1; }
.tt-page-cta .tt-p2-button { background: #fff; color: #111; }



@media (max-width: 991px) {
  .tt-inner-card-grid,.tt-page-listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tt-rich-grid { grid-template-columns: 1fr; gap: 34px; }
}
@media (max-width: 767px) {
  .tt-inner-hero { min-height: 430px; }
  .tt-inner-hero__content { padding-bottom: 44px; }
  .tt-inner-card-grid,.tt-page-listing-grid { grid-template-columns: 1fr; }
  .tt-inner-intro,.tt-listing-section,.tt-data-section,.tt-rich-section { padding: 58px 0; }
  .tt-filter-panel { grid-template-columns: 1fr; }
  .tt-page-cta .tt-section-shell { align-items: flex-start; flex-direction: column; }
}
/* CONSOLIDATED RESPONSIVE SEGMENT — REPLACE THE DUPLICATED BLOCKS WITH THIS */

html,body{width:100%;max-width:100%;overflow-x:clip;}
main,section,article,aside,header,footer,.tt-site-main,.tt-page-main{min-width:0;}
img,video,iframe,svg,canvas{max-width:100%;}
img,video{height:auto;}
input,select,textarea,button{max-width:100%;}

.tt-utility-inner{justify-content:flex-start;padding-inline:4px;scroll-padding-inline:12px;-webkit-overflow-scrolling:touch;}
.tt-utility-list{width:max-content;min-width:100%;justify-content:center;gap:clamp(14px,2vw,28px);padding-inline:12px;}
.tt-header-inner,.tt-logo,.tt-brand-copy,.tt-nav,.tt-header-actions,#headerCtaContainer{min-width:0;}

#headerCtaContainer{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto;}
.tt-header-contact{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 10px;color:#171717;font-size:12px;font-weight:800;line-height:1;letter-spacing:.055em;text-decoration:none;text-transform:uppercase;white-space:nowrap;transition:color 180ms ease,transform 180ms ease;}
.tt-header-contact::after{content:"";position:absolute;right:10px;bottom:7px;left:10px;height:2px;background:#c7192d;transform:scaleX(0);transform-origin:right center;transition:transform 180ms ease;}
.tt-header-contact i{color:#c7192d;font-size:15px;line-height:1;transition:transform 180ms ease;}
.tt-header-contact:hover,.tt-header-contact:focus-visible{color:#c7192d;transform:translateY(-1px);}
.tt-header-contact:hover::after,.tt-header-contact:focus-visible::after{transform:scaleX(1);transform-origin:left center;}
.tt-header-contact:hover i,.tt-header-contact:focus-visible i{transform:translateX(2px);}
.tt-header-contact:focus-visible,.tt-header-cta:focus-visible{outline:3px solid rgba(199,25,45,.25);outline-offset:3px;}
.tt-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:1px solid #c7192d;background:#c7192d;color:#fff;font-size:12px;font-weight:850;line-height:1;letter-spacing:.035em;text-decoration:none;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 20px rgba(199,25,45,.16);transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;}
.tt-header-cta:hover,.tt-header-cta:focus-visible{border-color:#9e1021;background:#9e1021;color:#fff;box-shadow:0 11px 25px rgba(158,16,33,.23);transform:translateY(-1px);}

@media (max-width:1280px){
#headerCtaContainer{gap:7px;}
.tt-header-contact{padding-inline:6px;}
.tt-header-cta{padding-inline:16px;}
}

@media (max-width:1199px){
body.tt-mobile-nav-open{overflow:hidden;}
.tt-header,.tt-main-bar{overflow:visible!important;}
.tt-main-bar{position:relative;z-index:1000;}
.tt-header-inner{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;min-height:68px!important;padding-block:7px!important;}
.tt-logo{max-width:100%!important;overflow:hidden!important;}
.tt-logo img{width:auto!important;height:46px!important;max-width:none!important;flex:0 0 auto!important;}
.tt-brand-copy{overflow:hidden!important;}
.tt-brand-copy strong,.tt-brand-copy small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.tt-header-actions{position:relative!important;z-index:1205!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;width:auto!important;min-width:0!important;}

#mobileNavToggle,.tt-mobile-toggle{position:relative!important;z-index:1305!important;display:inline-grid!important;visibility:visible!important;opacity:1!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;flex:0 0 42px!important;place-items:center!important;margin:0!important;padding:0!important;border:1px solid #cacaca!important;border-radius:3px!important;background:#fff!important;color:#111!important;font-size:1.35rem!important;line-height:1!important;cursor:pointer!important;pointer-events:auto!important;box-shadow:0 3px 10px rgba(0,0,0,.08)!important;}
#mobileNavToggle i,.tt-mobile-toggle i{display:block!important;visibility:visible!important;opacity:1!important;margin:0!important;padding:0!important;color:inherit!important;font-size:1.45rem!important;line-height:1!important;}
#mobileNavToggle:hover,#mobileNavToggle:focus-visible,body.tt-mobile-nav-open #mobileNavToggle,.tt-mobile-toggle:hover,.tt-mobile-toggle:focus-visible,body.tt-mobile-nav-open .tt-mobile-toggle{border-color:var(--tt-red)!important;background:var(--tt-red)!important;color:#fff!important;}

#headerCtaContainer{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;width:auto!important;min-width:0!important;max-width:190px!important;margin:0!important;padding:0!important;gap:5px!important;}
#headerCtaContainer .tt-header-contact,#headerCtaContainer .tt-header-cta{display:inline-flex!important;visibility:visible!important;opacity:1!important;width:100%!important;min-width:0!important;max-width:none!important;height:38px!important;min-height:38px!important;max-height:38px!important;align-items:center!important;justify-content:center!important;gap:4px!important;margin:0!important;padding:4px 7px!important;border-radius:2px!important;font-family:var(--tt-body)!important;font-size:.62rem!important;font-weight:800!important;line-height:1.05!important;letter-spacing:.025em!important;text-align:center!important;text-decoration:none!important;text-transform:uppercase!important;white-space:nowrap!important;box-shadow:none!important;transform:none!important;}
#headerCtaContainer .tt-header-contact{border:1px solid #cfcfcf!important;background:#fff!important;color:#151515!important;}
#headerCtaContainer .tt-header-cta{border:1px solid var(--tt-red)!important;background:var(--tt-red)!important;color:#fff!important;}
#headerCtaContainer .tt-header-contact:hover,#headerCtaContainer .tt-header-contact:focus-visible{border-color:#111!important;background:#111!important;color:#fff!important;}
#headerCtaContainer .tt-header-cta:hover,#headerCtaContainer .tt-header-cta:focus-visible{border-color:var(--tt-red-dark)!important;background:var(--tt-red-dark)!important;color:#fff!important;}
#headerCtaContainer .tt-header-contact::after{display:none!important;}
#headerCtaContainer .tt-header-contact i{flex:0 0 auto!important;margin:0!important;color:inherit!important;font-size:.8rem!important;line-height:1!important;}
#headerCtaContainer .tt-header-contact span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;}

.tt-nav{position:fixed!important;z-index:1290!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:clamp(300px,36vw,430px)!important;max-width:calc(100vw - 42px)!important;height:100dvh!important;margin:0!important;padding:76px 18px 28px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:#fff!important;box-shadow:-18px 0 48px rgba(0,0,0,.22)!important;transform:translate3d(105%,0,0)!important;visibility:hidden!important;opacity:1!important;pointer-events:none!important;transition:transform 280ms ease,visibility 280ms ease!important;}
body.tt-mobile-nav-open .tt-nav{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important;}
.tt-mobile-backdrop{position:fixed!important;z-index:1280!important;inset:0!important;display:block!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;background:rgba(0,0,0,.58)!important;transition:opacity 240ms ease,visibility 240ms ease!important;}
body.tt-mobile-nav-open .tt-mobile-backdrop{visibility:visible!important;opacity:1!important;pointer-events:auto!important;}

.tt-nav-list{display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;list-style:none!important;}
.tt-nav-item{display:block!important;width:100%!important;border-bottom:1px solid #e2e2e2!important;}
.tt-nav-link{display:flex!important;width:100%!important;min-height:50px!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0!important;padding:0 3px!important;border:0!important;background:transparent!important;color:#171717!important;font-size:.78rem!important;font-weight:800!important;line-height:1.25!important;letter-spacing:.035em!important;text-align:left!important;text-transform:uppercase!important;}
.tt-nav-link::after{display:none!important;}
.tt-nav-item--dropdown>.tt-nav-link i{display:grid!important;width:28px!important;height:28px!important;flex:0 0 28px!important;place-items:center!important;border-radius:50%!important;background:#f0f0ee!important;}
.tt-mega-menu{position:static!important;display:none!important;visibility:visible!important;opacity:1!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 0 13px!important;border:0!important;box-shadow:none!important;transform:none!important;}
.tt-nav-item.is-open>.tt-mega-menu{display:block!important;}
.tt-mega-menu__intro,.tt-mega-menu__feature{display:none!important;}
.tt-mega-menu__links{display:block!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important;}
.tt-mega-menu__links a{display:flex!important;min-height:42px!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:8px 4px 8px 14px!important;border:0!important;color:#555!important;font-size:.86rem!important;line-height:1.3!important;}

.tt-mobile-utility{display:block!important;visibility:visible!important;opacity:1!important;margin-top:22px!important;padding-top:16px!important;border-top:3px solid #111!important;}
.tt-mobile-utility ul,#mobileUtilityNavigationList{display:block!important;visibility:visible!important;opacity:1!important;margin:0!important;padding:0!important;list-style:none!important;}
.tt-mobile-utility li,#mobileUtilityNavigationList li{display:block!important;visibility:visible!important;opacity:1!important;}
.tt-mobile-utility a,#mobileUtilityNavigationList a{display:block!important;visibility:visible!important;opacity:1!important;padding:8px 2px!important;color:#666!important;font-size:.8rem!important;font-weight:700!important;line-height:1.3!important;}
#mobileUtilityNavigationList li:first-child,#mobileUtilityNavigationList li:first-child a{display:block!important;visibility:visible!important;opacity:1!important;}

.tt-home-shell,.tt-p2-events-layout,.tt-p2-intro-card,.tt-p2-team-story,.tt-p2-result-grid,.tt-p2-join-grid{grid-template-columns:minmax(0,1fr)!important;}
.tt-home-shell,.tt-section-shell,.tt-container,.tt-campaign-inner,.tt-header-inner{max-width:100%;}
.tt-p2-event-row,.tt-footer-layout,.tt-footer-newsletter-control{min-width:0;}
}

@media (max-width:991px){
.tt-inner-card-grid,.tt-page-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.tt-rich-grid{grid-template-columns:1fr;gap:34px;}
}

@media (max-width:767px){
:root{--tt-header-height:64px;}
.tt-container,.tt-section-shell,.tt-header-inner,.tt-utility-inner,.tt-campaign-inner{width:min(calc(100% - 20px),var(--tt-container));margin-inline:auto;}
.tt-home-shell{width:100%;margin-inline:0;}
.tt-header-inner{min-height:64px!important;gap:7px!important;padding-block:6px!important;}
.tt-logo img{height:42px!important;}
.tt-brand-copy strong{max-width:125px!important;font-size:.73rem!important;}
.tt-brand-copy small{display:none!important;}
.tt-header-actions{gap:5px!important;}
#headerCtaContainer{max-width:168px!important;gap:4px!important;}
#headerCtaContainer .tt-header-contact,#headerCtaContainer .tt-header-cta{height:36px!important;min-height:36px!important;max-height:36px!important;padding-inline:5px!important;font-size:.56rem!important;letter-spacing:.015em!important;}
#headerCtaContainer .tt-header-contact i{font-size:.72rem!important;}
#mobileNavToggle,.tt-mobile-toggle{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;flex-basis:40px!important;}
.tt-nav{width:min(82vw,330px)!important;max-width:calc(100vw - 34px)!important;padding:70px 16px 24px!important;}
.tt-nav-link{min-height:49px!important;font-size:.76rem!important;}

.tt-inner-hero{min-height:430px;}
.tt-inner-hero__content{padding-bottom:44px;}
.tt-inner-card-grid,.tt-page-listing-grid{grid-template-columns:1fr;}
.tt-inner-intro,.tt-listing-section,.tt-data-section,.tt-rich-section{padding:58px 0;}
.tt-filter-panel{grid-template-columns:1fr;}
.tt-page-cta .tt-section-shell{align-items:flex-start;flex-direction:column;}
.tt-featured-story__content,.tt-story-card__content,.tt-p2-event-feature__content,.tt-p2-intro-copy,.tt-p2-team-story__copy,.tt-p2-join-card,.tt-news-card__body{max-width:100%;}
.tt-p2-heading{flex-direction:column;align-items:flex-start;gap:10px;}
.tt-p2-heading h2,.tt-section-heading h2,.tt-p2-intro-copy h2,.tt-p2-team-story__copy h3,.tt-p2-event-row__main b{overflow-wrap:anywhere;}
.tt-p2-event-row{grid-template-columns:56px minmax(0,1fr) 18px;gap:10px;padding-block:16px;}
.tt-p2-action-grid,#homeNewsRail,.tt-p2-partner-strip{grid-template-columns:minmax(0,1fr);}
.tt-p2-partner-strip{border-bottom:0;}
.tt-p2-partner{border-right:0;border-bottom:1px solid var(--tt-border);}

.tt-footer-main{padding-block:44px 38px;}
.tt-footer-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px;}
.tt-footer-identity,.tt-footer-newsletter{grid-column:1/-1;}
.tt-footer-logo{align-items:flex-start;}
.tt-footer-logo strong{font-size:1.03rem;}
.tt-footer-statement{max-width:100%;margin:18px 0;font-size:.92rem;line-height:1.55;}
.tt-footer-contact{gap:10px;}
.tt-footer-contact a{grid-template-columns:18px minmax(0,1fr);gap:9px;overflow-wrap:anywhere;}
.tt-footer-social{margin-top:18px;}
.tt-footer-social a{width:38px;height:38px;}
.tt-footer-column h2,.tt-footer-newsletter h2{margin-bottom:14px;}
.tt-footer-column li+li{margin-top:9px;}
.tt-footer-column a{display:inline-block;font-size:.88rem;line-height:1.35;}
.tt-footer-newsletter{padding-top:24px;border-top:1px solid rgba(255,255,255,.13);}
.tt-footer-newsletter-control{grid-template-columns:minmax(0,1fr) auto;}
.tt-footer-newsletter-control input{width:100%;padding:12px;font-size:16px;}
.tt-footer-newsletter-control button{min-width:92px;padding-inline:13px;}
.tt-footer-bottom__inner{min-height:0;flex-direction:column;align-items:flex-start;gap:14px;padding-block:19px;}
.tt-footer-bottom nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px 18px;}
.tt-footer-bottom a,.tt-footer-bottom p{font-size:.74rem;line-height:1.4;}
}

@media (max-width:479px){
.tt-header-inner{width:calc(100% - 16px)!important;gap:5px!important;}
.tt-brand-copy{display:none!important;}
.tt-logo{gap:0!important;}
.tt-logo img{height:40px!important;}
.tt-header-actions{gap:5px!important;}
#headerCtaContainer{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:154px!important;gap:3px!important;}
#headerCtaContainer .tt-header-contact,#headerCtaContainer .tt-header-cta{height:34px!important;min-height:34px!important;max-height:34px!important;padding-inline:4px!important;font-size:.52rem!important;line-height:1!important;}
#headerCtaContainer .tt-header-contact i{display:none!important;}
#mobileNavToggle,.tt-mobile-toggle{width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;flex-basis:38px!important;font-size:1.2rem!important;}
#mobileNavToggle i,.tt-mobile-toggle i{font-size:1.3rem!important;}
.tt-nav{width:min(84vw,310px)!important;max-width:calc(100vw - 28px)!important;padding:66px 14px 22px!important;}
.tt-footer-layout{grid-template-columns:1fr;gap:28px;}
.tt-footer-identity,.tt-footer-newsletter{grid-column:auto;}
.tt-footer-column{padding-top:2px;}
.tt-footer-newsletter-control{grid-template-columns:1fr;}
.tt-footer-newsletter-control button{min-height:44px;justify-content:center;}
.tt-footer-bottom nav{grid-template-columns:1fr;}
}

@media (max-width:359px){
.tt-header-inner{width:calc(100% - 12px)!important;}
.tt-logo img{height:36px!important;}
#headerCtaContainer{max-width:140px!important;}
#headerCtaContainer .tt-header-contact,#headerCtaContainer .tt-header-cta{height:32px!important;min-height:32px!important;max-height:32px!important;padding-inline:3px!important;font-size:.47rem!important;}
#mobileNavToggle,.tt-mobile-toggle{width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;flex-basis:36px!important;}
.tt-nav{width:calc(100vw - 24px)!important;max-width:none!important;}
}

@media (prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}

/* =========================================================
   AUTHORITATIVE MOBILE NAVIGATION DRAWER
   KEEP AT THE ABSOLUTE END OF phase1.css
========================================================= */

@media (max-width:1199px){

body.tt-mobile-nav-open{overflow:hidden;}

.tt-mobile-backdrop{position:fixed!important;z-index:1280!important;inset:0!important;display:block!important;background:rgba(8,10,12,.62)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;backdrop-filter:blur(3px);transition:opacity .28s ease,visibility .28s ease!important;}

body.tt-mobile-nav-open .tt-mobile-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}

.tt-nav{position:fixed!important;z-index:1300!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(92vw,440px)!important;max-width:calc(100vw - 28px)!important;height:100vh!important;height:100dvh!important;margin:0!important;padding:max(82px,calc(env(safe-area-inset-top) + 72px)) clamp(18px,5vw,28px) max(28px,env(safe-area-inset-bottom))!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;background:linear-gradient(180deg,rgba(187,30,45,.08),transparent 170px),#fff!important;border-left:1px solid rgba(16,16,16,.08)!important;box-shadow:-24px 0 60px rgba(0,0,0,.22)!important;transform:translate3d(105%,0,0)!important;visibility:hidden!important;opacity:1!important;pointer-events:none!important;transition:transform .34s cubic-bezier(.22,.8,.24,1),visibility .34s ease!important;}

body.tt-mobile-nav-open .tt-nav{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important;}

.tt-nav::before{content:"";position:absolute;top:0;right:0;left:0;height:6px;background:linear-gradient(90deg,var(--tt-black) 0 33.333%,var(--tt-red) 33.333% 66.666%,var(--tt-green) 66.666% 100%);}

.tt-nav-list{display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;list-style:none!important;pointer-events:auto!important;}

.tt-nav-item{display:block!important;width:100%!important;margin:0!important;border-bottom:1px solid rgba(16,16,16,.1)!important;pointer-events:auto!important;}

.tt-nav-item:first-child{border-top:1px solid rgba(16,16,16,.1)!important;}

.tt-nav-link{position:relative!important;z-index:1!important;display:flex!important;width:100%!important;min-height:56px!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0!important;padding:0 4px!important;border:0!important;background:transparent!important;color:#161616!important;font-family:inherit!important;font-size:.82rem!important;font-weight:800!important;line-height:1.25!important;letter-spacing:.035em!important;text-align:left!important;text-decoration:none!important;text-transform:uppercase!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(187,30,45,.12)!important;}

.tt-nav-link:hover,.tt-nav-link:focus-visible,.tt-nav-link[aria-current="page"]{background:rgba(187,30,45,.055)!important;color:var(--tt-red)!important;}

.tt-nav-link::after{display:none!important;}

button.tt-nav-link{appearance:none!important;-webkit-appearance:none!important;}

.tt-dropdown-toggle i{display:inline-grid!important;width:30px!important;height:30px!important;flex:0 0 30px!important;place-items:center!important;border-radius:50%!important;background:#f1f1ef!important;color:#111!important;transition:transform .2s ease,background-color .2s ease,color .2s ease!important;}

.tt-nav-item.is-open>.tt-dropdown-toggle{background:rgba(187,30,45,.055)!important;color:var(--tt-red)!important;}

.tt-nav-item.is-open>.tt-dropdown-toggle i{background:var(--tt-red)!important;color:#fff!important;transform:rotate(180deg)!important;}

.tt-mega-menu{position:static!important;display:none!important;visibility:hidden!important;opacity:1!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;background:#fafaf8!important;box-shadow:inset 4px 0 0 rgba(187,30,45,.18)!important;transform:none!important;pointer-events:none!important;}

.tt-nav-item.is-open>.tt-mega-menu{display:block!important;visibility:visible!important;padding:8px 0 14px 14px!important;pointer-events:auto!important;}

.tt-mega-menu__intro,.tt-mega-menu__feature{display:none!important;}

.tt-mega-menu__links{display:block!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important;}

.tt-mega-menu__links li{display:block!important;width:100%!important;margin:0!important;padding:0!important;}

.tt-mega-menu__links a{position:relative!important;z-index:2!important;display:flex!important;width:100%!important;min-height:46px!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:10px 10px 10px 5px!important;border:0!important;border-bottom:1px solid rgba(16,16,16,.08)!important;background:transparent!important;color:#303030!important;font-size:.86rem!important;font-weight:700!important;line-height:1.3!important;text-decoration:none!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;}

.tt-mega-menu__links li:last-child a{border-bottom:0!important;}

.tt-mega-menu__links a:hover,.tt-mega-menu__links a:focus-visible{background:rgba(187,30,45,.05)!important;color:var(--tt-red)!important;}

.tt-mega-menu__links a i{flex:0 0 auto!important;color:var(--tt-red)!important;}

.tt-mobile-utility{display:block!important;margin-top:30px!important;padding:22px 4px 0!important;border-top:3px solid #111!important;pointer-events:auto!important;}

.tt-mobile-utility ul{display:block!important;margin:0!important;padding:0!important;list-style:none!important;}

.tt-mobile-utility li{display:block!important;width:100%!important;}

.tt-mobile-utility a{display:flex!important;min-height:44px!important;align-items:center!important;padding:8px 0!important;color:#555!important;font-weight:700!important;text-decoration:none!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;}

.tt-mobile-utility a:hover,.tt-mobile-utility a:focus-visible{color:var(--tt-red)!important;}

#mobileNavToggle,.tt-mobile-toggle{position:relative!important;z-index:1400!important;display:inline-grid!important;visibility:visible!important;opacity:1!important;place-items:center!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;}

body.tt-mobile-nav-open #mobileNavToggle,body.tt-mobile-nav-open .tt-mobile-toggle{position:fixed!important;top:max(16px,env(safe-area-inset-top))!important;right:clamp(16px,4vw,24px)!important;background:#111!important;border-color:#111!important;color:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.2)!important;}

}

@media (max-width:767px){

.tt-nav{width:min(88vw,350px)!important;max-width:calc(100vw - 24px)!important;padding:68px 16px 24px!important;}

.tt-nav-link{min-height:52px!important;font-size:.78rem!important;}

.tt-mega-menu__links a{min-height:44px!important;font-size:.83rem!important;}

}

@media (max-width:479px){

.tt-nav{width:min(90vw,320px)!important;max-width:calc(100vw - 18px)!important;padding:64px 14px 22px!important;}

.tt-nav-link{min-height:50px!important;font-size:.75rem!important;}

}
