        .filter-fab {
          flex-shrink: 0;
          width: 40px;
          height: 40px;
          border-radius: 999px;
          background: #fff;
          border: 1px solid rgba(28, 27, 24, 0.15);
          display: flex;
          align-items: center;
          justify-content: center;
          color: #1C1B18;
          transition: border-color .15s, color .15s;
        }
        .filter-fab:hover,
        .filter-fab[aria-expanded="true"] {
          border-color: #0F766E;
          color: #0F766E;
        }
        #filterPanel.filter-panel--floating {
          position: fixed;
          top: 0;
          left: 0;
          height: 100vh;
          width: min(340px, 88vw);
          background: rgba(3, 53, 85, 0.7);
          backdrop-filter: blur(16px) saturate(140%);
          -webkit-backdrop-filter: blur(16px) saturate(140%);
          z-index: 60;
          transform: translateX(-100%);
          transition: transform .28s ease;
          box-shadow: 8px 0 30px rgba(0, 0, 0, 0.14);
          overflow-y: auto;
          padding: 24px 20px 32px;
        }
        #filterPanel.filter-panel--floating.open {
          transform: translateX(0);
        }
        .filter-panel-close {
          display: flex;
          align-items: center;
          justify-content: space-between;
          margin-bottom: 16px;
          font-family: 'IBM Plex Mono', monospace;
          font-size: 11px;
          text-transform: uppercase;
          letter-spacing: 0.08em;
          color: #6B6559;
        }
        .filter-panel-close button {
          width: 28px;
          height: 28px;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 999px;
          color: #1C1B18;
        }
        .filter-panel-close button:hover {
          color: #0F766E;
        }
        #drawerBackdrop {
          position: fixed;
          inset: 0;
          background: rgba(17, 16, 14, 0.6);
          z-index: 55;
          opacity: 0;
          pointer-events: none;
          transition: opacity .2s ease;
        }
        #drawerBackdrop.open {
          opacity: 1;
          pointer-events: auto;
        }
        .disclaimer-inline img {
          display: block;
          height: 125px;
          width: auto;
          cursor: default;
          transform-origin: center right;
          transition: transform .2s ease;
        }
        .disclaimer-inline:hover img {
          transform: scale(1.6);
        }
        @media (max-width: 768px) {
          .disclaimer-inline img { height: 72px; }
        }
        .layout.layout--with-fab {
          display: block !important;
          max-width: 1152px;
          margin: 0 auto;
        }
        .layout.layout--with-fab .results {
          width: 100%;
        }
        @media (max-width: 640px) {
          .layout.layout--with-fab {
            padding-left: 24px;
            padding-right: 24px;
          }
        }
        #yearSlider {
          position: relative;
          height: 30px;
          margin: 16px 0 8px;
        }
        #yearSlider .year-slider-track-bg {
          position: absolute;
          top: 50%;
          left: 0;
          right: 0;
          height: 4px;
          background: #E4E0D5;
          border-radius: 999px;
          transform: translateY(-50%);
        }
        #yearSlider .year-slider-track-fill {
          position: absolute;
          top: 50%;
          height: 4px;
          background: #0F766E;
          border-radius: 999px;
          transform: translateY(-50%);
        }
        #yearSlider input[type="range"] {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 30px;
          margin: 0;
          background: transparent;
          appearance: none;
          -webkit-appearance: none;
          pointer-events: none;
        }
        #yearSlider input[type="range"]::-webkit-slider-runnable-track {
          background: transparent;
          height: 30px;
        }
        #yearSlider input[type="range"]::-webkit-slider-thumb {
          -webkit-appearance: none;
          appearance: none;
          width: 18px;
          height: 18px;
          border-radius: 50%;
          background: #fff;
          border: 2.5px solid #0F766E;
          box-shadow: 0 1px 4px rgba(28, 27, 24, 0.2);
          cursor: pointer;
          pointer-events: auto;
          margin-top: 6px;
          transition: transform .12s ease;
        }
        #yearSlider input[type="range"]::-webkit-slider-thumb:hover,
        #yearSlider input[type="range"]::-webkit-slider-thumb:active {
          transform: scale(1.15);
        }
        #yearSlider input[type="range"]::-moz-range-track {
          background: transparent;
          height: 30px;
          border: none;
        }
        #yearSlider input[type="range"]::-moz-range-thumb {
          width: 18px;
          height: 18px;
          border-radius: 50%;
          background: #fff;
          border: 2.5px solid #0F766E;
          box-shadow: 0 1px 4px rgba(28, 27, 24, 0.2);
          cursor: pointer;
          pointer-events: auto;
          transition: transform .12s ease;
        }
        #yearSlider input[type="range"]::-moz-range-thumb:hover {
          transform: scale(1.15);
        }
        .tab-btn {
          font-family: 'IBM Plex Mono', monospace;
          font-size: 11px;
          text-transform: uppercase;
          letter-spacing: 0.08em;
          color: #6B6559;
          padding: 4px 2px 12px;
          border-bottom: 2px solid transparent;
          margin-bottom: -1px;
          transition: color .15s, border-color .15s;
        }
        .tab-btn:hover {
          color: #1C1B18;
        }
        .tab-btn[aria-selected="true"] {
          color: #0F766E;
          border-bottom-color: #0F766E;
        }
        .tab-panel[hidden] {
          display: none;
        }
        .campus-card {
          background: rgba(12, 24, 32, 0);
          backdrop-filter: blur(14px) saturate(140%);
          -webkit-backdrop-filter: blur(14px) saturate(140%);
          border: 1px solid rgba(255, 255, 255, 0.18);
          box-shadow: 0 10px 28px -10px rgba(0, 0, 0, 0.4);
          transition:
            transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.28s ease;
        }
        .campus-card:hover {
          transform: translateY(-8px) scale(1.035);
          background: rgba(255, 255, 255, 0.28);
          border-color: rgba(126, 200, 216, 0.55);
          box-shadow:
            0 22px 40px -12px rgba(2, 20, 28, 0.42),
            0 0 0 1px rgba(126, 200, 216, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.3);
        }

        .campus-card-all {
          background: rgba(12, 24, 32, 0.72);
          backdrop-filter: blur(14px) saturate(140%);
          -webkit-backdrop-filter: blur(14px) saturate(140%);
          border: 1px solid rgba(255, 255, 255, 0.18);
          box-shadow: 0 10px 28px -10px rgba(0, 0, 0, 0.4);
          transition:
            transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.28s ease;
        }
        .campus-card-all:hover {
          transform: translateY(-8px) scale(1.035);
          border-color: rgba(126, 200, 216, 0.55);
          box-shadow: 0 22px 40px -12px rgba(0, 0, 0, 0.5);
        }
        body {
        padding-bottom: 52px; 
      }
      .site-footer {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 40;
        background: rgba(255, 255, 255, 0.3);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-top: 1px solid rgba(28, 27, 24, 0.1);
      }
      .site-footer .footer-inner {
        max-width: 1152px;
        margin: 0 auto;
        padding: 12px 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
      }
      .site-footer .footer-copy {
        font-family: 'IBM Plex Mono', monospace;
        font-size: 11px;
        color: #6B6559;
      }
      .site-footer nav {
        display: flex;
        align-items: center;
        gap: 20px;
      }
      .site-footer nav a {
        font-family: 'IBM Plex Mono', monospace;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: #6B6559;
        text-decoration: none;
        transition: color .15s;
      }
      .site-footer nav a:hover {
        color: #0F766E;
      }
      @media (max-width: 640px) {
        .site-footer .footer-inner {
          flex-direction: column;
          text-align: center;
          padding: 10px 16px;
        }
        body {
          padding-bottom: 72px;
        }
      }