/* AURApeutics shared website stylesheet */
@font-face {
    font-family: 'Optician Sans';
    src: url('fonts/Optician-Sans.woff2') format('woff2'), url('fonts/Optician-Sans.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
:root { --scrollbar-width: 10px; }
html { background: #070a18; }
body { margin: 0; }
img { max-width: 100%; }
.neutralization-image { max-width: 100%; height: auto; }
.overlay-layer { position: relative; z-index: 2; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ==================== HOME PAGE ==================== */

        @font-face {
            font-family: "Optician Sans";
            src: url("fonts/Optician-Sans.woff2") format("woff2"),
                 url("fonts/Optician-Sans.woff") format("woff");
            font-weight: normal;
            font-style: normal;
        }

        body.page-home {
            --text-color: #EAEAEB;
            --background-color: #0A0A14;
            --accent-blue: #4473f2;
            --accent-red: #e74c3c;
            --accent-yellow: #f1c40f;
            --accent-purple: #9b59b6;
        }
        body.page-home * { margin: 0; padding: 0; box-sizing: border-box; }
        html:has(body.page-home) { scroll-behavior: smooth; }
        body.page-home {
            font-family: "Inter", sans-serif;
            background-color: #0A0A14;
            color: var(--text-color);
            transition: background 0.8s ease;
            overflow-x: hidden;
        }
        body.page-home .background-gradient {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: linear-gradient(135deg, #0A0A14, #1A0A2E);
            z-index: -2;
        }
        body.page-home.overlay-open { overflow: hidden; }
        body.page-home { --scrollbar-width: 10px; }

        ::-webkit-scrollbar {
            width: var(--scrollbar-width);
            background: transparent;
            transition: width 0.2s ease;
        }

        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb {
            background: linear-gradient(180deg, 
                rgba(68, 115, 242, 0.7) 0%,
                rgba(68, 115, 242, 0.8) 50%,  
                rgba(155, 89, 182, 0.8) 100%
            );
            border-radius: 10px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-shadow: 
                0 2px 8px rgba(68, 115, 242, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.15);
            opacity: 1;
            transition: background 0.3s ease, box-shadow 0.3s ease;
        }

        html:has(body.page-home)[data-show-scrollbar="true"] ::-webkit-scrollbar-thumb { opacity: 1; }
        html:has(body.page-home)[data-show-scrollbar="true"] ::-webkit-scrollbar-track {
            background: #0A0A14;
            opacity: 0;
            border: 0; 
            border-radius: 0; 
            background-image: none;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: linear-gradient(180deg, 
                rgba(68, 115, 242, 0.9) 0%,
                rgba(68, 115, 242, 1) 50%,  
                rgba(155, 89, 182, 1) 100%
            ) !important;
            box-shadow: 
                0 4px 12px rgba(68, 115, 242, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.25);
            transform: scaleX(1.05);
        }
        
        body.page-home #transition-overlay {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            z-index: 10002;
            background: radial-gradient(circle at center, 
                rgba(68, 115, 242, 1) 0%,
                rgba(10, 10, 20, 1) 70%
            );
            opacity: 0;
            visibility: hidden;
            pointer-events: none; 
        }

        body.page-home #transition-overlay.is-active {
            visibility: visible;
            animation: flash 0.7s ease-out;
        }

        @keyframes flash {
            0% { opacity: 0; transform: scale(0.8); }
            50% { opacity: 1; transform: scale(1.2); }
            100% { opacity: 0; transform: scale(1.2); }
        }

        body.page-home .loader {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: #0A0A14;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            z-index: 10003;
            transition: opacity 0.5s ease;
        }

        body.page-home .dna-helix {
            width: 60px;
            height: 120px;
            position: relative;
        }

        body.page-home .dna-strand {
            position: absolute;
            width: 4px;
            height: 100%;
            background: linear-gradient(0deg, var(--accent-blue), var(--accent-purple));
            border-radius: 2px;
            animation: dna-rotate 2s linear infinite;
        }

        body.page-home .dna-strand:nth-child(1) { left: 10px; }
        body.page-home .dna-strand:nth-child(2) { right: 10px; animation-delay: -1s; }

        @keyframes dna-rotate {
            0% { transform: rotateY(0deg); }
            100% { transform: rotateY(360deg); }
        }

        body.page-home .loader-text {
            margin-top: 30px;
            font-size: 1.2rem;
            color: var(--text-color);
            opacity: 0.8;
        }
        
        body.page-home .skip-link { position: absolute; top: -100px; left: 0; background: var(--accent-blue); color: white; padding: 10px; z-index: 10001; transition: top 0.3s; }
        body.page-home .skip-link:focus { top: 0; }
        body.page-home :focus-visible { outline: 3px solid var(--accent-blue); outline-offset: 3px; }
        
        /* Motion is controlled by the site's explicit accessibility setting.
           This prevents an operating-system preference from silently forcing
           the page into the static layout after the visitor selects Normal. */
        
        body.page-home.reduce-motion-active *, body.page-home.reduce-motion-active *::before, body.page-home.reduce-motion-active *::after {
            animation-duration: 0.01ms !important; 
            animation-iteration-count: 1 !important; 
            transition-duration: 0.01ms !important; 
            transition: none !important; 
            animation: none !important;
        }

        body.page-home #particles-js { 
            position: fixed; 
            top: 0; left: 0;
            width: 100%; height: 100%; 
            z-index: -1;
            pointer-events: none;
        }
        
        body.page-home .navbar { 
            position: fixed; 
            top: 0; left: 0; right: 0; 
            z-index: 1000;
            padding: 10px 40px;
            transition: all 0.3s ease; 
            background: transparent;
            border-bottom: none;
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 100px;
        }
        
        body.page-home .logo img { 
            height: 80px; 
            vertical-align: middle; 
        }
        
        body.page-home .nav-links { 
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            display: flex; 
            list-style: none; 
            gap: 30px;
            align-items: center;
            margin: 0;
            padding: 0;
        }
        
        body.page-home .nav-links li { position: relative; }
        body.page-home .nav-links a { 
            color: rgba(255, 255, 255, 0.7); 
            text-decoration: none; 
            font-size: 14px;
            font-weight: 500; 
            text-transform: uppercase; 
            letter-spacing: 1px; 
            transition: all 0.3s; 
            padding: 10px 14px;
            border-radius: 20px;
            display: block;
            width: auto;
            min-width: 150px;
            text-align: center;
        }
        body.page-home .nav-links a:hover { color: white; background: rgba(68, 115, 242, 0.1); }
        body.page-home .nav-links a:focus { outline: 2px solid var(--accent-blue); }
        body.page-home .progress-bar { 
            position: absolute; 
            bottom: -5px; left: 0; 
            height: 2px; 
            background: linear-gradient(90deg, var(--accent-blue), var(--accent-purple)); 
            width: 0%; 
        }
        
        body.page-home .top-right-controls { 
            position: fixed; 
            top: 19px;
            right: 40px;
            display: flex;
            align-items: center; 
            gap: 25px;
            z-index: 10001;
        }
        
        body.page-home .accessibility-container { position: relative; }
        body.page-home #accessibility-toggle { 
            background: none; 
            border: 1px solid rgba(255,255,255,0.7); 
            color: rgba(255,255,255,0.7); 
            padding: 8px; 
            border-radius: 50%; 
            width: 44px; height: 44px;
            cursor: pointer; 
            display: flex; 
            justify-content: center; 
            align-items: center; 
        }
        
        body.page-home .accessibility-dropdown { 
            position: absolute; 
            top: 100%; right: 0; 
            margin-top: 10px; 
            background: rgba(10, 10, 20, 0.95); 
            backdrop-filter: blur(10px); 
            border-radius: 8px; 
            border: 1px solid rgba(255,255,255,0.1); 
            min-width: 280px; 
            opacity: 0; 
            visibility: hidden; 
            transform: translateY(-10px); 
            transition: all 0.3s ease; 
            z-index: 1001; 
            padding: 8px; 
        }
        
        body.page-home .accessibility-dropdown.show { 
            opacity: 1; 
            visibility: visible; 
            transform: translateY(0); 
        }
        
        body.page-home .accessibility-dropdown button { 
            width: 100%; 
            padding: 12px 16px; 
            background: none; 
            border: none; 
            color: rgba(255,255,255,0.8); 
            text-align: left; 
            cursor: pointer; 
            font-size: 14px; 
            border-radius: 4px; 
            display: flex; 
            flex-direction: column; 
        }
        
        body.page-home .access-option-title { 
            display: flex; 
            justify-content: space-between; 
            width: 100%; 
            font-weight: 500;
        }
        
        body.page-home .access-shortcut { 
            font-family: monospace; 
            font-size: 12px; 
            opacity: 0.7; 
        }
        
        body.page-home .access-option-desc { 
            font-size: 12px; 
            opacity: 0.7; 
            margin-top: 4px; 
            white-space: normal; 
        }
        
        body.page-home #hamburger-btn {
            width: 62px; height: 62px;
            background: transparent;
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        body.page-home .hamburger-bar {
            width: 40px; height: 4px;
            background-color: var(--text-color);
            border-radius: 2px;
            position: relative;
            transition: transform 0.6s ease-in-out, background-color 0.6s ease-in-out;
        }
        
        body.page-home .hamburger-bar::before, body.page-home .hamburger-bar::after {
            content: "";
            position: absolute;
            left: 0;
            width: 100%; height: 100%;
            background-color: var(--text-color);
            border-radius: 2px;
            transition: transform 0.6s ease-in-out;
        }
        
        body.page-home .hamburger-bar::before { transform: translateY(-12px); }
        body.page-home .hamburger-bar::after { transform: translateY(12px); }
        
        body.page-home #hamburger-btn.is-active .hamburger-bar { background-color: transparent; }
        body.page-home #hamburger-btn.is-active .hamburger-bar::before { transform: translateY(0) rotate(45deg); }
        body.page-home #hamburger-btn.is-active .hamburger-bar::after { transform: translateY(0) rotate(-45deg); }

        body.page-home #fullscreen-overlay {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background-color: #0A0A14;
            z-index: 10000;
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.4s ease, visibility 0.4s ease;
        }
        
        body.page-home #fullscreen-overlay.is-active {
            opacity: 1;
            visibility: visible;
        }
        
        body.page-home #overlay-canvas {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            z-index: 1; 
        }
        
        body.page-home .overlay-content {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 1200px;
            padding: 0 80px;
        }
        
        body.page-home .overlay-logo {
            position: absolute;
            top: 10px; left: 40px;
            z-index: 10001;
        }
        
        body.page-home .overlay-logo img { height: 80px; }

        body.page-home .overlay-nav {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        
        body.page-home .overlay-nav li {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.4s ease, transform 0.4s ease;
        }
        
        body.page-home #fullscreen-overlay.is-active .overlay-nav li:nth-child(1) { transition-delay: 0.2s; }
        body.page-home #fullscreen-overlay.is-active .overlay-nav li:nth-child(2) { transition-delay: 0.3s; }
        body.page-home #fullscreen-overlay.is-active .overlay-nav li:nth-child(3) { transition-delay: 0.4s; }
        body.page-home #fullscreen-overlay.is-active .overlay-nav li:nth-child(4) { transition-delay: 0.5s; }
        body.page-home #fullscreen-overlay.is-active .overlay-nav li:nth-child(5) { transition-delay: 0.6s; }
        
        body.page-home #fullscreen-overlay.is-active .overlay-nav li {
            opacity: 1;
            transform: translateY(0);
        }

        body.page-home .overlay-nav a {
            font-family: "Orbitron", sans-serif;
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
            font-size: clamp(2.5rem, 5vw, 4rem);
            font-weight: 500;
            display: inline-block;
            line-height: 1.3;
            transition: color 0.3s ease;
            position: relative;
        }
        
        body.page-home .overlay-nav a .bracket {
            color: var(--accent-blue);
            opacity: 0;
            transition: opacity 0.3s ease, transform 0.3s ease;
            display: inline-block;
        }
        
        body.page-home .overlay-nav a .bracket.left { transform: translateX(15px); }
        body.page-home .overlay-nav a .bracket.right { transform: translateX(-15px); }

        body.page-home .overlay-nav a:hover { color: #FFF; }
        body.page-home .overlay-nav a:hover .bracket {
            opacity: 1;
            transform: translateX(0);
        }

        body.page-home main {
            position: relative;
            z-index: 1;
        }

        body.page-home .section { 
            min-height: 100vh; 
            position: relative; 
            display: flex; 
            align-items: center; 
            justify-content: center; 
            padding: 100px 40px; 
        }
        
        body.page-home .section-content { text-align: center; z-index: 1; }
        
        body.page-home .section-title { 
            font-size: clamp(3rem, 7vw, 6rem); 
            font-weight: 700; 
            background: linear-gradient(135deg, #ffffff, var(--accent-blue)); 
            -webkit-background-clip: text; 
            -webkit-text-fill-color: transparent; 
        }
        
        body.page-home .section-subtitle { 
            font-size: clamp(1.2rem, 3vw, 1.8rem); 
            max-width: 800px; 
            margin: auto; 
            line-height: 1.6; 
        }
        
        body.page-home #biofilm {
            height: 500vh;
            padding: 0;
            min-height: 0;
        }
        
        body.page-home .biofilm-sticky-container {
            position: sticky;
            top: 0;
            height: 100vh;
            width: 100%;
            overflow: hidden;
        }
        
        body.page-home #biofilm-canvas { 
            position: absolute; 
            top: 0; left: 0; 
            width: 100%; height: 100%; 
            z-index: 0; 
        }
        
        body.page-home .biofilm-text-container {
            position: relative;
            z-index: 10;
            height: 100%;
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            pointer-events: none;
        }
        
        body.page-home .biofilm-text-step {
            position: absolute;
            opacity: 0;
            visibility: hidden;
            max-width: 650px;
            background: rgba(10,10,20,0.8);
            padding: 32px;
            border-radius: 12px;
            backdrop-filter: blur(15px);
            text-align: center;
            border: 1px solid rgba(255,255,255,0.1);
        }
        
        body.page-home .biofilm-text-step h3 {
            font-size: 2rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 1rem;
            color: var(--accent-blue);
        }
        
        body.page-home .biofilm-text-step p {
            font-size: 1.2rem;
            line-height: 1.7;
        }
        
        body.page-home .learn-more-btn {
            position: absolute;
            bottom: 40px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 20;
            background: rgba(68, 115, 242, 0.2);
            border: 1px solid var(--accent-blue);
            color: var(--text-color);
            padding: 12px 24px;
            border-radius: 30px;
            cursor: pointer;
            font-size: 1.125rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 1px;
            transition: all 0.3s ease;
            pointer-events: all;
            font-family: "Optician Sans", sans-serif;
        }
        
        body.page-home .learn-more-btn:hover {
            background: var(--accent-blue);
            box-shadow: 0 0 20px rgba(68, 115, 242, 0.5);
        }
        
        body.page-home .modal-overlay {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: rgba(10, 10, 20, 0.9);
            backdrop-filter: blur(10px);
            z-index: 10001;
            opacity: 0;
            visibility: hidden;
            transition: all 0.4s ease;
        }
        
        body.page-home .modal-overlay.is-visible {
            opacity: 1;
            visibility: visible;
        }
        
        body.page-home .modal-content {
            position: fixed;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%) scale(0.9);
            background: #1A0A2E;
            padding: 40px;
            border-radius: 12px;
            border: 1px solid rgba(255,255,255,0.1);
            max-width: 800px;
            width: 90%;
            z-index: 10002;
            opacity: 0;
            visibility: hidden;
            transition: all 0.4s ease;
        }
        
        body.page-home .modal-overlay.is-visible .modal-content {
            transform: translate(-50%, -50%) scale(1);
            opacity: 1;
            visibility: visible;
        }
        
        body.page-home .modal-content h2 { margin-bottom: 20px; }
        body.page-home .modal-content p { margin-bottom: 20px; line-height: 1.6; }
        
        body.page-home .modal-close-btn {
            position: absolute;
            top: 15px; right: 15px;
            background: none;
            border: none;
            color: var(--text-color);
            font-size: 24px;
            cursor: pointer;
            line-height: 1;
        }

        body.page-home #biofilm-static-image {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 5;
        }

        body.page-home.reduce-motion-active #particles-js, body.page-home.reduce-motion-active #overlay-canvas { display: none; }
        body.page-home.reduce-motion-active #biofilm-canvas { display: none; }
        body.page-home.reduce-motion-active #biofilm-static-image { display: block; }

        /* If a Three.js CDN is unavailable, retain the full GSAP page and expose
           the detailed 2D fallbacks instead of leaving blank pinned sections. */
        body.page-home.webgl-fallback #overlay-canvas, body.page-home.webgl-fallback #biofilm-canvas, body.page-home.webgl-fallback #spotlight-canvas-container { display: none; }
        body.page-home.webgl-fallback #biofilm-static-image { display: block; }
        body.page-home.webgl-fallback #spotlight-wrapper { height: auto; padding: 110px 40px; }
        body.page-home.webgl-fallback #spotlight-reduced-motion-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
        }

        body.page-home.animation-fallback #technology { padding: 100px 40px; min-height: auto; }
        body.page-home.animation-fallback #technology-wrapper, body.page-home.animation-fallback #technology-sticky-container { height: auto; position: static; }
        body.page-home.animation-fallback #technology-canvas {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 3rem;
            height: auto;
            align-items: start;
        }
        body.page-home.animation-fallback .tech-step-container { display: flex; flex-direction: column; gap: 1rem; }
        body.page-home.animation-fallback .tech-visual, body.page-home.animation-fallback .tech-info-box {
            position: relative !important;
            inset: auto !important;
            transform: none !important;
            opacity: 1 !important;
            width: 100%;
        }
        body.page-home.animation-fallback .tech-info-box { background: transparent; border: 0; backdrop-filter: none; padding: 0; max-width: 100%; }
        body.page-home.animation-fallback .info-underline { transform: scaleX(1); }
        body.page-home.animation-fallback #tech-scan-line, body.page-home.animation-fallback #light-ray-container { display: none; }


        body.page-home #technology { min-height: 0; padding: 0; }
        body.page-home #technology-wrapper { position: relative; height: 500vh; }
        body.page-home #technology-sticky-container { 
            position: sticky; 
            top: 0; 
            height: 100vh; 
            width: 100%; 
            overflow: hidden;
        }
        
        body.page-home #technology-canvas { 
            position: relative; 
            width: 100%; height: 100%; 
            display: flex; 
            justify-content: center; 
            align-items: center; 
        }
        
        body.page-home .tech-visual, body.page-home .tech-info-box { position: absolute; opacity: 0; }
        body.page-home .tech-visual { 
            top: 50%; left: 50%; 
            transform: translate(-50%, -50%); 
            width: 60%; 
            max-width: 800px; 
        }
        
        body.page-home .tech-visual img, body.page-home .tech-visual video { 
            width: 100%; height: 100%; 
            object-fit: contain; 
        }
        
        body.page-home #tech-image-neutralization { position: absolute; top: 0; left: 0; opacity: 0; }
        
        body.page-home .info-underline { 
            width: 100%; height: 1px; 
            background: var(--accent-blue); 
            margin-top: 15px; 
            transform: scaleX(0); 
            transform-origin: center; 
        }
        
        body.page-home .tech-info-box { 
            top: 85%; left: 50%; 
            transform: translate(-50%, -50%); 
            width: 90%; 
            max-width: 450px; 
            background: rgba(10,10,20,0.9); 
            padding: 24px; 
            border-radius: 12px; 
            backdrop-filter: blur(10px); 
            text-align: center; 
        }
        
        body.page-home .tech-info-box h3 {
            font-size: 1.5rem;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        
        body.page-home .tech-info-box p {
            font-size: 1.1rem;
            line-height: 1.6;
            opacity: 0.9;
        }

        body.page-home #tech-scan-line { 
            position: absolute; 
            left: 0; 
            width: 100%; height: 2px; 
            background: rgba(150, 255, 200, 0.7); 
            box-shadow: 0 0 15px 5px rgba(150, 255, 200, 0.5); 
            opacity: 0; 
            transform-origin: top center;
        }
        
        body.page-home #light-ray-container { 
            position: absolute; 
            top: 0; left: 0; 
            width: 100%; height: 100%; 
            pointer-events: none; 
            overflow: hidden; 
        }
        
        body.page-home .light-ray { 
            position: absolute; 
            top: 50%; left: 50%; 
            width: 2px; height: 150%; 
            background: linear-gradient(to top, transparent, rgba(255, 255, 220, 0.8), transparent); 
            transform-origin: top; 
            opacity: 0; 
        }
        
        body.page-home #soft-glow { 
            position: absolute; 
            top: 50%; left: 50%; 
            width: 800px; height: 800px; 
            background: radial-gradient(circle, rgba(255, 255, 230, 0.5) 0%, transparent 70%); 
            border-radius: 50%; 
            transform: translate(-50%, -50%) scale(0); 
            opacity: 0; 
        }
        
        body.page-home #spotlight-wrapper { height: 500vh; position: relative; padding: 0; }
        body.page-home #spotlight-canvas-container { 
            position: sticky; 
            top: 0; 
            height: 100vh; 
            width: 100%; 
            overflow: hidden; 
            z-index: 1; 
        }
        
        body.page-home .spotlight-text-panel { 
            position: absolute; 
            bottom: 0; left: 0; 
            pointer-events: none; 
            z-index: 10; 
            width: 100%; 
            height: auto; 
        }
        
        body.page-home .spotlight-animation-panel { width: 100%; height: 100%; z-index: 1; }
        
        body.page-home .spotlight-step { 
            position: absolute; 
            bottom: 10vh; 
            left: 40px; right: 40px; 
            opacity: 0; 
            transition: opacity 0.5s ease-in-out; 
            pointer-events: none; 
        }
        
        body.page-home .spotlight-step.is-visible { opacity: 1; }
        body.page-home .spotlight-text-content { max-width: 450px; }
        
        body.page-home .spotlight-text { 
            font-family: "Optician Sans", sans-serif;
            font-size: 1.775rem; 
            line-height: 1.7; 
            color: var(--text-color); 
            transition: color 0.3s ease; 
        }
        
        body.page-home .spotlight-text-line { 
            width: 100%; height: 2px; 
            margin-top: 20px; 
            background-color: var(--text-color); 
            will-change: transform; 
            transform: scaleX(0); 
            transform-origin: left;
        }
        
        body.page-home .scroll-down-container { 
            position: absolute; 
            bottom: 30px; 
            left: 50%; 
            transform: translateX(-50%); 
            z-index: 20; 
            display: flex; 
            align-items: center; 
            gap: 12px; 
            cursor: pointer; 
            text-decoration: none; 
        }
        
        body.page-home .scroll-down-container span {
            font-family: "Optician Sans", sans-serif;
            font-size: 1.125rem;
        }

        body.page-home .scroll-down { 
            position: relative; 
            width: 30px; height: 50px; 
            border: 2px solid rgba(255,255,255,0.6); 
            border-radius: 25px; 
        }
        
        body.page-home .scroll-wheel-dot {
            position: absolute;
            top: 10px;
            left: 50%;
            transform: translateX(-50%);
            width: 6px; height: 6px;
            background-color: white;
            border-radius: 50%;
        }
        
        body.page-home .fps-monitor {
            position: fixed;
            top: 100px; right: 20px;
            background: rgba(0,0,0,0.8);
            color: white;
            padding: 10px;
            border-radius: 5px;
            font-family: monospace;
            font-size: 12px;
            z-index: 1001;
            display: none;
        }

        body.page-home .debug-mode .fps-monitor { display: block; }

        @media (max-width: 1200px) {
            body.page-home .nav-links { display: none; }
        }

        @media (max-width: 768px) {
            body.page-home .navbar {
                padding: 10px 20px;
                height: 80px;
            }
            body.page-home .top-right-controls {
                top: 10px;
                right: 20px;
            }
            body.page-home .logo img { height: 60px; }
            body.page-home .tech-visual { width: 100%; height: 50%; }
            
            body.page-home .spotlight-text-panel { 
                width: 100%; height: auto; 
                position: absolute; 
                bottom: 0; left: 0; 
                background: linear-gradient(to top, rgba(10,10,20,0.9) 20%, transparent); 
            }
            body.page-home .spotlight-animation-panel { width: 100%; }
            body.page-home .tech-info-box { 
                width: calc(100% - 40px); 
                bottom: 20px !important; 
                left: 50% !important; 
                transform: translateX(-50%) !important; 
                top: auto !important; 
            }
            body.page-home .overlay-content {
                padding: 0 40px;
            }
            
            body.page-home .overlay-nav {
                text-align: left;
                padding-left: 0;
            }
            
            body.page-home .overlay-nav li {
                text-align: left;
                margin-bottom: 2rem;
            }
            
            body.page-home .overlay-nav a {
                font-size: clamp(1.8rem, 8vw, 3rem);
                display: block;
                text-align: left;
                white-space: normal;
                word-wrap: break-word;
                /* FIXED: Add relative positioning and padding for alignment fix */
                position: relative;
                padding-left: 1.5ch;
            }
            /* FIXED: Take the left bracket out of the document flow on mobile */
            body.page-home .overlay-nav a .bracket.left {
                position: absolute;
                left: 0;
                top: 0; /* Adjust as needed for vertical alignment */
            }

            body.page-home .modal-content {
                width: 95%;
                max-height: 85vh;
                padding: 30px 20px;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
            }
            
            body.page-home .modal-content h2 {
                font-size: 1.5rem;
                margin-bottom: 15px;
            }
            
            body.page-home .modal-content p {
                font-size: 0.95rem;
                line-height: 1.5;
            }
        }
        
        body.page-home.reduce-motion-active #technology { padding: 100px 40px; min-height: auto; }
        body.page-home.reduce-motion-active #technology-wrapper, body.page-home.reduce-motion-active #technology-sticky-container { 
            height: auto; 
            position: static; 
        }
        
        body.page-home.reduce-motion-active #technology-canvas { 
            display: grid; 
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); 
            gap: 3rem; 
            height: auto; 
            align-items: start; 
        }
        
        body.page-home.reduce-motion-active .tech-step-container { 
            display: flex; 
            flex-direction: column; 
            gap: 1rem; 
        }
        
        body.page-home.reduce-motion-active .tech-visual, body.page-home.reduce-motion-active .tech-info-box { 
            position: relative !important; 
            top: auto !important; 
            left: auto !important; 
            transform: none !important; 
            opacity: 1 !important; 
            width: 100%; 
        }
        
        body.page-home.reduce-motion-active .tech-info-box { 
            background: transparent; 
            border: none; 
            backdrop-filter: none; 
            padding: 0; 
            max-width: 100%; 
        }
        
        body.page-home.reduce-motion-active .info-underline { transform: scaleX(1); }
        body.page-home.reduce-motion-active #tech-scan-line, body.page-home.reduce-motion-active #light-ray-container { display: none; }
        
        body.page-home #spotlight-reduced-motion-container { display: none; }
        body.page-home.reduce-motion-active #spotlight-wrapper { height: auto; padding: 100px 40px; }
        body.page-home.reduce-motion-active #spotlight-canvas-container { display: none; }
        body.page-home.reduce-motion-active #spotlight-reduced-motion-container { 
            display: grid; 
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
            gap: 2rem; 
        }
        
        body.page-home .spotlight-rm-item { text-align: center; }
        body.page-home .spotlight-rm-item canvas { 
            width: 100% !important; 
            height: auto !important; 
            aspect-ratio: 1/1; 
            background: rgba(255,255,255,0.05);
            border-radius: 8px;
        }
        
        body.page-home .spotlight-rm-item p { margin-top: 1rem; }

        @media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
            body.page-home #biofilm-canvas, body.page-home #spotlight-canvas, body.page-home #technology-canvas { 
                image-rendering: optimizeSpeed;
                image-rendering: -moz-crisp-edges;
                image-rendering: -webkit-optimize-contrast;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            body.page-home .scroll-wheel-dot { animation: none; }
            body.page-home .dna-strand { animation: none; }
        }
    
/* ==================== RESEARCH PAGE ==================== */

        body.page-research {
            --bg: #070a18;
            --bg-deep: #03050e;
            --panel: rgba(14, 20, 43, .72);
            --panel-strong: rgba(12, 18, 40, .92);
            --text: #f3f6ff;
            --muted: #a9b5d4;
            --blue: #4f7dff;
            --cyan: #55dbff;
            --violet: #a26bff;
            --pink: #ff5da8;
            --green: #52e6bd;
            --amber: #ffc467;
            --red: #ff596f;
            --line: rgba(154, 181, 255, .18);
            --max: 1400px;
            --scrollbar-width: 10px;
        }
        ::-webkit-scrollbar {
            width: var(--scrollbar-width);
            background: transparent;
            transition: width 0.2s ease;
        }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb {
            background: linear-gradient(180deg, 
                rgba(68, 115, 242, 0.7) 0%,
                rgba(68, 115, 242, 0.8) 50%,  
                rgba(155, 89, 182, 0.8) 100%
            );
            border-radius: 10px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-shadow: 
                0 2px 8px rgba(68, 115, 242, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.15);
            opacity: 1;
            transition: background 0.3s ease, box-shadow 0.3s ease;
        }

        html:has(body.page-research)[data-show-scrollbar="true"] ::-webkit-scrollbar-thumb { opacity: 1; }
        html:has(body.page-research)[data-show-scrollbar="true"] ::-webkit-scrollbar-track {
            background: #0A0A14;
            opacity: 0;
            border: 0; 
            border-radius: 0; 
            background-image: none;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: linear-gradient(180deg, 
                rgba(68, 115, 242, 0.9) 0%,
                rgba(68, 115, 242, 1) 50%,  
                rgba(155, 89, 182, 1) 100%
            ) !important;
            box-shadow: 
                0 4px 12px rgba(68, 115, 242, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.25);
            transform: scaleX(1.05);
        }
        body.page-research * { box-sizing: border-box; margin: 0; padding: 0; }
        html:has(body.page-research) { scroll-behavior: smooth; width: 100%; max-width: 100%; overflow-x: clip; }
        body.page-research {
            font-family: "Inter", sans-serif;
            color: var(--text);
            width: 100%; max-width: 100%; overflow-x: clip;
        }
        body.page-research.menu-open { overflow: hidden; }
        body.page-research a { color: inherit; }
        body.page-research button, body.page-research summary { font: inherit; }
        body.page-research img, body.page-research svg { max-width: 100%; }
        body.page-research main, body.page-research section, body.page-research article, body.page-research nav, body.page-research footer, body.page-research .wrap, body.page-research .hero-grid > *, body.page-research .in-vivo-grid > *, body.page-research .biofilm-layout > *, body.page-research .mechanism-layout > *, body.page-research .human-card > *, body.page-research .paper-summary > *, body.page-research .programme-card.wide > * { min-width: 0; }
        body.page-research p, body.page-research h1, body.page-research h2, body.page-research h3, body.page-research a, body.page-research summary, body.page-research span { overflow-wrap: break-word; }
        body.page-research ::selection { background: rgba(85,219,255,.3); color: white; }
        body.page-research .skip-link { position: fixed; z-index: 12000; top: -100px; left: 20px; padding: 12px 18px; background: white; color: #050713; border-radius: 8px; }
        body.page-research .skip-link:focus { top: 20px; }
        body.page-research :focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }

        body.page-research .ambient { position: fixed; inset: 0; z-index: -2; pointer-events: none; overflow: hidden; background:
                radial-gradient(circle at 18% 12%, rgba(79,125,255,.17), transparent 28rem),
                radial-gradient(circle at 84% 28%, rgba(162,107,255,.13), transparent 30rem),
                linear-gradient(150deg, var(--bg-deep), var(--bg) 48%, #0b0920);
            background-color: var(--bg);}
        body.page-research .ambient::before {
            content: ""; position: absolute; inset: -20%; opacity: .55;
            background-image:
                linear-gradient(rgba(112,151,255,.045) 1px, transparent 1px),
                linear-gradient(90deg, rgba(112,151,255,.045) 1px, transparent 1px);
            background-size: 64px 64px;
            transform: perspective(700px) rotateX(68deg) translateY(30%);
            transform-origin: center bottom;
            mask-image: linear-gradient(to bottom, transparent 2%, #000 55%, transparent 100%);
        }
        body.page-research .orb { position: absolute; width: 420px; aspect-ratio: 1; border-radius: 50%; filter: blur(110px); opacity: .13; animation: drift 15s ease-in-out infinite alternate; }
        body.page-research .orb.one { background: var(--blue); left: -10%; top: 10%; }
        body.page-research .orb.two { background: var(--pink); right: -12%; top: 48%; animation-delay: -7s; }
        @keyframes drift { to { transform: translate3d(80px, -45px, 0) scale(1.12); } }

        body.page-research #particles-js { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -2; }
        body.page-research .navbar {
            position: fixed; z-index: 1000; inset: 0 0 auto; height: 92px; padding: 8px 38px;
            display: flex; align-items: center; justify-content: space-between;
            background: linear-gradient(to bottom, rgba(4,7,17,.86), rgba(4,7,17,.42));
            backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,.08);
        }
        body.page-research .logo img { display: block; height: 72px; width: auto; }
        body.page-research .anchor-nav { display: flex; list-style: none; gap: 6px; align-items: center; }
        body.page-research .anchor-nav a { display: block; padding: 10px 13px; color: #b8c3df; text-decoration: none; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; border-radius: 999px; transition: .25s ease; }
        body.page-research .anchor-nav a:hover, body.page-research .anchor-nav a.active { color: white; background: rgba(79,125,255,.15); }
        body.page-research #hamburger-btn { width: 52px; height: 52px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
        body.page-research .hamburger-bar, body.page-research .hamburger-bar::before, body.page-research .hamburger-bar::after { width: 34px; height: 3px; background: white; border-radius: 999px; transition: .35s ease; content: ""; display: block; position: relative; }
        body.page-research .hamburger-bar::before, body.page-research .hamburger-bar::after { position: absolute; left: 0; }
        body.page-research .hamburger-bar::before { top: -10px; }
        body.page-research .hamburger-bar::after { top: 10px; }
        body.page-research #hamburger-btn.active .hamburger-bar { background: transparent; }
        body.page-research #hamburger-btn.active .hamburger-bar::before { top: 0; transform: rotate(45deg); }
        body.page-research #hamburger-btn.active .hamburger-bar::after { top: 0; transform: rotate(-45deg); }
        body.page-research .overlay { position: fixed; inset: 0; z-index: 900; display: grid; place-items: center; background: rgba(3,5,14,.96); backdrop-filter: blur(24px); opacity: 0; visibility: hidden; transition: .35s ease; }
        body.page-research .overlay.active { opacity: 1; visibility: visible; }
        body.page-research .overlay ul { list-style: none; width: min(900px, 84vw); }
        body.page-research .overlay li { transform: translateY(20px); opacity: 0; transition: .35s ease; }
        body.page-research .overlay.active li { transform: none; opacity: 1; }
        body.page-research .overlay.active li:nth-child(2) { transition-delay: .06s; }
        body.page-research .overlay.active li:nth-child(3) { transition-delay: .12s; }
        body.page-research .overlay.active li:nth-child(4) { transition-delay: .18s; }
        body.page-research .overlay.active li:nth-child(5) { transition-delay: .24s; }
        body.page-research .overlay a { font-family: "Orbitron", sans-serif; font-size: clamp(2rem, 5vw, 4.4rem); line-height: 1.4; text-decoration: none; color: #d7def3; }
        body.page-research .overlay a:hover { color: var(--cyan); }
        body.page-research #overlay-canvas {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none;}

        body.page-research main { position: relative; z-index: 1; }
        body.page-research .wrap { width: calc(100% - clamp(32px, 5vw, 72px)); max-width: var(--max); margin-inline: auto; }
        body.page-research .section { position: relative; padding: 120px 0; scroll-margin-top: 92px; }
        body.page-research .eyebrow { color: var(--cyan); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 18px; }
        body.page-research .section-heading { max-width: 940px; font-size: clamp(2.2rem, 5vw, 4.8rem); line-height: 1.05; letter-spacing: -.045em; }
        body.page-research .section-lead { max-width: 900px; text-align: justify; color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.28rem); line-height: 1.78; margin-top: 24px; }
        body.page-research .gradient-text { background: linear-gradient(120deg, #fff 15%, #8fe8ff 48%, #9a80ff 78%, #ff88bd); -webkit-background-clip: text; color: transparent; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding-right: 0.05em;}
        body.page-research .reveal { opacity: 0; transform: translateY(26px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1); }
        body.page-research .reveal.visible { opacity: 1; transform: none; }
        body.page-research .glass { background: linear-gradient(145deg, rgba(20,28,60,.8), rgba(8,13,32,.68)); border: 1px solid var(--line); box-shadow: 0 25px 80px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.04); backdrop-filter: blur(18px); }

        body.page-research .hero { min-height: 80vh; display: grid; align-items: center; padding: 135px 0 70px; overflow: hidden; }
        body.page-research .hero-grid { display: grid; grid-template-columns: .96fr 1.04fr; align-items: center; gap: 52px; }
        body.page-research .hero h1 { font-size: clamp(3.4rem, 6.7vw, 6.45rem); line-height: .94; letter-spacing: -.065em; max-width: 780px; }
        body.page-research .hero .lead { margin-top: 26px; max-width: 670px; color: #c1cbe3; font-size: clamp(1.08rem, 1.8vw, 1.35rem); line-height: 1.7; }
        body.page-research .result-statement { margin-top: 30px; border-left: 3px solid var(--cyan); padding: 6px 0 6px 20px; color: #e9efff; line-height: 1.55; font-weight: 600; }
        body.page-research .result-statement strong { color: var(--cyan); }
        body.page-research .hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
        body.page-research .hero-badge { padding: 9px 13px; border-radius: 999px; border: 1px solid rgba(101,166,255,.26); background: rgba(57,94,190,.12); color: #bcd3ff; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
        body.page-research .hero-visual { position: relative; min-height: 620px; border-radius: 30px; overflow: hidden; }
        body.page-research .hero-visual::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 40% 30%, rgba(72,155,255,.14), transparent 38%), radial-gradient(circle at 70% 70%, rgba(255,61,125,.12), transparent 36%); }
        body.page-research .hero-visual svg { position: relative; z-index: 1; display: block; width: 100%; height: 100%; min-height: 620px; overflow: hidden; }
        body.page-research .model-chip { position: absolute; z-index: 3; top: 22px; left: 22px; padding: 10px 14px; border-radius: 999px; background: rgba(6,10,25,.78); border: 1px solid rgba(118,171,255,.25); color: #c7d6f6; font-size: .71rem; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
        body.page-research .visual-footnote { position: absolute; z-index: 3; right: 22px; bottom: 20px; color: #9da9c8; font-size: .72rem; }
        body.page-research .infected-glow { animation: infectedPulse 2.4s ease-in-out infinite; transform-origin: center; }
        body.page-research .wave-ring { animation: wave 2.2s linear infinite; transform-origin: center; opacity: 0; }
        body.page-research .wave-ring:nth-of-type(2) { animation-delay: .55s; }
        body.page-research .wave-ring:nth-of-type(3) { animation-delay: 1.1s; }
        body.page-research .cleared-spark { animation: spark 2.4s ease-in-out infinite; }
        @keyframes infectedPulse { 50% { opacity: .65; transform: scale(1.045); } }
        @keyframes wave { 0% { opacity: 0; transform: scale(.55); } 18% { opacity: .8; } 100% { opacity: 0; transform: scale(1.55); } }
        @keyframes spark { 50% { opacity: .35; transform: translateY(-5px); } }

        body.page-research .impact-strip { padding: 0 0 84px; }
        body.page-research .impact-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-radius: 22px; overflow: hidden; }
        body.page-research .impact { padding: 28px; min-height: 165px; border-right: 1px solid var(--line); }
        body.page-research .impact:last-child { border: 0; }
        body.page-research .impact .value { font-family: "Orbitron", sans-serif; font-size: clamp(2rem, 4vw, 3.5rem); color: white; }
        body.page-research .impact .value em { font-style: normal; color: var(--cyan); }
        body.page-research .impact p { margin-top: 12px; color: var(--muted); line-height: 1.55; font-size: .9rem; }

        body.page-research .adapted-diagram {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
            filter: invert(1) hue-rotate(180deg) contrast (1.2);
            mix-blend-mode: screen;
            border-radius: 12px;
        }
        body.page-research .preclinical-hero { padding-top: 105px; }
        body.page-research .in-vivo-grid { margin-top: 54px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; }
        body.page-research .outcome-panel { border-radius: 26px; padding: 34px; min-height: 515px; position: relative; overflow: hidden; }
        body.page-research .outcome-panel::after { content: ""; position: absolute; inset: auto -10% -35% 25%; height: 380px; background: radial-gradient(circle, rgba(67,218,255,.18), transparent 62%); }
        body.page-research .outcome-panel h3 { font-size: clamp(1.7rem, 3vw, 2.7rem); max-width: 700px; }
        body.page-research .outcome-panel .copy { margin-top: 18px; max-width: 730px; color: var(--muted); line-height: 1.75; }
        body.page-research .burden-chart { position: relative; z-index: 2; margin-top: 34px; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; align-items: end; min-height: 225px; }
        body.page-research .bar-group { display: flex; flex-direction: column; justify-content: end; min-height: 220px; }
        body.page-research .bar-track { height: 175px; display: flex; align-items: end; justify-content: center; padding: 0 12px; border-bottom: 1px solid rgba(255,255,255,.14); }
        body.page-research .bar { width: min(88px, 80%); border-radius: 12px 12px 3px 3px; position: relative; transform-origin: bottom; animation: barRise 1.2s cubic-bezier(.2,.8,.2,1) both; }
        body.page-research .bar.control { height: 88%; background: linear-gradient(to top, #74243b, var(--red)); box-shadow: 0 0 35px rgba(255,74,100,.3); }
        body.page-research .bar.drug { height: 88%; background: linear-gradient(to top, #714b26, var(--amber)); }
        body.page-research .bar.aura { height: 3%; min-height: 5px; background: linear-gradient(to top, #1e8f79, var(--green)); box-shadow: 0 0 30px rgba(82,230,189,.5); }
        body.page-research .bar-label { text-align: center; margin-top: 12px; color: #cbd4ec; font-size: .8rem; font-weight: 700; }
        body.page-research .bar-value { text-align: center; margin-bottom: 9px; font-family: "Orbitron", sans-serif; color: white; font-size: .9rem; }
        @keyframes barRise { from { transform: scaleY(0); } }
        body.page-research .evidence-stack { display: grid; gap: 18px; }
        body.page-research .signal-card { border-radius: 22px; padding: 28px; position: relative; overflow: hidden; }
        body.page-research .signal-card::before { content: ""; position: absolute; width: 150px; height: 150px; border-radius: 50%; filter: blur(55px); right: -50px; top: -50px; background: var(--blue); opacity: .16; }
        body.page-research .signal-card .metric { font-family: "Orbitron", sans-serif; font-size: 2.4rem; }
        body.page-research .signal-card h3 { font-size: 1.05rem; margin: 12px 0 8px; }
        body.page-research .signal-card p { color: var(--muted); font-size: .9rem; line-height: 1.65; }
        body.page-research .signal-card details { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 14px; }
        body.page-research .signal-card summary { cursor: pointer; color: #c9d7fa; font-size: .85rem; font-weight: 700; }
        body.page-research .signal-card details p { margin-top: 10px; }

        body.page-research .biofilm-layout { margin-top: 60px; display: grid; grid-template-columns: 1.12fr .88fr; gap: 32px; align-items: center; }
        body.page-research .biofilm-visual { border-radius: 28px; overflow: hidden; padding: 18px; min-height: 590px; }
        body.page-research .biofilm-visual svg { display: block; width: 100%; height: auto; min-height: 550px; overflow: hidden; }
        body.page-research .fibre { stroke-dasharray: 18 10; animation: fibreFlow 9s linear infinite; }
        @keyframes fibreFlow { to { stroke-dashoffset: -280; } }
        body.page-research .bacterium { animation: floatCell 5s ease-in-out infinite alternate; transform-origin: center; }
        body.page-research .bacterium:nth-child(2n) { animation-delay: -2s; }
        @keyframes floatCell { to { transform: translateY(-7px) rotate(2deg); } }
        body.page-research .reason-list { display: grid; gap: 13px; }
        body.page-research .reason { border-radius: 16px; padding: 0 20px; background: rgba(14,21,46,.58); border: 1px solid var(--line); }
        body.page-research .reason summary { list-style: none; cursor: pointer; min-height: 74px; display: grid; grid-template-columns: 44px 1fr 25px; gap: 13px; align-items: center; font-weight: 700; }
        body.page-research .reason summary::-webkit-details-marker { display: none; }
        body.page-research .reason summary::after { content: "+"; color: var(--cyan); font-size: 1.4rem; }
        body.page-research .reason[open] summary::after { content: "−"; }
        body.page-research .reason-index { font-family: "Orbitron", sans-serif; color: var(--cyan); }
        body.page-research .reason p { padding: 0 0 20px 57px; color: var(--muted); line-height: 1.65; font-size: .92rem; }

        body.page-research .mechanism-shell { margin-top: 58px; border-radius: 30px; padding: 28px; }
        body.page-research .mechanism-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: stretch; }
        body.page-research .mechanism-visual { min-height: 670px; border-radius: 22px; position: relative; overflow: hidden; background: radial-gradient(circle at 50% 35%, rgba(69,132,255,.16), transparent 42%), rgba(4,8,23,.78); border: 1px solid rgba(120,156,255,.14); }
        body.page-research .mechanism-visual svg { width: 100%; height: 100%; min-height: 670px; display: block; overflow: hidden; }
        body.page-research .step-layer { opacity: 0; transition: opacity .55s ease, filter .55s ease; pointer-events: none; }
        body.page-research .mechanism-stage[data-step="0"] .penetrate, body.page-research .mechanism-stage[data-step="1"] .activate, body.page-research .mechanism-stage[data-step="2"] .disrupt, body.page-research .mechanism-stage[data-step="3"] .deliver { opacity: 1; filter: drop-shadow(0 0 14px rgba(85,219,255,.45)); }
        body.page-research .mechanism-stage[data-step="1"] .bubble-core { animation: cavitate .9s ease-in-out infinite alternate; transform-origin: center; }
        body.page-research .mechanism-stage[data-step="2"] .matrix-fragment { animation: fragment 1.8s ease-in-out infinite alternate; transform-origin: center; }
        body.page-research .mechanism-stage[data-step="3"] .drug-dot { animation: releaseDot 2.1s ease-in-out infinite; }
        @keyframes cavitate { to { transform: scale(1.38); opacity: .55; } }
        @keyframes fragment { to { transform: translate(12px,-8px) rotate(6deg); opacity: .38; } }
        @keyframes releaseDot { 50% { transform: translate(22px,-10px); opacity: .55; } }
        body.page-research .mechanism-controls { display: flex; flex-direction: column; gap: 12px; }
        body.page-research .step-button { width: 100%; text-align: left; padding: 19px 18px; border-radius: 16px; border: 1px solid var(--line); color: #c3cde5; background: rgba(12,18,40,.54); cursor: pointer; transition: .25s ease; display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; }
        body.page-research .step-button:hover { border-color: rgba(85,219,255,.42); }
        body.page-research .step-button.active { background: linear-gradient(110deg, rgba(68,111,244,.28), rgba(85,219,255,.08)); color: white; border-color: rgba(85,219,255,.5); box-shadow: 0 12px 35px rgba(37,81,198,.18); }
        body.page-research .step-number { font-family: "Orbitron", sans-serif; color: var(--cyan); }
        body.page-research .step-button strong { display: block; margin-bottom: 6px; font-size: 1.05rem; }
        body.page-research .step-button span:last-child { font-size: .88rem; line-height: 1.5; }
        body.page-research .mechanism-copy { margin-top: 20px; border-radius: 17px; padding: 21px; background: rgba(5,9,24,.72); border: 1px solid var(--line); }
        body.page-research .mechanism-copy p { color: var(--muted); line-height: 1.7; }
        body.page-research .mechanism-copy details { margin-top: 15px; }
        body.page-research .mechanism-copy summary { cursor: pointer; color: #d8e2fa; font-weight: 700; }
        body.page-research .mechanism-copy details p { margin-top: 12px; font-size: .88rem; }

        body.page-research .human-section { padding-top: 50px; }
        body.page-research .human-card { border-radius: 30px; overflow: hidden; display: grid; grid-template-columns: 1.35fr .65fr; }
        body.page-research .human-media { min-height: 470px; background: #06091a; display: grid; place-items: center; overflow: hidden; }
        body.page-research .human-media img { width: 100%; height: 100%; object-fit: contain; display: block; }
        body.page-research .motion-still { display: none !important; }
        body.page-research .human-copy { padding: 40px; display: flex; flex-direction: column; justify-content: center; }
        body.page-research .human-copy h3 { font-size: clamp(1.8rem,3vw,3rem); line-height: 1.08; }
        body.page-research .human-copy p { margin-top: 20px; color: var(--muted); line-height: 1.75; }
        body.page-research .human-copy .sequence { margin-top: 26px; display: grid; gap: 12px; }
        body.page-research .human-copy .sequence div { display: grid; grid-template-columns: 30px 1fr; gap: 11px; color: #dce5fb; font-size: .9rem; }
        body.page-research .human-copy .sequence b { color: var(--cyan); font-family: "Orbitron", sans-serif; }

        body.page-research .published-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
        body.page-research .published-card { border-radius: 22px; padding: 30px; min-height: 340px; display: flex; flex-direction: column; position: relative; overflow: hidden; }
        body.page-research .published-card::after { content: ""; position: absolute; width: 190px; height: 190px; right: -70px; bottom: -90px; border-radius: 50%; background: radial-gradient(circle, rgba(85,219,255,.14), transparent 66%); }
        body.page-research .published-card .metric { font-family: "Orbitron", sans-serif; font-size: clamp(2.3rem,4vw,4rem); color: white; }
        body.page-research .published-card .metric span { color: var(--cyan); }
        body.page-research .published-card h3 { margin-top: 18px; font-size: 1.15rem; }
        body.page-research .published-card p { margin-top: 12px; color: var(--muted); line-height: 1.7; font-size: .92rem; }
        body.page-research .published-card .tag { margin-top: auto; padding-top: 22px; color: #91a7dc; text-transform: uppercase; letter-spacing: .1em; font-size: .7rem; font-weight: 800; }
        body.page-research .paper-summary { margin-top: 24px; border-radius: 20px; padding: 28px; display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: center; }
        body.page-research .paper-summary h3 { font-size: 1.25rem; }
        body.page-research .paper-summary p { margin-top: 10px; color: var(--muted); line-height: 1.65; }
        body.page-research .paper-summary a { text-decoration: none; padding: 13px 18px; border-radius: 999px; color: white; border: 1px solid rgba(85,219,255,.38); background: rgba(85,219,255,.08); font-weight: 700; white-space: nowrap; }

        body.page-research .programme-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
        body.page-research .programme-card { border-radius: 22px; padding: 30px; min-height: 275px; }
        body.page-research .programme-card .kicker { color: var(--cyan); font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; }
        body.page-research .programme-card h3 { margin-top: 12px; font-size: 1.35rem; }
        body.page-research .programme-card p { margin-top: 13px; color: var(--muted); line-height: 1.7; }
        body.page-research .programme-card details { margin-top: 17px; border-top: 1px solid var(--line); padding-top: 15px; }
        body.page-research .programme-card summary { cursor: pointer; font-weight: 700; color: #dce5fb; }
        body.page-research .programme-card details p { font-size: .89rem; }
        body.page-research .programme-card.wide { grid-column: span 2; display: grid; grid-template-columns: .9fr 1.1fr; gap: 30px; align-items: center; }
        body.page-research .immune-meter { display: grid; gap: 12px; }
        body.page-research .immune-row { display: grid; grid-template-columns: 125px 1fr 60px; gap: 12px; align-items: center; color: #c9d3ea; font-size: .82rem; }
        body.page-research .meter { height: 9px; border-radius: 99px; background: rgba(255,255,255,.08); overflow: hidden; }
        body.page-research .meter i { display: block; height: 100%; border-radius: inherit; }
        body.page-research .meter .red { width: 26%; background: linear-gradient(90deg,var(--red),var(--amber)); }
        body.page-research .meter .green { width: 82%; background: linear-gradient(90deg,#238f80,var(--green)); }

        body.page-research .glossary-grid { margin-top: 45px; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
        body.page-research .glossary-card { border-radius: 16px; padding: 21px; background: rgba(12,18,40,.5); border: 1px solid var(--line); }
        body.page-research .glossary-card h3 { color: var(--cyan); font-size: .95rem; }
        body.page-research .glossary-card p { margin-top: 8px; color: var(--muted); line-height: 1.55; font-size: .82rem; }
        body.page-research .science-note { margin-top: 35px; padding: 20px 0 0; border-top: 1px solid var(--line); color: #8997b9; font-size: .78rem; line-height: 1.65; }

        body.page-research footer { position: relative; z-index: 1; border-top: 1px solid var(--line); padding: 38px 0 48px; color: #8997b9; font-size: .78rem; line-height: 1.6; }
        body.page-research footer .footer-grid { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; }
        body.page-research footer a { color: #bcd0ff; }

        @media (max-width: 1050px) {
            body.page-research .anchor-nav { display: none; }
            body.page-research .hero-grid, body.page-research .in-vivo-grid, body.page-research .biofilm-layout, body.page-research .mechanism-layout, body.page-research .human-card { grid-template-columns: 1fr; }
            body.page-research .hero { min-height: auto; }
            body.page-research .hero-visual { min-height: 570px; }
            body.page-research .impact-grid { grid-template-columns: repeat(2,1fr); }
            body.page-research .impact:nth-child(2) { border-right: 0; }
            body.page-research .impact:nth-child(-n/**/+2) { border-bottom: 1px solid var(--line); }
            body.page-research .human-copy { padding: 34px; }
            body.page-research .programme-card.wide { grid-template-columns: 1fr; }
            body.page-research .glossary-grid { grid-template-columns: repeat(2,1fr); }
        }
        @media (max-width: 720px) {
            body.page-research .navbar { height: 78px; padding: 8px 18px; }
            body.page-research .logo img { height: 58px; }
            body.page-research .wrap { width: calc(100% - 24px); max-width: var(--max); }
            body.page-research .section { padding: 88px 0; }
            body.page-research .hero { padding-top: 110px; }
            body.page-research .hero-grid { gap: 28px; }
            body.page-research .hero h1 { font-size: clamp(3rem, 15vw, 5.2rem); }
            body.page-research .hero-visual, body.page-research .hero-visual svg { min-height: 470px; }
            body.page-research .impact-grid, body.page-research .published-grid, body.page-research .programme-grid, body.page-research .glossary-grid { grid-template-columns: 1fr; }
            body.page-research .impact { border-right: 0; border-bottom: 1px solid var(--line); }
            body.page-research .impact:last-child { border-bottom: 0; }
            body.page-research .burden-chart { grid-template-columns: repeat(3,1fr); gap: 5px; }
            body.page-research .outcome-panel { padding: 24px 18px; }
            body.page-research .biofilm-visual, body.page-research .biofilm-visual svg { min-height: 440px; }
            body.page-research .mechanism-shell { padding: 13px; }
            body.page-research .mechanism-visual, body.page-research .mechanism-visual svg { min-height: 490px; }
            body.page-research .step-button { padding: 16px 14px; }
            body.page-research .human-media { min-height: 310px; }
            body.page-research .published-card { min-height: 290px; }
            body.page-research .paper-summary { grid-template-columns: 1fr; }
            body.page-research .paper-summary a { justify-self: start; }
            body.page-research .programme-card.wide { grid-column: span 1; }
            body.page-research footer .footer-grid { flex-direction: column; }
        }
        @media (prefers-reduced-motion: reduce) {
            body.page-research *, body.page-research *::before, body.page-research *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
            body.page-research .motion-gif { display: none !important; }
            body.page-research .motion-still { display: block !important; }
            body.page-research .reveal { opacity: 1; transform: none; }
        }
    
/* ==================== TEAM PAGE ==================== */
body.page-team {
    --bg: #070a18;
    --bg-deep: #03050e;
    --panel: rgba(14,20,43,.72);
    --text: #f3f6ff;
    --muted: #a9b5d4;
    --blue: #4f7dff;
    --cyan: #55dbff;
    --violet: #a26bff;
    --pink: #ff5da8;
    --green: #52e6bd;
    --amber: #ffc467;
    --line: rgba(154,181,255,.18);
    --max: 1400px;
    margin: 0;
    color: var(--text);
    background: var(--bg);
    font-family: "Inter", sans-serif;
    overflow-x: clip;
}
body.page-team *, body.page-team *::before, body.page-team *::after { box-sizing: border-box; }
html:has(body.page-team) { scroll-behavior: smooth; overflow-x: clip; }
body.page-team.menu-open, body.page-team.overlay-open { overflow: hidden; }
body.page-team a { color: inherit; }
body.page-team button { font: inherit; }
body.page-team ::selection { color: white; background: rgba(85,219,255,.3); }
body.page-team .skip-link { position: fixed; z-index: 12000; top: -100px; left: 20px; padding: 12px 18px; color: #050713; background: white; border-radius: 8px; }
body.page-team .skip-link:focus { top: 20px; }
body.page-team :focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
body.page-team .wrap { width: calc(100% - clamp(32px,5vw,72px)); max-width: var(--max); margin-inline: auto; }
body.page-team .section { position: relative; padding: 120px 0; scroll-margin-top: 92px; }
body.page-team .eyebrow { margin-bottom: 18px; color: var(--cyan); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
body.page-team .gradient-text { padding-right: .04em; color: transparent; background: linear-gradient(120deg,#fff 10%,#8fe8ff 43%,#9a80ff 74%,#ff88bd); -webkit-background-clip: text; background-clip: text; }
body.page-team .glass { border: 1px solid var(--line); background: linear-gradient(145deg,rgba(20,28,60,.82),rgba(8,13,32,.7)); box-shadow: 0 25px 80px rgba(0,0,0,.29), inset 0 1px rgba(255,255,255,.04); backdrop-filter: blur(18px); }
body.page-team .reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
body.page-team .reveal.visible { opacity: 1; transform: none; }

body.page-team .team-ambient { position: fixed; inset: 0; z-index: -3; overflow: hidden; pointer-events: none; background: radial-gradient(circle at 14% 10%,rgba(79,125,255,.2),transparent 28rem), radial-gradient(circle at 86% 30%,rgba(162,107,255,.15),transparent 31rem), linear-gradient(150deg,var(--bg-deep),var(--bg) 48%,#0b0920); }
body.page-team .team-ambient::before { content: ''; position: absolute; inset: -20%; opacity: .52; background-image: linear-gradient(rgba(112,151,255,.045) 1px,transparent 1px), linear-gradient(90deg,rgba(112,151,255,.045) 1px,transparent 1px); background-size: 64px 64px; transform: perspective(700px) rotateX(68deg) translateY(30%); transform-origin: center bottom; mask-image: linear-gradient(to bottom,transparent 2%,#000 55%,transparent 100%); }
body.page-team .team-ambient span { position: absolute; width: 420px; aspect-ratio: 1; border-radius: 50%; filter: blur(110px); opacity: .12; animation: teamAmbientDrift 16s ease-in-out infinite alternate; }
body.page-team .team-ambient span:nth-child(1) { left: -12%; top: 18%; background: var(--blue); }
body.page-team .team-ambient span:nth-child(2) { right: -12%; top: 45%; background: var(--pink); animation-delay: -7s; }
body.page-team .team-ambient span:nth-child(3) { left: 34%; bottom: -24%; background: var(--green); animation-delay: -11s; }
@keyframes teamAmbientDrift { to { transform: translate3d(80px,-45px,0) scale(1.12); } }
body.page-team #particles-js { position: fixed; inset: 0; z-index: -2; pointer-events: none; }

body.page-team .navbar { position: fixed; z-index: 1000; inset: 0 0 auto; height: 92px; padding: 8px 38px; display: flex; align-items: center; justify-content: space-between; background: linear-gradient(to bottom,rgba(4,7,17,.88),rgba(4,7,17,.42)); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(16px); }
body.page-team .logo img { display: block; width: auto; height: 72px; }
body.page-team .anchor-nav { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
body.page-team .anchor-nav a { display: block; padding: 10px 13px; border-radius: 999px; color: #b8c3df; font-size: .75rem; font-weight: 700; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; transition: .25s ease; }
body.page-team .anchor-nav a:hover { color: white; background: rgba(79,125,255,.15); }
body.page-team #hamburger-btn { position: relative; z-index: 10002; width: 52px; height: 52px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
body.page-team .hamburger-bar, body.page-team .hamburger-bar::before, body.page-team .hamburger-bar::after { position: relative; display: block; width: 34px; height: 3px; border-radius: 999px; background: white; content: ''; transition: transform .48s cubic-bezier(.2,.8,.2,1), top .48s cubic-bezier(.2,.8,.2,1), background .25s ease; }
body.page-team .hamburger-bar::before, body.page-team .hamburger-bar::after { position: absolute; left: 0; }
body.page-team .hamburger-bar::before { top: -10px; }
body.page-team .hamburger-bar::after { top: 10px; }
body.page-team #hamburger-btn.is-active .hamburger-bar { background: transparent; }
body.page-team #hamburger-btn.is-active .hamburger-bar::before { top: 0; transform: rotate(45deg); }
body.page-team #hamburger-btn.is-active .hamburger-bar::after { top: 0; transform: rotate(-45deg); }
body.page-team .overlay { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; opacity: 0; visibility: hidden; background: rgba(3,5,14,.97); backdrop-filter: blur(24px); transition: opacity .4s ease, visibility .4s ease; }
body.page-team .overlay.is-active { opacity: 1; visibility: visible; }
body.page-team .overlay-logo { position: absolute; z-index: 4; top: 10px; left: 38px; }
body.page-team #overlay-canvas { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; }
body.page-team .overlay-content { position: relative; z-index: 2; width: 100%; max-width: 1200px; padding: 0 80px; }
body.page-team .overlay-nav { width: auto; margin: 0; padding: 0; list-style: none; }
body.page-team .overlay-nav li { opacity: 0; transform: translateY(22px); transition: opacity .42s ease, transform .42s cubic-bezier(.2,.8,.2,1); }
body.page-team .overlay.is-active .overlay-nav li { opacity: 1; transform: none; }
body.page-team .overlay.is-active .overlay-nav li:nth-child(1) { transition-delay: .16s; }
body.page-team .overlay.is-active .overlay-nav li:nth-child(2) { transition-delay: .24s; }
body.page-team .overlay.is-active .overlay-nav li:nth-child(3) { transition-delay: .32s; }
body.page-team .overlay.is-active .overlay-nav li:nth-child(4) { transition-delay: .40s; }
body.page-team .overlay.is-active .overlay-nav li:nth-child(5) { transition-delay: .48s; }
body.page-team .overlay-nav a { position: relative; display: inline-block; color: rgba(255,255,255,.8); font-family: "Orbitron",sans-serif; font-size: clamp(2.5rem,5vw,4rem); font-weight: 500; line-height: 1.32; text-decoration: none; transition: color .3s ease; }
body.page-team .overlay-nav a[aria-current="page"] { color: white; }
body.page-team .overlay-nav a .bracket { display: inline-block; color: var(--cyan); opacity: 0; transition: opacity .3s ease, transform .3s ease; }
body.page-team .overlay-nav a .bracket.left { transform: translateX(15px); }
body.page-team .overlay-nav a .bracket.right { transform: translateX(-15px); }
body.page-team .overlay-nav a:hover { color: white; }
body.page-team .overlay-nav a:hover .bracket, body.page-team .overlay-nav a[aria-current="page"] .bracket { opacity: 1; transform: none; }
body.page-team.menu-open .anchor-nav { opacity: 0; pointer-events: none; }

body.page-team main { position: relative; z-index: 1; }
body.page-team .team-hero { position: relative; min-height: 100vh; display: grid; align-items: center; overflow: hidden; padding: 138px 0 78px; }
body.page-team #team-canvas { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: .62; pointer-events: none; mask-image: linear-gradient(to bottom,#000 0 76%,transparent 100%); }
body.page-team .team-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 54px; }
body.page-team .team-hero-copy h1 { max-width: 820px; margin: 0; font-size: clamp(3.7rem,7.2vw,7rem); line-height: .92; letter-spacing: -.07em; }
body.page-team .team-hero-copy > p { max-width: 690px; margin: 28px 0 0; color: #c1cbe3; font-size: clamp(1.08rem,1.8vw,1.35rem); line-height: 1.72; }
body.page-team .team-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
body.page-team .team-hero-actions a { padding: 14px 18px; border-radius: 999px; background: linear-gradient(120deg,var(--blue),var(--violet)); box-shadow: 0 12px 35px rgba(79,125,255,.25); font-size: .9rem; font-weight: 800; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
body.page-team .team-hero-actions a:hover { transform: translateY(-3px); box-shadow: 0 18px 45px rgba(79,125,255,.35); }
body.page-team .team-hero-actions a.secondary { border: 1px solid var(--line); background: rgba(255,255,255,.045); box-shadow: none; }
body.page-team .team-orbit-card { position: relative; min-height: 620px; display: flex; flex-direction: column; overflow: hidden; padding: 27px; border-radius: 32px; transform-style: preserve-3d; transition: transform .3s ease, border-color .3s ease; }
body.page-team .team-orbit-card::before { content: ''; position: absolute; inset: -30%; background: radial-gradient(circle at 50% 48%,rgba(85,219,255,.19),transparent 24%), radial-gradient(circle at 76% 18%,rgba(162,107,255,.14),transparent 24%), linear-gradient(rgba(110,151,255,.035) 1px,transparent 1px), linear-gradient(90deg,rgba(110,151,255,.035) 1px,transparent 1px); background-size: auto,auto,34px 34px,34px 34px; mask-image: radial-gradient(circle at center,#000,transparent 74%); animation: teamGridDrift 18s linear infinite; }
@keyframes teamGridDrift { to { transform: translate3d(34px,34px,0); } }
body.page-team .team-orbit-card::after, body.page-team .member-card::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(127,190,255,.14),transparent 38%); transition: opacity .3s ease; }
body.page-team .team-orbit-card:hover::after, body.page-team .member-card:hover::after { opacity: 1; }
body.page-team .team-orbit-head { position: relative; z-index: 3; display: flex; justify-content: space-between; gap: 20px; color: #dfe8ff; font-size: .82rem; }
body.page-team .team-orbit-head span { color: #8ca0ce; font-size: .67rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
body.page-team .team-orbit { position: relative; z-index: 2; flex: 1; min-height: 445px; }
body.page-team .team-core { position: absolute; top: 50%; left: 50%; width: 132px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50% 50% 52% 48% / 58% 46% 54% 42%; background: radial-gradient(circle at 34% 27%,#f0fdff 0 6%,#7ae5ff 15%,#4f7dff 47%,#33236e 79%); box-shadow: 0 0 68px rgba(85,219,255,.48), inset -12px -16px 25px rgba(15,18,65,.35); transform: translate(-50%,-50%); animation: teamCorePulse 3s ease-in-out infinite; }
body.page-team .team-core span { font-family: "Orbitron",sans-serif; font-size: 1.05rem; font-weight: 700; letter-spacing: .08em; }
body.page-team .team-core i { position: absolute; inset: -18px; border: 1px solid rgba(85,219,255,.36); border-radius: 50%; animation: teamCoreRing 3s ease-out infinite; }
@keyframes teamCorePulse { 50% { transform: translate(-50%,-50%) scale(1.06) rotate(2deg); filter: brightness(1.12); } }
@keyframes teamCoreRing { from { opacity: .75; transform: scale(.78); } to { opacity: 0; transform: scale(1.4); } }
body.page-team .orbit-ring { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(103,158,255,.2); border-radius: 50%; transform: translate(-50%,-50%) rotate(-12deg); }
body.page-team .ring-a { width: 72%; aspect-ratio: 1.65; animation: teamOrbitSpin 20s linear infinite; }
body.page-team .ring-b { width: 54%; aspect-ratio: 1.35; border-color: rgba(162,107,255,.22); animation: teamOrbitSpinReverse 16s linear infinite; }
@keyframes teamOrbitSpin { to { transform: translate(-50%,-50%) rotate(348deg); } }
@keyframes teamOrbitSpinReverse { to { transform: translate(-50%,-50%) rotate(-372deg); } }
body.page-team .orbit-node { position: absolute; width: 138px; padding: 12px 10px; border: 1px solid rgba(130,168,255,.2); border-radius: 14px; background: rgba(7,11,28,.78); box-shadow: 0 12px 35px rgba(0,0,0,.2); text-align: center; animation: teamNodeFloat 4.2s ease-in-out infinite alternate; }
body.page-team .orbit-node b { display: block; color: white; font-size: .74rem; letter-spacing: .04em; }
body.page-team .orbit-node small { display: block; margin-top: 4px; color: #8fa0c7; font-size: .62rem; }
body.page-team .node-engineering { top: 11%; left: 7%; border-color: rgba(85,219,255,.34); }
body.page-team .node-science { top: 13%; right: 5%; border-color: rgba(162,107,255,.34); animation-delay: -.8s; }
body.page-team .node-clinical { bottom: 10%; left: 8%; border-color: rgba(255,93,168,.3); animation-delay: -1.6s; }
body.page-team .node-quality { right: 7%; bottom: 9%; border-color: rgba(82,230,189,.32); animation-delay: -2.4s; }
@keyframes teamNodeFloat { to { transform: translateY(-7px); } }
body.page-team .team-orbit-card > p { position: relative; z-index: 3; margin: 0; color: #aab8d8; font-size: .86rem; line-height: 1.62; }

body.page-team .team-marquee { position: relative; z-index: 2; overflow: hidden; border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(6,10,25,.56); }
body.page-team .team-marquee-track { width: max-content; display: flex; align-items: center; gap: 3.3rem; padding: 19px 0; animation: teamMarquee 30s linear infinite; }
body.page-team .team-marquee span { color: #bfcaf0; font-family: "Orbitron",sans-serif; font-size: .76rem; letter-spacing: .14em; }
body.page-team .team-marquee i { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
@keyframes teamMarquee { to { transform: translateX(-50%); } }

body.page-team .team-section-heading { display: grid; grid-template-columns: 1fr .74fr; gap: 48px; align-items: end; margin-bottom: 58px; }
body.page-team .team-section-heading h2, body.page-team .team-wide-heading { margin: 0; font-size: clamp(2.7rem,5.4vw,5.5rem); line-height: .98; letter-spacing: -.055em; }
body.page-team .team-section-heading > p { margin: 0; color: var(--muted); font-size: 1.08rem; line-height: 1.75; }
body.page-team .team-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
body.page-team .member-card { position: relative; min-height: 520px; display: grid; grid-template-columns: .42fr .58fr; overflow: hidden; border-radius: 26px; color: inherit; text-decoration: none; transform-style: preserve-3d; transition: transform .34s cubic-bezier(.2,.8,.2,1), border-color .34s ease, box-shadow .34s ease; }
body.page-team .member-card:hover { border-color: rgba(85,219,255,.34); box-shadow: 0 32px 90px rgba(0,0,0,.36), 0 0 45px rgba(79,125,255,.09); }
body.page-team .member-visual { position: relative; min-height: 100%; display: grid; place-items: center; overflow: hidden; isolation: isolate; border-right: 1px solid var(--line); background: radial-gradient(circle at 50% 46%,rgba(79,125,255,.24),transparent 40%), linear-gradient(155deg,rgba(18,30,72,.75),rgba(5,9,24,.9)); }
body.page-team .member-visual::before { content: ''; position: absolute; inset: -20%; z-index: -1; opacity: .55; background-image: linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size: 28px 28px; transform: rotate(8deg); mask-image: radial-gradient(circle,#000,transparent 72%); }
body.page-team .member-monogram { position: relative; z-index: 4; color: white; font-family: "Orbitron",sans-serif; font-size: clamp(2rem,4vw,4.2rem); font-weight: 700; letter-spacing: -.04em; text-shadow: 0 0 28px rgba(85,219,255,.46); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
body.page-team .member-card:hover .member-monogram { transform: scale(1.08) translateY(-4px); }
body.page-team .member-copy { position: relative; z-index: 2; display: flex; flex-direction: column; padding: 30px; }
body.page-team .member-index { color: var(--cyan); font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
body.page-team .member-copy h3 { margin: 18px 0 0; font-size: clamp(1.65rem,2.7vw,2.5rem); line-height: 1.04; letter-spacing: -.035em; }
body.page-team .member-role { margin: 8px 0 0 !important; color: #89dcff !important; font-size: .86rem !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.page-team .member-copy > p { margin: 20px 0 0; color: var(--muted); font-size: .93rem; line-height: 1.72; }
body.page-team .member-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
body.page-team .member-tags li { padding: 8px 10px; border: 1px solid rgba(112,158,255,.2); border-radius: 999px; color: #bac9ea; background: rgba(61,93,172,.09); font-size: .66rem; font-weight: 700; }
body.page-team .member-copy > a, body.page-team .opportunity-link { margin-top: auto; padding-top: 25px; color: white; font-size: .86rem; font-weight: 800; text-decoration: none; }
body.page-team .member-copy > a span, body.page-team .opportunity-link span { display: inline-block; transition: transform .25s ease; }
body.page-team .member-copy > a:hover span, body.page-team .opportunity-card:hover .opportunity-link span { transform: translate(3px,-3px); }
body.page-team .announcement-note { margin-top: auto; padding-top: 24px; color: #8392b6; font-size: .72rem; line-height: 1.5; }
body.page-team .incoming-card { border-style: dashed; }
body.page-team .opportunity-card { border-color: rgba(82,230,189,.26); background: linear-gradient(145deg,rgba(13,43,50,.72),rgba(8,13,32,.75)); }
body.page-team .visual-you { background: radial-gradient(circle at 50% 46%,rgba(82,230,189,.25),transparent 42%),linear-gradient(155deg,rgba(12,51,59,.78),rgba(5,9,24,.92)); }
body.page-team .visual-you .member-monogram { font-size: clamp(1.5rem,3vw,3rem); color: #bbffe9; text-shadow: 0 0 30px rgba(82,230,189,.58); }

body.page-team .member-wave { position: absolute; inset: 22%; border: 1px solid rgba(85,219,255,.42); border-radius: 50%; animation: memberWave 2.7s ease-out infinite; }
body.page-team .member-wave::before, body.page-team .member-wave::after { content: ''; position: absolute; inset: -22%; border: inherit; border-radius: inherit; animation: memberWave 2.7s ease-out infinite; animation-delay: -.9s; }
body.page-team .member-wave::after { inset: -44%; animation-delay: -1.8s; }
@keyframes memberWave { from { opacity: .8; transform: scale(.65); } to { opacity: 0; transform: scale(1.2); } }
body.page-team .member-particle, body.page-team .nano-dot, body.page-team .open-spark { position: absolute; width: 10px; aspect-ratio: 1; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 16px var(--cyan); animation: memberParticleFloat 3s ease-in-out infinite alternate; }
body.page-team .member-particle.p1 { top: 24%; right: 25%; }
body.page-team .member-particle.p2 { bottom: 23%; left: 20%; animation-delay: -1.4s; }
@keyframes memberParticleFloat { to { transform: translate3d(8px,-12px,0) scale(1.35); opacity: .55; } }
body.page-team .member-shell { position: absolute; width: 54%; aspect-ratio: 1; border: 1px solid rgba(162,107,255,.42); border-radius: 47% 53% 58% 42% / 45% 48% 52% 55%; animation: memberShellSpin 13s linear infinite; }
body.page-team .shell-b { width: 72%; border-color: rgba(85,219,255,.22); animation-direction: reverse; animation-duration: 18s; }
@keyframes memberShellSpin { to { transform: rotate(360deg); } }
body.page-team .clinical-pulse { position: absolute; width: 56%; aspect-ratio: 1; border: 2px solid rgba(255,93,168,.34); border-radius: 50%; animation: clinicalPulse 2.8s ease-out infinite; }
body.page-team .clinical-pulse::before { content: ''; position: absolute; top: 50%; left: 8%; width: 84%; height: 1px; background: linear-gradient(90deg,transparent,#ff6fae 18%,#ff6fae 28%,transparent 29%,transparent 37%,#ff6fae 38%,#ff6fae 44%,transparent 45%); box-shadow: 0 0 14px rgba(255,93,168,.65); }
body.page-team .pulse-b { width: 78%; animation-delay: -1.4s; }
@keyframes clinicalPulse { from { opacity: .75; transform: scale(.65); } to { opacity: 0; transform: scale(1.2); } }
body.page-team .nano-grid { position: absolute; inset: 20%; border-radius: 20px; background-image: radial-gradient(circle,rgba(85,219,255,.45) 0 2px,transparent 3px); background-size: 24px 24px; animation: nanoGridMove 8s linear infinite; }
@keyframes nanoGridMove { to { background-position: 24px 24px; transform: rotate(4deg); } }
body.page-team .nano-dot.d1 { top: 24%; right: 24%; }
body.page-team .nano-dot.d2 { left: 24%; bottom: 29%; animation-delay: -1s; background: var(--violet); box-shadow: 0 0 16px var(--violet); }
body.page-team .nano-dot.d3 { right: 29%; bottom: 20%; animation-delay: -2s; background: var(--green); box-shadow: 0 0 16px var(--green); }
body.page-team .quality-loop { position: absolute; width: 58%; aspect-ratio: 1; border: 1px dashed rgba(82,230,189,.42); border-radius: 50%; animation: qualityLoop 10s linear infinite; }
body.page-team .loop-b { width: 78%; border-color: rgba(255,196,103,.25); animation-direction: reverse; animation-duration: 14s; }
body.page-team .quality-check { position: absolute; right: 21%; bottom: 22%; width: 34px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: #072219; background: var(--green); box-shadow: 0 0 24px rgba(82,230,189,.55); font-weight: 900; animation: qualityCheck 2.5s ease-in-out infinite; }
@keyframes qualityLoop { to { transform: rotate(360deg); } }
@keyframes qualityCheck { 50% { transform: scale(1.15); } }
body.page-team .open-orbit { position: absolute; width: 66%; aspect-ratio: 1; border: 1px dashed rgba(82,230,189,.45); border-radius: 50%; animation: openOrbit 12s linear infinite; }
body.page-team .open-orbit::before { content: ''; position: absolute; top: -5px; left: 50%; width: 11px; aspect-ratio: 1; border-radius: 50%; background: var(--green); box-shadow: 0 0 18px var(--green); transform: translateX(-50%); }
@keyframes openOrbit { to { transform: rotate(360deg); } }
body.page-team .open-spark.s1 { top: 25%; left: 23%; background: var(--amber); box-shadow: 0 0 16px var(--amber); }
body.page-team .open-spark.s2 { right: 22%; bottom: 22%; background: var(--pink); box-shadow: 0 0 16px var(--pink); animation-delay: -1.2s; }

body.page-team .team-disciplines { overflow: hidden; }
body.page-team .team-wide-heading { max-width: 980px; }
body.page-team .collaboration-track { position: relative; margin-top: 62px; display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
body.page-team .collaboration-track article { position: relative; z-index: 2; min-height: 255px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: rgba(10,16,38,.72); backdrop-filter: blur(14px); transition: transform .3s ease, border-color .3s ease; }
body.page-team .collaboration-track article:hover { transform: translateY(-7px); border-color: rgba(85,219,255,.36); }
body.page-team .collaboration-track article > span { color: var(--cyan); font-family: "Orbitron",sans-serif; font-size: .8rem; }
body.page-team .collaboration-track h3 { margin: 65px 0 0; font-size: 1.35rem; }
body.page-team .collaboration-track p { margin: 13px 0 0; color: var(--muted); font-size: .89rem; line-height: 1.65; }
body.page-team .collaboration-line { position: absolute; z-index: 1; top: 58px; left: 7%; right: 7%; height: 2px; background: rgba(255,255,255,.06); }
body.page-team .collaboration-line i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--cyan),var(--blue),var(--violet),var(--pink)); box-shadow: 0 0 18px rgba(85,219,255,.38); transform: scaleX(0); transform-origin: left; transition: transform .15s linear; }
body.page-team .team-join { padding-top: 40px; }
body.page-team .join-panel { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 44px; align-items: center; overflow: hidden; padding: clamp(34px,5vw,65px); border-radius: 30px; }
body.page-team .join-panel::before { content: ''; position: absolute; right: -10%; bottom: -60%; width: 520px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,rgba(82,230,189,.18),transparent 62%); }
body.page-team .join-panel h2 { position: relative; margin: 0; font-size: clamp(2.25rem,4.5vw,4.6rem); line-height: 1.02; letter-spacing: -.045em; }
body.page-team .join-panel p { position: relative; max-width: 820px; margin: 18px 0 0; color: var(--muted); line-height: 1.72; }
body.page-team .join-panel > a { position: relative; padding: 15px 20px; border-radius: 999px; background: linear-gradient(120deg,var(--green),var(--cyan)); box-shadow: 0 12px 35px rgba(82,230,189,.2); color: #05151a; font-weight: 900; text-decoration: none; white-space: nowrap; transition: transform .25s ease; }
body.page-team .join-panel > a:hover { transform: translateY(-4px); }
body.page-team footer { position: relative; z-index: 1; padding: 38px 0 48px; border-top: 1px solid var(--line); color: #8997b9; font-size: .78rem; line-height: 1.6; }
body.page-team footer .footer-grid { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; }
body.page-team footer a { color: #bcd0ff; }

body.page-team.page-careers .career-back { position: absolute; left: 50%; transform: translateX(-50%); color: #b8c3df; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
body.page-team.page-careers .career-hero { min-height: 88vh; display: grid; align-items: center; padding: 135px 0 70px; }
body.page-team.page-careers .career-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 52px; align-items: center; }
body.page-team.page-careers .career-grid h1 { margin: 0; font-size: clamp(4rem,8vw,7.6rem); line-height: .88; letter-spacing: -.07em; }
body.page-team.page-careers .career-grid > div:first-child > p { max-width: 670px; margin: 28px 0 0; color: #c1cbe3; font-size: 1.2rem; line-height: 1.72; }
body.page-team.page-careers .career-status { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
body.page-team.page-careers .career-status span { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; color: #bcd3ff; background: rgba(57,94,190,.1); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.page-team.page-careers .career-console { min-height: 520px; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; padding: 30px; border-radius: 30px; text-align: center; }
body.page-team.page-careers .console-label { position: absolute; top: 25px; left: 25px; color: #8ca0ce; font-size: .66rem; font-weight: 800; letter-spacing: .14em; }
body.page-team.page-careers .console-ring { position: relative; width: min(300px,72%); aspect-ratio: 1; display: grid; place-items: center; border: 1px dashed rgba(82,230,189,.45); border-radius: 50%; animation: openOrbit 13s linear infinite; }
body.page-team.page-careers .console-ring::before, body.page-team.page-careers .console-ring::after { content: ''; position: absolute; inset: 17%; border: 1px solid rgba(85,219,255,.25); border-radius: 50%; animation: teamCoreRing 3s ease-out infinite; }
body.page-team.page-careers .console-ring::after { inset: -10%; animation-delay: -1.5s; }
body.page-team.page-careers .console-ring b { font-family: "Orbitron",sans-serif; font-size: clamp(2rem,5vw,4.5rem); color: #bdffec; text-shadow: 0 0 30px rgba(82,230,189,.55); }
body.page-team.page-careers .console-ring i { position: absolute; width: 11px; aspect-ratio: 1; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 16px var(--cyan); }
body.page-team.page-careers .console-ring i:nth-child(2) { top: 8%; left: 24%; }
body.page-team.page-careers .console-ring i:nth-child(3) { right: 8%; bottom: 30%; background: var(--pink); box-shadow: 0 0 16px var(--pink); }
body.page-team.page-careers .console-ring i:nth-child(4) { left: 19%; bottom: 11%; background: var(--amber); box-shadow: 0 0 16px var(--amber); }
body.page-team.page-careers .career-console p { margin: 34px 0 0; color: var(--muted); }
body.page-team.page-careers .career-detail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
body.page-team.page-careers .career-detail-grid article { min-height: 330px; padding: 30px; border-radius: 22px; }
body.page-team.page-careers .career-detail-grid article > span { color: var(--cyan); font-family: "Orbitron",sans-serif; }
body.page-team.page-careers .career-detail-grid h2 { margin: 80px 0 0; font-size: 1.55rem; }
body.page-team.page-careers .career-detail-grid p { margin: 16px 0 0; color: var(--muted); line-height: 1.72; }

@media (max-width: 1080px) {
    body.page-team .anchor-nav { display: none; }
    body.page-team .team-hero-grid, body.page-team .team-section-heading, body.page-team.page-careers .career-grid { grid-template-columns: 1fr; }
    body.page-team .team-orbit-card { min-height: 560px; }
    body.page-team .team-grid { grid-template-columns: 1fr; }
    body.page-team .member-card { min-height: 480px; }
    body.page-team .collaboration-track { grid-template-columns: repeat(2,1fr); }
    body.page-team .collaboration-line { display: none; }
    body.page-team.page-careers .career-detail-grid { grid-template-columns: 1fr; }
    body.page-team.page-careers .career-detail-grid article { min-height: 250px; }
}
@media (max-width: 720px) {
    body.page-team .navbar { height: 78px; padding: 8px 18px; }
    body.page-team .logo img { height: 58px; }
    body.page-team .overlay-logo { display: none; }
    body.page-team .overlay-content { padding: 0 34px; }
    body.page-team .overlay-nav a { display: block; padding-left: 1.4ch; font-size: clamp(1.8rem,8vw,3rem); white-space: normal; }
    body.page-team .overlay-nav a .bracket.left { position: absolute; top: 0; left: 0; }
    body.page-team .wrap { width: calc(100% - 24px); }
    body.page-team .section { padding: 86px 0; }
    body.page-team .team-hero { min-height: auto; padding: 118px 0 62px; }
    body.page-team .team-hero-grid { gap: 30px; }
    body.page-team .team-hero-copy h1 { font-size: clamp(3.25rem,16vw,5.4rem); }
    body.page-team #team-canvas { opacity: .38; }
    body.page-team .team-orbit-card { min-height: 500px; padding: 20px; }
    body.page-team .team-orbit-head { flex-direction: column; gap: 4px; }
    body.page-team .team-orbit { min-height: 370px; }
    body.page-team .team-core { width: 98px; }
    body.page-team .orbit-node { width: 100px; padding: 8px 6px; }
    body.page-team .orbit-node small { display: none; }
    body.page-team .node-engineering, body.page-team .node-clinical { left: 0; }
    body.page-team .node-science, body.page-team .node-quality { right: 0; }
    body.page-team .team-section-heading { gap: 25px; margin-bottom: 35px; }
    body.page-team .member-card { min-height: 0; grid-template-columns: 1fr; }
    body.page-team .member-visual { min-height: 300px; border-right: 0; border-bottom: 1px solid var(--line); }
    body.page-team .member-copy { min-height: 390px; padding: 25px; }
    body.page-team .collaboration-track { grid-template-columns: 1fr; }
    body.page-team .collaboration-track article { min-height: 210px; }
    body.page-team .collaboration-track h3 { margin-top: 50px; }
    body.page-team .join-panel { grid-template-columns: 1fr; }
    body.page-team .join-panel > a { justify-self: start; }
    body.page-team footer .footer-grid { flex-direction: column; }
    body.page-team.page-careers .career-back { display: none; }
    body.page-team.page-careers .career-hero { min-height: auto; padding-top: 115px; }
    body.page-team.page-careers .career-grid h1 { font-size: clamp(3.5rem,18vw,6rem); }
    body.page-team.page-careers .career-console { min-height: 420px; }
}
@media (prefers-reduced-motion: reduce) {
    body.page-team *, body.page-team *::before, body.page-team *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    body.page-team .reveal { opacity: 1; transform: none; }
    body.page-team #team-canvas, body.page-team #overlay-canvas { display: none; }
}


/* ==================== NEWS PAGE ==================== */
body.page-news {
    --bg: #070a18; --bg-deep: #03050e; --panel: rgba(14,20,43,.72); --text: #f3f6ff;
    --muted: #a9b5d4; --blue: #4f7dff; --cyan: #55dbff; --violet: #a26bff;
    --pink: #ff5da8; --green: #52e6bd; --amber: #ffc467; --line: rgba(154,181,255,.18); --max: 1400px;
    font-family: 'Inter', sans-serif; color: var(--text); background: var(--bg); overflow-x: clip;
}
body.page-news *, body.page-news *::before, body.page-news *::after { box-sizing: border-box; }
html:has(body.page-news) { scroll-behavior: smooth; overflow-x: clip; }
body.page-news.menu-open { overflow: hidden; }
body.page-news a { color: inherit; }
body.page-news button { font: inherit; }
body.page-news ::selection { background: rgba(85,219,255,.3); color: white; }
body.page-news .skip-link { position: fixed; z-index: 12000; top: -100px; left: 20px; padding: 12px 18px; background: white; color: #050713; border-radius: 8px; }
body.page-news .skip-link:focus { top: 20px; }
body.page-news :focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
body.page-news .ambient { position: fixed; inset: 0; z-index: -3; pointer-events: none; overflow: hidden; background: radial-gradient(circle at 18% 12%, rgba(79,125,255,.17), transparent 28rem), radial-gradient(circle at 84% 28%, rgba(162,107,255,.13), transparent 30rem), linear-gradient(150deg, var(--bg-deep), var(--bg) 48%, #0b0920); }
body.page-news .ambient::before { content: ''; position: absolute; inset: -20%; opacity: .55; background-image: linear-gradient(rgba(112,151,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(112,151,255,.045) 1px, transparent 1px); background-size: 64px 64px; transform: perspective(700px) rotateX(68deg) translateY(30%); transform-origin: center bottom; mask-image: linear-gradient(to bottom, transparent 2%, #000 55%, transparent 100%); }
body.page-news .orb { position: absolute; width: 420px; aspect-ratio: 1; border-radius: 50%; filter: blur(110px); opacity: .13; animation: newsDrift 15s ease-in-out infinite alternate; }
body.page-news .orb.one { background: var(--blue); left: -10%; top: 10%; }
body.page-news .orb.two { background: var(--pink); right: -12%; top: 48%; animation-delay: -7s; }
@keyframes newsDrift { to { transform: translate3d(80px,-45px,0) scale(1.12); } }
body.page-news #particles-js { position: fixed; inset: 0; z-index: -2; pointer-events: none; }
body.page-news .navbar { position: fixed; z-index: 1000; inset: 0 0 auto; height: 92px; padding: 8px 38px; display: flex; align-items: center; justify-content: space-between; background: linear-gradient(to bottom, rgba(4,7,17,.88), rgba(4,7,17,.42)); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,.08); }
body.page-news .logo img { display: block; height: 72px; width: auto; }
body.page-news .anchor-nav { display: flex; list-style: none; gap: 6px; align-items: center; margin: 0; padding: 0; }
body.page-news .anchor-nav a { display: block; padding: 10px 13px; color: #b8c3df; text-decoration: none; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; border-radius: 999px; transition: .25s ease; }
body.page-news .anchor-nav a:hover, body.page-news .anchor-nav a.active { color: white; background: rgba(79,125,255,.15); }
body.page-news #hamburger-btn { width: 52px; height: 52px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
body.page-news .hamburger-bar, body.page-news .hamburger-bar::before, body.page-news .hamburger-bar::after { width: 34px; height: 3px; background: white; border-radius: 999px; transition: .35s ease; content: ''; display: block; position: relative; }
body.page-news .hamburger-bar::before, body.page-news .hamburger-bar::after { position: absolute; left: 0; }
body.page-news .hamburger-bar::before { top: -10px; } body.page-news .hamburger-bar::after { top: 10px; }
body.page-news #hamburger-btn.active .hamburger-bar { background: transparent; }
body.page-news #hamburger-btn.active .hamburger-bar::before { top: 0; transform: rotate(45deg); }
body.page-news #hamburger-btn.active .hamburger-bar::after { top: 0; transform: rotate(-45deg); }
body.page-news .overlay { position: fixed; inset: 0; z-index: 900; display: grid; place-items: center; background: rgba(3,5,14,.96); backdrop-filter: blur(24px); opacity: 0; visibility: hidden; transition: .35s ease; }
body.page-news .overlay.active { opacity: 1; visibility: visible; }
body.page-news .overlay ul { list-style: none; width: min(900px,84vw); margin: 0; padding: 0; }
body.page-news .overlay li { transform: translateY(20px); opacity: 0; transition: .35s ease; }
body.page-news .overlay.active li { transform: none; opacity: 1; }
body.page-news .overlay.active li:nth-child(2) { transition-delay: .06s; } body.page-news .overlay.active li:nth-child(3) { transition-delay: .12s; } body.page-news .overlay.active li:nth-child(4) { transition-delay: .18s; } body.page-news .overlay.active li:nth-child(5) { transition-delay: .24s; }
body.page-news .overlay a { font-family: 'Orbitron', sans-serif; font-size: clamp(2rem,5vw,4.4rem); line-height: 1.4; text-decoration: none; color: #d7def3; }
body.page-news .overlay a:hover, body.page-news .overlay a[aria-current="page"] { color: var(--cyan); }
body.page-news #overlay-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
body.page-news main { position: relative; z-index: 1; }
body.page-news .wrap { width: calc(100% - clamp(32px,5vw,72px)); max-width: var(--max); margin-inline: auto; }
body.page-news .section { position: relative; padding: 115px 0; scroll-margin-top: 92px; }
body.page-news .eyebrow { color: var(--cyan); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 18px; }
body.page-news .gradient-text { background: linear-gradient(120deg,#fff 15%,#8fe8ff 48%,#9a80ff 78%,#ff88bd); -webkit-background-clip: text; color: transparent; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
body.page-news .glass { background: linear-gradient(145deg,rgba(20,28,60,.8),rgba(8,13,32,.68)); border: 1px solid var(--line); box-shadow: 0 25px 80px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.04); backdrop-filter: blur(18px); }
body.page-news .reveal { opacity: 0; transform: translateY(26px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1); }
body.page-news .reveal.visible { opacity: 1; transform: none; }
body.page-news .news-hero { position: relative; min-height: 92vh; display: grid; align-items: center; padding: 145px 0 78px; overflow: hidden; }
body.page-news #news-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .72; pointer-events: none; }
body.page-news .news-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
body.page-news .news-hero-copy h1 { margin: 0; font-size: clamp(4rem,8vw,8rem); line-height: .88; letter-spacing: -.075em; max-width: 900px; }
body.page-news .news-hero-copy p { max-width: 720px; margin: 28px 0 0; color: #c1cbe3; font-size: clamp(1.08rem,1.8vw,1.35rem); line-height: 1.72; }
body.page-news .news-cta { display: inline-flex; align-items: center; gap: 14px; margin-top: 34px; padding: 14px 20px; border-radius: 999px; text-decoration: none; background: rgba(85,219,255,.1); border: 1px solid rgba(85,219,255,.35); font-weight: 700; transition: .25s ease; }
body.page-news .news-cta:hover { transform: translateY(-2px); background: rgba(85,219,255,.17); box-shadow: 0 14px 35px rgba(50,160,220,.18); }
body.page-news .news-orbit-card { position: relative; min-height: 560px; border-radius: 32px; overflow: hidden; display: grid; place-items: center; }
body.page-news .news-orbit-card::before { content: ''; position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle,rgba(85,219,255,.15),transparent 63%); filter: blur(18px); }
body.page-news .orbit-kicker { position: absolute; top: 24px; left: 26px; color: #a9b9df; text-transform: uppercase; letter-spacing: .15em; font-size: .68rem; font-weight: 800; }
body.page-news .orbit-core { position: relative; z-index: 4; width: 112px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 35% 30%,#dff9ff,#55dbff 24%,#4f7dff 60%,#171a57); box-shadow: 0 0 70px rgba(85,219,255,.55); animation: corePulse 2.8s ease-in-out infinite; }
body.page-news .orbit-core span { font-family: 'Orbitron',sans-serif; font-size: 2.8rem; color: white; }
@keyframes corePulse { 50% { transform: scale(1.08); box-shadow: 0 0 100px rgba(85,219,255,.75); } }
body.page-news .orbit-ring { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(133,181,255,.28); border-radius: 50%; transform: translate(-50%,-50%); }
body.page-news .ring-one { width: 220px; aspect-ratio: 1; animation: spinRing 8s linear infinite; } body.page-news .ring-two { width: 340px; aspect-ratio: 1; animation: spinRing 13s linear infinite reverse; } body.page-news .ring-three { width: 460px; aspect-ratio: 1; animation: spinRing 20s linear infinite; }
body.page-news .orbit-ring i { position: absolute; width: 13px; aspect-ratio: 1; border-radius: 50%; left: 50%; top: -7px; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); }
body.page-news .ring-two i { background: var(--violet); box-shadow: 0 0 18px var(--violet); } body.page-news .ring-three i { background: var(--pink); box-shadow: 0 0 18px var(--pink); }
@keyframes spinRing { to { transform: translate(-50%,-50%) rotate(360deg); } }
body.page-news .orbit-metrics { position: absolute; z-index: 5; inset: auto 24px 24px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
body.page-news .orbit-metrics div { padding: 15px 12px; text-align: center; border-radius: 16px; background: rgba(5,9,25,.7); border: 1px solid rgba(255,255,255,.08); }
body.page-news .orbit-metrics strong { display: block; font-family: 'Orbitron',sans-serif; font-size: 1.5rem; } body.page-news .orbit-metrics span { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; }
body.page-news .news-ticker { position: relative; z-index: 3; overflow: hidden; border-block: 1px solid var(--line); background: rgba(7,10,24,.78); }
body.page-news .ticker-track { width: max-content; display: flex; align-items: center; gap: 28px; padding: 16px 0; animation: tickerMove 32s linear infinite; color: #c8d3ec; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
body.page-news .ticker-track i { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
@keyframes tickerMove { to { transform: translateX(-50%); } }
body.page-news .feature-story { display: grid; grid-template-columns: 1.2fr .8fr; border-radius: 30px; overflow: hidden; min-height: 540px; }
body.page-news .feature-copy { padding: clamp(34px,5vw,72px); display: flex; flex-direction: column; justify-content: center; }
body.page-news .story-meta { display: flex; flex-wrap: wrap; gap: 9px 14px; align-items: center; color: #91a1c5; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
body.page-news .story-tag { padding: 7px 10px; border-radius: 999px; border: 1px solid currentColor; }
body.page-news .story-tag.award { color: var(--amber); background: rgba(255,196,103,.08); } body.page-news .story-tag.research { color: var(--cyan); background: rgba(85,219,255,.08); } body.page-news .story-tag.media { color: var(--pink); background: rgba(255,93,168,.08); } body.page-news .story-tag.startup { color: var(--green); background: rgba(82,230,189,.08); }
body.page-news .feature-copy h2 { margin: 24px 0 0; font-size: clamp(2.5rem,5vw,5rem); line-height: 1; letter-spacing: -.05em; }
body.page-news .feature-copy p { margin: 24px 0 0; color: var(--muted); font-size: 1.06rem; line-height: 1.75; max-width: 780px; }
body.page-news .story-link, body.page-news .card-body a { display: inline-flex; align-items: center; gap: 8px; width: fit-content; margin-top: 28px; color: #dce8ff; text-decoration: none; font-weight: 700; border-bottom: 1px solid rgba(85,219,255,.4); padding-bottom: 5px; }
body.page-news .story-link:hover, body.page-news .card-body a:hover { color: var(--cyan); }
body.page-news .feature-visual { position: relative; min-height: 450px; display: grid; place-content: center; text-align: center; background: radial-gradient(circle at center,rgba(85,219,255,.18),transparent 55%), linear-gradient(150deg,rgba(79,125,255,.2),rgba(162,107,255,.08)); overflow: hidden; }
body.page-news .feature-visual strong { position: relative; z-index: 2; font-family: 'Orbitron',sans-serif; font-size: clamp(6rem,13vw,12rem); line-height: .8; color: white; text-shadow: 0 0 45px rgba(85,219,255,.45); }
body.page-news .top-label, body.page-news .feature-year { position: relative; z-index: 2; font-family: 'Orbitron',sans-serif; letter-spacing: .3em; color: var(--cyan); }
body.page-news .feature-year { margin-top: 18px; color: #b9c7e7; }
body.page-news .sonic-line { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(85,219,255,.28); border-radius: 50%; transform: translate(-50%,-50%); animation: sonicExpand 3s ease-out infinite; }
body.page-news .line-a { width: 35%; aspect-ratio: 1; } body.page-news .line-b { width: 35%; aspect-ratio: 1; animation-delay: 1s; } body.page-news .line-c { width: 35%; aspect-ratio: 1; animation-delay: 2s; }
@keyframes sonicExpand { from { opacity: .8; transform: translate(-50%,-50%) scale(.5); } to { opacity: 0; transform: translate(-50%,-50%) scale(3); } }
body.page-news .news-heading-row { display: flex; justify-content: space-between; gap: 35px; align-items: end; }
body.page-news .section-heading { margin: 0; max-width: 900px; font-size: clamp(2.5rem,5vw,4.8rem); line-height: 1.05; letter-spacing: -.045em; }
body.page-news .news-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
body.page-news .filter-button { border: 1px solid var(--line); background: rgba(12,18,40,.5); color: #b9c5df; padding: 10px 14px; border-radius: 999px; cursor: pointer; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; transition: .25s ease; }
body.page-news .filter-button:hover, body.page-news .filter-button.active { color: white; border-color: rgba(85,219,255,.55); background: rgba(79,125,255,.2); }
body.page-news .news-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
body.page-news .news-card { border-radius: 23px; overflow: hidden; min-height: 510px; display: flex; flex-direction: column; transition: opacity .35s ease, transform .35s ease, border-color .25s ease; transform-style: preserve-3d; }
body.page-news .news-card:hover { border-color: rgba(85,219,255,.42); }
body.page-news .news-card.is-filtered { opacity: 0; transform: scale(.94); pointer-events: none; position: absolute; visibility: hidden; }
body.page-news .card-art { position: relative; height: 215px; display: grid; place-items: center; overflow: hidden; border-bottom: 1px solid var(--line); }
body.page-news .card-art > span { position: relative; z-index: 3; font-family: 'Orbitron',sans-serif; font-size: 3rem; color: white; text-shadow: 0 0 30px rgba(255,255,255,.28); }
body.page-news .art-preseed { background: radial-gradient(circle at 30% 30%,rgba(82,230,189,.3),transparent 42%),#091a21; } body.page-news .art-pitch { background: radial-gradient(circle at 50% 85%,rgba(255,93,168,.28),transparent 48%),#170a24; } body.page-news .art-oxford { background: radial-gradient(circle at 50% 50%,rgba(85,219,255,.25),transparent 52%),#071126; } body.page-news .art-engineer { background: radial-gradient(circle at 40% 50%,rgba(255,196,103,.26),transparent 48%),#201408; } body.page-news .art-ioi { background: radial-gradient(circle at 50% 50%,rgba(162,107,255,.3),transparent 50%),#100b29; } body.page-news .art-bbc { background: radial-gradient(circle at 50% 50%,rgba(255,93,168,.24),transparent 50%),#220711; }
body.page-news .card-wave { position: absolute; width: 150%; height: 80px; border: 2px solid rgba(82,230,189,.45); border-radius: 50%; animation: cardWave 3s ease-in-out infinite; }
@keyframes cardWave { 50% { transform: scaleX(.65) translateY(-12px); opacity: .35; } }
body.page-news .pitch-beam { position: absolute; bottom: -60px; width: 120px; height: 280px; background: linear-gradient(to top,rgba(255,93,168,.55),transparent); clip-path: polygon(42% 0,58% 0,100% 100%,0 100%); animation: pitchSweep 4s ease-in-out infinite alternate; }
@keyframes pitchSweep { to { transform: rotate(18deg); } }
body.page-news .nano-cluster i { position: absolute; width: 19px; aspect-ratio: 1; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 15px var(--cyan); animation: nanoFloat 3s ease-in-out infinite alternate; } body.page-news .nano-cluster i:nth-child(1){transform:translate(-75px,-45px)} body.page-news .nano-cluster i:nth-child(2){transform:translate(68px,-35px);animation-delay:-1s} body.page-news .nano-cluster i:nth-child(3){transform:translate(-55px,60px);animation-delay:-2s} body.page-news .nano-cluster i:nth-child(4){transform:translate(80px,55px);animation-delay:-.5s}
@keyframes nanoFloat { to { margin-top: -14px; opacity: .45; } }
body.page-news .gear-ring { position: absolute; width: 150px; aspect-ratio: 1; border: 16px dotted rgba(255,196,103,.35); border-radius: 50%; animation: spinGear 12s linear infinite; }
@keyframes spinGear { to { transform: rotate(360deg); } }
body.page-news .pulse-path { position: absolute; width: 80%; height: 80px; border-bottom: 3px solid transparent; background: linear-gradient(135deg,transparent 42%,rgba(162,107,255,.55) 43% 45%,transparent 46% 53%,rgba(162,107,255,.55) 54% 56%,transparent 57%); filter: drop-shadow(0 0 8px rgba(162,107,255,.8)); animation: pulseSlide 3s linear infinite; }
@keyframes pulseSlide { to { transform: translateX(25px); } }
body.page-news .broadcast-rings { position: absolute; width: 65px; aspect-ratio: 1; border: 3px solid rgba(255,93,168,.65); border-radius: 50%; animation: broadcast 2.5s ease-out infinite; }
body.page-news .broadcast-rings::before, body.page-news .broadcast-rings::after { content: ''; position: absolute; inset: 50%; border: 2px solid rgba(255,93,168,.45); border-radius: 50%; transform: translate(-50%,-50%); animation: broadcast 2.5s ease-out infinite .75s; }
body.page-news .broadcast-rings::after { animation-delay: 1.5s; }
@keyframes broadcast { from { width: 30px; opacity: .9; } to { width: 220px; opacity: 0; } }
body.page-news .card-body { padding: 25px 25px 28px; display: flex; flex: 1; flex-direction: column; }
body.page-news .card-body h3 { margin: 20px 0 0; font-size: 1.4rem; line-height: 1.22; letter-spacing: -.02em; }
body.page-news .card-body p { margin: 15px 0 0; color: var(--muted); line-height: 1.67; font-size: .92rem; }
body.page-news .card-body a { margin-top: auto; padding-top: 24px; }
body.page-news .filter-empty { margin-top: 30px; text-align: center; color: var(--muted); }
body.page-news .signal-panel { border-radius: 30px; padding: clamp(32px,5vw,64px); display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
body.page-news .signal-panel h2 { margin: 0; font-size: clamp(2.2rem,4vw,4rem); line-height: 1.05; letter-spacing: -.04em; max-width: 900px; }
body.page-news .signal-panel p { color: var(--muted); max-width: 780px; line-height: 1.7; }
body.page-news .signal-actions { display: grid; gap: 12px; min-width: 220px; }
body.page-news .signal-actions a { padding: 14px 18px; border-radius: 999px; text-align: center; text-decoration: none; font-weight: 800; background: linear-gradient(120deg,var(--blue),var(--violet)); box-shadow: 0 12px 35px rgba(79,125,255,.25); }
body.page-news .signal-actions a.secondary { background: rgba(255,255,255,.04); border: 1px solid var(--line); box-shadow: none; }
body.page-news footer { position: relative; z-index: 1; border-top: 1px solid var(--line); padding: 38px 0 48px; color: #8997b9; font-size: .78rem; line-height: 1.6; }
body.page-news footer .footer-grid { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; }
body.page-news footer a { color: #bcd0ff; }
@media (max-width: 1050px) {
    body.page-news .anchor-nav { display: none; }
    body.page-news .news-hero-grid, body.page-news .feature-story { grid-template-columns: 1fr; }
    body.page-news .news-orbit-card { min-height: 500px; }
    body.page-news .news-grid { grid-template-columns: repeat(2,1fr); }
    body.page-news .news-heading-row { align-items: flex-start; flex-direction: column; }
    body.page-news .news-filters { justify-content: flex-start; }
    body.page-news .signal-panel { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    body.page-news .navbar { height: 78px; padding: 8px 18px; }
    body.page-news .logo img { height: 58px; }
    body.page-news .wrap { width: calc(100% - 24px); }
    body.page-news .section { padding: 82px 0; }
    body.page-news .news-hero { min-height: auto; padding: 118px 0 66px; }
    body.page-news .news-hero-grid { gap: 32px; }
    body.page-news .news-hero-copy h1 { font-size: clamp(3.4rem,16vw,5.5rem); }
    body.page-news .news-orbit-card { min-height: 390px; }
    body.page-news .ring-three { width: 330px; } body.page-news .ring-two { width: 245px; } body.page-news .ring-one { width: 165px; }
    body.page-news .orbit-metrics { inset: auto 12px 12px; }
    body.page-news .orbit-metrics div { padding: 11px 7px; }
    body.page-news .feature-copy { padding: 30px 22px; }
    body.page-news .feature-visual { min-height: 330px; }
    body.page-news .news-grid { grid-template-columns: 1fr; }
    body.page-news .news-card { min-height: 480px; }
    body.page-news .signal-actions { min-width: 0; }
    body.page-news footer .footer-grid { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    body.page-news *, body.page-news *::before, body.page-news *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    body.page-news .reveal { opacity: 1; transform: none; }
    body.page-news #news-canvas, body.page-news #overlay-canvas { display: none; }
}

/* ==================== 2026 REFINEMENTS ==================== */

/* Keep the homepage particle network above the fixed gradient, but below all content. */
body.page-home {
    background-color: transparent;
    isolation: isolate;
}
body.page-home .background-gradient { z-index: -1; }
body.page-home #particles-js { z-index: 0; opacity: .78; }
body.page-home main { position: relative; z-index: 1; }

/* Homepage: explanatory biofilm chapter and stage navigation. */
body.page-home .biofilm-guide {
    position: absolute;
    z-index: 16;
    top: 118px;
    left: clamp(20px, 4vw, 58px);
    width: min(430px, calc(100vw - 40px));
    padding: 22px 24px;
    border: 1px solid rgba(140, 178, 255, .22);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(8, 13, 32, .9), rgba(13, 19, 46, .66));
    box-shadow: 0 24px 70px rgba(0, 0, 0, .32), inset 0 1px rgba(255,255,255,.04);
    backdrop-filter: blur(18px);
}
body.page-home .biofilm-guide-kicker {
    display: block;
    margin-bottom: 10px;
    color: #72ddff;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
body.page-home .biofilm-guide h2 {
    margin: 0;
    font-size: clamp(1.55rem, 2.4vw, 2.25rem);
    line-height: 1.05;
    letter-spacing: -.035em;
}
body.page-home .biofilm-guide > p {
    margin-top: 13px;
    color: rgba(234, 234, 235, .74);
    font-size: .94rem;
    line-height: 1.62;
}
body.page-home .biofilm-progress { margin-top: 18px; }
body.page-home .biofilm-progress-copy {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 9px;
    color: rgba(234,234,235,.62);
    font-size: .7rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
body.page-home .biofilm-progress-copy b { color: #fff; }
body.page-home .biofilm-progress-track {
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.09);
}
body.page-home .biofilm-progress-track i {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #4473f2, #55dbff, #9b59b6);
    box-shadow: 0 0 18px rgba(85,219,255,.55);
    transition: width .18s linear;
}
body.page-home .biofilm-text-container {
    position: absolute;
    inset: 0;
    z-index: 14;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    padding: 0 clamp(20px, 4vw, 58px) 112px;
    pointer-events: none;
}
body.page-home .biofilm-text-step {
    position: absolute;
    width: min(570px, calc(100vw - 40px));
    max-width: none;
    padding: 24px 26px;
    text-align: left;
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(8,13,32,.93), rgba(17,23,52,.75));
    border: 1px solid rgba(133,174,255,.22);
    box-shadow: 0 20px 65px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.04);
    backdrop-filter: blur(18px);
    opacity: 0;
    visibility: visible;
    transform: translateY(22px) scale(.985);
    transition: opacity .45s ease, transform .45s cubic-bezier(.2,.8,.2,1), border-color .35s ease;
}
body.page-home .biofilm-text-step.is-active {
    opacity: 1;
    transform: translateY(0) scale(1);
    border-color: rgba(85,219,255,.4);
}
body.page-home .biofilm-step-number {
    display: block;
    margin-bottom: 7px;
    color: #55dbff;
    font-family: "Orbitron", sans-serif;
    font-size: .78rem;
    letter-spacing: .18em;
}
body.page-home .biofilm-text-step h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.55rem, 2.8vw, 2.35rem);
    line-height: 1.05;
    letter-spacing: -.025em;
    text-transform: none;
}
body.page-home .biofilm-text-step p {
    margin-top: 12px;
    color: rgba(234,234,235,.78);
    font-size: clamp(.98rem, 1.4vw, 1.08rem);
    line-height: 1.65;
}
body.page-home .biofilm-takeaway {
    display: block;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid rgba(255,255,255,.09);
    color: #a8dbff;
    font-size: .82rem;
    line-height: 1.45;
    letter-spacing: .02em;
}
body.page-home .biofilm-stage-rail {
    position: absolute;
    z-index: 16;
    top: 50%;
    right: clamp(20px, 3vw, 48px);
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
    transform: translateY(-50%);
}
body.page-home .biofilm-stage-rail li {
    display: grid;
    grid-template-columns: 32px auto;
    align-items: center;
    gap: 10px;
    min-width: 150px;
    padding: 10px 13px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 13px;
    color: rgba(234,234,235,.48);
    background: rgba(7,10,24,.58);
    backdrop-filter: blur(12px);
    transition: .35s ease;
}
body.page-home .biofilm-stage-rail li::before {
    content: '';
    position: absolute;
    right: 100%;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #55dbff);
    transition: width .35s ease;
}
body.page-home .biofilm-stage-rail li.is-active {
    color: #fff;
    border-color: rgba(85,219,255,.42);
    background: linear-gradient(110deg, rgba(68,115,242,.24), rgba(85,219,255,.08));
    box-shadow: 0 12px 35px rgba(24,83,181,.22);
    transform: translateX(-8px);
}
body.page-home .biofilm-stage-rail li.is-active::before { width: 42px; }
body.page-home .biofilm-stage-rail span {
    color: #55dbff;
    font-family: "Orbitron", sans-serif;
    font-size: .72rem;
}
body.page-home .biofilm-stage-rail b { font-size: .78rem; letter-spacing: .04em; }
body.page-home .learn-more-btn {
    left: auto;
    right: clamp(20px, 3vw, 48px);
    bottom: 34px;
    transform: none;
    font-size: .82rem;
    letter-spacing: .1em;
}

/* News: use the same staged full-screen menu language as the main site. */
body.page-news #hamburger-btn.is-active .hamburger-bar { background: transparent; }
body.page-news #hamburger-btn.is-active .hamburger-bar::before { top: 0; transform: rotate(45deg); }
body.page-news #hamburger-btn.is-active .hamburger-bar::after { top: 0; transform: rotate(-45deg); }
body.page-news .overlay {
    z-index: 900;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(3,5,14,.97);
    opacity: 0;
    visibility: hidden;
    transition: opacity .42s ease, visibility .42s ease;
}
body.page-news .overlay.is-active { opacity: 1; visibility: visible; }
body.page-news .overlay-logo { display: none; }
body.page-news .overlay-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    padding: 0 80px;
}
body.page-news .overlay-nav { width: auto; list-style: none; margin: 0; padding: 0; }
body.page-news .overlay-nav li {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .42s ease, transform .42s ease;
}
body.page-news .overlay.is-active .overlay-nav li { opacity: 1; transform: translateY(0); }
body.page-news .overlay.is-active .overlay-nav li:nth-child(1) { transition-delay: .16s; }
body.page-news .overlay.is-active .overlay-nav li:nth-child(2) { transition-delay: .24s; }
body.page-news .overlay.is-active .overlay-nav li:nth-child(3) { transition-delay: .32s; }
body.page-news .overlay.is-active .overlay-nav li:nth-child(4) { transition-delay: .40s; }
body.page-news .overlay.is-active .overlay-nav li:nth-child(5) { transition-delay: .48s; }
body.page-news .overlay-nav a {
    position: relative;
    display: inline-block;
    color: rgba(255,255,255,.8);
    font-family: "Orbitron", sans-serif;
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 500;
    line-height: 1.32;
    text-decoration: none;
    transition: color .3s ease;
}
body.page-news .overlay-nav a[aria-current="page"] { color: #fff; }
body.page-news .overlay-nav a .bracket {
    display: inline-block;
    color: #55dbff;
    opacity: 0;
    transition: opacity .3s ease, transform .3s ease;
}
body.page-news .overlay-nav a .bracket.left { transform: translateX(15px); }
body.page-news .overlay-nav a .bracket.right { transform: translateX(-15px); }
body.page-news .overlay-nav a:hover { color: #fff; }
body.page-news .overlay-nav a:hover .bracket,
body.page-news .overlay-nav a[aria-current="page"] .bracket { opacity: 1; transform: translateX(0); }
body.page-news.menu-open .anchor-nav { opacity: 0; pointer-events: none; }

/* News: a literal, labelled explanation of how scientific progress becomes momentum. */
body.page-news .news-momentum-card {
    position: relative;
    min-height: 590px;
    border-radius: 32px;
    overflow: hidden;
    padding: 26px;
    display: flex;
    flex-direction: column;
}
body.page-news .news-momentum-card::before {
    content: '';
    position: absolute;
    inset: -25%;
    background:
        radial-gradient(circle at 43% 48%, rgba(85,219,255,.19), transparent 23%),
        radial-gradient(circle at 78% 18%, rgba(162,107,255,.14), transparent 25%),
        linear-gradient(rgba(110,151,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(110,151,255,.035) 1px, transparent 1px);
    background-size: auto, auto, 34px 34px, 34px 34px;
    mask-image: radial-gradient(circle at center, #000, transparent 74%);
    animation: momentumGrid 18s linear infinite;
}
@keyframes momentumGrid { to { transform: translate3d(34px,34px,0); } }
body.page-news .momentum-card-head {
    position: relative;
    z-index: 4;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}
body.page-news .momentum-card-head span {
    color: #8ca0ce;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
body.page-news .momentum-card-head strong {
    color: #dfe8ff;
    font-size: .82rem;
    letter-spacing: .02em;
}
body.page-news .momentum-diagram {
    position: relative;
    z-index: 3;
    flex: 1;
    min-height: 410px;
    margin-top: 8px;
}
body.page-news .ultrasound-source,
body.page-news .aura-activation,
body.page-news .momentum-node {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
body.page-news .ultrasound-source { left: 1%; top: 43%; transform: translateY(-50%); width: 120px; }
body.page-news .transducer-icon {
    position: relative;
    width: 64px;
    height: 58px;
    margin-bottom: 12px;
    border: 1px solid rgba(85,219,255,.42);
    border-radius: 14px 14px 28px 28px;
    background: linear-gradient(145deg, rgba(93,132,255,.35), rgba(9,20,52,.88));
    box-shadow: 0 0 28px rgba(85,219,255,.16);
}
body.page-news .transducer-icon::before {
    content: '';
    position: absolute;
    left: 50%; bottom: -7px;
    width: 28px; height: 11px;
    border-radius: 0 0 18px 18px;
    background: #55dbff;
    transform: translateX(-50%);
    box-shadow: 0 0 18px rgba(85,219,255,.75);
}
body.page-news .ultrasound-source strong,
body.page-news .aura-activation > strong { color: white; font-size: .82rem; }
body.page-news .ultrasound-source small,
body.page-news .aura-activation > small,
body.page-news .momentum-node small { margin-top: 4px; color: #8fa0c7; font-size: .62rem; line-height: 1.35; }
body.page-news .acoustic-waves {
    position: absolute;
    left: 18%; top: 43%;
    width: 24%; height: 160px;
    transform: translateY(-50%);
    overflow: hidden;
}
body.page-news .acoustic-waves i {
    position: absolute;
    left: -20%; top: 50%;
    width: 90px; height: 130px;
    border: 2px solid rgba(85,219,255,.5);
    border-left: 0;
    border-radius: 0 100% 100% 0;
    transform: translateY(-50%) scaleX(.5);
    opacity: 0;
    animation: acousticTravel 2.5s ease-out infinite;
}
body.page-news .acoustic-waves i:nth-child(2) { animation-delay: .8s; }
body.page-news .acoustic-waves i:nth-child(3) { animation-delay: 1.6s; }
@keyframes acousticTravel {
    0% { opacity: 0; transform: translateY(-50%) translateX(0) scaleX(.35); }
    20% { opacity: .85; }
    100% { opacity: 0; transform: translateY(-50%) translateX(165px) scaleX(1.15); }
}
body.page-news .aura-activation { left: 42%; top: 43%; width: 170px; transform: translate(-50%,-50%); }
body.page-news .aura-droplet {
    position: relative;
    width: 118px;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    margin-bottom: 14px;
    border-radius: 50% 50% 52% 48% / 58% 46% 54% 42%;
    background: radial-gradient(circle at 34% 27%, #e9fbff 0 7%, #7ae5ff 17%, #4f7dff 47%, #33236e 79%);
    box-shadow: 0 0 58px rgba(85,219,255,.48), inset -12px -16px 25px rgba(15,18,65,.35);
    animation: auraActivate 2.8s ease-in-out infinite;
}
body.page-news .aura-droplet::after {
    content: '';
    position: absolute;
    inset: -18px;
    border: 1px solid rgba(85,219,255,.36);
    border-radius: 50%;
    animation: auraPulse 2.8s ease-out infinite;
}
body.page-news .aura-droplet span { color: white; font-family: "Orbitron", sans-serif; font-size: 1rem; letter-spacing: .08em; }
body.page-news .aura-droplet i {
    position: absolute;
    width: 10px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #b6f4ff;
    box-shadow: 0 0 14px #55dbff;
    animation: microbubble 2.1s ease-in-out infinite;
}
body.page-news .aura-droplet i:nth-of-type(1) { left: 13px; top: 22px; }
body.page-news .aura-droplet i:nth-of-type(2) { right: 15px; top: 37px; animation-delay: -.7s; }
body.page-news .aura-droplet i:nth-of-type(3) { left: 46px; bottom: 12px; animation-delay: -1.3s; }
@keyframes auraActivate { 50% { transform: scale(1.07) rotate(2deg); filter: brightness(1.12); } }
@keyframes auraPulse { 0% { opacity: .75; transform: scale(.78); } 100% { opacity: 0; transform: scale(1.35); } }
@keyframes microbubble { 50% { transform: translateY(-10px) scale(1.35); opacity: .55; } }
body.page-news .momentum-branches {
    position: absolute;
    left: 57%; top: 43%;
    width: 18%; height: 210px;
    transform: translateY(-50%);
}
body.page-news .momentum-branches::before {
    content: '';
    position: absolute;
    left: 0; top: 50%;
    width: 46%; height: 1px;
    background: linear-gradient(90deg, #55dbff, rgba(85,219,255,.18));
}
body.page-news .momentum-branches i {
    position: absolute;
    left: 42%;
    width: 62%; height: 1px;
    transform-origin: left;
    background: linear-gradient(90deg, rgba(85,219,255,.7), rgba(162,107,255,.13));
}
body.page-news .momentum-branches i:nth-child(1) { top: 49%; transform: rotate(-56deg); }
body.page-news .momentum-branches i:nth-child(2) { top: 50%; transform: rotate(-19deg); }
body.page-news .momentum-branches i:nth-child(3) { top: 50%; transform: rotate(19deg); }
body.page-news .momentum-branches i:nth-child(4) { top: 51%; transform: rotate(56deg); }
body.page-news .momentum-node {
    right: 0;
    width: 128px;
    padding: 11px 10px;
    border: 1px solid rgba(130,168,255,.18);
    border-radius: 13px;
    background: rgba(7,11,28,.76);
    box-shadow: 0 12px 35px rgba(0,0,0,.18);
    animation: nodeFloat 4.2s ease-in-out infinite alternate;
}
body.page-news .momentum-node b { color: #fff; font-size: .72rem; letter-spacing: .04em; }
body.page-news .node-research { top: 8%; border-color: rgba(85,219,255,.32); }
body.page-news .node-awards { top: 32%; right: -1%; animation-delay: -.8s; border-color: rgba(255,196,103,.3); }
body.page-news .node-media { top: 56%; animation-delay: -1.6s; border-color: rgba(255,93,168,.28); }
body.page-news .node-startup { top: 80%; right: 1%; animation-delay: -2.4s; border-color: rgba(82,230,189,.28); }
@keyframes nodeFloat { to { transform: translateY(-5px); } }
body.page-news .momentum-caption {
    position: relative;
    z-index: 4;
    margin: 0 0 17px;
    color: #aab8d8;
    font-size: .82rem;
    line-height: 1.55;
}
body.page-news .momentum-metrics {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 9px;
}
body.page-news .momentum-metrics div {
    padding: 12px 8px;
    text-align: center;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: rgba(5,9,25,.68);
}
body.page-news .momentum-metrics strong { display: block; font-family: "Orbitron", sans-serif; font-size: 1.25rem; }
body.page-news .momentum-metrics span { color: #8999be; font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }

/* News publisher mastheads: bespoke editorial typography, not reproduced logos. */
body.page-news .card-art.type-art {
    isolation: isolate;
    padding: 24px;
    background: linear-gradient(145deg,rgba(18,27,58,.95),rgba(6,10,27,.94));
}
body.page-news .card-art.type-art::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    background: radial-gradient(circle at 50% 45%,var(--type-glow,rgba(85,219,255,.22)),transparent 58%);
}
body.page-news .card-art.type-art::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .48;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size: 26px 26px;
    mask-image: radial-gradient(circle at center,#000,transparent 75%);
}
body.page-news .publisher-wordmark {
    position: relative;
    z-index: 2;
    width: min(88%,440px);
    display: grid;
    align-content: center;
    justify-items: start;
    transition: transform .4s cubic-bezier(.2,.8,.2,1),filter .4s ease;
}
body.page-news .news-card:hover .publisher-wordmark { transform: scale(1.045) translateY(-2px); filter: drop-shadow(0 18px 28px rgba(0,0,0,.25)); }
body.page-news .publisher-wordmark .publisher-kicker {
    margin-bottom: 11px;
    color: #9cadcf;
    font-family: "Inter",sans-serif;
    font-size: .62rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
body.page-news .publisher-wordmark strong,
body.page-news .publisher-wordmark em {
    display: block;
    margin: 0;
    color: white;
    font-style: normal;
    line-height: .86;
}
body.page-news .publisher-context {
    position: absolute !important;
    z-index: 3 !important;
    right: 14px;
    bottom: 12px;
    padding: 6px 8px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    color: #9eadd0 !important;
    background: rgba(4,8,22,.68);
    font-family: "Inter",sans-serif !important;
    font-size: .58rem !important;
    font-weight: 800;
    letter-spacing: .09em;
    line-height: 1 !important;
    text-transform: uppercase;
    text-shadow: none !important;
}
body.page-news .type-preseed { --type-glow: rgba(255,92,67,.24); }
body.page-news .type-preseed .publisher-wordmark { grid-template-columns: auto auto; align-items: end; column-gap: 8px; }
body.page-news .type-preseed .publisher-kicker { grid-column: 1/-1; }
body.page-news .type-preseed strong { font-family: "Inter",sans-serif; font-size: clamp(2.4rem,5vw,4.8rem); font-weight: 800; letter-spacing: -.075em; }
body.page-news .type-preseed em { color: #ff6d58; font-family: "Inter",sans-serif; font-size: clamp(2.1rem,4.4vw,4.15rem); font-weight: 500; letter-spacing: -.065em; }
body.page-news .type-preseed i { position: absolute; top: 30%; right: -8%; color: #ff6d58; font-size: 3.2rem; font-style: normal; transform: rotate(-8deg); text-shadow: 0 0 25px rgba(255,92,67,.35); }
body.page-news .type-conception { --type-glow: rgba(238,46,145,.24); }
body.page-news .type-conception .publisher-wordmark { width: min(90%,480px); }
body.page-news .type-conception strong { font-family: "Orbitron",sans-serif; font-size: clamp(1.75rem,3.5vw,3.4rem); font-weight: 700; letter-spacing: .025em; }
body.page-news .type-conception em { margin-top: 6px; color: #ff5da8; font-family: "Orbitron",sans-serif; font-size: clamp(3.5rem,7vw,6.5rem); font-weight: 700; letter-spacing: -.08em; text-shadow: 0 0 30px rgba(255,93,168,.28); }
body.page-news .type-oxford { --type-glow: rgba(55,112,180,.34); }
body.page-news .type-oxford .publisher-wordmark { padding-left: 18px; border-left: 3px solid #7fdfff; }
body.page-news .type-oxford strong { font-family: "Playfair Display",Georgia,serif; font-size: clamp(2.8rem,5.5vw,5.2rem); font-weight: 700; letter-spacing: -.045em; }
body.page-news .type-oxford em { margin-top: 8px; color: #9bc7ff; font-family: "Inter",sans-serif; font-size: clamp(.9rem,1.8vw,1.35rem); font-weight: 800; letter-spacing: .3em; }
body.page-news .type-b2e { --type-glow: rgba(117,94,225,.3); }
body.page-news .type-b2e .publisher-wordmark { transform: rotate(-2deg); }
body.page-news .type-b2e strong { color: transparent; font-family: "Inter",sans-serif; font-size: clamp(3.2rem,6vw,6rem); font-weight: 900; letter-spacing: -.085em; -webkit-text-stroke: 1px rgba(255,255,255,.92); }
body.page-news .type-b2e em { margin-top: 3px; padding: 5px 9px 7px; color: #07101f; background: linear-gradient(100deg,#68e7ff,#a98cff,#ff77b0); font-family: "Orbitron",sans-serif; font-size: clamp(1.05rem,2vw,1.75rem); font-weight: 700; letter-spacing: .1em; transform: skewX(-7deg); }
body.page-news .type-ineos { --type-glow: rgba(145,24,72,.34); }
body.page-news .type-ineos .publisher-wordmark { width: min(92%,500px); padding: 18px 20px; border: 1px solid rgba(255,255,255,.16); background: linear-gradient(135deg,rgba(113,11,54,.54),rgba(32,7,28,.35)); }
body.page-news .type-ineos strong { font-family: "Playfair Display",Georgia,serif; font-size: clamp(3rem,5.4vw,5.4rem); font-weight: 700; letter-spacing: .08em; }
body.page-news .type-ineos em { margin-top: 7px; color: #f4dce6; font-family: "Inter",sans-serif; font-size: clamp(.82rem,1.7vw,1.2rem); font-weight: 700; letter-spacing: .22em; }
body.page-news .type-bbc { --type-glow: rgba(255,255,255,.16); }
body.page-news .type-bbc .publisher-wordmark { width: min(90%,470px); }
body.page-news .type-bbc strong { font-family: "Inter",sans-serif; font-size: clamp(2.9rem,5.7vw,5.6rem); font-weight: 800; letter-spacing: -.065em; }
body.page-news .type-bbc em { margin-top: 7px; padding-top: 8px; border-top: 2px solid rgba(255,255,255,.72); color: #c3d4f7; font-family: "Orbitron",sans-serif; font-size: clamp(.82rem,1.7vw,1.25rem); font-weight: 600; letter-spacing: .23em; }


@media (max-width: 900px) {
    body.page-home .biofilm-guide { top: 94px; width: min(390px, calc(100vw - 32px)); padding: 18px 20px; }
    body.page-home .biofilm-guide > p { display: none; }
    body.page-home .biofilm-text-container { padding: 0 16px 102px; }
    body.page-home .biofilm-text-step { width: calc(100vw - 32px); padding: 20px; }
    body.page-home .biofilm-stage-rail {
        top: auto;
        right: 16px;
        bottom: 36px;
        left: 16px;
        grid-template-columns: repeat(4,1fr);
        gap: 6px;
        transform: none;
    }
    body.page-home .biofilm-stage-rail li { min-width: 0; grid-template-columns: 1fr; justify-items: center; gap: 2px; padding: 8px 4px; }
    body.page-home .biofilm-stage-rail li::before { display: none; }
    body.page-home .biofilm-stage-rail li.is-active { transform: translateY(-4px); }
    body.page-home .biofilm-stage-rail b { font-size: .58rem; }
    body.page-home .learn-more-btn { right: 16px; bottom: 91px; padding: 9px 14px; font-size: .66rem; }
    body.page-news .overlay-content { padding: 0 38px; }
    body.page-news .news-momentum-card { min-height: 540px; }
}

@media (max-width: 620px) {
    body.page-home .biofilm-guide { top: 88px; }
    body.page-home .biofilm-guide h2 { font-size: 1.35rem; }
    body.page-home .biofilm-progress { margin-top: 13px; }
    body.page-home .biofilm-text-container { padding-bottom: 128px; }
    body.page-home .biofilm-text-step p { line-height: 1.5; }
    body.page-home .biofilm-takeaway { display: none; }
    body.page-home .learn-more-btn { bottom: 93px; }
    body.page-news .overlay-nav a {
        display: block;
        padding-left: 1.4ch;
        font-size: clamp(1.8rem,8vw,3rem);
        white-space: normal;
    }
    body.page-news .overlay-nav a .bracket.left { position: absolute; left: 0; top: 0; }
    body.page-news .news-momentum-card { min-height: 520px; padding: 20px; }
    body.page-news .momentum-card-head { flex-direction: column; gap: 4px; }
    body.page-news .momentum-diagram { min-height: 375px; }
    body.page-news .ultrasound-source { left: -8px; width: 86px; }
    body.page-news .transducer-icon { width: 48px; height: 45px; }
    body.page-news .ultrasound-source strong,
    body.page-news .aura-activation > strong { font-size: .68rem; }
    body.page-news .ultrasound-source small,
    body.page-news .aura-activation > small { display: none; }
    body.page-news .acoustic-waves { left: 17%; width: 20%; }
    body.page-news .aura-activation { left: 41%; width: 112px; }
    body.page-news .aura-droplet { width: 88px; }
    body.page-news .aura-droplet span { font-size: .76rem; }
    body.page-news .momentum-branches { left: 54%; width: 17%; }
    body.page-news .momentum-node { right: -8px; width: 98px; padding: 8px 6px; }
    body.page-news .momentum-node b { font-size: .62rem; }
    body.page-news .momentum-node small { display: none; }
    body.page-news .momentum-caption { font-size: .74rem; }
    body.page-news .publisher-logo { max-width: 70%; }
}

@media (prefers-reduced-motion: reduce) {
    body.page-news .news-momentum-card::before,
    body.page-news .acoustic-waves i,
    body.page-news .aura-droplet,
    body.page-news .aura-droplet::after,
    body.page-news .aura-droplet i,
    body.page-news .momentum-node { animation: none !important; }
}

/* ==================== HOME SPOTLIGHT REFINEMENT ==================== */
body.page-home #spotlight-canvas-container {
    background:
        radial-gradient(circle at 66% 44%, rgba(68,115,242,.14), transparent 31rem),
        radial-gradient(circle at 34% 72%, rgba(155,89,182,.11), transparent 26rem),
        linear-gradient(145deg, rgba(4,6,16,.58), rgba(10,10,20,.2));
}
body.page-home #spotlight-canvas-container::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .42;
    background-image:
        linear-gradient(rgba(112,151,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(112,151,255,.045) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: radial-gradient(circle at 60% 50%, #000, transparent 72%);
}
body.page-home .spotlight-chapter-label {
    position: absolute;
    z-index: 12;
    top: 122px;
    left: 40px;
    display: grid;
    gap: 5px;
    pointer-events: none;
}
body.page-home .spotlight-chapter-label span {
    color: #7edfff;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
body.page-home .spotlight-chapter-label strong {
    color: #f4f7ff;
    font-size: clamp(1.15rem,2vw,1.65rem);
    letter-spacing: -.03em;
}
body.page-home .spotlight-stage-nav {
    position: absolute;
    z-index: 12;
    top: 122px;
    right: 40px;
    width: min(460px,45vw);
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    pointer-events: none;
}
body.page-home .spotlight-stage-nav li {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    color: rgba(255,255,255,.38);
    background: rgba(7,11,28,.46);
    backdrop-filter: blur(12px);
    transition: .4s ease;
}
body.page-home .spotlight-stage-nav li span {
    color: inherit;
    font-family: "Orbitron", sans-serif;
    font-size: .6rem;
}
body.page-home .spotlight-stage-nav li b {
    font-size: .69rem;
    letter-spacing: .04em;
}
body.page-home .spotlight-stage-nav li.is-active {
    color: white;
    border-color: rgba(85,219,255,.38);
    background: linear-gradient(120deg,rgba(68,115,242,.24),rgba(85,219,255,.08));
    box-shadow: 0 10px 35px rgba(22,74,185,.18), inset 0 1px rgba(255,255,255,.05);
    transform: translateY(-4px);
}
body.page-home .spotlight-progress {
    position: absolute;
    z-index: 12;
    top: 208px;
    right: 40px;
    width: min(460px,45vw);
    height: 2px;
    overflow: hidden;
    background: rgba(255,255,255,.08);
}
body.page-home .spotlight-progress i {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,#4f7dff,#55dbff,#a26bff,#ff6d91);
    box-shadow: 0 0 14px rgba(85,219,255,.55);
    transform: scaleX(0);
    transform-origin: left;
    will-change: transform;
}
body.page-home .spotlight-text-panel {
    z-index: 11;
    inset: auto auto 0 0;
    width: min(680px,55vw);
    height: 100%;
    background: linear-gradient(90deg,rgba(4,7,17,.9) 0%,rgba(4,7,17,.58) 68%,transparent 100%);
    mask-image: linear-gradient(to right,#000 0 78%,transparent 100%);
}
body.page-home .spotlight-step {
    top: 50%;
    bottom: auto;
    left: 40px;
    right: auto;
    width: min(540px,calc(100vw - 80px));
    transform: translateY(calc(-50% + 24px));
    transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1), visibility .55s ease;
    visibility: hidden;
}
body.page-home .spotlight-step.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%);
}
body.page-home .spotlight-text-content {
    max-width: 520px;
    padding: 26px 28px;
    border: 1px solid rgba(145,176,255,.14);
    border-radius: 22px;
    background: linear-gradient(145deg,rgba(13,20,45,.78),rgba(7,11,27,.62));
    box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.04);
    backdrop-filter: blur(18px);
}
body.page-home .spotlight-step-kicker {
    display: block;
    margin-bottom: 13px;
    color: #77ddff;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
body.page-home .spotlight-text-content h3 {
    margin: 0 0 14px;
    color: white;
    font-size: clamp(1.9rem,3.4vw,3.25rem);
    line-height: 1;
    letter-spacing: -.05em;
}
body.page-home .spotlight-text {
    color: #d6e1f8;
    font-family: "Inter", sans-serif;
    font-size: clamp(1rem,1.55vw,1.18rem);
    line-height: 1.72;
}
body.page-home .spotlight-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}
body.page-home .spotlight-facts span {
    padding: 8px 10px;
    border: 1px solid rgba(112,158,255,.2);
    border-radius: 999px;
    color: #bfd0f3;
    background: rgba(62,92,170,.1);
    font-size: .65rem;
    font-weight: 700;
}
body.page-home .spotlight-text-line {
    margin-top: 22px;
    background: linear-gradient(90deg,#55dbff,#4f7dff,#a26bff);
    box-shadow: 0 0 12px rgba(85,219,255,.38);
    transition: transform .18s linear;
}
body.page-home .spotlight-animation-panel {
    position: relative;
    z-index: 2;
}
body.page-home #spotlight-canvas {
    display: block;
    width: 100%;
    height: 100%;
}
body.page-home .spotlight-energy-label {
    position: absolute;
    right: 42px;
    bottom: 72px;
    display: flex;
    align-items: center;
    gap: 11px;
    color: rgba(255,255,255,.44);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .4;
    transition: opacity .4s ease, color .4s ease;
}
body.page-home .spotlight-energy-label i {
    width: 72px;
    height: 2px;
    overflow: hidden;
    background: rgba(255,255,255,.1);
}
body.page-home .spotlight-energy-label i::after {
    content: '';
    display: block;
    width: 40%;
    height: 100%;
    background: #55dbff;
    box-shadow: 0 0 12px #55dbff;
    animation: spotlightEnergy 1.7s ease-in-out infinite;
}
body.page-home #spotlight-canvas-container[data-stage="2"] .spotlight-energy-label,
body.page-home #spotlight-canvas-container[data-stage="3"] .spotlight-energy-label {
    color: #9eeaff;
    opacity: 1;
}
@keyframes spotlightEnergy { 0%,100% { transform: translateX(-20%); } 50% { transform: translateX(170%); } }
body.page-home #spotlight-reduced-motion-container .spotlight-rm-item strong {
    display: block;
    margin-top: 14px;
    color: #8fe8ff;
    font-family: "Orbitron",sans-serif;
    font-size: .76rem;
    letter-spacing: .08em;
}

@media (max-width: 900px) {
    body.page-home .spotlight-chapter-label { top: 98px; left: 20px; }
    body.page-home .spotlight-stage-nav { top: 98px; right: 20px; width: min(390px,52vw); }
    body.page-home .spotlight-progress { top: 184px; right: 20px; width: min(390px,52vw); }
    body.page-home .spotlight-text-panel { width: 100%; height: 48%; inset: auto 0 0; background: linear-gradient(to top,rgba(4,7,17,.97),rgba(4,7,17,.68) 72%,transparent); mask-image: none; }
    body.page-home .spotlight-step { top: auto; bottom: 74px; left: 20px; width: calc(100vw - 40px); transform: translateY(18px); }
    body.page-home .spotlight-step.is-visible { transform: none; }
    body.page-home .spotlight-text-content { max-width: 620px; padding: 20px; }
    body.page-home .spotlight-energy-label { right: 22px; bottom: 55%; }
}
@media (max-width: 620px) {
    body.page-home .spotlight-chapter-label strong { font-size: 1rem; }
    body.page-home .spotlight-stage-nav { top: 142px; left: 12px; right: 12px; width: auto; gap: 5px; }
    body.page-home .spotlight-stage-nav li { padding: 8px 5px; justify-items: center; }
    body.page-home .spotlight-stage-nav li b { font-size: .58rem; }
    body.page-home .spotlight-progress { top: 203px; left: 12px; right: 12px; width: auto; }
    body.page-home .spotlight-step { bottom: 78px; left: 12px; width: calc(100vw - 24px); }
    body.page-home .spotlight-text-content h3 { font-size: 1.72rem; }
    body.page-home .spotlight-text { font-size: .91rem; line-height: 1.58; }
    body.page-home .spotlight-facts { display: none; }
    body.page-home .spotlight-energy-label { right: 14px; bottom: 50%; }
    body.page-home .spotlight-energy-label span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    body.page-home .spotlight-energy-label i::after,
    body.page-home .spotlight-stage-nav li { animation: none !important; }
}

/* Keep the shared menu control above the full-screen overlay so it remains clickable. */
body.page-team .navbar { z-index: 10002; }
body.page-team.menu-open .navbar,
body.page-team.overlay-open .navbar {
    background: transparent;
    border-bottom-color: transparent;
    backdrop-filter: none;
}
body.page-team.menu-open .logo,
body.page-team.overlay-open .logo { opacity: 0; pointer-events: none; }
body.page-team.menu-open .overlay-logo,
body.page-team.overlay-open .overlay-logo { opacity: 1; pointer-events: auto; }


/* ==================== EDITORIAL PHOTO + PROFILE REFINEMENT ==================== */
/* Keep ambient particle canvases above the opaque page background and below content. */
body.page-news,
body.page-team { position: relative; isolation: isolate; }
body.page-news .ambient,
body.page-team .team-ambient { z-index: 0; }
body.page-news #particles-js,
body.page-team #particles-js { z-index: 1 !important; opacity: .78; mix-blend-mode: screen; }
body.page-news main,
body.page-news footer,
body.page-team main,
body.page-team footer { position: relative; z-index: 2; }
body.page-news .navbar,
body.page-team .navbar { z-index: 1000; }
body.page-news .overlay,
body.page-team .overlay { z-index: 10000; }

/* Editorial stock photography used in the News and Team hero panels. */
body.page-news .editorial-photo-card,
body.page-team .editorial-photo-card {
    position: relative;
    min-height: 610px;
    margin: 0;
    overflow: hidden;
    border-radius: 32px;
    isolation: isolate;
    transform-style: preserve-3d;
    box-shadow: 0 30px 95px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.06);
}
body.page-news .editorial-photo-card::before,
body.page-team .editorial-photo-card::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(115deg,rgba(3,7,20,.08),transparent 42%), radial-gradient(circle at 82% 12%,rgba(85,219,255,.18),transparent 32%);
}
body.page-news .editorial-photo-card::after,
body.page-team .editorial-photo-card::after {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    border: 1px solid rgba(154,181,255,.18);
    border-radius: inherit;
    background: linear-gradient(105deg,transparent 35%,rgba(255,255,255,.10) 48%,transparent 61%);
    background-size: 240% 100%;
    animation: editorialPhotoSweep 7s ease-in-out infinite;
}
@keyframes editorialPhotoSweep { 0%,22% { background-position: 180% 0; } 65%,100% { background-position: -80% 0; } }
body.page-news .editorial-photo-card > img,
body.page-team .editorial-photo-card > img {
    position: absolute;
    inset: -2%;
    width: 104%;
    height: 104%;
    object-fit: cover;
    filter: saturate(.72) contrast(1.08) brightness(.72) hue-rotate(4deg);
    transform: scale(1.04);
    transition: transform 1.1s cubic-bezier(.2,.8,.2,1), filter .6s ease;
    animation: editorialPhotoBreathe 15s ease-in-out infinite alternate;
}
body.page-news .editorial-photo-card:hover > img,
body.page-team .editorial-photo-card:hover > img { transform: scale(1.09); filter: saturate(.9) contrast(1.08) brightness(.8); }
@keyframes editorialPhotoBreathe { to { transform: scale(1.09) translate3d(-1.2%,1%,0); } }
body.page-news .editorial-photo-shade,
body.page-team .editorial-photo-shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(to top,rgba(3,6,18,.98) 0%,rgba(3,6,18,.72) 26%,rgba(3,6,18,.08) 67%), linear-gradient(90deg,rgba(52,61,139,.25),transparent 55%);
}
body.page-news .photo-status,
body.page-team .photo-status {
    position: absolute;
    z-index: 4;
    top: 24px;
    left: 24px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: #e8efff;
    background: rgba(4,8,22,.62);
    backdrop-filter: blur(12px);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body.page-news .photo-status span,
body.page-team .photo-status span { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); animation: photoStatusPulse 2s ease-in-out infinite; }
@keyframes photoStatusPulse { 50% { transform: scale(1.55); opacity: .55; } }
body.page-news .editorial-photo-card figcaption,
body.page-team .editorial-photo-card figcaption {
    position: absolute;
    z-index: 4;
    right: clamp(22px,4vw,42px);
    bottom: clamp(24px,4vw,42px);
    left: clamp(22px,4vw,42px);
    display: grid;
    gap: 10px;
}
body.page-news .editorial-photo-card figcaption strong,
body.page-team .editorial-photo-card figcaption strong { max-width: 620px; color: white; font-size: clamp(1.75rem,3.3vw,3.25rem); line-height: 1.02; letter-spacing: -.045em; }
body.page-news .editorial-photo-card figcaption span,
body.page-team .editorial-photo-card figcaption span { max-width: 560px; color: #bac7e5; font-size: .92rem; line-height: 1.65; }

/* Smaller, more controlled publication typography. */
body.page-news .type-preseed strong { font-size: clamp(2rem,3.7vw,3.55rem); }
body.page-news .type-preseed em { font-size: clamp(1.75rem,3.3vw,3.1rem); }
body.page-news .type-preseed i { right: -4%; font-size: 2.4rem; }
body.page-news .type-conception strong { font-size: clamp(1.45rem,2.7vw,2.65rem); }
body.page-news .type-conception em { font-size: clamp(2.8rem,5.2vw,4.8rem); }
body.page-news .type-oxford strong { font-size: clamp(2.25rem,4.2vw,4rem); }
body.page-news .type-bbc strong { font-size: clamp(2.35rem,4.35vw,4.15rem); line-height: .9; }
body.page-news .type-bbc em { font-size: clamp(.68rem,1.1vw,.92rem); }

/* Rebuilt, content-rich team profiles. */
body.page-team .profile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; align-items: stretch; }
body.page-team .profile-card {
    position: relative;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 28px;
    color: inherit;
    text-decoration: none;
    transform-style: preserve-3d;
    transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;
}
body.page-team .profile-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(127,190,255,.15),transparent 36%);
    transition: opacity .3s ease;
}
body.page-team .profile-card:hover { border-color: rgba(85,219,255,.38); box-shadow: 0 35px 95px rgba(0,0,0,.42),0 0 52px rgba(79,125,255,.11); }
body.page-team .profile-card:hover::after { opacity: 1; }
body.page-team .profile-photo {
    position: relative;
    min-height: 330px;
    margin: 0;
    overflow: hidden;
    background: #080d21;
    border-bottom: 1px solid var(--line);
}
body.page-team .profile-photo::before {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    background: repeating-linear-gradient(to bottom,transparent 0 8px,rgba(105,170,255,.035) 9px 10px);
    opacity: .4;
    transform: translateY(-100%);
    animation: profileScan 7s linear infinite;
}
@keyframes profileScan { to { transform: translateY(100%); } }
body.page-team .profile-photo img {
    width: 100%;
    height: 100%;
    min-height: 330px;
    display: block;
    object-fit: cover;
    object-position: center 28%;
    filter: saturate(.72) contrast(1.08) brightness(.88);
    transform: scale(1.015);
    transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .5s ease;
}
body.page-team .profile-card:hover .profile-photo img { transform: scale(1.075); filter: saturate(.95) contrast(1.08) brightness(.94); }
body.page-team .profile-photo-pending img,
body.page-team .profile-photo-confidential img,
body.page-team .profile-photo-open img { object-position: center; }
body.page-team .profile-photo-overlay { position: absolute; z-index: 2; inset: 0; background: linear-gradient(to top,rgba(5,9,25,.96),transparent 50%),linear-gradient(120deg,rgba(79,125,255,.25),transparent 47%,rgba(162,107,255,.12)); }
body.page-team .profile-sequence,
body.page-team .image-disclosure,
body.page-team .open-seat-label {
    position: absolute;
    z-index: 4;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    color: #e8efff;
    background: rgba(4,8,22,.69);
    backdrop-filter: blur(10px);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body.page-team .profile-sequence { top: 18px; left: 18px; }
body.page-team .image-disclosure { right: 18px; bottom: 18px; color: #c8d3ec; }
body.page-team .open-seat-label { right: 18px; bottom: 18px; color: #05221b; background: var(--green); border-color: transparent; box-shadow: 0 0 26px rgba(82,230,189,.3); }
body.page-team .profile-content { position: relative; z-index: 2; display: flex; flex: 1; flex-direction: column; padding: clamp(26px,3.2vw,39px); }
body.page-team .profile-role { margin: 0 0 10px; color: var(--cyan); font-family: "Orbitron",sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
body.page-team .profile-content h3 { margin: 0; color: white; font-size: clamp(1.8rem,3.1vw,2.7rem); line-height: 1.03; letter-spacing: -.04em; }
body.page-team .profile-intro { margin: 18px 0 0; color: #c5d0e9; font-size: .98rem; line-height: 1.72; }
body.page-team .profile-details { display: grid; gap: 13px; margin: 24px 0 0; }
body.page-team .profile-details > div { padding: 15px 16px; border: 1px solid rgba(154,181,255,.13); border-radius: 15px; background: rgba(5,10,28,.48); transition: border-color .25s ease, transform .25s ease; }
body.page-team .profile-details > div:hover { border-color: rgba(85,219,255,.31); transform: translateX(3px); }
body.page-team .profile-details dt { color: #90e7ff; font-size: .66rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
body.page-team .profile-details dd { margin: 7px 0 0; color: #aebbd8; font-size: .84rem; line-height: 1.65; }
body.page-team .profile-content .member-tags { margin-top: 22px; }
body.page-team .announcement-note { margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); color: #91a0c1; font-size: .75rem; line-height: 1.55; }
body.page-team .opportunity-card { border-color: rgba(82,230,189,.25); }
body.page-team .opportunity-card .profile-role { color: var(--green); }
body.page-team .opportunity-link { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: 22px; padding-bottom: 5px; border-bottom: 1px solid rgba(82,230,189,.48); color: #dffdf5; font-weight: 800; }

@media (max-width: 1050px) {
    body.page-team .profile-grid { grid-template-columns: 1fr; }
    body.page-news .editorial-photo-card,
    body.page-team .editorial-photo-card { min-height: 560px; }
}
@media (max-width: 720px) {
    body.page-news .editorial-photo-card,
    body.page-team .editorial-photo-card { min-height: 480px; border-radius: 24px; }
    body.page-team .profile-photo,
    body.page-team .profile-photo img { min-height: 290px; }
    body.page-team .profile-content { padding: 25px 20px 28px; }
    body.page-team .profile-details > div { padding: 14px; }
    body.page-news .type-preseed strong { font-size: clamp(1.75rem,9vw,2.65rem); }
    body.page-news .type-preseed em { font-size: clamp(1.5rem,8vw,2.35rem); }
    body.page-news .type-conception strong { font-size: clamp(1.25rem,6vw,2rem); }
    body.page-news .type-conception em { font-size: clamp(2.45rem,12vw,3.8rem); }
    body.page-news .type-oxford strong { font-size: clamp(2rem,10vw,3.2rem); }
    body.page-news .type-bbc strong { font-size: clamp(2rem,10vw,3.25rem); }
}
@media (prefers-reduced-motion: reduce) {
    body.page-news .editorial-photo-card::after,
    body.page-team .editorial-photo-card::after,
    body.page-news .editorial-photo-card > img,
    body.page-team .editorial-photo-card > img,
    body.page-team .profile-photo::before,
    body.page-news .photo-status span,
    body.page-team .photo-status span { animation: none !important; }
}

/* ==================== NETWORK BACKGROUND + BIOGRAPHY PROFILES (2026-08 refinement) ==================== */
/* A fixed canvas renderer is used on News and Team so the network remains visible
   even when the third-party particles.js CDN is blocked. */
body.page-news #particles-js,
body.page-team #particles-js {
    position: fixed;
    inset: 0;
    z-index: 0 !important;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    opacity: .9;
    pointer-events: none;
    mix-blend-mode: screen;
    background:
        linear-gradient(112deg,transparent 0 48%,rgba(191,204,238,.025) 49%,transparent 50%) 0 0 / 260px 210px,
        linear-gradient(28deg,transparent 0 48%,rgba(191,204,238,.018) 49%,transparent 50%) 35px 20px / 310px 250px;
}
body.page-news #particles-js canvas,
body.page-team #particles-js canvas {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1;
    filter: contrast(1.08);
}
body.page-news main,
body.page-news footer,
body.page-team main,
body.page-team footer { position: relative; z-index: 2; }
body.page-news .navbar,
body.page-team .navbar { z-index: 1000; }
body.page-news .ambient,
body.page-team .team-ambient { z-index: -1; }

/* Profile-first editorial layout. */
body.page-team .team-roster { padding-top: 128px; }
body.page-team .team-section-heading {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(30px,6vw,90px);
    align-items: end;
    margin-bottom: 58px;
}
body.page-team .team-section-heading h2 {
    margin: 0;
    font-size: clamp(2.8rem,5.6vw,5.8rem);
    line-height: .96;
    letter-spacing: -.055em;
}
body.page-team .team-section-heading > p {
    max-width: 660px;
    margin: 0 0 8px;
    color: #b6c2df;
    font-size: clamp(1rem,1.45vw,1.2rem);
    line-height: 1.75;
}
body.page-team .biography-list { display: grid; gap: 30px; }
body.page-team .bio-profile {
    position: relative;
    display: grid;
    grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
    min-height: 520px;
    overflow: hidden;
    border-radius: 30px;
    color: inherit;
    text-decoration: none;
    isolation: isolate;
    transform-style: preserve-3d;
    transition: transform .45s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;
}
body.page-team .bio-profile::after {
    content: '';
    position: absolute;
    z-index: 5;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(94,183,255,.16),transparent 34%);
    transition: opacity .3s ease;
}
body.page-team .bio-profile:hover {
    border-color: rgba(85,219,255,.38);
    box-shadow: 0 38px 110px rgba(0,0,0,.43), 0 0 60px rgba(79,125,255,.1);
}
body.page-team .bio-profile:hover::after { opacity: 1; }
body.page-team .bio-profile:nth-child(even) { grid-template-columns: minmax(0,1.22fr) minmax(300px,.78fr); }
body.page-team .bio-profile:nth-child(even) .bio-portrait { order: 2; border-right: 0; border-left: 1px solid var(--line); }
body.page-team .bio-profile:nth-child(even) .bio-copy { order: 1; }
body.page-team .bio-portrait {
    position: relative;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    border-right: 1px solid var(--line);
    background: #080d21;
}
body.page-team .bio-portrait::before {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    opacity: .42;
    background: repeating-linear-gradient(to bottom,transparent 0 10px,rgba(110,176,255,.04) 11px 12px);
    transform: translateY(-100%);
    animation: profileScan 8s linear infinite;
}
body.page-team .bio-portrait img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 28%;
    filter: saturate(.7) contrast(1.08) brightness(.82);
    transform: scale(1.02);
    transition: transform 1s cubic-bezier(.2,.8,.2,1), filter .6s ease;
}
body.page-team .bio-profile:hover .bio-portrait img {
    transform: scale(1.075);
    filter: saturate(.92) contrast(1.08) brightness(.9);
}
body.page-team .bio-portrait-representative img { object-position: center; }
body.page-team .bio-portrait-shade {
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        linear-gradient(to top,rgba(4,8,23,.96),transparent 49%),
        linear-gradient(125deg,rgba(79,125,255,.24),transparent 46%,rgba(162,107,255,.12));
}
body.page-team .bio-copy {
    position: relative;
    z-index: 2;
    align-self: center;
    padding: clamp(34px,5vw,72px);
}
body.page-team .bio-copy .profile-role {
    margin: 0 0 13px;
    color: var(--cyan);
    font-family: "Orbitron",sans-serif;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}
body.page-team .bio-copy h3 {
    margin: 0;
    color: white;
    font-size: clamp(2.15rem,4vw,4.35rem);
    line-height: .98;
    letter-spacing: -.052em;
}
body.page-team .bio-copy h3 span {
    display: block;
    margin-top: 12px;
    color: #8fa0c8;
    font-family: "Inter",sans-serif;
    font-size: clamp(.78rem,1.15vw,1rem);
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
}
body.page-team .bio-copy > p:not(.profile-role):not(.announcement-note) {
    max-width: 900px;
    margin: 22px 0 0;
    color: #bdc9e4;
    font-size: clamp(.98rem,1.25vw,1.08rem);
    line-height: 1.82;
}
body.page-team .bio-copy em { color: #e6edff; }
body.page-team .bio-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(135px,1fr));
    gap: 10px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}
body.page-team .bio-facts li {
    min-height: 94px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 15px 16px;
    border: 1px solid rgba(154,181,255,.16);
    border-radius: 16px;
    background: rgba(5,10,28,.48);
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
body.page-team .bio-facts li:hover {
    transform: translateY(-3px);
    border-color: rgba(85,219,255,.35);
    background: rgba(15,29,65,.62);
}
body.page-team .bio-facts strong {
    color: white;
    font-family: "Orbitron",sans-serif;
    font-size: clamp(.92rem,1.4vw,1.28rem);
    line-height: 1.15;
}
body.page-team .bio-facts span {
    margin-top: 7px;
    color: #91a2c7;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
}
body.page-team .incoming-profile { border-color: rgba(255,196,103,.23); }
body.page-team .incoming-profile .profile-role { color: var(--amber); }
body.page-team .incoming-profile .bio-copy { padding-block: clamp(38px,5vw,68px); }
body.page-team .announcement-note {
    margin: 24px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    color: #8f9dbd;
    font-size: .78rem;
    line-height: 1.6;
}
body.page-team .opportunity-profile { border-color: rgba(82,230,189,.28); }
body.page-team .opportunity-profile .profile-role { color: var(--green); }
body.page-team .opportunity-profile .bio-portrait img { filter: saturate(.75) contrast(1.05) brightness(.68); }
body.page-team .opportunity-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 28px;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(82,230,189,.52);
    color: #dffdf5;
    font-weight: 800;
}
body.page-team .bio-portrait .profile-sequence { top: 20px; left: 20px; }
body.page-team .bio-portrait .image-disclosure,
body.page-team .bio-portrait .open-seat-label { right: 20px; bottom: 20px; }

@media (max-width: 1050px) {
    body.page-team .team-section-heading { grid-template-columns: 1fr; align-items: start; }
    body.page-team .bio-profile,
    body.page-team .bio-profile:nth-child(even) { grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); }
    body.page-team .bio-profile:nth-child(even) .bio-portrait { order: 0; border-left: 0; border-right: 1px solid var(--line); }
    body.page-team .bio-profile:nth-child(even) .bio-copy { order: 0; }
}
@media (max-width: 760px) {
    body.page-team .team-roster { padding-top: 92px; }
    body.page-team .team-section-heading { margin-bottom: 38px; }
    body.page-team .bio-profile,
    body.page-team .bio-profile:nth-child(even) { display: flex; min-height: 0; flex-direction: column; }
    body.page-team .bio-portrait,
    body.page-team .bio-profile:nth-child(even) .bio-portrait {
        order: 0;
        min-height: 370px;
        border: 0;
        border-bottom: 1px solid var(--line);
    }
    body.page-team .bio-copy,
    body.page-team .bio-profile:nth-child(even) .bio-copy { order: 1; padding: 28px 21px 32px; }
    body.page-team .bio-copy h3 { font-size: clamp(2rem,10vw,3.25rem); }
    body.page-team .bio-copy > p:not(.profile-role):not(.announcement-note) { font-size: .96rem; line-height: 1.72; }
    body.page-team .bio-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 440px) {
    body.page-team .bio-facts { grid-template-columns: 1fr; }
    body.page-team .bio-portrait,
    body.page-team .bio-profile:nth-child(even) .bio-portrait { min-height: 330px; }
}
@media (prefers-reduced-motion: reduce) {
    body.page-team .bio-portrait::before { animation: none !important; transform: none; opacity: .1; }
}

/* Profile-only team heading refinement. */
body.page-team .team-section-heading { grid-template-columns: 1fr; max-width: 980px; }
body.page-team .team-section-heading > p:empty { display: none; }
body.page-team .incoming-profile .bio-copy > p { max-width: 980px; }

/* ==================== SHARED PARTICLES.JS + MENU REPAIR (2026-08-01) ==================== */
/* Restore the original particles.js presentation used by the Research page. */
body.page-news #particles-js,
body.page-team #particles-js {
    position: fixed;
    inset: 0;
    z-index: 0 !important;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    opacity: .9;
    pointer-events: none;
    mix-blend-mode: screen;
    background: transparent;
}
body.page-news #particles-js canvas,
body.page-team #particles-js canvas {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    filter: none !important;
}
body.page-news .ambient,
body.page-team .team-ambient { z-index: -1; }
body.page-news main,
body.page-news footer,
body.page-team main,
body.page-team footer { position: relative; z-index: 2; }

/* One full-screen menu system across Research, News and Team. */
body.page-research .navbar,
body.page-news .navbar,
body.page-team .navbar { z-index: 10002; }
body.page-research #hamburger-btn,
body.page-news #hamburger-btn,
body.page-team #hamburger-btn {
    position: relative;
    z-index: 10004;
    overflow: visible;
}
body.page-research #hamburger-btn::before,
body.page-news #hamburger-btn::before,
body.page-team #hamburger-btn::before {
    content: '';
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(85,219,255,.34);
    border-radius: 50%;
    opacity: 0;
    transform: scale(.72);
    transition: opacity .35s ease, transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
body.page-research #hamburger-btn.active::before,
body.page-news #hamburger-btn.is-active::before,
body.page-team #hamburger-btn.is-active::before {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 28px rgba(85,219,255,.2), inset 0 0 18px rgba(85,219,255,.08);
}
body.page-research .hamburger-bar,
body.page-research .hamburger-bar::before,
body.page-research .hamburger-bar::after,
body.page-news .hamburger-bar,
body.page-news .hamburger-bar::before,
body.page-news .hamburger-bar::after,
body.page-team .hamburger-bar,
body.page-team .hamburger-bar::before,
body.page-team .hamburger-bar::after {
    width: 34px;
    height: 3px;
    border-radius: 999px;
    background: #fff;
    transform-origin: center;
    transition: transform .55s cubic-bezier(.2,.8,.2,1), top .55s cubic-bezier(.2,.8,.2,1), opacity .3s ease, background .3s ease;
}
body.page-research #hamburger-btn.active .hamburger-bar,
body.page-news #hamburger-btn.is-active .hamburger-bar,
body.page-team #hamburger-btn.is-active .hamburger-bar { background: transparent; }
body.page-research #hamburger-btn.active .hamburger-bar::before,
body.page-news #hamburger-btn.is-active .hamburger-bar::before,
body.page-team #hamburger-btn.is-active .hamburger-bar::before { top: 0; transform: rotate(45deg) scaleX(.92); }
body.page-research #hamburger-btn.active .hamburger-bar::after,
body.page-news #hamburger-btn.is-active .hamburger-bar::after,
body.page-team #hamburger-btn.is-active .hamburger-bar::after { top: 0; transform: rotate(-45deg) scaleX(.92); }

body.page-research .overlay,
body.page-news .overlay,
body.page-team .overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 24%, rgba(79,125,255,.15), transparent 31rem),
        radial-gradient(circle at 24% 78%, rgba(162,107,255,.13), transparent 29rem),
        rgba(3,5,14,.975);
    backdrop-filter: blur(24px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .42s ease, visibility .42s ease;
}
body.page-research .overlay.active,
body.page-news .overlay.is-active,
body.page-team .overlay.is-active { opacity: 1; visibility: visible; }
body.page-research .overlay-logo,
body.page-news .overlay-logo,
body.page-team .overlay-logo {
    position: absolute;
    top: 10px;
    left: 38px;
    z-index: 10001;
    display: block;
    opacity: 1;
}
body.page-research .overlay-logo img,
body.page-news .overlay-logo img,
body.page-team .overlay-logo img { display: block; height: 72px; width: auto; }
body.page-research .overlay-content,
body.page-news .overlay-content,
body.page-team .overlay-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    padding: 0 80px;
}
body.page-research .overlay-nav,
body.page-news .overlay-nav,
body.page-team .overlay-nav {
    width: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.page-research .overlay-nav li,
body.page-news .overlay-nav li,
body.page-team .overlay-nav li {
    opacity: 0;
    filter: blur(7px);
    transform: translate3d(0,28px,0);
    transition: opacity .45s ease, filter .55s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}
body.page-research .overlay.active .overlay-nav li,
body.page-news .overlay.is-active .overlay-nav li,
body.page-team .overlay.is-active .overlay-nav li {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0,0,0);
}
body.page-research .overlay.active .overlay-nav li:nth-child(1),
body.page-news .overlay.is-active .overlay-nav li:nth-child(1),
body.page-team .overlay.is-active .overlay-nav li:nth-child(1) { transition-delay: .13s; }
body.page-research .overlay.active .overlay-nav li:nth-child(2),
body.page-news .overlay.is-active .overlay-nav li:nth-child(2),
body.page-team .overlay.is-active .overlay-nav li:nth-child(2) { transition-delay: .21s; }
body.page-research .overlay.active .overlay-nav li:nth-child(3),
body.page-news .overlay.is-active .overlay-nav li:nth-child(3),
body.page-team .overlay.is-active .overlay-nav li:nth-child(3) { transition-delay: .29s; }
body.page-research .overlay.active .overlay-nav li:nth-child(4),
body.page-news .overlay.is-active .overlay-nav li:nth-child(4),
body.page-team .overlay.is-active .overlay-nav li:nth-child(4) { transition-delay: .37s; }
body.page-research .overlay.active .overlay-nav li:nth-child(5),
body.page-news .overlay.is-active .overlay-nav li:nth-child(5),
body.page-team .overlay.is-active .overlay-nav li:nth-child(5) { transition-delay: .45s; }
body.page-research .overlay-nav a,
body.page-news .overlay-nav a,
body.page-team .overlay-nav a {
    position: relative;
    display: inline-block;
    color: rgba(255,255,255,.76);
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(2.5rem,5vw,4rem);
    font-weight: 500;
    line-height: 1.32;
    text-decoration: none;
    transition: color .3s ease, transform .35s cubic-bezier(.2,.8,.2,1), text-shadow .3s ease;
}
body.page-research .overlay-nav a::after,
body.page-news .overlay-nav a::after,
body.page-team .overlay-nav a::after {
    content: '';
    position: absolute;
    left: 1.15ch;
    right: 1.15ch;
    bottom: .1em;
    height: 2px;
    background: linear-gradient(90deg, transparent, #55dbff 28%, #a26bff 74%, transparent);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .42s cubic-bezier(.2,.8,.2,1);
}
body.page-research .overlay-nav a:hover,
body.page-news .overlay-nav a:hover,
body.page-team .overlay-nav a:hover,
body.page-research .overlay-nav a[aria-current='page'],
body.page-news .overlay-nav a[aria-current='page'],
body.page-team .overlay-nav a[aria-current='page'] {
    color: #fff;
    transform: translateX(8px);
    text-shadow: 0 0 26px rgba(85,219,255,.18);
}
body.page-research .overlay-nav a:hover::after,
body.page-news .overlay-nav a:hover::after,
body.page-team .overlay-nav a:hover::after,
body.page-research .overlay-nav a[aria-current='page']::after,
body.page-news .overlay-nav a[aria-current='page']::after,
body.page-team .overlay-nav a[aria-current='page']::after { transform: scaleX(1); }
body.page-research .overlay-nav .bracket,
body.page-news .overlay-nav .bracket,
body.page-team .overlay-nav .bracket {
    display: inline-block;
    color: #55dbff;
    opacity: 0;
    transition: opacity .3s ease, transform .4s cubic-bezier(.2,.8,.2,1), text-shadow .3s ease;
}
body.page-research .overlay-nav .bracket.left,
body.page-news .overlay-nav .bracket.left,
body.page-team .overlay-nav .bracket.left { transform: translateX(15px); }
body.page-research .overlay-nav .bracket.right,
body.page-news .overlay-nav .bracket.right,
body.page-team .overlay-nav .bracket.right { transform: translateX(-15px); }
body.page-research .overlay-nav a:hover .bracket,
body.page-news .overlay-nav a:hover .bracket,
body.page-team .overlay-nav a:hover .bracket,
body.page-research .overlay-nav a[aria-current='page'] .bracket,
body.page-news .overlay-nav a[aria-current='page'] .bracket,
body.page-team .overlay-nav a[aria-current='page'] .bracket {
    opacity: 1;
    transform: translateX(0);
    text-shadow: 0 0 18px rgba(85,219,255,.75);
}
body.page-research .overlay-nav a[aria-current='page'] .bracket,
body.page-news .overlay-nav a[aria-current='page'] .bracket,
body.page-team .overlay-nav a[aria-current='page'] .bracket { animation: menuBracketPulse 2.2s ease-in-out infinite; }
@keyframes menuBracketPulse {
    0%,100% { opacity: .7; text-shadow: 0 0 8px rgba(85,219,255,.35); }
    50% { opacity: 1; text-shadow: 0 0 24px rgba(85,219,255,.95); }
}
body.page-research.menu-open .navbar,
body.page-news.menu-open .navbar,
body.page-team.menu-open .navbar,
body.page-team.overlay-open .navbar {
    background: transparent;
    border-bottom-color: transparent;
    backdrop-filter: none;
}
body.page-research.menu-open .navbar > .logo,
body.page-research.menu-open .anchor-nav,
body.page-news.menu-open .navbar > .logo,
body.page-news.menu-open .anchor-nav,
body.page-team.menu-open .navbar > .logo,
body.page-team.menu-open .anchor-nav,
body.page-team.overlay-open .navbar > .logo,
body.page-team.overlay-open .anchor-nav {
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 720px) {
    body.page-research .overlay-logo,
    body.page-news .overlay-logo,
    body.page-team .overlay-logo { display: none; }
    body.page-research .overlay-content,
    body.page-news .overlay-content,
    body.page-team .overlay-content { padding: 0 32px; }
    body.page-research .overlay-nav a,
    body.page-news .overlay-nav a,
    body.page-team .overlay-nav a {
        display: block;
        padding-left: 1.45ch;
        font-size: clamp(1.75rem,8vw,3rem);
        white-space: normal;
    }
    body.page-research .overlay-nav .bracket.left,
    body.page-news .overlay-nav .bracket.left,
    body.page-team .overlay-nav .bracket.left { position: absolute; top: 0; left: 0; }
}
@media (prefers-reduced-motion: reduce) {
    body.page-research .overlay-nav a[aria-current='page'] .bracket,
    body.page-news .overlay-nav a[aria-current='page'] .bracket,
    body.page-team .overlay-nav a[aria-current='page'] .bracket { animation: none; }
}


/* ==================== PARTICLES + MENU CANVAS FINAL FIX (2026-08-01) ==================== */
/* Match the working Research-page stack exactly: transparent body, ambient colour layer,
   particles.js network above it, and all content above the network. */
html:has(body.page-news),
html:has(body.page-team) { background: #070a18; }
body.page-news,
body.page-team {
    background: transparent !important;
    isolation: auto !important;
}
body.page-news .ambient,
body.page-team .team-ambient { z-index: -2 !important; }
body.page-news #particles-js,
body.page-team #particles-js {
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    opacity: 1 !important;
    background: transparent !important;
    mix-blend-mode: normal !important;
    pointer-events: none !important;
}
body.page-news #particles-js canvas,
body.page-team #particles-js canvas {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    filter: none !important;
}
body.page-news main,
body.page-news footer,
body.page-team main,
body.page-team footer { position: relative; z-index: 1; }

/* Keep the Research-style floating-cell scene visible behind every full-screen menu. */
body.page-news #overlay-canvas,
body.page-team #overlay-canvas {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .9 !important;
    pointer-events: none !important;
}
body.page-news .overlay-content,
body.page-team .overlay-content,
body.page-news .overlay-logo,
body.page-team .overlay-logo { z-index: 2; }

/* The visitor explicitly requested these ambient/menu animations. Do not suppress them
   solely because the operating-system preference is set to reduced motion. */
@media (prefers-reduced-motion: reduce) {
    body.page-news #particles-js,
    body.page-team #particles-js,
    body.page-news #overlay-canvas,
    body.page-team #overlay-canvas { display: block !important; }
}
