        :root {
            --topband-h: 36px;
            --header-h: 64px;
            --full-bar-h: calc(var(--topband-h) + var(--header-h));
            --pesu-navy: #00264d;
            --pesu-orange: #ef7e1a;
        }

        /* ── Topband: fixed at top — pixel-matched to new design ── */
        .topband {
            background: var(--pesu-navy);
            border-bottom: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1002;
            height: var(--topband-h);
            transform: translateY(0);
            transition: transform 0.3s ease;
            will-change: transform;
            font-family: "Noto Sans", -apple-system, sans-serif;
        }

        .topband.topband-hidden {
            transform: translateY(-100%);
        }

        [data-theme="dark"] .topband {
            background: var(--pesu-navy);
        }

        .topband-inner {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0;
            height: var(--topband-h);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem;
        }

        /* ── LEFT: brand + go-to-PES.edu link ── */
        .topband-brand {
            display: flex;
            align-items: center;
            gap: 10px;
            min-width: 0;
        }

        .topband-brand .topband-dept {
            font-weight: 400;
            color: #fff;
            font-size: .78rem;
            white-space: nowrap;
        }

        .topband-brand .topband-div {
            width: 1px;
            height: 14px;
            background: rgba(255, 255, 255, .25);
            flex-shrink: 0;
        }

        .topband-brand .topband-uni {
            display: flex;
            align-items: center;
            gap: 4px;
            color: rgba(255, 255, 255, .7);
            font-weight: 400;
            font-size: .78rem;
            text-decoration: none;
            white-space: nowrap;
        }

        .topband-brand .topband-uni:hover { color: #fff; }

        .topband-brand .topband-arrow { font-size: .7rem; }

        /* ── RIGHT: nav links + Apply pill ── */
        .topband-nav {
            display: flex;
            align-items: center;
            gap: 22px;
        }

        .topband-link {
            color: rgba(255, 255, 255, .75);
            font-size: .78rem;
            font-weight: 400;
            text-decoration: none;
            white-space: nowrap;
            transition: color .22s;
        }

        .topband-link:hover { color: #fff; }

        .topband-admissions {
            background: var(--pesu-orange);
            color: #fff;
            padding: 5px 14px;
            border-radius: 999px;
            font-weight: 700;
            font-size: 12px;
            font-family: "Noto Sans", -apple-system, sans-serif;
            text-decoration: none;
            white-space: nowrap;
            transition: background .22s;
        }

        .topband-admissions:hover {
            background: #d96e0f;
            color: #fff;
        }

        /* ── Main header ── */
        .light-header {
            position: fixed !important;
            top: var(--topband-h);
            left: 0;
            right: 0;
            z-index: 1001;
            transition: top 0.3s ease;
        }

        .light-header.header-top {
            top: 0;
        }

        body {
            padding-top: var(--full-bar-h);
        }

        .filter-panel {
            top: var(--full-bar-h);
            transition: top 0.3s ease;
        }

        .filter-panel.panel-top-only {
            top: var(--header-h);
        }

        .mobile-dropdown.open {
            max-height: calc(100dvh - var(--full-bar-h));
            transition: max-height 0.3s ease;
        }

        .mobile-dropdown.open.dropdown-top-only {
            max-height: calc(100dvh - var(--header-h));
        }

        /* ── Tablet (<=768px): drop the topband entirely, header sits at the very top ── */
        @media (max-width: 768px) {
            :root {
                --topband-h: 0px;
                --header-h: 64px;
                --full-bar-h: calc(var(--topband-h) + var(--header-h));
            }

            .topband {
                display: none !important;
            }

            body {
                padding-top: var(--full-bar-h);
            }
        }

        /* ── Hide secondary topband links below 760px (Apply pill always stays) ── */
        @media (max-width: 760px) {
            .topband-link { display: none; }
        }

        /* ── Small phones (<=520px): drop "Go to PES.edu" text ── */
        @media (max-width: 520px) {
            .topband-brand .topband-uni { display: none; }
        }

        /* ── Match header-inner's mobile side padding exactly ── */
        @media (max-width: 640px) {
            .topband-inner { padding: 0 20px; }
        }

        /* ── Back to top (site-wide, appears after scrolling) ── */
        .back-to-top{
          position:fixed;bottom:28px;right:28px;width:40px;height:40px;border-radius:50%;
          background:var(--navy);color:#fff;border:1px solid rgba(255, 255, 255, 0.1);
          display:flex;align-items:center;justify-content:center;cursor:pointer;
          box-shadow:0 10px 26px rgba(0,38,77,0.32), 0 2px 8px rgba(0,0,0,0.12);
          opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);
          transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background-color .2s ease, box-shadow .2s ease;
          z-index:150;
        }
        .back-to-top svg{width:19px;height:19px;}
        .back-to-top.show{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
        .back-to-top:hover{background:var(--navy-light);transform:translateY(-3px) scale(1.05);box-shadow:0 14px 32px rgba(0,38,77,0.42), 0 4px 10px rgba(0,0,0,0.14);}
        .back-to-top:active{transform:translateY(-1px) scale(1.0);}
        @media (max-width:640px){.back-to-top{bottom:18px;right:18px;width:44px;height:44px;}}
