   @import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300&display=swap');
   @import url('https://fonts.googleapis.com/css?family=Montserrat');

   /* Small screens: hide cluster logos, their connectors, and hero actions */
   @media (max-width: 1024px) {
       :root {
           --navbar-height: 56px;
       }

       .topbar .brand {
           font-size: 1.05rem;
       }

       /* Hide the cluster logos AND hero bottom links */
       .cluster-links,
       .connector-layer,
       .hero-actions {
           display: none !important;
       }

       /* Keep socials tighter */
       .social-icons {
           right: .75rem;
           bottom: 5.5rem;
           gap: .5rem;
       }

       /* Make sure the hero graphic scales nicely on phones */
       .hero-graphic {
           max-width: min(92vw, 560px);
       }

       .hero-text-floating {
           top: 6%;
           left: 0%;
           font-size: clamp(1rem, 4.5vw, 1.25rem);
           padding: 6px 10px;
       }
       .hero-text-after-badge-floating {
           top: 6%;
           left: 50%;
           font-size: clamp(1rem, 4.5vw, 1.25rem);
           padding: 6px 10px;
       }
   }


   :root {
       --bounce-duration: 7s;
       --navbar-height: 64px;
       --font-main: 'Nunito', sans-serif;
       --rail-gap: 14px;
       --rail-size: 38px;
   }

   html,
   body {
       height: 100%;
       margin: 0;
       font-family: var(--font-main);
       font-weight: 200;
       color: #000
   }

   body {
       background: #fff;
       scroll-behavior: smooth
   }

   section[id] {
       scroll-margin-top: calc(var(--navbar-height) + 16px)
   }

   .topbar {
       position: fixed;
       inset: 0 0 auto 0;
       height: var(--navbar-height);
       background: #fff;
       border-bottom: 1px solid #e9ecef;
       z-index: 1040
   }

   .topbar .brand {
       font-weight: 300;
       color: #000;
       white-space: nowrap;
       font-size: 1.1rem;
       letter-spacing: .4px
   }

   /* HERO */
   #hero.section {
       min-height: 100vh;
       padding-top: calc(var(--navbar-height) + 24px);
       position: relative;
       background: #fff;
       display: flex;
       align-items: center;
       justify-content: center;
       text-align: center;
       overflow: hidden
   }

   .hero-graphic {
       max-width: min(80vw, 820px);
       width: 100%;
       height: auto;
       animation: floatY var(--bounce-duration) ease-in-out infinite alternate;
       will-change: transform;
       z-index: 1
   }

   @keyframes floatY {
       0% {
           transform: translateY(-10px)
       }

       100% {
           transform: translateY(10px)
       }
   }

/* Make #hero-sponsors the positioning context */
#hero-sponsors .col-12 { position: relative; }

/* Optional: scale the logo a bit across sizes */
.uwi-badge { position:absolute; top: clamp(12px, 7dvh, 120px) !important; }

/* Fine-tune for very large desktops (keeps it tight to the top) */
@media (min-width: 1400px) {
  .uwi-badge { top: min(24px, 3dvh); }  /* whichever is smaller */
}

/* Phones: nudge down a touch to avoid notches and browser UI */
@media (max-width: 576px) {
  .uwi-badge { top: calc(env(safe-area-inset-top, 0px) + 12px); }
}

   /* SVG overlay for connectors */
   .connector-layer {
       position: absolute;
       inset: 0;
       z-index: 2;
       pointer-events: none
   }

   /* Cluster tags (now logos) */
   .cluster-links {
       position: absolute;
       inset: 0;
       z-index: 3;
       pointer-events: none
   }

   .cluster-tag {
       position: absolute;
       pointer-events: auto;
       padding: .35rem .55rem;
       line-height: 1;
       border: 1px solid rgba(0, 0, 0, .55);
       background: #fff;
       color: #000;
       transition: .2s;
       border-radius: 4px;
       white-space: nowrap;
       text-decoration: none;
       display: flex;
       align-items: center;
       gap: .5rem
   }

   .cluster-tag:hover {
       background: #000;
       color: #fff;
       border-color: #000
   }

   .cluster-tag img {
       display: block;
       height: 28px;
       width: auto
   }

   .cluster-right {
       right: clamp(2rem, 6vw, 7rem)
   }

   .cluster-left {
       left: clamp(2rem, 6vw, 7rem)
   }

   .hero-text-floating {
       position: absolute;
       top: 8%;
       left: 0%;
       font-size: clamp(1.2rem, 2vw, 2rem);
       font-weight: 300;
       font-family: 'Courier New', monospace;
       color: #000;
       letter-spacing: 1px;
       background: rgba(255, 255, 255, 0.75);
       padding: 8px 14px;
       border-radius: 8px;
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
       animation: floatText 6s ease-in-out infinite alternate;
       z-index: 5;
   }
   
   .hero-text-after-badge-floating {
       position: absolute;
       top: 8%;
       left: 25%;
       font-size: clamp(1.2rem, 2vw, 2rem);
       font-weight: 300;
       font-family: 'Courier New', monospace;
       color: #000;
       letter-spacing: 1px;
       background: rgba(255, 255, 255, 0.75);
       padding: 8px 14px;
       border-radius: 8px;
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
       animation: floatText 6s ease-in-out infinite alternate;
       z-index: 5;
   }

   @keyframes floatText {
       0% {
           transform: translateY(-6px);
           opacity: 0.95;
       }

       100% {
           transform: translateY(6px);
           opacity: 1;
       }
   }

   /* Bottom link grid (vertically centered items) */
   .hero-actions {
       position: absolute;
       left: 0;
       right: 0;
       bottom: 0;
       background: transparent;
       color: #000;
       z-index: 4
   }

   .hero-actions .link-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
       width: 100%;
       align-items: stretch
   }

   .hero-actions a {
       display: flex;
       align-items: center;
       justify-content: center;
       min-height: 64px;
       text-decoration: none;
       color: #000;
       background: transparent;
       border: 1px solid #000;
       border-radius: 0;
       text-align: center;
       font-weight: 300;
       font-size: 1.1rem;
       padding: .5rem .75rem;
       line-height: 1.2;
       transition: background .15s, color .15s
   }

   .hero-actions a:hover {
       background: rgba(0, 0, 0, .05)
   }


   .material-symbols-outlined {
       font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24
   }

   /* Social icons */
   .social-icons {
       position: absolute;
       right: 1.5rem;
       bottom: 7rem;
       display: flex;
       gap: .75rem;
       z-index: 5
   }

   .social-icons a {
       width: 60px;
       height: 60px;
       border: 1.5px solid #000;
       border-radius: 50%;
       display: flex;
       align-items: center;
       justify-content: center;
       color: #000;
       text-decoration: none;
       transition: background .2s, color .2s
   }

   .social-icons a:hover {
       background: rgba(0, 0, 0, .1)
   }

   /* Template sections */
   .section {
       min-height: 100vh;
       padding: calc(var(--navbar-height) + 40px) 0 80px;
       border-top: 1px solid #efefef;
       background: #fff
   }

   .section .container {
       max-width: 1000px
   }

   .section h2 {
       font-weight: 300;
       margin-bottom: .5rem
   }

   .muted {
       color: #666;
       font-size: .95rem
   }

   @media (max-width:576px) {
       :root {
           --navbar-height: 56px
       }

       .topbar .brand {
           font-size: 1.05rem
       }

       .social-icons {
           right: .75rem;
           bottom: 5.5rem;
           gap: .5rem
       }

       .rail {
           right: .5rem
       }

       .cluster-links {
           display: none
       }

       /* hide callouts on very small screens */
   }

   /* ===================== FULLSCREEN MENU (integrated) ===================== */
   /* Namespaced with fs- to avoid collisions */
   .fs-hidden-checkbox {
       display: none
   }

   .fs-toggle {
       top: 10px;
       display: inline-block;
       padding: 7px 10px;
       background-color: transparent;
       cursor: pointer;
       margin: 10px;
       z-index: 1101;
       position: fixed;
       right: 8px;
       border-radius: 8px
   }

   .fs-bar {
       display: block;
       background-color: #38618c;
       width: 30px;
       height: 3px;
       border-radius: 5px;
       margin: 5px auto;
       transition: background-color 0.4s ease-in, transform 0.4s ease-in, width 0.4s ease-in;
   }

   .fs-aside {
       top: 0;
       bottom: 0;
       position: fixed;
       left: 0;
       right: 0;
       z-index: 1100;
       pointer-events: none
   }

   .fs-aside-section {
       top: 0;
       bottom: 0;
       position: absolute
   }

   .fs-aside-left {
       display: none;
       width: 40%;
       left: 0;
       background-color: #ff5964;
       transform: translateY(-100%);
       transition: transform 0.4s ease-in-out;
   }

   .fs-aside-right {
       width: 100%;
       right: 0;
       background-color: #38618c;
       transform: translateX(100%);
       transition: transform 0.4s ease-in-out;
   }

   .fs-aside-content {
       margin-top: 150px;
       padding: 0 40px;
       position: relative;
       color: #fff;
       text-align: center
   }

   .fs-aside-list {
       list-style: none;
       padding: 0;
       margin: 0;
       margin-top: 150px;
       text-align: left;
       padding-left: 50px
   }

   .fs-aside-list li {
       margin-bottom: 20px
   }

   .fs-aside-anchor {
       padding-bottom: 7px;
       color: #fff;
       text-decoration: none;
       font-size: 30px;
       position: relative;
       font-weight: 500
   }

   .fs-aside-anchor::after {
       content: "";
       position: absolute;
       bottom: 0;
       background-color: #ff5964;
       left: 0;
       right: 0;
       height: 3px;
       border-radius: 3px;
   }

   .fs-aside-anchor::before {
       border-radius: 3px;
       content: "";
       position: absolute;
       bottom: 0;
       background-color: #fff;
       left: 0;
       height: 3px;
       z-index: 1;
       width: 50%;
       transition: transform 0.2s ease-in-out;
   }

   .fs-aside-anchor:hover:before {
       transform: translateX(100%)
   }

   /* Checkbox interactions */
   #fsMenu:checked~.fs-aside .fs-aside-left {
       transform: translateY(0%)
   }

   #fsMenu:checked~.fs-aside .fs-aside-right {
       transform: translateX(0%)
   }

   #fsMenu:checked~label.fs-toggle .fs-bar {
       background-color: #fff
   }

   #fsMenu:checked~label.fs-toggle .fs-top {
       transform: translateY(0px) rotateZ(45deg)
   }

   #fsMenu:checked~label.fs-toggle .fs-bottom {
       transform: translateY(-15px) rotateZ(-45deg)
   }

   #fsMenu:checked~label.fs-toggle .fs-middle {
       width: 0
   }

   @media (min-width: 992px) {
       .fs-aside-left {
           display: block
       }

       .fs-aside-right {
           width: 60%
       }
   }

   /* When menu is open, allow interaction */
   #fsMenu:checked~.fs-aside {
       pointer-events: auto;
   }

   /* Optional: ensure the right/left panels also accept clicks */
   #fsMenu:checked~.fs-aside .fs-aside-right,
   #fsMenu:checked~.fs-aside .fs-aside-left {
       pointer-events: auto;
   }


   /* ================= Media & News: timeline + carousel ================ */
   .timeline {
       --tl-gap: 16px;
       --tl-stick-top: calc(var(--navbar-height) + 20px);
       --tl-title-size: .95rem;
       /* smaller titles */
       --tl-text-size: .85rem;
       /* smaller body */
       --tl-muted: #666;
   }

   .timeline .tl-group {
       display: flex;
       align-items: flex-start;
       gap: var(--tl-gap);
       margin-bottom: 1rem;
   }

   .timeline .tl-year {
       position: sticky;
       top: var(--tl-stick-top);
       font-weight: 300;
       letter-spacing: .02em;
       min-width: 3.5rem;
       color: #000;
   }

   .timeline .tl-items {
       display: flex;
       flex-direction: column;
       gap: .5rem;
       width: 100%;
   }

   .timeline .tl-item {
       display: flex;
       gap: 12px;
       width: 100%;
       max-width: 32rem;
   }

   .timeline .tl-aside {
       display: flex;
       align-items: center;
       flex-direction: column;
   }

   .timeline .tl-dot {
       width: 6px;
       height: 6px;
       border-radius: 50%;
       background: #000;
       margin: 6px 0;
   }

   .timeline .tl-line {
       flex: 1;
       width: 2px;
       background: #000;
       opacity: .85;
   }

   .timeline .tl-main h6 {
       margin: 0 0 2px;
       font-size: var(--tl-title-size);
       font-weight: 600;
   }

   .timeline .tl-main p {
       margin: 0 0 .25rem;
       font-size: var(--tl-text-size);
       color: var(--tl-muted);
   }

   .timeline .tl-main .tl-meta {
       font-size: .8rem;
       color: #888;
   }

   /* Carousel helpers */
   .media-carousel .carousel-item .ratio {
       background: #f6f6f6;
       border: 1px solid #eee
   }

   .media-carousel .carousel-caption {
       background: rgba(0, 0, 0, .55);
       padding: .5rem .75rem;
       border-radius: .375rem;
   }

   .media-carousel .carousel-item img {
       object-fit: contain;
       /* keeps full image visible without stretching */
       width: 100%;
       height: 100%;
       background-color: #fff;
       /* optional: white padding if aspect ratio differs */
   }

   /* === Research section cards === */
   .clusters-grid .cluster-col {
       display: grid;
       grid-template-rows: repeat(4, minmax(0, 1fr));
       gap: 1rem;
   }

   @media (max-width: 991.98px) {
       .clusters-grid .cluster-col {
           grid-template-rows: none;
       }
   }

   .cluster-card {
       border: 1px solid #000;
       border-radius: 14px;
       padding: 16px;
       background: #fff;
       display: flex;
       align-items: flex-start;
       gap: 14px;
       height: 100%;
       transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
   }

   .cluster-card:hover {
       transform: translateY(-2px);
       box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
       background: #fff;
   }

   .cluster-logo {
       width: 60px;
       height: 60px;
       flex: 0 0 60px;
       object-fit: contain;
       background: #f7f7f7;
       border: 1px solid #000;
       border-radius: 10px;
       display: block;
   }

   .cluster-body {
       flex: 1 1 auto;
       min-width: 0;
   }

   .cluster-title {
       margin: 0 0 6px;
       font-weight: 600;
       font-size: 1.05rem;
       line-height: 1.2;
   }

   .cluster-desc {
       margin: 0;
       color: #555;
       font-size: .95rem;
       line-height: 1.45;
   }

   /* ====== TEAM SECTION ====== */
   .team-layout {
       display: grid;
       grid-template-columns: 260px 1fr;
       gap: 28px;
       align-items: start;
   }

   .team-tabs {
       display: flex;
       flex-direction: column;
       gap: 10px;
       position: sticky;
       top: calc(var(--navbar-height) + 16px);
   }

   .team-tab {
       appearance: none;
       border: 1px solid #000;
       background: #fff;
       color: #000;
       border-radius: 0px;
       padding: 12px 14px;
       text-align: left;
       font: 300 1rem var(--font-main);
       cursor: pointer;
       transition: background .15s, color .15s, transform .06s;
   }

   .team-tab:hover {
       transform: translateX(1px);
   }

   .team-tab.is-active {
       background: #000;
       color: #fff;
   }

   .team-content {
       min-height: 220px;
   }

   .team-grid {
       display: grid;
       grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
       gap: 16px;
   }

   /* Profile card: text left, circular headshot right */
   .person {
       display: flex;
       align-items: center;
       justify-content: flex-start;
       gap: 16px;
       background: #fff;
       border: 1px solid #fff;
       border-radius: 14px;
       padding: 14px 16px;
   }

   .person-text {
       min-width: 0;
       /* allow text ellipsis */
   }

   .person-role {
       font-weight: 300;
       color: #000;
       font-size: 0.95rem;
       line-height: 1.2;
       margin: 0;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
   }

   .person-name {
       font-weight: 300;
       color: #666;
       font-size: 0.9rem;
       margin: 2px 0 0 0;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
   }

   .person-title {
       font-weight: 300;
       color: #666;
       font-size: 0.7rem;
       margin: 2px 0 0 0;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
   }

   .person-avatar {
       width: 84px;
       height: 84px;
       border-radius: 50%;
       border: 1px solid #000;
       background: #f4f4f4 center/cover no-repeat;
       flex: 0 0 84px;
   }

   /* Smaller screens: stack */
   @media (max-width: 768px) {
       .team-layout {
           grid-template-columns: 1fr;
       }

       .team-tabs {
           position: static;
           flex-direction: row;
           flex-wrap: wrap;
           gap: 8px;
       }

       .team-tab {
           border-radius: 999px;
           padding: 10px 14px;
       }
   }

   .person.fullrow {
       grid-column: 1 / -1;
       justify-content: flex-start;
       /* align text and image close together */
       gap: 20px;
       /* standard spacing between text and avatar */
       max-width: 500px;
       /* optional: keeps it neat on wide screens */
       margin-inline: auto;
       /* center the full-width card */
   }

   .contact-logo-img {
       width: clamp(140px, 30vw, 450px);
       height: auto;
       display: inline-block;
   }

   .site-footer {
       background: #0d1b2a;
       color: #fff;
       padding: 48px 0 28px;
       border-top: 1px solid #e9ecef;
   }

   .footer-brand {
       font-weight: 300;
       letter-spacing: .4px;
       margin-bottom: .5rem;
   }

   .footer-text {
       margin: 0;
       color: #ddd;
       font-size: .95rem;
   }

   .footer-heading {
       font-weight: 600;
       margin-bottom: .5rem;
       letter-spacing: .02em;
   }

   .footer-links {
       list-style: none;
       padding: 0;
       margin: 0 0 .5rem;
   }

   .footer-links li {
       margin: 4px 0;
   }

   .footer-links a {
       color: #fff;
       text-decoration: none;
       border-bottom: 1px solid transparent;
       transition: border-color .15s ease, opacity .15s ease;
   }

   .footer-links a:hover {
       border-color: #fff;
       opacity: .9;
   }

   .footer-social {
       display: flex;
       gap: .5rem;
       margin-top: .35rem;
   }

   .footer-social a {
       width: 36px;
       height: 36px;
       border: 1.5px solid #fff;
       border-radius: 50%;
       display: inline-flex;
       align-items: center;
       justify-content: center;
       color: #fff;
       text-decoration: none;
       transition: background .15s ease, color .15s ease;
   }

   .footer-social a:hover {
       background: #fff;
       color: #000;
   }

   .footer-rule {
       border-color: rgba(255, 255, 255, .18);
       margin: 22px 0;
   }

   .footer-bottom {
       display: flex;
       justify-content: space-between;
       align-items: center;
       color: #cfcfcf;
   }

   @media (max-width: 575.98px) {
       .footer-bottom {
           flex-direction: column;
           gap: 8px;
           text-align: center;
       }
   }

   /* ===== Innovation Engine (mono, minimal) ===== */
   .engine-section {
       border-top: 1px solid #000;
       border-bottom: 1px solid #000;
       background: #fff;
       color: #000;
   }

   /* Left nav (narrow) */
   .engine-nav .engine-sticky {
       position: sticky;
       top: 6rem;
       /* sits under top bar */
   }

   .engine-btn {
       display: block;
       width: 100%;
       text-align: left;
       background: #000;
       color: #fff;
       border: 1px solid #000;
       padding: 12px 14px;
       margin-bottom: 10px;
       font-size: 0.98rem;
       line-height: 1.2;
       letter-spacing: .01em;
       transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
   }

   .engine-btn:hover {
       transform: translateY(-1px);
       box-shadow: 4px 4px 0 #000;
   }

   .engine-btn.active,
   .engine-btn:focus {
       outline: 2px solid #000;
       outline-offset: 2px;
   }

   /* Right panels (wide) */
   .engine-content {
       min-height: 320px;
   }

   .engine-panel {
       display: none;
   }

   .engine-panel.active {
       display: block;
   }

   .engine-panel-head {
       display: flex;
       align-items: center;
       gap: 14px;
       border-bottom: 1px solid #000;
       padding-bottom: 12px;
   }

   .engine-logo {
       height: 48px;
       width: auto;
   }

   /* Keep your existing exec look */
   .exec-row .card {
       border: 1px solid #000;
   }

   .exec-carousel .carousel-item img {
       object-fit: cover;
   }

   /* Buttons mono style */
   .engine-section .btn {
       border-radius: 0;
   }

   .engine-section .btn-dark {
       background: #000;
       color: #fff;
       border-color: #000;
   }

   .engine-section .btn-dark:hover {
       background: #111;
       border-color: #111;
   }

   .engine-section .btn-outline-dark {
       background: #fff;
       color: #000;
       border-color: #000;
   }

   .engine-section .btn-outline-dark:hover {
       background: #000;
       color: #fff;
   }

   /* Responsive: ensure left is narrower than right */
   @media (min-width: 992px) {
       #innovation-engine .engine-nav {
           border-right: 1px solid #000;
           padding-right: 8px;
       }
   }

   /* Reduce motion */
   @media (prefers-reduced-motion: reduce) {
       .engine-btn {
           transition: none !important;
       }
   }


   /* ===== Policy / Governance Section ===== */
   .policy-section {
       background: #fff;
       color: #000;
       border-top: 1px solid #000;
       border-bottom: 1px solid #000;
       padding-top: 4rem;
       padding-bottom: 4rem;
   }

   .policy-nav {
       position: sticky;
       top: 6rem;
   }

   .policy-btn {
       text-align: left;
       border: 1.5px solid #000;
       background: #fff;
       color: #000;
       padding: 12px 16px;
       font-size: 1rem;
       transition: background 0.2s, color 0.2s;
   }

   .policy-btn:hover,
   .policy-btn.is-active {
       background: #000;
       color: #fff;
   }

   /* Content area */
   .policy-content .policy-article {
       display: none;
   }

   .policy-content .policy-article.active {
       display: block;
   }

   .policy-header {
       margin-bottom: 1rem;
   }

   .policy-img img {
       max-width: 100px;
       border: 1.5px solid #000;
       object-fit: cover;
   }

   /* Muted / secondary text */
   .policy-article .muted {
       color: #000;
       opacity: .7;
       font-size: .95rem;
       margin: 0;
   }

   /* Responsive adjustments */
   @media (max-width: 991px) {
       .policy-nav {
           position: static;
           margin-bottom: 2rem;
       }
   }

   /* LAUNCH AND SPONSORS */

/* Keep AIIC logo centered and larger */

  /* Layout heights */
#hero-sponsors { min-height: 100vh; }
#hero-sponsors .first-row { flex: 0 0 80vh; min-height: 80vh; overflow: hidden; }
#hero-sponsors .second-row { flex: 0 0 20vh; min-height: 20vh; }
#hero-sponsors .row { margin: 0; }

/* Background */
#hero-sponsors .swirl-bg {
  position: absolute; inset: 0;
  background: url("/assets/images/launch/gradient.png") center / cover no-repeat;
}
#hero-sponsors .content--canvas canvas {
  position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; display: block;
}

/* Centered brand panel */
#hero-sponsors .brand-panel-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;

}
#hero-sponsors .brand-panel {
  width: clamp(140px, 18vw, 260px);
  height: clamp(140px, 18vw, 260px);
}
#hero-sponsors .hero-brand-img {
  height: 150%;
  width: auto;
  display: block;
 margin-top: -10vh; /* moves logo upward slightly */
 opacity: 0.85;
}

/* Sponsors strip */
#hero-sponsors .sponsors-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(12px, 2vw, 28px);
  padding-block: clamp(6px, 1vh, 12px);
}
#hero-sponsors .sponsor {
  flex: 0 1 clamp(120px, 16vw, 220px);
  height: clamp(44px, 8vh, 84px);
  display: flex;
  align-items: center;
  justify-content: center;
}
#hero-sponsors .sponsor img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Mobile */
@media (max-width: 767.98px) {
  #hero-sponsors .first-row { flex-basis: 70vh; min-height: 70vh; }
  #hero-sponsors .second-row { flex-basis: 30vh; min-height: 30vh; }
  #hero-sponsors .brand-panel-wrapper { height: clamp(160px, 28vh, 320px); }
}