 @media (max-width: 1500px) {
     body {
         font-size: 80%;
     }
     .wrapper {
         width: 90%;
         max-width: 100%;
         padding-left: 0 !important;
         padding-right: 0 !important;
     }
     .et_pb_row {
         width: 90%!important;
     }
     .et_pb_row {
         width: 90%!important;
     }
     .header-bottom {
         top: 39px;
     }
     .header-wrapper {
         gap: 1%;
     }
     img,
     video,
     iframe {
         max-width: 100%;
         height: auto;
     }
     .header-logo {
         width: 250px;
     }
     .nav-link {
         font-size: 1.5em;
     }
     .mega-content a {
         font-size: 1em;
     }
     html {
         font-size: 80%;
     }
     .quick-links {
         right: -35px;
     }
     .hero-slider {
         height: 0;
         margin-top: 0!important;
     }
     .main {
         margin-top: 115px;
     }
     .admin-bar .main {
         margin-top: 73px;
     }
     .fbc-page .fbc-wrap .fbc-items li::after {
         margin-top: -3px;
     }
     .et_pb_button:after,
     .et_pb_button:before {
         font-size: 20px;
     }
 }
 
 @media (max-width: 1350px) {
     .header-bottom {
         top: 39px;
     }
     header nav {
         display: none !important;
     }
     header #nsci-menu nav {
         display: block!important;
     }
     #mobile-btn {
         display: block;
     }
     #mobile-btn {
         display: block;
         width: 26px;
         height: 26px;
         background-image: url(images-new/mobile-menu.png);
         background-size: contain;
         background-repeat: no-repeat;
         background-position: center;
         border: none;
         cursor: pointer;
     }
     .top-links {
         border: 0;
     }
     .social-icons {
         font-size: 1rem;
     }
     .nav-item .mega-menu {
         position: static;
         width: 100%;
         opacity: 1;
         visibility: visible;
         transform: none;
         display: none;
         /* toggled open per-item via JS */
         background: transparent;
         border-top: none;
         box-shadow: none;
     }
     .nav-item.open .mega-menu {
         display: block;
     }
     /* Mega menu content stacks in one column */
     .mega-content {
         grid-template-columns: 1fr;
         gap: 1.25rem;
         padding: 1.25rem 1rem;
         margin: 0.5rem 0 0 0;
         border-radius: 5px;
         box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
     }
     .mega-content>div:not(.quick-links) {
         padding-right: 0;
         border-bottom: 1px solid rgba(10, 37, 64, 0.08);
         padding-bottom: 1rem;
     }
     .mega-content a:hover {
         transform: none;
         /* no slide-out on touch */
     }
     .quick-links {
         padding: 1.25rem;
     }
     .mega-content {
         display: flex;
         flex-wrap: wrap;
     }
     .quick-links {
         width: 100%;
     }
     .quick-links h4 {
         border-left: 3px solid #f9923c;
         padding-left: 13px;
         border-bottom: 0;
         padding-bottom: 0;
     }
     .quick-links a {
         display: inline-block;
         margin-right: 12px;
         border-right: 1px solid;
         padding: 0 12px 0 0;
     }
     .quick-links a:last-child {
         border: 0;
         padding-right: 0;
     }
     .main-nav {
         display: none;
     }
     body.mobile-nav-open .main-nav {
         display: block;
         position: fixed;
         top: 0;
         right: 0;
         width: min(360px, 88vw);
         height: 100vh;
         overflow-y: auto;
         background: #ffffff;
         z-index: 999;
         padding: 4.5rem 1.25rem 2rem;
         box-shadow: -20px 0 60px rgba(0, 0, 0, 0.25);
     }
     body.mobile-nav-open::after {
         content: '';
         position: fixed;
         inset: 0;
         background: rgba(10, 37, 64, 0.5);
         z-index: 998;
     }
     body.mobile-nav-open {
         overflow: hidden;
     }
     .nav-link {
         display: block;
         padding: 0.85rem 0;
         font-size: 1.05em;
         border-bottom: 1px solid rgba(10, 37, 64, 0.08);
     }
     .nav-link:after {
         display: none;
     }
     .p-10 {
         padding: 1rem;
     }
     .top-bar .top-links {
         display: none;
     }
     /* Level-2 parent: flex layout, arrow vertically centered */
     .mm-sub-heading,
     .mm-sub-parent {
         display: flex;
         align-items: center;
         /* vertical centering */
         gap: 8px;
         padding: 10px 20px 10px 36px;
         font-size: 13px;
         color: #0a2540;
         text-decoration: none;
         line-height: 1.4;
         transition: color .2s;
     }
     a.mm-sub-heading:hover,
     .mm-sub-parent:hover {
         background-color: var(--gold-light);
     }
     .mm-sub-parent.open {
         color: #f9923c;
         background-color: #eff6ff;
     }
     /* ---- Arrow: pinned to the right, vertically centered ---- */
     .mm-sub-parent {
         position: relative;
         justify-content: space-between;
         /* text left, arrow right */
     }
     .mm-sub-parent .mm-arrow {
         position: absolute;
         top: 6px;
         right: 20px;
         padding: 0;
         display: inline-block;
         font-size: 1.4em;
         color: #0a2540;
         cursor: pointer;
         transition: transform .25s ease, color .2s;
     }
     .mm-sub-parent.open .mm-arrow {
         transform: rotate(45deg);
         color: #f9923c;
     }
     .marker-label {
         padding: 4px 18px;
     }
     .illinois .marker-label {
         top: -26px;
     }
     .scroll-explore {
         top: unset!important;
         bottom: 45px;
     }
     .hero-dots {
         bottom: 15px!important;
     }
     .hero-slide .text-top-left,
     .hero-slide .text-top-right,
     .hero-slide .text-top-center {
         top: 5%;
     }
     .hero-slide .text-bottom-left,
     .hero-slide .text-bottom-right,
     .hero-slide .text-bottom-center {
         bottom: 60px;
     }
     .recipient-photo {
         width: 150px;
     }
     .award-card-content {
         padding: 15px;
     }
     .award-card-content.right {
         width: calc(100% - 150px);
     }
     .award-card {
         min-height: 192px;
     }
     #right-area {
         padding: 0;
     }
 }
 
 @media (max-width: 1024px) {
     .hero-title {
         letter-spacing: -1px;
     }
     /* streak side-panels crowd small screens */
     .pattern,
     .fade {
         width: 30%;
         opacity: 0.5;
     }
     .scroll-explore {
         top: 76%;
     }
     .unit-card {
         flex-basis: 49%;
         padding: 24px 20px;
     }
     .event-block .orange-btn {
         margin-top: 2em;
     }
     .carousel-slide {
         width: 60%;
     }
     .ambassador-cards.lg\:grid-cols-3 {
         grid-template-columns: repeat(2, minmax(0, 1fr));
     }
     .osa-columns {
         grid-template-columns: repeat(2, 1fr);
     }
     #right-area {
         position: relative;
         width: 100%;
         padding: 0;
         padding-bottom: 5em;
     }
     .et_right_sidebar #left-area {
         width: 100%;
         float: unset;
     }
 }
 
 @media (max-width:980px) {
     .hero-dots {
         bottom: 15px!important;
     }
     .scroll-explore {
         bottom: 33px;
         font-size: 0.8rem;
     }
     .scroll-explore .text-2xl {
         line-height: 1;
     }
 }
 
 @media (max-width: 850px) {
     .hero h1 {
         font-size: 2rem;
     }
     .hero p {
         font-size: 1.05rem;
         margin-bottom: 24px;
     }
     .hero-title {
         font-size: 2rem;
         line-height: 1.2;
     }
     .hero-title.mb-8 {
         margin-bottom: 0!important;
     }
     .pattern,
     .fade {
         display: none;
         /* remove decorative streaks on phones */
     }
     .hero-buttons {
         flex-direction: column;
         align-items: stretch;
         gap: 12px;
     }
     .bubble {
         display: none;
     }
     .hero-banner-caption.text-center {
         width: 100%;
         top: 8%;
         position: absolute;
         left: 50%;
         padding: 10px;
         transform: translate(-50%);
     }
     .hero-title {
         font-size: 2.5rem!important;
         letter-spacing: 0!important;
     }
     .hero-dots {
         left: unset!important;
         right: 0!important;
     }
 }
 
 @media (max-width: 782px) {}
 
 @media (max-width: 768px) {
     .ent-eyebrow {
         font-size: 22px;
         letter-spacing: 2px;
         margin-bottom: 12px;
     }
     .ent-slogan {
         gap: 2px;
     }
     .ent-zh {
         letter-spacing: 2px;
     }
     .ent-meta {
         font-size: 12px;
         gap: 10px 22px;
         padding: 0 10px;
     }
     .scene-tag {
         font-size: 12px;
         letter-spacing: 3px;
         margin-top: 20px;
     }
     .ent-bracket {
         width: 22px;
         height: 22px;
     }
     .ent-bracket.tl,
     .ent-bracket.tr {
         top: 12px;
     }
     .ent-bracket.bl,
     .ent-bracket.br {
         bottom: 12px;
     }
     .ent-bracket.tl,
     .ent-bracket.bl {
         left: 12px;
     }
     .ent-bracket.tr,
     .ent-bracket.br {
         right: 12px;
     }
     .ent-topbar {
         padding: 16px 18px;
     }
     .ent-bottom {
         padding: 18px 18px;
     }
     .ent-status {
         font-size: 9px;
     }
     .recipient-photo {
         width: 120px;
     }
     .page-id-18242 .et_pb_column_2,
     .page-id-18990 .et_pb_column_2 {
         max-width: 250px;
         margin: auto!important;
         margin-bottom: 2%!important;
     }
     .page-id-18242 .et_pb_column_3,
     .page-id-18990 .et_pb_column_3 {
         width: 100%!important;
     }
 }
 
 @media (max-width: 650px) {
     .hero-slider .btn {
         width: auto;
         padding: 10px;
     }
     .hero-buttons {
         display: block !important;
     }
     .btn {
         text-align: center;
         padding: 13px 20px;
         margin: auto;
     }
     .btn+.btn {
         margin-left: 5px;
     }
     .hero-title {
         font-size: 2rem !important;
     }
     .scroll-explore {
         display: none!important;
     }
     .event-block .btn {
         width: 100%;
     }
     .ambassador-cards.lg\:grid-cols-3 {
         grid-template-columns: repeat(1, minmax(0, 1fr));
     }
     .osa-columns {
         grid-template-columns: 1fr;
     }
     .ambassador-card {
         min-height: 0;
         height: auto;
     }
     .award-card-content {
         height: auto;
     }
 }
 
 @media (max-width: 782px) {
     .admin-bar .main {
         margin-top: 69px;
     }
 }
 
 @media (max-width: 767px) {
     .map-container {
         border-radius: 0;
         /* Let the map scroll horizontally so pins stay legible */
     }
     .map-inner {
         overflow-x: auto;
         -webkit-overflow-scrolling: touch;
     }
     .map-wrapper {
         min-width: 717px;
         padding-bottom: 0;
         height: 417px;
     }
     .marker-label {
         padding: 4px 8px 5px;
         top: -48px;
     }
     .ml-country {
         font-size: 1.05em;
     }
     .marker-pin-pulse {
         width: 14px;
         height: 14px;
     }
     .ambassador-card:hover {
         transform: none;
         /* disable lift on touch */
     }
     .cta-section {
         text-align: center;
         padding: 2.5rem 0 !important;
     }
     .cta-section a {
         word-break: break-all;
     }
     .footer-menu {
         display: flex;
         align-items: center;
         gap: 0.35rem;
     }
     .footer-menu a:not(:last-child)::after {
         display: none;
         /* remove vertical dividers */
     }
     .footer-menu a {
         padding: 0.35rem 0;
     }
     .copyright {
         text-align: center;
         padding: 0 1rem;
         line-height: 1.6;
     }
     footer .pt-6 {
         margin-top: 0.5rem;
         padding-top: 0.5rem;
     }
     .footer-logo {
         margin: auto;
         width: 250px;
     }
     .footer-menu {
         text-align: center;
         margin: auto;
     }
     footer .green-btn {
         order: 1;
         margin-top: 22px;
     }
     .copyright {
         order: 2;
     }
     .units-grid {
         gap: 0;
     }
     .unit-card {
         flex-basis: 100%;
         margin-bottom: 14px;
     }
     .unit-card h3 {
         font-size: 1.15rem;
     }
     .unit-icon {
         width: 52px;
         height: 52px;
         font-size: 1.4rem;
     }
     .event-block>div.grid {
         grid-template-columns: 1fr;
     }
     .news-title {
         -webkit-line-clamp: 3;
         /* allow one extra line on narrow cards */
     }
     .home-heading {
         font-size: 1.6rem;
     }
     .carousel-section {
         padding-top: 3rem;
         padding-bottom: 5rem;
     }
     .carousel-slide {
         width: 82%;
         padding: 0 6px;
     }
     .carousel-btn {
         width: 38px;
         height: 38px;
         font-size: 20px;
     }
     .nav-wrapper {
         margin-top: 68px;
         gap: 14px;
     }
     .nav-btn {
         width: 44px;
         height: 44px;
     }
     .work-title {
         font-size: 1.5rem;
     }
     .work-subtitle {
         font-size: 0.9rem;
     }
     .card img {
         height: auto;
     }
     .hero-left::after {
         top: 135px;
         display: none;
     }
 }
 /* ============================================================
   7. SLOGAN SECTION (both pages)
   ============================================================ */
 
 @media (max-width: 767px) {
     .slogan-section {
         padding-top: 2rem !important;
         padding-bottom: 2rem !important;
     }
     .slogan-line1,
     .slogan-line2 {
         font-size: 1.5rem;
         letter-spacing: -0.5px;
     }
     .slogan-cn {
         font-size: 1.2rem;
         margin-left: 0;
     }
     .slogan-cn+.slogan-cn {
         margin-left: 10px;
     }
     .slogan-decor {
         margin: 1.25rem auto;
         width: 70px;
     }
 }
 /* ============================================================
   8. INNER PAGE GENERAL (sci-connect.html)
   ============================================================ */
 
 @media (max-width: 1024px) {
     .inner-page section {
         padding: 4em 0;
     }
     .illinois .marker-label {
         left: -35px;
         top: -12px;
     }
     .marker-label {
         font-size: 0.8rem;
     }
 }
 
 @media (max-width: 767px) {
     .inner-page section {
         padding: 3em 0;
     }
     .section-title {
         font-size: 1.5rem;
         padding-bottom: 0.6rem;
     }
     .hero-breadcrumb,
     .breadcrumb {
         font-size: 0.8rem;
     }
     .section-tabs {
         overflow-y: hidden;
         overflow-x: auto;
         -webkit-overflow-scrolling: touch;
         white-space: nowrap;
     }
     .section-tab {
         padding: 0.9rem 0;
         font-size: 0.9rem;
     }
     .sci-connect-img {
         width: 85%;
         margin-bottom: 20px;
     }
     .logo-banner {
         padding: 1.5rem;
         border-radius: 1rem;
     }
     .info-callout {
         padding: 1rem 1.15rem;
         font-size: 0.9rem;
     }
     td[data-th]::before {
         content: attr(data-th) ": ";
         font-weight: bold;
     }
     .cta-section>.wrapper {
         padding: 2.5rem;
     }
     .virginia {
         top: 49.5%!important;
     }
 }
 /* ============================================================
   9. SCHEME OVERVIEW / FEATURE CARDS (sci-connect.html)
   ============================================================ */
 
 @media (max-width: 767px) {
     .feature-card {
         padding: 1.4rem 1.15rem;
         border-radius: 1rem;
     }
     .icon-circle {
         width: 56px;
         height: 56px;
         font-size: 2.2rem;
         margin-bottom: 1rem;
     }
 }
 /* ============================================================
   10. DATA TABLES (sci-connect.html) — stack rows into cards
   ============================================================ */
 
 @media (max-width: 767px) {
     .data-table table,
     .data-table tbody {
         padding: 1px;
     }
     .data-table table,
     .data-table tbody,
     .data-table tr,
     .data-table td {
         display: block;
         width: 100%;
     }
     .data-table thead {
         display: none;
         /* headers hidden; use data-label */
     }
     .data-table tbody tr {
         margin-bottom: 0.85rem;
         border: 1px solid #e2e8f0;
         border-radius: 8px;
         overflow: hidden;
     }
     .data-table td::before {
         content: attr(data-th) ": ";
         /* Displays the attribute text followed by a colon */
         font-weight: bold;
         display: inline-block;
         margin-right: 0.5rem;
     }
     .data-table td {
         padding: 0.7rem 1rem;
         border-top: none;
     }
     .data-table td+td {
         border-top: 1px dashed #e2e8f0;
     }
     /* Optional labels — add data-label="Unit" / data-label="Email"
       (or "Graduation Years" / "Programme") to each <td> in the HTML */
     .data-table td[data-label]::before {
         content: attr(data-label);
         display: block;
         font-weight: 700;
         font-size: 0.75rem;
         letter-spacing: 0.5px;
         color: var(--blue);
         margin-bottom: 2px;
     }
     .data-table a {
         word-break: break-all;
         /* long email addresses */
     }
     .scroll-hint {
         display: flex;
     }
     .buttons-container>div {
         flex-wrap: wrap;
     }
 }
 /* ============================================================
   11. WORLD MAP & MARKERS (sci-connect.html)
   ============================================================ */
 
 @media (max-width: 1024px) {
     .marker-label {
         font-size: 0.75rem;
         padding: 6px 10px 7px;
         top: -58px;
     }
     .ml-country {
         font-size: 1.15em;
     }
 }
 /* ============================================================
   12. AMBASSADOR CARDS & CTA (sci-connect.html)
   ============================================================ */
 
 @media (max-width: 1024px) {
     /* If cards are in a Tailwind grid, this ensures 2-up on tablet */
     .ambassador-card {
         margin-bottom: 1rem;
     }
 }
 /* ============================================================
   14. SMALL PHONES
   ============================================================ */
 
 @media (max-width: 480px) {
     .header-bottom {
         top: 36px;
     }
     .hero h1,
     .hero-title {
         font-size: 1.6rem;
     }
     .main {
         margin-top: 99px;
     }
     .admin-bar .main {
         margin-top: 52px;
     }
     .header-logo {
         width: 200px;
     }
     .section-title {
         font-size: 1.3rem;
     }
     .slogan-line1,
     .slogan-line2 {
         font-size: 1.25rem;
     }
     .work-title {
         font-size: 1.25rem;
     }
     .carousel-slide {
         width: 90%;
     }
     .unit-card {
         padding: 20px 16px;
     }
     .top-bar .search-btn,
     .top-bar .font-sizes,
     .top-bar .language-switcher {
         display: none;
     }
     .mm-font-sizes {
         gap: 0!important;
         padding-left: 0;
     }
     .mm-header {
         justify-content: space-between;
     }
     .mm-header-left {
         display: flex;
     }
     .hero-title {
         font-size: 5vw !important;
         padding-bottom: 3vw;
     }
     .home-heading {
         font-size: 2rem!important;
         line-height: 2rem!important;
     }
     .work-panel {
         padding: 28px 0;
     }
     .unit-card span.unit-card-flex {
         align-items: center;
     }
     .unit-icon {
         margin-bottom: 0;
     }
     .footer-menu a {
         width: 100%;
     }
     .home-heading-section {
         flex-wrap: wrap;
     }
     .home-heading {
         width: 100%;
     }
     .view-all {
         width: 100%;
         margin-top: 1em;
     }
     .hero-slider .btn {
         width: auto;
         max-width: 175px;
         font-size: 2.5vw;
         padding: 7px 10px;
     }
     .hero-banner-caption.px-8 {
         padding: 0 1rem;
     }
     .mm-lang-select {
         padding: 0;
     }
     .mm-lang-select .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
         font-size: 1rem;
         gap: 6px;
         font-weight: 300;
         padding: 6px 12px;
     }
     .hero-buttons .btn {
         margin: 5px 0 0 0;
     }
     .text-center .btn,
     .text-top-center .btn,
     .text-bottom-center .btn {
         margin: 5px auto 0 auto;
     }
     .hero-slide .text-bottom-left,
     .hero-slide .text-bottom-right,
     .hero-slide .text-bottom-center {
         bottom: 40px;
     }
     .award-card {
         flex-wrap: wrap;
     }
     .award-card-content.right {
         width: 100%;
     }
     .award-year {
         text-align: left;
     }
     .recipient-photo {
         margin: auto;
     }
     .acc-bottom {
         position: relative;
         top: unset;
         left: unset;
         bottom: unset;
         width: auto;
     }
     .inpage-menu-arrow--left svg {
         width: 14px;
         height: 14px;
     }
     .inpage-menu-arrow--right svg {
         width: 14px;
         height: 14px;
     }
 }
 /* ============================================================
   15. TOUCH-DEVICE REFINEMENTS
   ============================================================ */
 
 @media (hover: none) {
     /* Neutralise hover-lift effects that can "stick" on touch */
     .card:hover,
     .unit-card:hover,
     .feature-card:hover,
     .tech-btn:hover,
     .blue-btn:hover,
     .green-btn:hover,
     .purple-btn:hover,
     .orange-btn:hover {
         transform: none;
     }
 }
 /* ---------- Mobile menu (Simply Gum style) ---------- */
 
 #mobile-menu-overlay {
     display: none;
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, .35);
     z-index: 9998;
     /* above sticky header (z-50) */
     opacity: 0;
     transition: opacity .3s ease;
 }
 
 #mobile-menu-overlay.active {
     display: block;
     opacity: 1;
 }
 
 #mobile-menu {
     position: fixed;
     top: 0;
     right: 0;
     /* changed: right side */
     left: auto;
     width: 85%;
     max-width: 360px;
     height: 100vh;
     /* full viewport height */
     background: #fff;
     z-index: 9999;
     /* above everything */
     transform: translateX(100%);
     /* changed: hide off-screen to the right */
     transition: transform .3s ease;
     overflow-y: auto;
     -webkit-overflow-scrolling: touch;
     box-shadow: -4px 0 20px rgba(0, 0, 0, .1);
     font-family: inherit;
 }
 
 #mobile-menu.active {
     transform: translateX(0);
 }
 
 body.mm-lock {
     overflow: hidden;
 }
 /* Header row: X button only */
 
 #mobile-menu-close {
     background: none;
     border: none;
     font-size: 20px;
     color: #333;
     cursor: pointer;
     line-height: 1;
     padding: 4px;
 }
 /* Level 1 items */
 
 .mm-item {
     border-bottom: 1px solid #e5e5e5;
 }
 
 .mm-parent {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 10px 20px;
     background: #f7f7f7;
     color: #555;
     font-size: 1.12rem;
     font-weight: 700;
     text-decoration: none;
     transition: color .2s;
     color: #0A2540;
 }
 
 .mm-parent:hover,
 .mm-parent.open {
     color: #f9923c;
 }
 
 .mm-arrow {
     font-size: 1.6em;
     color: #0A2540;
     transition: transform .25s ease;
 }
 
 .mm-parent.open .mm-arrow {
     transform: rotate(45deg);
     color: #f9923c;
 }
 /* Level 2 (submenu) */
 
 .mm-sub {
     display: none;
     background: #fff;
 }
 
 .mm-sub-heading,
 .mm-sub-parent {
     display: block;
     width: 100%;
     padding: 10px 20px;
     font-size: 1.3em;
     color: #0a2540;
     font-weight: 600;
 }
 
 .mm-sub-link {
     display: block;
     padding: 10px 20px 10px 36px;
     font-size: 1.3em;
     color: #0a2540;
     background-color: #eff6ff;
     text-decoration: none;
     transition: color .2s;
 }
 
 .mm-sub-link:hover,
 .mm-sub-link.active {
     background-color: var(--gold-light);
 }
 /* ---------- Responsive switching ---------- */
 
@media (min-width: 1351px) {
    #mobile-menu,
    #mobile-menu-overlay {
        display: none !important;
    }
}