﻿        :root {
            --bg-soft: #161616;
            --success: #d7c4ae;
        }

        body.locked {
            overflow: hidden;
        }

        a { color: inherit; }

        main {
            width: min(1240px, 84%);
            margin: 0 auto;
            padding: 6vh 0 14vh;
        }

        .page-shell {
            display: grid;
            grid-template-columns: minmax(280px, 0.9fr) minmax(420px, 1.1fr);
            gap: clamp(28px, 4vw, 56px);
            align-items: start;
        }

        .intro-column {
            max-width: 430px;
        }

        h1 {
            font-family: 'TT Drugs Trial Regular', sans-serif;
            font-size: 2.64rem;
            line-height: 1.08;
            font-weight: 400;
            letter-spacing: 0.05em;
            color: var(--text-heading-soft);
            margin-bottom: 24px;
            max-width: 12rem;
            text-transform: uppercase;
        }

        .intro-copy {
            display: grid;
            gap: 18px;
            font-size: 1.05rem;
            font-weight: 300;
            color: var(--text-body);
        }

        .inline-link {
            color: var(--text-heading);
            text-decoration: none;
            border-bottom: 1px solid rgba(183, 162, 141, 0.35);
            transition: color 0.3s ease, border-color 0.3s ease;
        }

        .inline-link:hover {
            color: #f0e7dd;
            border-color: rgba(183, 162, 141, 0.45);
        }

        .note {
            margin-top: 34px;
            padding-top: 24px;
            border-top: 1px solid var(--border-soft);
            font-size: 0.92rem;
            color: var(--text-heading);
        }

        .sources-panel {
            padding: clamp(28px, 4vw, 40px);
            border: 1px solid var(--border);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0.02));
        }

        .panel-title {
            font-size: 0.68rem;
            text-transform: uppercase;
            letter-spacing: 0.28em;
            color: var(--text-body);
            margin-bottom: 22px;
        }

        .brand-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        .brand-link {
            display: block;
            padding: 16px 18px;
            border: 1px solid var(--border-soft);
            text-decoration: none;
            color: var(--text-heading);
            background: rgba(255, 255, 255, 0.01);
            transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
        }

        .brand-link:hover {
            border-color: rgba(183, 162, 141, 0.5);
            background: rgba(183, 162, 141, 0.06);
            color: #f0e7dd;
        }

        .brand-name {
            display: block;
            font-size: 0.98rem;
            letter-spacing: 0.01em;
        }

        .lock-screen {
            position: fixed;
            inset: 0;
            display: grid;
            place-items: center;
            padding: 24px;
            background: rgba(10, 10, 10, 0.86);
            backdrop-filter: blur(10px);
            z-index: 50;
        }

        .lock-screen.hidden {
            display: none;
        }

        .lock-card {
            width: min(100%, 460px);
            padding: 34px;
            border: 1px solid var(--border-soft);
            background: rgba(18, 18, 18, 0.96);
            text-align: center;
        }

        .lock-overline {
            display: block;
            margin-bottom: 18px;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 0.3em;
            color: var(--text-body);
        }

        .lock-title {
            font-family: 'TT Drugs Trial Regular', sans-serif;
            font-size: 2.64rem;
            line-height: 1.08;
            color: var(--text-heading-soft);
            margin-bottom: 12px;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        .lock-copy {
            font-size: 0.98rem;
            font-weight: 300;
            color: var(--text-body);
            margin-bottom: 24px;
        }

        .lock-form {
            display: grid;
            gap: 14px;
        }

        .lock-form input {
            width: 100%;
            background: transparent;
            border: 1px solid var(--border);
            padding: 14px 16px;
            color: var(--text-heading);
            font-family: 'Karla Local', sans-serif;
            font-size: 0.95rem;
            text-align: center;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            outline: none;
        }

        .lock-form input:focus {
            border-color: var(--accent);
        }

        .lock-form button {
            background: transparent;
            color: var(--text-heading);
            border: 1px solid var(--border-soft);
            padding: 14px 18px;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            font-size: 0.72rem;
            cursor: pointer;
            transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        }

        .lock-form button:hover {
            background: rgba(183, 162, 141, 0.08);
            border-color: rgba(183, 162, 141, 0.45);
            color: #f0e7dd;
        }

        .back-link {
            display: inline-block;
            margin-top: 18px;
            color: var(--text-body);
            text-decoration: none;
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            transition: color 0.3s ease;
        }

        .back-link:hover {
            color: var(--text-heading);
        }

        .error-message {
            min-height: 1.2rem;
            font-size: 0.84rem;
            color: var(--success);
        }

        @media (max-width: 980px) {
            header { display: none; }
            .mobile-header {
                display: grid;
                grid-template-columns: 1fr auto;
                align-items: center;
                gap: 26px;
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                padding: 16px 10%;
                z-index: 20;
                background: linear-gradient(180deg, rgba(10, 10, 10, 0.88), rgba(10, 10, 10, 0.72) 72%, rgba(10, 10, 10, 0.42));
            }
            .mobile-header::after {
                content: "";
                position: absolute;
                left: 10%;
                right: 10%;
                bottom: 0;
                height: 1px;
                background: linear-gradient(
                    90deg,
                    rgba(183, 162, 141, 0),
                    rgba(183, 162, 141, 0.3) 12%,
                    rgba(183, 162, 141, 0.3) 88%,
                    rgba(183, 162, 141, 0)
                );
                pointer-events: none;
            }
            .mobile-logo {
                font-family: 'Playfair Display', serif;
                font-size: 1.2rem;
                letter-spacing: 0.25em;
                text-transform: uppercase;
                font-weight: 500;
                text-decoration: none;
                color: var(--text-heading);
            }
            .mobile-menu-toggle {
                display: inline-flex;
                align-items: center;
                justify-content: flex-end;
                gap: 12px;
                background-color: rgba(18, 16, 14, 0.18);
                background-image:
                    linear-gradient(currentColor, currentColor),
                    linear-gradient(currentColor, currentColor),
                    linear-gradient(currentColor, currentColor);
                background-repeat: no-repeat;
                background-position:
                    14px calc(50% - 4px),
                    14px 50%,
                    14px calc(50% + 4px);
                background-size:
                    12px 1px,
                    12px 1px,
                    12px 1px;
                border: 1px solid rgba(230, 226, 218, 0.12);
                color: var(--text-heading);
                font-family: 'Inter', sans-serif;
                font-size: 0.72rem;
                text-transform: uppercase;
                letter-spacing: 0.2em;
                cursor: pointer;
                min-width: 96px;
                padding: 10px 14px 10px 34px;
                line-height: 1;
                white-space: nowrap;
                transition: opacity 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
            }
            .mobile-menu-toggle:hover {
                opacity: 1;
                border-color: rgba(230, 226, 218, 0.2);
                background-color: rgba(18, 16, 14, 0.28);
            }
            .mobile-nav {
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 18px;
                position: fixed;
                top: 64px;
                left: 10%;
                right: 10%;
                z-index: 21;
                max-height: 0;
                overflow: hidden;
                opacity: 0;
                padding: 0 22px;
                border: 1px solid transparent;
                background: rgba(19, 17, 15, 0.9);
                backdrop-filter: blur(10px);
                transform: translateY(-6px);
                transition: max-height 0.22s ease, opacity 0.18s ease, transform 0.22s ease, padding 0.22s ease, border-color 0.22s ease;
            }
            .mobile-nav.is-open {
                max-height: 380px;
                opacity: 1;
                transform: translateY(0);
                padding: 20px 22px 22px;
                border-color: rgba(230, 226, 218, 0.12);
            }
            .mobile-nav a {
                text-decoration: none;
                color: var(--text-heading);
                font-size: 0.78rem;
                font-weight: 400;
                text-transform: uppercase;
                letter-spacing: 0.19em;
                line-height: 1.2;
                padding: 2px 0;
                opacity: 0;
                transform: translateY(-4px);
                transition: opacity 0.18s ease, transform 0.18s ease, color 0.18s ease;
                margin-left: 0;
            }
            .mobile-nav.is-open a {
                opacity: 1;
                transform: translateY(0);
            }
            .mobile-nav.is-open a:nth-child(1) { transition-delay: 0.04s; }
            .mobile-nav.is-open a:nth-child(2) { transition-delay: 0.08s; }
            .mobile-nav.is-open a:nth-child(3) { transition-delay: 0.12s; }
            .mobile-nav.is-open a:nth-child(4) { transition-delay: 0.16s; }
            .mobile-nav.is-open a:nth-child(5) { transition-delay: 0.2s; }
            .mobile-nav.is-open a:nth-child(6) { transition-delay: 0.24s; }
            main {
                width: min(100% - 36px, 1240px);
                padding-top: calc(6vh + 56px);
            }

            .page-shell {
                grid-template-columns: 1fr;
            }

            h1 {
                font-size: 2rem;
                max-width: none;
            }
            .lock-title {
                font-size: 2rem;
            }
            footer {
                padding: 24px 10% 28px;
                line-height: 1.6;
            }
        }

        @media (max-width: 720px) {
            .mobile-header {
                gap: 22px;
                padding: 12px 10%;
            }
            .mobile-nav { top: 60px; }
            .brand-grid { grid-template-columns: 1fr; }
            .sources-panel,
            .lock-card { padding: 24px; }
        }
