:root {
    --ink-black: hsla(210, 25%, 13%, 1);
    --jet-black: #27333F;
    --charcoal-blue: #323D48;

    --cinnabar: hsla(0, 100%, 61%, 1);
    --blue-bell: hsla(201, 61%, 51%, 1);
    --white: hsla(0, 0%, 99%, 1);
    --platinum: hsla(0, 0%, 94%, 1);
    --blue-1-raw: 89.66% 0.046 260.67;
    --blue-1: oklch(89.66% 0.046 260.67);
    --blue-2-raw: 80.17% 0.091 258.88;
    --blue-2: oklch(80.17% 0.091 258.88);
    --blue-3-raw: 70.94% 0.136 258.06;
    --blue-3: oklch(70.94% 0.136 258.06);
    --blue-4-raw: 62.39% 0.181 258.33;
    --blue-4: oklch(62.39% 0.181 258.33);
    --blue-5-raw: 54.87% 0.222 260.33;
    --blue-5: oklch(54.87% 0.222 260.33);
    --blue-6-raw: 51.15% 0.204 260.17;
    --blue-6: oklch(51.15% 0.204 260.17);
    --blue-7-raw: 47.36% 0.185 259.89;
    --blue-7: oklch(47.36% 0.185 259.89);
    --blue-8-raw: 43.48% 0.17 260.2;
    --blue-8: oklch(43.48% 0.17 260.2);
    --blue-9-raw: 39.53% 0.15 259.87;
    --blue-9: oklch(39.53% 0.15 259.87);
    --gray-1-raw: 95.57% 0.003 286.35;
    --gray-1: oklch(95.57% 0.003 286.35);
    --gray-2-raw: 92.04% 0.002 197.12;
    --gray-2: oklch(92.04% 0.002 197.12);
    --gray-3-raw: 88.28% 0.003 286.34;
    --gray-3: oklch(88.28% 0.003 286.34);
    --gray-4-raw: 84.68% 0.002 197.12;
    --gray-4: oklch(84.68% 0.002 197.12);
    --gray-5-raw: 80.73% 0.002 247.84;
    --gray-5: oklch(80.73% 0.002 247.84);
    --gray-6-raw: 75.03% 0.002 247.85;
    --gray-6: oklch(75.03% 0.002 247.85);
    --gray-7-raw: 69.01% 0.003 286.32;
    --gray-7: oklch(69.01% 0.003 286.32);
    --gray-8-raw: 63.12% 0.004 219.55;
    --gray-8: oklch(63.12% 0.004 219.55);
    --gray-9-raw: 56.82% 0.004 247.89;
    --gray-9: oklch(56.82% 0.004 247.89);
    --green-1-raw: 93.96% 0.05 148.74;
    --green-1: oklch(93.96% 0.05 148.74);
    --green-2-raw: 88.77% 0.096 147.71;
    --green-2: oklch(88.77% 0.096 147.71);
    --green-3-raw: 83.74% 0.139 146.57;
    --green-3: oklch(83.74% 0.139 146.57);
    --green-4-raw: 79.33% 0.179 145.62;
    --green-4: oklch(79.33% 0.179 145.62);
    --green-5-raw: 75.23% 0.209 144.64;
    --green-5: oklch(75.23% 0.209 144.64);
    --green-6-raw: 70.03% 0.194 144.71;
    --green-6: oklch(70.03% 0.194 144.71);
    --green-7-raw: 64.24% 0.175 144.92;
    --green-7: oklch(64.24% 0.175 144.92);
    --green-8-raw: 58.83% 0.158 145.05;
    --green-8: oklch(58.83% 0.158 145.05);
    --green-9-raw: 52.77% 0.138 145.41;
    --green-9: oklch(52.77% 0.138 145.41);
    --orange-1-raw: 93.83% 0.037 56.93;
    --orange-1: oklch(93.83% 0.037 56.93);
    --orange-2-raw: 88.37% 0.072 55.8;
    --orange-2: oklch(88.37% 0.072 55.8);
    --orange-3-raw: 83.56% 0.107 56.49;
    --orange-3: oklch(83.56% 0.107 56.49);
    --orange-4-raw: 78.75% 0.141 54.32;
    --orange-4: oklch(78.75% 0.141 54.32);
    --orange-5-raw: 74.61% 0.171 51.56;
    --orange-5: oklch(74.61% 0.171 51.56);
    --orange-6-raw: 69.33% 0.157 52.18;
    --orange-6: oklch(69.33% 0.157 52.18);
    --orange-7-raw: 63.8% 0.142 52.1;
    --orange-7: oklch(63.8% 0.142 52.1);
    --orange-8-raw: 58.28% 0.128 52.2;
    --orange-8: oklch(58.28% 0.128 52.2);
    --orange-9-raw: 52.49% 0.113 51.98;
    --orange-9: oklch(52.49% 0.113 51.98);
    --pink-1-raw: 95.8% 0.023 354.27;
    --pink-1: oklch(95.8% 0.023 354.27);
    --pink-2-raw: 92.14% 0.046 352.31;
    --pink-2: oklch(92.14% 0.046 352.31);
    --pink-3-raw: 88.9% 0.066 354.39;
    --pink-3: oklch(88.9% 0.066 354.39);
    --pink-4-raw: 85.43% 0.09 354.1;
    --pink-4: oklch(85.43% 0.09 354.1);
    --pink-5-raw: 82.23% 0.112 355.33;
    --pink-5: oklch(82.23% 0.112 355.33);
    --pink-6-raw: 76.37% 0.101 355.37;
    --pink-6: oklch(76.37% 0.101 355.37);
    --pink-7-raw: 70.23% 0.092 354.96;
    --pink-7: oklch(70.23% 0.092 354.96);
    --pink-8-raw: 64.11% 0.084 353.91;
    --pink-8: oklch(64.11% 0.084 353.91);
    --pink-9-raw: 57.68% 0.074 353.14;
    --pink-9: oklch(57.68% 0.074 353.14);
    --purple-1-raw: 89.1% 0.046 305.24;
    --purple-1: oklch(89.1% 0.046 305.24);
    --purple-2-raw: 78.68% 0.091 305;
    --purple-2: oklch(78.68% 0.091 305);
    --purple-3-raw: 68.5% 0.136 303.78;
    --purple-3: oklch(68.5% 0.136 303.78);
    --purple-4-raw: 58.47% 0.181 302.06;
    --purple-4: oklch(58.47% 0.181 302.06);
    --purple-5-raw: 49.39% 0.215 298.31;
    --purple-5: oklch(49.39% 0.215 298.31);
    --purple-6-raw: 46.11% 0.198 298.4;
    --purple-6: oklch(46.11% 0.198 298.4);
    --purple-7-raw: 42.77% 0.181 298.49;
    --purple-7: oklch(42.77% 0.181 298.49);
    --purple-8-raw: 39.46% 0.164 298.29;
    --purple-8: oklch(39.46% 0.164 298.29);
    --purple-9-raw: 36.01% 0.145 298.35;
    --purple-9: oklch(36.01% 0.145 298.35);
    --red-1-raw: 88.98% 0.052 3.28;
    --red-1: oklch(88.98% 0.052 3.28);
    --red-2-raw: 78.78% 0.109 4.54;
    --red-2: oklch(78.78% 0.109 4.54);
    --red-3-raw: 69.86% 0.162 7.82;
    --red-3: oklch(69.86% 0.162 7.82);
    --red-4-raw: 62.73% 0.209 12.37;
    --red-4: oklch(62.73% 0.209 12.37);
    --red-5-raw: 58.63% 0.231 19.6;
    --red-5: oklch(58.63% 0.231 19.6);
    --red-6-raw: 54.41% 0.214 19.06;
    --red-6: oklch(54.41% 0.214 19.06);
    --red-7-raw: 49.95% 0.195 18.34;
    --red-7: oklch(49.95% 0.195 18.34);
    --red-8-raw: 45.8% 0.177 17.7;
    --red-8: oklch(45.8% 0.177 17.7);
    --red-9-raw: 41.17% 0.157 16.58;
    --red-9: oklch(41.17% 0.157 16.58);
    --yellow-1-raw: 97.05% 0.039 91.2;
    --yellow-1: oklch(97.05% 0.039 91.2);
    --yellow-2-raw: 95% 0.07 92.39;
    --yellow-2: oklch(95% 0.07 92.39);
    --yellow-3-raw: 92.76% 0.098 92.58;
    --yellow-3: oklch(92.76% 0.098 92.58);
    --yellow-4-raw: 90.92% 0.125 92.56;
    --yellow-4: oklch(90.92% 0.125 92.56);
    --yellow-5-raw: 89% 0.146 91.5;
    --yellow-5: oklch(89% 0.146 91.5);
    --yellow-6-raw: 82.39% 0.133 91.5;
    --yellow-6: oklch(82.39% 0.133 91.5);
    --yellow-7-raw: 75.84% 0.122 92.21;
    --yellow-7: oklch(75.84% 0.122 92.21);
    --yellow-8-raw: 69.14% 0.109 91.04;
    --yellow-8: oklch(69.14% 0.109 91.04);
    --yellow-9-raw: 62.29% 0.097 91.9;
    --yellow-9: oklch(62.29% 0.097 91.9);

    /* Colors */
    --c-bg: var(--white);
    --c-surface: var(--ink-black);
    --c-surface2: #485868;
    --c-border: #252a35;
    --c-border2: #2f3647;
    --c-text: var(--ink-black);
    --c-text-muted: var(--jet-black);
    --c-text-dim: var(--charcoal-blue);

    --c-accent: var(--cinnabar);
    --c-accent-border: var(--blue-bell);

    /* Gold tier */
    --c-gold: #a3850e;

    /* Silver tier */
    --c-silver: #7c7b79;

    /* Typography */
    --f-display: 'Inter', sans-serif;
    --f-body: 'Inter', sans-serif;
    --f-mono: 'Inter', monospace;

    /* Spacing */
    --sp-xs: 0.5rem;
    --sp-sm: 0.875rem;
    --sp-md: 1.5rem;
    --sp-lg: 2.5rem;
    --sp-xl: 4rem;
    --sp-2xl: 6rem;
    --sp-3xl: 9rem;

    /* Radii */
    --r-sm: 6px;
    --r-md: 12px;
    --r-lg: 20px;

    /* Shadows */
    --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.5), 0 8px 24px rgba(0, 0, 0, 0.3);
    --shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.6), 0 0 0 1px var(--c-border2);

    /* Transitions */
    --ease: cubic-bezier(0.16, 1, 0.3, 1);
    --t-fast: 0.18s;
    --t-med: 0.3s;
}

/* ─── RESET ───────────────────────────────────────────── */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--f-body);
    background: var(--c-bg);
    color: var(--c-text);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    cursor: pointer;
    border: none;
    background: none;
    font: inherit;
    color: inherit;
}

/* ─── LAYOUT ──────────────────────────────────────────── */
.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 5vw, 3rem);
}

.section {
    padding: var(--sp-xl) 0;
}

.section:nth-child(even) {
    background: var(--platinum);
}

/* ─── TYPOGRAPHY ──────────────────────────────────────── */
.section-label {
    display: inline-block;
    font-family: var(--f-mono);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-accent);
    border: 1px solid var(--c-accent-border);
    background: var(--cinnabar);
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
}

.section-header {
    margin-bottom: var(--sp-xl);
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.section-title {
    font-family: var(--f-display);
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: var(--c-text);
}

/* ─── BUTTONS ─────────────────────────────────────────── */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--f-display);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    padding: 0.75rem 1.75rem;
    border-radius: var(--r-sm);
    transition: all var(--t-fast) var(--ease);
    white-space: nowrap;
}

.btn--primary {
    background: var(--c-accent);
    color: var(--platinum);
}

.btn--primary:hover {
    background: var(--red-6);
    transform: translateY(-1px);
    box-shadow: 0 0 24px var(--purple-8);
}

.btn--ghost {
    border: 1.5px solid var(--c-border2);
    color: var(--c-text-muted);
}

.btn--ghost:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
    background: var(--cinnabar);
}

/* ─── NAV ─────────────────────────────────────────────── */
.nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    border-bottom: 1px solid transparent;
    transition: background var(--t-med), border-color var(--t-med), backdrop-filter var(--t-med);
}

.nav.scrolled {
    background: var(--gray-1);
    backdrop-filter: blur(20px) saturate(1.5);
    -webkit-backdrop-filter: blur(20px) saturate(1.5);
    border-bottom-color: var(--c-border);
}

.nav__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 5vw, 3rem);
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.nav__logo {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    flex-shrink: 0;
}

.nav__logo-year {
    font-family: var(--f-display);
    font-size: 1.2rem;
    color: var(--c-accent);
    letter-spacing: 0.05em;
}

.nav__logo-text {
    font-family: var(--f-display);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--c-text);
}

.nav__links {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    overflow-x: auto;
    scrollbar-width: none;
}

.nav__links::-webkit-scrollbar {
    display: none;
}

.nav__link {
    font-family: var(--f-body);
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--c-text-muted);
    padding: 0.4rem 0.65rem;
    border-radius: var(--r-sm);
    transition: color var(--t-fast), background var(--t-fast);
    white-space: nowrap;
}

.nav__link:hover,
.nav__link.active {
    color: var(--c-bg);
    background: var(--cinnabar);
}

.nav__burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: 0.5rem;
}

.nav__burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--c-text-muted);
    border-radius: 2px;
    transition: all var(--t-fast);
}

/* ─── HERO ────────────────────────────────────────────── */
.hero {
    position: relative;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding-top: 64px;
}

.hero__grid-bg {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(0, 212, 180, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 180, 0.04) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black, transparent);
    pointer-events: none;
}

.hero::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(0, 212, 180, 0.07) 0%, transparent 65%);
    pointer-events: none;
}

.hero__inner {
    position: relative;
    min-width: 0px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 5vw, 3rem);
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-family: var(--f-mono);
    font-size: 0.78rem;
    color: var(--c-text-dim);
    letter-spacing: 0.08em;
    animation: fadeUp 0.8s var(--ease) 0.1s both;
}

.hero__badge {
    background: var(--cinnabar);
    border: 1px solid var(--c-accent-border);
    color: var(--c-accent);
    padding: 0.25rem 0.875rem;
    border-radius: 999px;
    font-size: 0.72rem;
}

.hero__dot {
    color: var(--c-border2);
}

.hero__title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem 1.25rem;
    animation: fadeUp 0.8s var(--ease) 0.2s both;
}

.hero__title-line {
    font-family: var(--f-display);
    font-size: clamp(5rem, 15vw, 11rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 0.9;
    color: var(--c-text);
}

.hero__title-line--accent {
    color: var(--c-accent);
    -webkit-text-stroke: 2px var(--c-accent);
}

.hero__title-year {
    font-family: var(--f-mono);
    font-size: clamp(1rem, 3vw, 2rem);
    font-weight: 400;
    color: var(--c-text-dim);
    align-self: flex-end;
    padding-bottom: 0.6em;
    letter-spacing: 0.05em;
}

.hero__sub {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: var(--c-surface);
    max-width: 800px;
    line-height: 1.6;
    animation: fadeUp 0.8s var(--ease) 0.3s both;
}

.hero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    animation: fadeUp 0.8s var(--ease) 0.4s both;
}

.hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    overflow: hidden;
    width: fit-content;
    animation: fadeUp 0.8s var(--ease) 0.5s both;
}

.hero__meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.875rem 1.5rem;
}

.hero__meta-label {
    font-family: var(--f-mono);
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-text-dim);
}

.hero__meta-value {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--c-text);
}

.hero__meta-sep {
    width: 1px;
    height: 44px;
    background: var(--c-border);
    align-self: center;
}

.hero__scroll-hint {
    position: absolute;
    bottom: 2.5rem;
    right: clamp(1.25rem, 5vw, 3rem);
    display: flex;
    align-items: center;
    gap: 0.875rem;
    font-family: var(--f-mono);
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-text-dim);
    animation: fadeUp 0.8s var(--ease) 0.8s both;
}

.hero__scroll-dot {
    animation: scrollPulse 2s ease-in-out infinite;
}


/* ─── SPONSORS ────────────────────────────────────────── */
.sponsors__tier {
    margin-bottom: var(--sp-xl);
}

.sponsors__tier:last-child {
    margin-bottom: 0;
}

.sponsors__tier-label {
    margin-bottom: 1.5rem;
}

.tier-badge {
    font-family: var(--f-mono);
    font-size: 1.4rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 0.3rem 0.875rem;
    border-radius: 999px;
}

.tier-badge--gold {
    background: var(--c-gold);
    color: var(--white);
}

.tier-badge--silver {
    background: var(--c-silver);
    color: var(--white);
}

.sponsors__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

.sponsor-card {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--platinum);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    padding: 1.5rem 2rem;
    transition: all var(--t-fast) var(--ease);
    min-width: 160px;
    min-height: 80px;
}

.sponsor-card img {
    max-height: 50px;
    max-width: 160px;
    object-fit: contain;
    transition: all var(--t-fast) var(--ease);
}

.sponsor-card:hover {
    border-color: var(--c-border2);
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
}

.sponsor-card:hover img {
    filter: brightness(1) saturate(1);
    transform: scale(1.12);
    transition: all var(--t-med) var(--ease);
}

.sponsor-card--gold {
    min-width: 200px;
    min-height: 100px;
}

.sponsor-card--gold img {
    max-height: 60px;
    max-width: 200px;
}

/* ─── PROJECTS ────────────────────────────────────────── */
.projects__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.25rem;
}

.project-card {
    background: var(--white);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: all var(--t-med) var(--ease);
    display: flex;
    flex-direction: column;
}

.project-card:hover {
    border-color: var(--c-border2);
    transform: translateY(-3px);
    box-shadow: var(--shadow-card);
}

.project-card__thumb {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.project-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--t-med) var(--ease);
}

.project-card:hover .project-card__thumb img {
    transform: scale(1.04);
}

.project-card__thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-surface2) 0%, #1e2535 100%);
    font-family: var(--f-display);
    font-size: 4rem;
    font-weight: 800;
    color: var(--c-border2);
}

.project-card__award {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    background: rgba(10, 11, 13, 0.9);
    border: 1px solid rgba(245, 200, 66, 0.3);
    color: var(--c-gold);
    font-size: 0.65rem;
    font-family: var(--f-mono);
    letter-spacing: 0.05em;
    padding: 0.25rem 0.625rem;
    border-radius: 999px;
}

.project-card__body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    flex: 1;
}

.project-card__num {
    font-family: var(--f-mono);
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-text-dim);
}

.project-card__title {
    font-family: var(--f-display);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--c-text);
    letter-spacing: -0.02em;
}

.project-card__desc {
    font-size: 0.875rem;
    color: var(--c-text-muted);
    line-height: 1.6;
    flex: 1;
}

.project-card__meta {
    padding-top: 0.25rem;
    /* border-top: 1px solid var(--c-border); */
}

.project-card__supervisor {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    color: var(--c-text-dim);
}

.project-card__team {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.project-card__member {
    font-size: 0.72rem;
    background: var(--platinum);
    border: 1px solid var(--c-border);
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    color: var(--ink-black);
}

.project-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.project-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-family: var(--f-mono);
    color: var(--jet-black);
    border: 1px solid var(--c-accent-border);
    padding: 0.3rem 0.75rem;
    border-radius: var(--r-sm);
    transition: all var(--t-fast);
}

.project-link:hover {
    background: var(--blue-bell);
    color: var(--white);
}

/* ─── JURY ────────────────────────────────────────────── */
.jury__criteria-intro {
    color: var(--c-text-muted);
    margin-bottom: 1rem;
}

.jury__criteria {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: var(--sp-xl);
}

.criteria-pill {
    font-family: var(--f-mono);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid var(--c-border2);
    padding: 0.4rem 1rem;
    border-radius: 999px;
    color: var(--c-text-muted);
}

.jury__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1px;
    background: var(--white);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    overflow: hidden;
}

.jury-card {
    background: var(--platinum);
    padding: 1.5rem;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    transition: background var(--t-fast);
}

.jury-card:hover {
    background: var(--white);
}

.jury-card__photo-wrap {
    flex-shrink: 0;
}

.jury-card__photo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--c-border);
}

.jury-card__photo--placeholder {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--c-surface2);
    border: 2px solid var(--c-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--f-display);
    font-weight: 700;
    color: var(--c-text-dim);
}

.jury-card__body {
    flex: 1;
    min-width: 0;
}

.jury-card__company {
    font-family: var(--f-mono);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-accent);
    margin-bottom: 0.2rem;
}

.jury-card__name {
    font-family: var(--f-display);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--c-text);
    letter-spacing: -0.01em;
}

.jury-card__role {
    font-size: 0.78rem;
    color: var(--c-text-muted);
    margin-top: 0.15rem;
    margin-bottom: 0.5rem;
}

.jury-card__bio {
    font-size: 0.78rem;
    color: var(--c-text-dim);
    line-height: 1.55;
}

/* ─── AGENDA ──────────────────────────────────────────── */
.agenda__layout {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: var(--sp-xl);
    align-items: start;
}

.agenda__date-block {
    background: var(--white);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    padding: 2rem 1.5rem;
    position: sticky;
    top: 80px;
}

.agenda__date-month {
    font-family: var(--f-mono);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-text-dim);
    margin-bottom: 0.25rem;
}

.agenda__date-year {
    font-family: var(--f-display);
    font-size: 3rem;
    font-weight: 800;
    color: var(--c-accent);
    line-height: 1;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
}

.agenda__date-loc {
    font-size: 0.82rem;
    color: var(--c-text-muted);
    line-height: 1.5;
}

.agenda__timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    overflow: hidden;
}

.agenda__item {
    display: grid;
    grid-template-columns: 160px 24px 1fr;
    align-items: center;
    gap: 1.5rem;
    padding: 2rem;
    background: var(--white);
    border-bottom: 1px solid var(--c-border);
    transition: background var(--t-fast);
}

.agenda__item:last-child {
    border-bottom: none;
}

.agenda__item:hover {
    background: var(--platinum);
}

.agenda__item-time {
    font-family: var(--f-mono);
    font-size: 0.82rem;
    color: var(--c-text-dim);
    letter-spacing: 0.05em;
}

.agenda__item-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--c-accent);
    box-shadow: 0 0 12px var(--c-accent);
}

.agenda__item-label {
    font-family: var(--f-display);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--c-text);
    letter-spacing: -0.02em;
}

/* ─── AWARDS ──────────────────────────────────────────── */
.awards__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.25rem;
}

.award-card {
    /* background: linear-gradient(135deg, var(--white) 0%, rgba(245, 200, 66, 0.04) 100%); */
    border: 1px solid rgba(245, 200, 66, 0.2);
    border-radius: var(--r-lg);
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    transition: all var(--t-fast) var(--ease);
}

.award-card:hover {
    border-color: rgba(245, 200, 66, 0.4);
    transform: translateY(-2px);
    box-shadow: 0 0 30px rgba(245, 200, 66, 0.08);
}

.award-card__trophy {
    font-size: 2rem;
}

.award-card__award-name {
    font-family: var(--f-mono);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-gold);
}

.award-card__project {
    font-family: var(--f-display);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--c-text);
    letter-spacing: -0.02em;
}

.award-card__team {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.82rem;
    color: var(--c-text-muted);
}

.award-card__supervisor {
    font-family: var(--f-mono);
    font-size: 0.68rem;
    color: var(--c-text-dim);
    letter-spacing: 0.05em;
    margin-top: 0.5rem;
}

.awards__tbd {
    color: var(--c-text-muted);
    font-style: italic;
}

/* ─── SUPERVISORS ─────────────────────────────────────── */
.supervisors__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1rem;
}

.supervisor-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
}

.supervisor-card__photo {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--c-border);
    transition: border-color var(--t-fast);
}

.supervisor-card__photo--placeholder {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--c-surface2);
    border: 2px solid var(--c-border);
}

.supervisor-card:hover .supervisor-card__photo {
    border-color: var(--c-accent);
}

.supervisor-card__name {
    font-size: 0.78rem;
    color: var(--c-text-muted);
    line-height: 1.4;
}

/* ─── LOCATION ────────────────────────────────────────── */
.location__layout {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: var(--sp-xl);
    align-items: center;
}

.location__venue {
    font-family: var(--f-display);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--c-text);
    margin-bottom: 0.625rem;
}

.location__address {
    font-size: 0.9rem;
    color: var(--c-text-muted);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.location__map-embed {
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    overflow: hidden;
}

/* ─── TEAM ────────────────────────────────────────────── */
.team__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 1.5rem;
}

.team-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
}

.team-card__photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--c-border);
}

.team-card__photo--placeholder {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--c-surface2);
    border: 2px solid var(--c-border);
}

.team-card__name {
    font-family: var(--f-display);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--c-text);
}

.team-card__role {
    font-size: 0.75rem;
    color: var(--c-text-dim);
}

/* ─── CONTACT ─────────────────────────────────────────── */
.contact {
    background: linear-gradient(135deg, var(--white) 0%, var(--gray-2) 100%);
}

.contact__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
    max-width: 560px;
    margin: 0 auto;
}

.contact__title {
    font-family: var(--f-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 800;
    color: var(--c-text);
    letter-spacing: -0.04em;
    line-height: 1;
}

.contact__sub {
    color: var(--c-text-muted);
}

/* ─── FOOTER ──────────────────────────────────────────── */
.footer {
    background: var(--gray-3);
    border-top: 1px solid var(--c-border);
    padding: var(--sp-xl) 0 var(--sp-lg);
}

.footer__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--sp-xl);
    flex-wrap: wrap;
    margin-bottom: var(--sp-lg);
}

.footer__brand {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.footer__title {
    font-family: var(--f-display);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--c-text);
}

.footer__dept,
.footer__univ {
    font-size: 0.82rem;
    color: var(--c-text-dim);
}

.footer__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
}

.footer__link {
    font-size: 0.8rem;
    color: var(--c-text-dim);
    padding: 0.25rem 0.5rem;
    border-radius: var(--r-sm);
    transition: color var(--t-fast);
}

.footer__link:hover {
    color: var(--c-text-muted);
}

.footer__bottom {
    border-top: 1px solid var(--c-border);
    padding-top: 1.25rem;
    font-size: 0.75rem;
    color: var(--c-text-dim);
}

/* ─── ANIMATIONS ──────────────────────────────────────── */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scrollPulse {

    0%,
    100% {
        transform: translateY(0);
        opacity: 1;
    }

    50% {
        transform: translateY(8px);
        opacity: 0.4;
    }
}

/* ─── RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 900px) {
    .agenda__layout {
        grid-template-columns: 1fr;
    }

    .agenda__date-block {
        position: static;
    }

    .location__layout {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 900px) {

    .hero__inner {
        width: 1200px;
    }

}

@media (max-width: 700px) {
    .nav__links {
        display: none;
    }

    .nav__links.open {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 64px;
        left: 0;
        right: 0;
        background: rgba(245, 245, 245, 0.97);
        backdrop-filter: blur(20px);
        padding: 1.5rem;
        border-bottom: 1px solid var(--c-border);
        gap: 0.25rem;
    }

    .nav__burger {
        display: flex;
    }

    .hero__title-line {
        font-size: clamp(4rem, 20vw, 7rem);
    }

    .hero__meta {
        flex-direction: column;
        width: 100%;
    }

    .hero__meta-sep {
        width: 100%;
        height: 1px;
    }

    .agenda__item {
        grid-template-columns: 120px 20px 1fr;
        gap: 1rem;
    }

    .section {
        padding: var(--sp-xl) 0;
    }

    .jury__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .projects__grid {
        grid-template-columns: 1fr;
    }

    .awards__grid {
        grid-template-columns: 1fr;
    }
}

/* ─── PRINT ───────────────────────────────────────────── */
@media print {

    .nav,
    .hero__scroll-hint {
        display: none;
    }

    .section {
        padding: 2rem 0;
    }
}
