
   .tt-gallery-page {
      --tt-orange: #dafa47;
      --tt-orange-light: #dafa47;
      --tt-orange-dark: #abc42e;
      --tt-dark: #102f4b;
      --tt-dark-two: #143b5c;
      --tt-white: #ffffff;
      --tt-muted: rgba(255, 255, 255, 0.76);
      --tt-border: rgba(255, 255, 255, 0.16);
      width: 100%;
      overflow: hidden;
      color: var(--tt-white);
      background: var(--tt-dark);
      font-family: Inter, Arial, Helvetica, sans-serif;
    }
    .tt-gallery-page *,
    .tt-gallery-page *::before,
    .tt-gallery-page *::after {
      box-sizing: border-box;
    }
    .tt-gallery-page button,
    .tt-gallery-page a {
      font: inherit;
    }
    .tt-gallery-page a {
      color: inherit;
      text-decoration: none;
    }
    .tt-gallery-container {
      position: relative;
      z-index: 2;
      width: 100%;
      max-width: 1160px;
      margin: 0 auto;
      padding: 0 22px;
    }
    /* HERO */
    .tt-gallery-hero {
      position: relative;
      padding: 125px 0 85px;
      overflow: hidden;
      background:
        radial-gradient(
          circle at 84% 20%,
          rgba(67, 173, 224, 0.26),
          transparent 34%
        ),
        radial-gradient(
          circle at 15% 80%,
          rgba(67, 173, 224, 0.18),
          transparent 36%
        ),
        linear-gradient(
          145deg,
          #111416 0%,
          #143b5c 55%,
          #0d171e 100%
        );
    }
    .tt-gallery-hero::before {
      position: absolute;
      inset: 0;
      content: "";
      opacity: 0.13;
      pointer-events: none;
      background:
        repeating-linear-gradient(
          -14deg,
          rgba(255, 255, 255, 0.14) 0,
          rgba(255, 255, 255, 0.14) 1px,
          transparent 1px,
          transparent 12px
        );
    }
    .tt-gallery-hero::after {
      position: absolute;
      right: -180px;
      bottom: -260px;
      width: 650px;
      height: 650px;
      content: "";
      pointer-events: none;
      background:
        radial-gradient(
          circle,
          rgba(67, 173, 224, 0.25),
          transparent 63%
        );
    }
    .tt-gallery-kicker {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 22px;
      padding: 9px 15px;
      border: 1px solid rgba(67, 173, 224, 0.42);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.08);
      color: var(--tt-orange-light);
      font-size: 0.8rem;
      font-weight: 900;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      backdrop-filter: blur(10px);
    }
    .tt-gallery-kicker-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--tt-orange);
      box-shadow: 0 0 18px rgba(67, 173, 224, 0.9);
    }
    .tt-gallery-hero h1 {
      max-width: 850px;
      margin: 0 0 24px;
      color: var(--tt-white);
      font-size: clamp(3.4rem, 8vw, 7rem);
      font-weight: 950;
      line-height: 0.88;
      letter-spacing: -0.07em;
      text-transform: uppercase;
    }
    .tt-gallery-hero h1 strong {
      display: block;
      color: var(--tt-orange);
    }
    .tt-gallery-hero-lead {
      max-width: 760px;
      margin: 0;
      color: rgba(255, 255, 255, 0.9);
      font-size: clamp(1.08rem, 2vw, 1.35rem);
      line-height: 1.6;
    }
    /* BODY */
    .tt-gallery-body {
      position: relative;
      min-height: 650px;
      padding: 60px 0 100px;
      background:
        radial-gradient(
          circle at 12% 15%,
          rgba(67, 173, 224, 0.13),
          transparent 29%
        ),
        radial-gradient(
          circle at 90% 54%,
          rgba(67, 173, 224, 0.11),
          transparent 33%
        ),
        linear-gradient(
          145deg,
          #102f4b 0%,
          #143b5c 58%,
          #0b1218 100%
        );
    }
    .tt-gallery-body::before {
      position: absolute;
      inset: 0;
      content: "";
      opacity: 0.08;
      pointer-events: none;
      background:
        repeating-linear-gradient(
          -14deg,
          rgba(255, 255, 255, 0.12) 0,
          rgba(255, 255, 255, 0.12) 1px,
          transparent 1px,
          transparent 12px
        );
    }
    /* FILTERS */
    .tt-gallery-filter-group {
      margin-bottom: 30px;
    }
    .tt-gallery-filter-label {
      margin-bottom: 10px;
      color: var(--tt-orange-light);
      font-size: 0.75rem;
      font-weight: 950;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }
    .tt-gallery-tabs {
      display: flex;
      gap: 10px;
      padding-bottom: 10px;
      overflow-x: auto;
      scrollbar-width: thin;
      scrollbar-color:
        rgba(67, 173, 224, 0.6)
        rgba(255, 255, 255, 0.08);
    }
    .tt-gallery-tab {
      flex: 0 0 auto;
      min-height: 47px;
      padding: 12px 20px;
      border: 1px solid var(--tt-border);
      border-radius: 999px;
      color: var(--tt-white);
      background: rgba(255, 255, 255, 0.07);
      cursor: pointer;
      font-size: 0.9rem;
      font-weight: 900;
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
      transition:
        transform 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease;
    }
    .tt-gallery-tab:hover {
      transform: translateY(-2px);
      border-color: rgba(67, 173, 224, 0.75);
      background: rgba(67, 173, 224, 0.13);
    }
    .tt-gallery-tab.active,
    .tt-gallery-tab.gallery-type.active,
    .tt-gallery-tab.event-date.active {
      border-color: var(--tt-orange);
      color: #ffffff;
      background: var(--tt-orange);
      box-shadow:
        0 12px 30px rgba(67, 173, 224, 0.27);
    }
    /* HEADING */
    .tt-gallery-heading {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 24px;
      align-items: end;
      margin: 45px 0 30px;
    }
    .tt-gallery-small-heading {
      margin-bottom: 9px;
      color: var(--tt-orange-light);
      font-size: 0.78rem;
      font-weight: 950;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }
    .tt-gallery-heading h2 {
      margin: 0;
      color: var(--tt-orange);
      font-size: clamp(2.2rem, 5vw, 4.3rem);
      font-weight: 950;
      line-height: 0.94;
      letter-spacing: -0.055em;
      text-transform: uppercase;
    }
    .tt-gallery-photo-count {
      padding-bottom: 7px;
      color: rgba(255, 255, 255, 0.66);
      font-size: 0.94rem;
      font-weight: 800;
    }
    /* LOADING */
    .tt-gallery-loading {
      display: grid;
      justify-items: center;
      gap: 16px;
      padding: 85px 20px;
      color: var(--tt-muted);
      text-align: center;
    }
    .tt-gallery-spinner {
      width: 48px;
      height: 48px;
      border: 4px solid rgba(255, 255, 255, 0.13);
      border-top-color: var(--tt-orange);
      border-radius: 50%;
      animation: ttGallerySpin 700ms linear infinite;
    }
    @keyframes ttGallerySpin {
      to {
        transform: rotate(360deg);
      }
    }
    /* PHOTO GRID */
    .tt-gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      align-items: start;
    }
    .tt-gallery-card {
      position: relative;
      display: block;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.14);
      border-radius: 25px;
      background: rgba(255, 255, 255, 0.07);
      box-shadow: 0 22px 64px rgba(0, 0, 0, 0.28);
      transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
    }
    .tt-gallery-card:hover {
      transform: translateY(-5px);
      border-color: rgba(67, 173, 224, 0.72);
      box-shadow:
        0 30px 75px rgba(0, 0, 0, 0.38),
        0 0 28px rgba(67, 173, 224, 0.1);
    }
    .tt-gallery-card-image {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      background: #102f4b;
    }
    .tt-gallery-card img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transition:
        transform 0.5s ease,
        filter 0.25s ease;
    }
    .tt-gallery-card:hover img {
      transform: scale(1.035);
      filter: saturate(1.06);
    }
    .tt-gallery-card::after {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 50%;
      content: "";
      pointer-events: none;
      background:
        linear-gradient(
          to top,
          rgba(10, 17, 23, 0.98) 0%,
          rgba(10, 17, 23, 0.7) 38%,
          transparent 100%
        );
    }
    .tt-gallery-card-number {
      position: absolute;
      top: 15px;
      left: 15px;
      z-index: 3;
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      border: 1px solid rgba(67, 173, 224, 0.62);
      border-radius: 50%;
      background: rgba(16, 24, 32, 0.78);
      color: var(--tt-white);
      font-size: 0.76rem;
      font-weight: 950;
      backdrop-filter: blur(10px);
    }
    .tt-gallery-card-open {
      position: absolute;
      top: 15px;
      right: 15px;
      z-index: 3;
      padding: 8px 12px;
      border-radius: 999px;
      background: var(--tt-orange);
      color: #ffffff;
      font-size: 0.7rem;
      font-weight: 950;
      text-transform: uppercase;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.26);
    }
    .tt-gallery-card-caption {
      position: absolute;
      right: 20px;
      bottom: 46px;
      left: 20px;
      z-index: 3;
      color: var(--tt-white);
      font-size: 1.05rem;
      font-weight: 900;
      line-height: 1.3;
      text-shadow: 0 3px 14px rgba(0, 0, 0, 0.7);
    }
    .tt-gallery-card-instruction {
      position: absolute;
      right: 20px;
      bottom: 18px;
      left: 20px;
      z-index: 3;
      color: rgba(255, 255, 255, 0.72);
      font-size: 0.76rem;
      font-weight: 750;
    }
    /* MESSAGES */
    .tt-gallery-message {
      max-width: 740px;
      margin: 35px auto;
      padding: 55px 30px;
      border: 1px solid rgba(67, 173, 224, 0.25);
      border-radius: 32px;
      background:
        radial-gradient(
          circle at 50% 0%,
          rgba(67, 173, 224, 0.1),
          transparent 50%
        ),
        rgba(255, 255, 255, 0.07);
      box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
      text-align: center;
    }
    .tt-gallery-message-icon {
      margin-bottom: 15px;
      font-size: 46px;
    }
    .tt-gallery-message h2 {
      margin: 0 0 12px;
      color: var(--tt-orange);
      font-size: clamp(1.9rem, 5vw, 3.2rem);
      font-weight: 950;
      line-height: 0.98;
      letter-spacing: -0.05em;
      text-transform: uppercase;
    }
    .tt-gallery-message p {
      max-width: 580px;
      margin: 0 auto;
      color: var(--tt-muted);
      font-size: 1.02rem;
      line-height: 1.6;
    }
    [hidden] {
      display: none !important;
    }
    /* TABLET */
    @media (max-width: 900px) {
      .tt-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    /* MOBILE */
    @media (max-width: 600px) {
      .tt-gallery-container {
        padding: 0 16px;
      }
      .tt-gallery-hero {
        padding: 100px 0 60px;
      }
      .tt-gallery-hero h1 {
        font-size: clamp(3.1rem, 16vw, 5rem);
      }
      .tt-gallery-body {
        padding: 42px 0 70px;
      }
      .tt-gallery-heading {
        display: block;
      }
      .tt-gallery-photo-count {
        margin-top: 10px;
      }
      .tt-gallery-grid {
        grid-template-columns: 1fr;
        gap: 20px;
      }
      .tt-gallery-card {
        max-width: 460px;
        margin: 0 auto;
      }
      .tt-gallery-tab {
        min-height: 44px;
        padding: 11px 16px;
        font-size: 0.82rem;
      }
    }
  
.tt-gallery-page .tt-gallery-hero{padding:65px 0 55px;background:#102f4b}.tt-gallery-page .tt-gallery-body{background:#0b2338}.tt-gallery-page .tt-gallery-hero h1{line-height:1.03;font-size:clamp(3rem,7vw,6rem)}.tt-gallery-page .tt-gallery-heading h2{line-height:1.1}.tt-gallery-page .tt-gallery-tab.active{color:#102f4b}.tt-gallery-page .tt-gallery-card-open{color:#102f4b;font-size:12px}.tt-gallery-page .tt-gallery-filter-label{font-size:14px}.tt-gallery-page .tt-gallery-card-instruction{font-size:14px}.tt-gallery-page .tt-gallery-card{border-radius:16px}.tt-gallery-page .tt-gallery-card-image{aspect-ratio:4/3}.tt-gallery-page .tt-gallery-card img{object-fit:contain}.tt-gallery-page .tt-gallery-card::after{display:none}.tt-gallery-page .tt-gallery-card-caption,.tt-gallery-page .tt-gallery-card-instruction{position:static;display:block;padding:0 20px;text-shadow:none}.tt-gallery-page .tt-gallery-card-caption{padding-top:18px}.tt-gallery-page .tt-gallery-card-instruction{padding-top:8px;padding-bottom:20px}.tt-gallery-page button:focus-visible,.tt-gallery-page a:focus-visible{outline:3px solid #dafa47;outline-offset:4px}.tt-gallery-page .gallery-drive-link{display:inline-block;text-decoration:underline;margin-top:24px}.tt-gallery-page .tt-gallery-message{border-radius:16px}.tt-gallery-page .tt-gallery-message h2{line-height:1.1}.tt-gallery-page .tt-gallery-controls-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.tt-gallery-page [hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.tt-gallery-page *{animation:none!important;transition:none!important}}