:root {

    --ink: #21162f;

    --purple-950: #241633;

    --purple-900: #35224a;

    --purple-800: #4b3064;

    --purple-700: #68437f;

    --purple-500: #916da6;

    --lavender: #ddd4e6;

    --lavender-light: #f3eff6;

    --orange: #F77600;

    --orange-soft: #f8c99f;

    --orange-dark: #c86629;

    --orange-text: #f96921;

    --cream: #fffaf3;

    --white: #fff;

    --muted: #655c6d;

    --border: rgba(53, 34, 74, .14);

    --shadow: 0 24px 70px rgba(33, 22, 47, .13);

    --radius: 28px;

    --container: 1230px;

}



*,

*::before,

*::after {

    box-sizing: border-box;

}



html {

    width: 100%;

    max-width: 100%;

    overflow-x: hidden;

    scroll-behavior: smooth;

    scroll-padding-top: 110px;

    -webkit-text-size-adjust: 100%;

    text-size-adjust: 100%;

}



body {

    width: 100%;

    max-width: 100%;

    min-width: 0;

    margin: 0;

    color: var(--ink);

    background: var(--white);

    font-family: "Roboto", Arial, sans-serif;

    font-size: 18px;

    line-height: 1.7;

    text-rendering: optimizeLegibility;

    -webkit-font-smoothing: antialiased;

    overflow-x: hidden;

}



main,

main>section {

    width: 100%;

    max-width: 100%;

    min-width: 0;

}



body.menu-open {

    overflow: hidden;

}



img {

    max-width: 65%;

    display: block;

}



a {

    color: inherit;

    text-underline-offset: .18em;

    text-decoration-thickness: .08em;

}



button,

input,

select,

textarea {

    font: inherit;

}



.container {

    width: min(calc(100% - 40px), var(--container));

    margin-inline: auto;

}



.container-wide {

    width: min(calc(100% - 40px), 1680px);

    margin-inline: auto;

}



.section {

    position: relative;

    padding: 110px 0;

}



.section-soft {

    background: var(--lavender-light);

}



.section-dark {

    color: var(--white);

    background: var(--purple-950);

}



.section-purple {

    color: var(--white);

    background: var(--purple-800);

}



.section-orange {

    background: var(--orange-soft);

}



.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;

}



.skip-link {

    position: fixed;

    left: 20px;

    top: -80px;

    z-index: 9999;

    padding: 12px 18px;

    color: var(--purple-950);

    background: #fff;

    border: 3px solid var(--orange-text);

    border-radius: 8px;

    font-weight: 800;

    text-decoration: none;

}



.skip-link:focus {

    top: 20px;

}



:focus-visible {

    outline: 3px solid #ffb45f;

    outline-offset: 4px;

}



.section-soft :focus-visible,

.intro :focus-visible,

.innovation :focus-visible,

.eligibility :focus-visible,

.criteria :focus-visible,

.process :focus-visible,

.apply :focus-visible {

    outline-color: var(--purple-800);

}



h1,

h2,

h3,

p {

    margin-top: 0;

}



h1,

h2 {

    font-family: "Anton", Impact, sans-serif;

    font-weight: 400;

    letter-spacing: .05em;
    line-height: 1.1;

}



h2 {

    font-size: clamp(3rem, 5.6vw, 5.6rem);

    margin-bottom: 28px;

}



h3 {

    line-height: 1.3;

}



.eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 18px;

    color: var(--orange-text);

    font-size: .8125rem;

    font-weight: 900;

    letter-spacing: .12em;

    line-height: 1.45;

    text-transform: uppercase;

}



.eyebrow::before {

    content: "";

    width: 28px;

    height: 3px;

    background: currentColor;

}



.eyebrow.light {

    color: #ffc48b;

}



.eyebrow.dark {

    color: var(--purple-950);

}



.section-heading>p:not(.eyebrow) {

    max-width: 68ch;

    font-size: 1.1rem;

}



.section-heading.centered {

    max-width: 900px;

    margin: 0 auto 56px;

    text-align: center;

}



.section-heading.centered .eyebrow {

    justify-content: center;

}



.section-heading.centered>p:not(.eyebrow) {

    margin-inline: auto;

}



.section-heading.narrow {

    max-width: 880px;

}



.prose {

    max-width: 72ch;

}



.prose p {

    margin-bottom: 22px;

}



.prose .lead {

    font-size: 1.3rem;

    line-height: 1.55;

}



.split-grid {

    display: grid;

    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);

    gap: 90px;

}



.align-center {

    align-items: center;

}



.feature-grid {

    display: grid;

    grid-template-columns: 1.1fr .9fr;

    gap: 80px;

}



.split-grid>*,

.feature-grid>*,

.hero-grid>*,

.apply-grid>* {

    min-width: 0;

}



.site-header {

    position: fixed;

    z-index: 1000;

    top: 0;

    right: 0;

    left: 0;

    width: 100%;

    max-width: 100%;

    padding: 22px 0;

    transition: .3s ease;

}



.site-header.is-scrolled {

    padding: 12px 0;

}



.nav-shell {

    min-height: 76px;

    padding: 10px 16px 10px 24px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    background: rgba(255, 255, 255, .88);

    border: 1px solid rgba(255, 255, 255, .62);

    border-radius: 999px;

    box-shadow: 0 12px 45px rgba(24, 12, 38, .14);

    backdrop-filter: blur(16px);

}



.brand {

    display: inline-flex;

    align-items: center;

    flex: 0 1 auto;

    min-width: 0;

    gap: 12px;

    color: var(--purple-900);

    text-decoration: none;

}



.brand-symbol {

    width: 48px;

    height: 48px;

    display: grid;

    place-items: center;

    flex: 0 0 48px;

    color: var(--white);

    background: var(--orange);

    border-radius: 50%;

    font-family: "Anton", Impact, sans-serif;

    font-size: 1.08rem;

    letter-spacing: -.025em;

}



.brand-copy {

    display: flex;

    align-items: center;

    flex-direction: column;

    line-height: 1.05;

}



.brand-copy strong {

    font-family: "Anton", Impact, sans-serif;

    font-size: 1rem;

    font-weight: 400;

    letter-spacing: .04em;

    white-space: nowrap;

}



.brand-copy small {

    display: block;

    width: 100%;

    margin-top: 4px;

    padding-left: .55em;

    color: var(--orange);

    font-family: "Anton", Impact, sans-serif;

    font-size: .88rem;

    font-weight: 400;

    letter-spacing: .55em;

    line-height: 1;

    text-align: center;

}



.primary-nav {

    display: flex;

    align-items: center;

    gap: 30px;

}



.primary-nav a {

    position: relative;

    min-height: 44px;

    padding: 12px 0;

    display: inline-flex;

    align-items: center;

    font-size: .875rem;

    font-weight: 800;

    letter-spacing: .045em;

    text-decoration: none;

    text-transform: uppercase;

}



.primary-nav a:not(.nav-cta)::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -8px;

    width: 0;

    height: 2px;

    background: var(--orange);

    transition: width .25s ease;

}



.primary-nav a:hover::after,

.primary-nav a:focus-visible::after {

    width: 100%;

}



.primary-nav .nav-cta {

    padding: 12px 24px;

    color: var(--white);

    background: var(--purple-900);

    border-radius: 999px;

}



.nav-toggle {

    display: none;

    width: 48px;

    height: 48px;

    min-width: 48px;

    min-height: 48px;

    padding: 12px;

    border: 0;

    color: var(--purple-900);

    background: transparent;

    cursor: pointer;

}



.nav-toggle-icon {

    width: 24px;

    height: 20px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    flex: 0 0 auto;

}



.nav-toggle-icon>span {

    display: block;

    width: 24px;

    height: 3px;

    background: currentColor;

    border-radius: 999px;

    transition: transform .25s ease, opacity .25s ease;

}



.hero {

    position: relative;

    width: 100%;

    max-width: 100%;

    min-height: 930px;

    padding: 180px 0 95px;

    display: flex;

    align-items: center;

    color: var(--white);

    background:

        radial-gradient(circle at 50% 28%, rgba(245, 138, 42, .28), transparent 31%),

        linear-gradient(135deg, #72558a 0%, var(--purple-900) 58%, #281736 100%);

    overflow: hidden;

}



.hero::before {

    content: "";

    position: absolute;

    inset: 0;

    opacity: .22;

    background-image: linear-gradient(135deg, transparent 47%, rgba(255, 255, 255, .16) 47% 49%, transparent 49%);

    background-size: 42px 42px;

}



.hero-grid {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 1.08fr .92fr;

    align-items: center;

    gap: 60px;

}



.hero h1 {

    max-width: 760px;

    margin-bottom: 28px;

    font-size: clamp(4.4rem, 4.6vw, 8.8rem);

    overflow-wrap: normal;

}



.hero h1 em {

    display: block;

    color: var(--orange);

    font-style: normal;

}



.hero-lead {

    max-width: 690px;

    margin-bottom: 34px;

    font-size: 1.2rem;

    line-height: 1.65;

}



.button-row {

    display: flex;

    flex-wrap: wrap;

    gap: 14px;

}



.btn {

    min-height: 56px;

    padding: 15px 28px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border: 2px solid transparent;

    border-radius: 999px;

    font-weight: 900;

    line-height: 1.2;

    text-decoration: none;

    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;

}



.btn:focus-visible {

    outline-color: #fff;

    box-shadow: 0 0 0 6px rgba(255, 180, 95, .32);

}



.btn:hover {

    transform: translateY(-3px);

}



.btn-light {

    color: var(--purple-900);

    background: var(--white);

    box-shadow: 0 16px 34px rgba(23, 13, 34, .2);

}



.btn-outline-light {

    color: var(--white);

    border-color: rgba(255, 255, 255, .72);

}



.btn-orange {

    color: var(--purple-950);

    background: var(--orange);

}



.btn-disabled {

    color: #8b8490;

    background: #e7e2e9;

    cursor: not-allowed;

}



.btn-disabled:hover {

    transform: none;

}



.hero-art {

    position: relative;

    min-height: 540px;

}



.hero-badge {

    position: absolute;

    z-index: 3;

    left: 50%;

    top: 50%;

    width: 290px;

    height: 290px;

    transform: translate(-50%, -50%) rotate(-6deg);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    color: var(--purple-950);

    background: var(--orange);

    border-radius: 50%;

    box-shadow: 0 35px 70px rgba(18, 10, 28, .3);

}



.hero-badge small {

    font-size: .8125rem;

    font-weight: 900;

    letter-spacing: .12em;

}



.hero-badge strong {

    font-family: "Anton";

    font-size: 4.3rem;

    line-height: 1;

}



.hero-badge span {

    font-size: 1.3rem;

    font-weight: 900;

    letter-spacing: .3em;

}



.orbit {

    position: absolute;

    border: 2px solid rgba(255, 255, 255, .28);

    border-radius: 50%;

}



.orbit-one {

    inset: 15px;

}



.orbit-two {

    inset: 85px;

}



.idea-card {

    position: absolute;

    z-index: 4;

    width: 150px;

    height: 115px;

    padding: 18px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    color: var(--purple-950);

    background: rgba(255, 255, 255, .92);

    border-radius: 22px;

    box-shadow: var(--shadow);

    transform: rotate(var(--rotation));

    justify-content: center;
    align-items: center;

}



.idea-card span {

    font-size: .75rem;

    font-weight: 900;

    letter-spacing: .09em;

}



.idea-card strong {

    color: var(--orange-text);

    font-family: "Anton";

    font-size: 2rem;

}



.card-a {

    --rotation: -8deg;

    left: 0;

    top: 70px;

}



.card-b {

    --rotation: 8deg;

    right: 0;

    top: 90px;

}



.card-c {

    --rotation: 5deg;

    right: 35px;

    bottom: 45px;

}



.hero-shape {

    position: absolute;

    border-radius: 50%;

    filter: blur(1px);

}



.hero-shape-one {

    width: 440px;

    height: 440px;

    left: -240px;

    bottom: -90px;

    border: 90px solid rgba(245, 138, 42, .15);

}



.hero-shape-two {

    width: 320px;

    height: 320px;

    right: -120px;

    top: 120px;

    background: rgba(143, 105, 163, .17);

}



.scroll-cue {

    position: absolute;

    z-index: 4;

    left: 50%;

    bottom: 28px;

    width: 28px;

    height: 44px;

    transform: translateX(-50%);

    border: 2px solid rgba(255, 255, 255, .65);

    border-radius: 20px;

}



.scroll-cue span {

    position: absolute;

    left: 50%;

    top: 9px;

    width: 5px;

    height: 5px;

    transform: translateX(-50%);

    background: white;

    border-radius: 50%;

    animation: scroll 1.7s infinite;

}



@keyframes scroll {

    0% {

        opacity: 0;

        transform: translate(-50%, 0);

    }



    40% {

        opacity: 1;

    }



    100% {

        opacity: 0;

        transform: translate(-50%, 15px);

    }

}



.intro .split-grid,

.about-care .feature-grid {

    align-items: center;

}



.intro .section-heading {

    position: sticky;

    top: 140px;

    align-self: center;

}



.intro .prose,

.about-care .prose {

    max-width: 64ch;

    font-size: 1.125rem;

    line-height: 1.75;

}



.intro .prose p,

.about-care .prose p {

    margin-bottom: 24px;

}



.intro .prose .lead {

    font-size: 1.4rem;

    line-height: 1.55;

}



.care-panel {

    padding: 55px;

    color: var(--white);

    background: var(--purple-800);

    border-radius: var(--radius);

    box-shadow: var(--shadow);

}



.care-panel h2 {

    font-size: clamp(2.6rem, 4.4vw, 4.4rem);

}



.text-link {

    display: inline-flex;

    gap: 9px;

    padding: 4px 0 5px;

    border-bottom: 2px solid currentColor;

    color: var(--orange-text);

    font-weight: 900;

    text-decoration: none;

}



.text-link span {

    transition: transform .2s ease;

}



.text-link:hover span {

    transform: translate(3px, -3px);

}



.gca-explainer {

    overflow: hidden;

}



.gca-explainer::after {

    content: "GCA";

    position: absolute;

    right: -15px;

    top: 25px;

    color: rgba(255, 255, 255, .035);

    font-family: "Anton";

    font-size: 25vw;

    line-height: 1;

}



.gca-explainer .container {

    position: relative;

    z-index: 2;

}



.stat-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;

}



.stat-card {

    min-height: 260px;

    padding: 30px;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    background: rgba(255, 255, 255, .08);

    border: 1px solid rgba(255, 255, 255, .12);

    border-radius: 24px;

}



.stat-card strong {

    margin-bottom: 18px;

    color: var(--orange);

    font-family: "Anton";

    font-size: clamp(3rem, 5vw, 5rem);

    line-height: 1;

}



.stat-card span {

    font-size: 1rem;

    font-weight: 700;

    line-height: 1.55;

}



.center-action {

    margin-top: 42px;

    text-align: center;

}



.university-visual {

    min-height: 520px;

    position: relative;

    display: grid;

    place-items: center;

}



.lab-circle {

    width: 390px;

    height: 390px;

    display: grid;

    place-items: center;

    position: relative;

    border: 70px solid var(--lavender);

    border-radius: 50%;

}



.lab-circle::after {

    content: "";

    position: absolute;

    width: 170px;

    height: 170px;

    background: var(--orange);

    border-radius: 28% 72% 64% 36% / 35% 31% 69% 65%;

    transform: rotate(25deg);

}



.lab-circle span {

    position: absolute;

    z-index: 2;

    padding: 9px 15px;

    color: var(--white);

    background: var(--purple-900);

    border-radius: 999px;

    font-size: .8125rem;

    font-weight: 900;

    letter-spacing: .1em;

}



.lab-circle span:nth-child(1) {

    left: -50px;

    top: 70px;

}



.lab-circle span:nth-child(2) {

    right: -40px;

    top: 145px;

}



.lab-circle span:nth-child(3) {

    bottom: 35px;

    left: 20px;

}









/* ========================================
   University journey section
======================================== */

.universities-modern {
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

.universities-modern::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;

    width: 430px;
    height: 430px;

    background: #f2ebff;
    border-radius: 50%;
    opacity: 0.45;
}

.universities-modern::after {
    content: "";
    position: absolute;
    left: -140px;
    bottom: -190px;

    width: 380px;
    height: 380px;

    background: #e5f7ee;
    border-radius: 50%;
    opacity: 0.42;
}

.university-modern-grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(390px, 0.75fr);
    gap: clamp(50px, 6vw, 95px);
    align-items: center;
}

/* ========================================
   Platform, Idea, Impact
======================================== */

.university-journey {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        42px
        minmax(0, 1fr)
        42px
        minmax(0, 1fr);

    gap: 10px;
    align-items: start;
}

.journey-item {
    min-width: 0;
    text-align: center;
}

.journey-image {
    position: relative;

    width: 100%;
    max-width: 220px;
    aspect-ratio: 1 / 1;
    margin: 0 auto 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.journey-image::before {
    content: "";
    position: absolute;
    inset: 13px;

    border: 1px solid rgba(53, 34, 74, 0.08);
    border-radius: 50%;
}

.journey-image img {
    position: relative;
    z-index: 2;

    display: block;
    width: 88%;
    height: 88%;
    object-fit: contain;
}

/* Light image backgrounds */
.journey-platform {
    background: linear-gradient(145deg, #f4effc, #e7dcf4);
    box-shadow: 0 18px 38px rgba(91, 55, 117, 0.13);
}

.journey-idea {
    background: linear-gradient(145deg, #fff6e8, #ffead0);
    box-shadow: 0 18px 38px rgba(220, 128, 36, 0.13);
}

.journey-impact {
    background: linear-gradient(145deg, #ecf8f0, #dcefe4);
    box-shadow: 0 18px 38px rgba(49, 137, 95, 0.13);
}

.journey-image:hover {
    transform: translateY(-7px);
}

.journey-platform:hover {
    box-shadow: 0 25px 48px rgba(91, 55, 117, 0.2);
}

.journey-idea:hover {
    box-shadow: 0 25px 48px rgba(220, 128, 36, 0.2);
}

.journey-impact:hover {
    box-shadow: 0 25px 48px rgba(49, 137, 95, 0.2);
}

/* Journey titles */
.journey-item h3 {
    margin: 0;

    color: #ff6500;
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.journey-line {
    display: block;
    width: 48px;
    height: 4px;
    margin: 14px auto 17px;

    background: #ff6500;
    border-radius: 10px;
}

.journey-item p {
    max-width: 210px;
    margin: 0 auto;

    color: #4f4558;
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.6;
}

/* Connecting arrows */
.journey-arrow {
    align-self: center;
    margin-top: 55px;

    color: #4b2d61;
    font-size: 2.9rem;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

/* ========================================
   Right-side content
======================================== */

.university-modern-content h2 {
    max-width: 690px;
    margin-bottom: 30px;

    color: var(--purple-950);
    font-size: clamp(3.2rem, 4vw, 4rem);
    line-height: 0.98;
    letter-spacing: 0.005em;
}

.university-modern-content > p {
    max-width: 650px;

    color: #5d5365;
    font-size: .8125rem;
    line-height: 1.72;
}

.university-modern-content .university-lead {
    margin-bottom: 10px;

    color: #291835;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.5;
}

/* ========================================
   Responsive
======================================== */

@media (max-width: 1180px) {
    .university-modern-grid {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .university-journey,
    .university-modern-content {
        width: 100%;
        max-width: 900px;
        margin-inline: auto;
    }

    .university-modern-content h2 {
        font-size: clamp(3.2rem, 8vw, 5.7rem);
    }
}

@media (max-width: 767px) {
    .university-journey {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .journey-image {
        width: 190px;
        margin-bottom: 20px;
    }

    .journey-item p {
        max-width: 280px;
    }

    .journey-arrow {
        margin: 0;
        transform: rotate(90deg);
        font-size: 2.4rem;
    }

    .university-modern-grid {
        gap: 55px;
    }
}

@media (max-width: 580px) {
    .journey-image {
        width: 170px;
    }

    .journey-item h3 {
        font-size: 1.2rem;
    }

    .journey-item p {
        font-size: 0.94rem;
    }

    .university-modern-content h2 {
        margin-bottom: 24px;
        font-size: clamp(2.7rem, 13vw, 4rem);
    }

    .university-modern-content .university-lead {
        font-size: 1.12rem;
    }

    .university-modern-content > p {
        font-size: 0.96rem;
        line-height: 1.65;
    }
}



blockquote {

    margin: 32px 0 0;

    padding-left: 25px;

    border-left: 5px solid var(--orange);

    font-size: 1.25rem;

    font-weight: 700;

    line-height: 1.5;

}



.idea-types {

    overflow: hidden;

}



.idea-types::after {

    content: "?";

    position: absolute;

    right: -35px;

    bottom: -130px;

    color: rgba(53, 34, 74, .1);

    font-family: "Anton";

    font-size: 32rem;

    line-height: 1;

}



.idea-types .container {

    position: relative;

    z-index: 2;

}



.pill-cloud {

    max-width: 980px;

    margin: 45px 0 28px;

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

}



.pill-cloud span {

    padding: 12px 20px;

    color: var(--white);

    background: var(--purple-900);

    border-radius: 999px;

    font-weight: 800;

}



.section-note {

    max-width: 850px;

    margin-bottom: 0;

    font-size: 1.2rem;

    font-weight: 700;

}



.innovation-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 24px;

}



.innovation-card {

    position: relative;

    min-height: 385px;

    padding: 42px;

    border: 1px solid var(--border);

    border-radius: var(--radius);

    overflow: hidden;

    transition: transform .25s ease, box-shadow .25s ease;

}



.innovation-card:hover {

    transform: translateY(-7px);

    box-shadow: var(--shadow);

}



.innovation-card:nth-child(2),

.innovation-card:nth-child(3) {

    background: var(--lavender-light);

}



.card-number {

    position: absolute;

    right: 25px;

    top: 16px;

    color: rgba(53, 34, 74, .11);

    font-family: "Anton";

    font-size: 5rem;

}



.innovation-card h3 {

    max-width: 390px;

    margin: 30px 0 18px;

    font-size: 1.65rem;

}



.innovation-card p {

    max-width: 62ch;

    margin-bottom: 0;

    color: var(--muted);

}



.icon-material,

.icon-production,

.icon-cycle,

.icon-wild {

    width: 75px;

    height: 75px;

    display: grid;

    place-items: center;

    color: var(--white);

    background: var(--orange);

    border-radius: 24px;

    font-size: 2.7rem;

    font-weight: 900;

}



.icon-material::before {

    content: "";

    width: 34px;

    height: 48px;

    border-radius: 100% 0 100% 0;

    background: var(--purple-900);

    transform: rotate(-36deg);

}



.icon-production::before {

    content: "";

    width: 42px;

    height: 32px;

    border: 7px solid var(--purple-900);

    border-top: 0;

    box-shadow: 12px -11px 0 -4px var(--purple-900);

}



.early-stage {

    overflow: hidden;

}



.early-stage::before {

    content: "";

    position: absolute;

    width: 700px;

    height: 700px;

    left: -330px;

    top: -330px;

    border: 120px solid rgba(255, 255, 255, .06);

    border-radius: 50%;

}



.early-stage .container {

    position: relative;

    z-index: 2;

}



.big-question {

    color: var(--orange);

    font-size: 1.4rem !important;

    font-weight: 900;

}










/* Circular early-stage bubbles */
.stage-path {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 26px 12px;
    align-items: center;
    justify-items: center;
    width: 100%;
}

.stage-path::before {
    display: none;
}

.stage-bubble {
    width: clamp(125px, 9vw, 150px);
    min-height: 0;
    aspect-ratio: 1 / 1;
    padding: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
    border: 2px solid rgba(255, 255, 255, 0.55);
    border-radius: 50%;
    box-sizing: border-box;

    box-shadow: 0 12px 28px rgba(25, 10, 40, 0.16);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.stage-bubble strong {
    color: #2f1b3d;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

/* First row */
.stage-bubble:nth-child(1) {
    grid-column: 1 / span 2;
    background: #ffe2bd;
    border-color: #ffc77d;
}

.stage-bubble:nth-child(2) {
    grid-column: 3 / span 2;
    background: #f1e7f7;
    border-color: #dac4e8;
}

.stage-bubble:nth-child(3) {
    grid-column: 5 / span 2;
    background: #fff3d6;
    border-color: #f3dca7;
}

/* Second row */
.stage-bubble:nth-child(4) {
    grid-column: 2 / span 2;
    background: #e3f0f4;
    border-color: #bedce5;
}

.stage-bubble:nth-child(5) {
    grid-column: 4 / span 2;
    background: #f8e1e8;
    border-color: #eac1ce;
}

.stage-bubble:hover {
    transform: translateY(-5px);
    box-shadow: 0 17px 34px rgba(25, 10, 40, 0.22);
}

/* Tablet */
@media (max-width: 991px) {
    .stage-path {
        margin-top: 35px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .stage-path {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .stage-bubble:nth-child(1),
    .stage-bubble:nth-child(2),
    .stage-bubble:nth-child(3),
    .stage-bubble:nth-child(4) {
        grid-column: auto;
    }

    .stage-bubble:nth-child(5) {
        grid-column: 1 / -1;
    }

    .stage-bubble {
        width: 125px;
        padding: 15px;
    }

    .stage-bubble strong {
        font-size: 0.92rem;
    }
}

/* Small mobile */
@media (max-width: 380px) {
    .stage-bubble {
        width: 112px;
        padding: 12px;
    }

    .stage-bubble strong {
        font-size: 0.84rem;
    }
}














.not-needed {

    margin-top: 65px;

    padding: 28px 34px;

    display: flex;

    flex-wrap: wrap;

    gap: 20px 34px;

    align-items: center;

    background: rgba(255, 255, 255, .09);

    border-radius: 20px;

}



.not-needed strong {

    color: var(--orange);

}





/* Eligibility cards */
.eligibility-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 55px;
}

.check-card {
    --card-bg: #f3edff;
    --card-accent: #7654a5;

    position: relative;
    min-height: 205px;
    padding: 34px;
    overflow: hidden;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;

    background: var(--card-bg);
    border: 1px solid rgba(47, 27, 61, 0.08);
    border-radius: 26px;
    box-shadow: 0 12px 30px rgba(43, 24, 58, 0.08);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* Decorative circle */
.check-card::before {
    content: "";
    position: absolute;
    top: -55px;
    right: -45px;

    width: 145px;
    height: 145px;

    background: var(--card-accent);
    border-radius: 50%;
    opacity: 0.09;
}

/* Small decorative dot */
.check-card::after {
    content: "";
    position: absolute;
    right: 32px;
    bottom: 28px;

    width: 12px;
    height: 12px;

    background: var(--card-accent);
    border-radius: 50%;
    opacity: 0.28;
}

/* Check icon */
.check-card span {
    position: relative;
    z-index: 2;

    width: 48px;
    height: 48px;
    margin: 0 0 28px;

    display: grid;
    place-items: center;

    color: #ffffff;
    background: var(--card-accent);
    border-radius: 50%;

    font-size: 1.25rem;
    font-weight: 900;

    box-shadow: 0 8px 18px
        color-mix(in srgb, var(--card-accent) 28%, transparent);
}

/* Card text */
.check-card p {
    position: relative;
    z-index: 2;

    max-width: 90%;
    margin: 0;

    color: #251630;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.45;
}

/* Lavender */
.check-card:nth-child(1) {
    --card-bg: #f2ebff;
    --card-accent: #7957a7;
}

/* Cyan */
.check-card:nth-child(2) {
    --card-bg: #e5f8fb;
    --card-accent: #198a9f;
}

/* Mint */
.check-card:nth-child(3) {
    --card-bg: #e8f7ef;
    --card-accent: #388b69;
}

/* Peach */
.check-card:nth-child(4) {
    --card-bg: #fff0e5;
    --card-accent: #d97838;
}

/* Soft blue */
.check-card:nth-child(5) {
    --card-bg: #eaf2ff;
    --card-accent: #4f76b9;
}

/* Soft rose */
.check-card:nth-child(6) {
    --card-bg: #fbeaf1;
    --card-accent: #a9537b;
}

.check-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 42px rgba(43, 24, 58, 0.14);
}

/* Tablet */
@media (max-width: 991px) {
    .eligibility-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 640px) {
    .eligibility-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 38px;
    }

    .check-card {
        min-height: 175px;
        padding: 28px;
    }

    .check-card span {
        width: 44px;
        height: 44px;
        margin-bottom: 22px;
    }

    .check-card p {
        font-size: 1rem;
    }
}



/* ========================================
   Modern assessment section
======================================== */

.criteria {
    position: relative;
    overflow: hidden;
}

.criteria::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;

    width: 420px;
    height: 420px;

    background: rgba(121, 87, 167, 0.07);
    border-radius: 50%;
}

.criteria .container {
    position: relative;
    z-index: 2;
}

.criteria-heading {
    max-width: 850px;
    margin-bottom: 52px;
}

.criteria-heading > p:last-child {
    max-width: 680px;
    margin-top: 18px;
    color: #675d6f;
    font-size: 1.05rem;
    line-height: 1.7;
}

/* Card grid */
.criteria-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;

    margin-top: 48px;
    border: 0;
}

/* Card */
.criteria-item {
    --criteria-bg: #f3edff;
    --criteria-accent: #7654a5;

    position: relative;
    min-height: 195px;
    padding: 32px;
    overflow: hidden;

    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 24px;
    align-items: flex-start;

    background: linear-gradient(
        135deg,
        var(--criteria-bg) 0%,
        #ffffff 145%
    );

    border: 1px solid rgba(45, 27, 58, 0.07);
    border-radius: 26px;

    box-shadow: 0 12px 30px rgba(45, 27, 58, 0.07);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* Decorative shape */
.criteria-item::after {
    content: "";
    position: absolute;
    right: -48px;
    bottom: -55px;

    width: 145px;
    height: 145px;

    background: var(--criteria-accent);
    border-radius: 50%;
    opacity: 0.08;
}

/* Number */
.criteria-number {
    position: relative;
    z-index: 2;

    width: 58px;
    height: 58px;

    display: grid;
    place-items: center;

    color: #ffffff;
    background: var(--criteria-accent);
    border-radius: 18px;

    font-family: "Anton", sans-serif;
    font-size: 1.2rem;
    line-height: 1;

    box-shadow: 0 9px 20px rgba(45, 27, 58, 0.13);
}

/* Text */
.criteria-item > div {
    position: relative;
    z-index: 2;
}

.criteria-item h3 {
    margin: 2px 0 12px;

    color: #271533;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.25;
}

.criteria-item p {
    margin: 0;

    color: #62596a;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.65;
}

/* Card colours */
.criteria-item:nth-child(1) {
    --criteria-bg: #f2eaff;
    --criteria-accent: #7654a5;
}

.criteria-item:nth-child(2) {
    --criteria-bg: #e4f8fb;
    --criteria-accent: #19899e;
}

.criteria-item:nth-child(3) {
    --criteria-bg: #e7f7ef;
    --criteria-accent: #398b69;
}

.criteria-item:nth-child(4) {
    --criteria-bg: #fff0e5;
    --criteria-accent: #d97938;
}

.criteria-item:nth-child(5) {
    --criteria-bg: #e8f1ff;
    --criteria-accent: #4c74b7;
}

.criteria-item:nth-child(6) {
    --criteria-bg: #fae9f1;
    --criteria-accent: #a6537b;
}

.criteria-item:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 42px rgba(45, 27, 58, 0.13);
}

/* ========================================
   PDF resource link
======================================== */

.criteria-resource {
    margin-top: 38px;
}

.criteria-pdf-link {
    max-width: 620px;
    padding: 18px 22px;

    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 42px;
    gap: 18px;
    align-items: center;

    color: #ffffff;
    background: linear-gradient(135deg, #35224a, #5b3775);
    border-radius: 20px;

    box-shadow: 0 14px 32px rgba(53, 34, 74, 0.2);

    text-decoration: none;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.criteria-pdf-icon {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    color: #35224a;
    background: #ffb45c;
    border-radius: 15px;

    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.criteria-pdf-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.criteria-pdf-content small {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    font-weight: 600;
}

.criteria-pdf-content strong {
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 800;
}

.criteria-pdf-arrow {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    color: #35224a;
    background: #ffffff;
    border-radius: 50%;

    font-size: 1.15rem;

    transition: transform 0.25s ease;
}

.criteria-pdf-link:hover {
    color: #ffffff;
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(53, 34, 74, 0.28);
}

.criteria-pdf-link:hover .criteria-pdf-arrow {
    transform: translate(3px, -3px);
}

/* Tablet */
@media (max-width: 991px) {
    .criteria-list {
        grid-template-columns: 1fr;
    }
}

/* Mobile */
@media (max-width: 580px) {
    .criteria-heading {
        margin-bottom: 38px;
    }

    .criteria-list {
        gap: 16px;
    }

    .criteria-item {
        min-height: auto;
        padding: 25px;
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 17px;
        border-radius: 21px;
    }

    .criteria-number {
        width: 50px;
        height: 50px;
        border-radius: 15px;
        font-size: 1rem;
    }

    .criteria-item h3 {
        font-size: 1.08rem;
    }

    .criteria-item p {
        font-size: 0.94rem;
    }

    .criteria-pdf-link {
        padding: 15px;
        grid-template-columns: 46px minmax(0, 1fr) 35px;
        gap: 12px;
        border-radius: 17px;
    }

    .criteria-pdf-icon {
        width: 46px;
        height: 46px;
        border-radius: 13px;
        font-size: 0.7rem;
    }

    .criteria-pdf-content strong {
        font-size: 0.9rem;
    }

    .criteria-pdf-content small {
        font-size: 0.7rem;
    }

    .criteria-pdf-arrow {
        width: 34px;
        height: 34px;
    }
}



.process-track {

    position: relative;

    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 16px;

}



.process-track::before {

    content: "";

    position: absolute;

    left: 7%;

    right: 7%;

    top: 35px;

    height: 3px;

    background: var(--lavender);

}



.process-step {

    position: relative;

    z-index: 2;

    padding-top: 82px;

}



.process-step>span {

    position: absolute;

    top: 0;

    left: 0;

    width: 70px;

    height: 70px;

    display: grid;

    place-items: center;

    color: var(--white);

    background: var(--purple-800);

    border: 8px solid var(--white);

    border-radius: 50%;

    font-family: "Anton";

    font-size: 1.3rem;

    box-shadow: 0 0 0 2px var(--lavender);

}



.process-step h3 {

    min-height: 48px;

    margin-bottom: 12px;

    font-size: 1.15rem;

}



.process-step p {

    color: var(--muted);

    font-size: 1rem;

    line-height: 1.6;

}



.important-note {

    margin: 58px 0 0;

    padding: 24px 28px;

    background: var(--lavender-light);

    border-left: 5px solid var(--orange);

}



.opportunity-grid {

    margin: 52px 0 42px;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

}



.opportunity-card {

    min-height: 310px;

    padding: 36px;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    background: rgba(255, 255, 255, .08);

    border: 1px solid rgba(255, 255, 255, .12);

    border-radius: 24px;

}



.opportunity-card strong {

    color: var(--orange);

    font-family: "Anton";

    font-size: 3.7rem;

    line-height: 1;

}



.opportunity-card h3 {

    margin: 25px 0 10px;

}



.opportunity-card p {

    margin: 0;

    color: #d7cfdd;

}



.light-link {

    color: #ffc48b;

}



.apply {

    background: var(--cream);

}



.apply-grid {

    display: grid;

    grid-template-columns: .85fr 1.15fr;

    gap: 80px;

    align-items: start;

}



.deadline {

    margin-top: 35px;

    padding: 25px;

    display: inline-flex;

    flex-direction: column;

    color: var(--white);

    background: var(--purple-900);

    border-radius: 18px;

}



.deadline small {

    color: #ddcfe7;

    font-size: .8125rem;

    font-weight: 900;

    letter-spacing: .1em;

    line-height: 1.45;

    text-transform: uppercase;

}



.deadline strong {

    margin-top: 4px;

    color: var(--orange);

    font-size: 1.45rem;

}



.submission-card {

    padding: 44px;

    background: var(--white);

    border-radius: var(--radius);

    box-shadow: var(--shadow);

}



.submission-card>h3 {

    margin-bottom: 30px;

    font-size: 1.65rem;

}



.submission-card>ol {

    margin: 0;

    padding: 0;

    list-style: none;

}



.submission-card>ol>li {

    padding: 22px 0;

    display: grid;

    grid-template-columns: 52px 1fr;

    gap: 18px;

    border-bottom: 1px solid var(--border);

}



.submission-card>ol>li>span {

    width: 42px;

    height: 42px;

    display: grid;

    place-items: center;

    color: var(--white);

    background: var(--orange-text);

    border-radius: 50%;

    font-weight: 900;

}



.submission-card>ol>li strong {

    font-size: 1.04rem;

}



.submission-card>ol>li p {

    margin: 5px 0 0;

    color: var(--muted);

    font-size: 1rem;

    line-height: 1.6;

}



.final-cta {

    padding: 70px 0;

    color: var(--white);

    background: var(--purple-800);

}



.final-cta-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}



.final-cta h2 {

    max-width: 780px;

    margin: 0;

    font-size: clamp(3rem, 6vw, 5rem);

}



.site-footer {

    padding: 80px 0 24px;

    color: #ddd3e4;

    background: #170d21;

}



.footer-grid {

    display: grid;

    grid-template-columns: 1.4fr .8fr 1fr 1fr;

    gap: 50px;

}



.footer-brand {

    color: var(--white);

    font-family: "Anton";

    font-size: 2rem;

    text-decoration: none;

}



.footer-brand span {

    color: var(--orange);

}



.footer-grid p {

    max-width: 360px;

    margin-top: 20px;

}



.footer-grid h2 {

    margin-bottom: 18px;

    color: var(--white);

    font-family: "Roboto";

    font-size: .875rem;

    font-weight: 900;

    letter-spacing: .1em;

    line-height: 1.4;

    text-transform: uppercase;

}



.footer-grid ul {

    margin: 0;

    padding: 0;

    list-style: none;

}



.footer-grid li {

    margin-bottom: 10px;

}



.footer-grid a {

    text-decoration: none;

}



.footer-grid a {

    display: inline-block;

    padding-block: 2px;

    text-decoration: underline;

    text-decoration-color: transparent;

}



.footer-grid a:hover,

.footer-grid a:focus-visible {

    color: #ffc48b;

    text-decoration-color: currentColor;

}



.footer-grid address {

    margin-bottom: 10px;

    font-style: normal;

}



.footer-bottom {

    margin-top: 60px;

    padding-top: 22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    border-top: 1px solid rgba(255, 255, 255, .2);

    font-size: .875rem;

}



.footer-bottom p {

    margin: 0;

}



.footer-bottom a {

    color: var(--orange);

    font-weight: 900;

    text-decoration: none;

}



.reveal {

    opacity: 0;

    transform: translateY(25px);

    transition: opacity .7s ease, transform .7s ease;

}



.reveal.is-visible {

    opacity: 1;

    transform: none;

}



@media (prefers-reduced-motion: reduce) {

    html {

        scroll-behavior: auto;

    }



    *,

    *::before,

    *::after {

        animation-duration: .01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: .01ms !important;

    }



    .reveal {

        opacity: 1;

        transform: none;

    }

}



@media (forced-colors: active) {



    .btn,

    .nav-cta,

    .check-card span,

    .stage-path span,

    .submission-card>ol>li>span {

        border: 2px solid ButtonText;

    }



    :focus-visible {

        outline: 3px solid Highlight;

    }

}



@media (max-width: 1100px) {

    .primary-nav {

        gap: 18px;

    }



    .primary-nav a {

        font-size: .8125rem;

    }



    .hero {

        min-height: 850px;

    }



    .hero-grid {

        grid-template-columns: 1fr .75fr;

        gap: 20px;

    }



    .hero-art {

        min-height: 450px;

    }



    .hero-badge {

        width: 235px;

        height: 235px;

    }



    .hero-badge strong {

        font-size: 3.5rem;

    }



    .idea-card {

        width: 125px;

        height: 100px;

    }



    .stat-grid {

        grid-template-columns: repeat(2, 1fr);

    }



    .eligibility-grid {

        grid-template-columns: repeat(2, 1fr);

    }



    .process-track {

        grid-template-columns: repeat(3, 1fr);

        row-gap: 38px;

    }



    .process-track::before {

        display: none;

    }



    .process-step {

        padding: 82px 16px 0 0;

    }



    .footer-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}



@media (max-width: 860px) {



    html,

    body {

        width: 100vw !important;

        min-width: 100vw !important;

        max-width: 100vw !important;

        margin: 0 !important;

        overflow-x: hidden !important;

    }



    main {

        display: block !important;

        width: 100vw !important;

        min-width: 100vw !important;

        max-width: 100vw !important;

        margin: 0 !important;

        overflow-x: hidden !important;

    }



    main>section,

    .hero {

        width: 100vw !important;

        min-width: 100vw !important;

        max-width: 100vw !important;

        margin-right: 0 !important;

        margin-left: 0 !important;

    }



    .site-header {

        width: 100vw !important;

        min-width: 100vw !important;

        max-width: 100vw !important;

    }



    .container,

    .container-wide {

        width: calc(100vw - 40px) !important;

        max-width: var(--container);

        margin-right: auto !important;

        margin-left: auto !important;

    }



    .section {

        padding: 82px 0;

    }



    .site-header {

        padding: 12px 0;

    }



    .nav-shell {

        width: calc(100vw - 24px) !important;

        max-width: none;

        min-height: 66px;

        padding: 8px 10px 8px 16px;

        backdrop-filter: none;

        -webkit-backdrop-filter: none;

    }



    .brand-symbol {

        width: 42px;

        height: 42px;

        flex-basis: 42px;

        font-size: .93rem;

    }



    .brand-copy strong {

        font-size: .9rem;

    }



    .brand-copy small {

        padding-left: .48em;

        font-size: .78rem;

        letter-spacing: .48em;

    }



    .nav-toggle {

        display: inline-flex !important;

        position: relative;

        z-index: 4;

        align-items: center;

        justify-content: center;

        flex: 0 0 48px;

        visibility: visible !important;

        opacity: 1 !important;

        appearance: none;

        color: var(--purple-900) !important;

        background: var(--white) !important;

        border: 2px solid rgba(53, 34, 74, .2) !important;

        border-radius: 50%;

        box-shadow: 0 7px 18px rgba(33, 22, 47, .12);

    }



    .nav-toggle[aria-expanded="true"] .nav-toggle-icon>span:nth-child(1) {

        transform: translateY(8.5px) rotate(45deg);

    }



    .nav-toggle[aria-expanded="true"] .nav-toggle-icon>span:nth-child(2) {

        opacity: 0;

    }



    .nav-toggle[aria-expanded="true"] .nav-toggle-icon>span:nth-child(3) {

        transform: translateY(-8.5px) rotate(-45deg);

    }



    .primary-nav {

        position: fixed;

        inset: 0;

        z-index: 2;

        width: 100vw;

        max-width: 100%;

        height: 100vh;

        height: 100dvh;

        padding: 110px 30px 40px;

        display: flex;

        flex-direction: column;

        align-items: stretch;

        justify-content: center;

        gap: 4px;

        visibility: hidden;

        opacity: 0;

        background: rgba(255, 255, 255, .98);

        transform: translateY(-15px);

        transition: .25s ease;

    }



    .primary-nav.is-open {

        visibility: visible;

        opacity: 1;

        transform: none;

    }



    .primary-nav a {

        padding: 12px 0;

        font-family: "Anton";

        font-size: 2rem;

        text-align: center;

    }



    .primary-nav .nav-cta {

        margin-top: 12px;

        font-family: "Roboto";

        font-size: 1rem;

    }



    .hero {

        min-height: auto;

        padding: 132px 0 76px;

    }



    .hero-grid,

    .split-grid,

    .feature-grid,

    .apply-grid {

        grid-template-columns: 1fr;

        gap: 50px;

    }



    .hero-copy {

        position: relative;

        z-index: 5;

    }



    .hero h1 {

        max-width: 10ch;

        font-size: clamp(3.5rem, 13vw, 6.2rem);

    }



    .hero-art {

        min-height: 460px;

        max-width: 550px;

        width: 100%;

        margin-inline: auto;

    }



    .intro .section-heading {

        position: static;

    }



    .intro .prose,

    .about-care .prose {

        font-size: 1.0625rem;

    }



    .care-panel {

        padding: 40px 30px;

    }



    .innovation-grid {

        grid-template-columns: 1fr;

    }



    .lab-circle {

        width: 320px;

        height: 320px;

        border-width: 58px;

    }



    .criteria-list {

        grid-template-columns: 1fr;

    }



    .criteria-item:nth-child(odd),

    .criteria-item:nth-child(even) {

        padding: 30px 0;

        border-right: 0;

    }



    .process-track {

        grid-template-columns: repeat(2, 1fr);

    }



    .opportunity-grid {

        grid-template-columns: 1fr;

    }



    .opportunity-card {

        min-height: 250px;

    }



    .final-cta-inner {

        align-items: flex-start;

        flex-direction: column;

    }

}



@media (max-width: 580px) {



    .container,

    .container-wide {

        width: calc(100vw - 28px) !important;

    }



    h2 {

        font-size: clamp(2.45rem, 11.5vw, 3.4rem);

        overflow-wrap: break-word;

    }



    .section {

        padding: 68px 0;

    }



    .brand-copy strong {

        font-size: .8125rem;

    }



    .brand-copy small {

        padding-left: .42em;

        font-size: .72rem;

        letter-spacing: .42em;

    }



    .hero {

        padding: 118px 0 58px;

    }



    .hero-grid {

        gap: 28px;

    }



    .hero h1 {

        max-width: 100%;

        font-size: clamp(3rem, 14.2vw, 4.1rem);

        line-height: 1.02;

    }



    .hero .eyebrow {

        max-width: 31ch;

        font-size: .75rem;

        letter-spacing: .085em;

    }



    .hero-lead {

        font-size: 1.05rem;

    }



    .button-row .btn {

        width: 100%;

    }



    .hero-art {

        min-height: 340px;

        max-width: 345px;

        transform: none;

    }



    .hero-badge {

        width: 205px;

        height: 205px;

    }



    .hero-badge strong {

        font-size: 3rem;

    }



    .orbit-one {

        inset: 0;

    }



    .orbit-two {

        inset: 55px;

    }



    .idea-card {

        width: 105px;

        height: 86px;

        padding: 13px;

        border-radius: 16px;

    }



    .idea-card strong {

        font-size: 1.5rem;

    }



    .card-a {

        top: 32px;

    }



    .card-b {

        top: 48px;

    }



    .card-c {

        bottom: 20px;

        right: 5px;

    }



    .stat-grid,

    .eligibility-grid,

    .process-track,

    .footer-grid {

        grid-template-columns: 1fr;

    }



    .stat-card {

        min-height: 210px;

    }



    .lab-circle {

        width: 250px;

        height: 250px;

        border-width: 45px;

    }



    .lab-circle::after {

        width: 120px;

        height: 120px;

    }



    .lab-circle span:nth-child(1) {

        left: -45px;

    }



    .lab-circle span:nth-child(2) {

        right: -45px;

        top: 120px;

    }



    .not-needed {

        padding: 25px;

        flex-direction: column;

        align-items: flex-start;

        gap: 10px;

    }



    .innovation-card {

        min-height: 350px;

        padding: 32px 26px;

    }



    .criteria-item {

        grid-template-columns: 48px 1fr;

        gap: 14px;

    }



    .process-step {

        padding-right: 0;

    }



    .submission-card {

        padding: 30px 20px;

    }



    .footer-bottom {

        align-items: flex-start;

        flex-direction: column;

    }

}



@media (max-width: 390px) {



    .container,

    .container-wide {

        width: calc(100vw - 24px) !important;

    }



    .nav-shell {

        padding-left: 12px;

    }



    .brand {

        gap: 8px;

    }



    .brand-symbol {

        width: 38px;

        height: 38px;

        flex-basis: 38px;

        font-size: .82rem;

    }



    .brand-copy strong {

        font-size: .78rem;

        letter-spacing: .025em;

    }



    .brand-copy small {

        padding-left: .34em;

        font-size: .65rem;

        letter-spacing: .34em;

    }



    .nav-toggle {

        width: 46px;

        height: 46px;

        min-width: 46px;

        min-height: 46px;

        flex-basis: 46px;

        padding: 11px;

    }



    .hero h1 {

        font-size: clamp(2.85rem, 14vw, 3.45rem);

    }



    .hero-art {

        min-height: 315px;

    }



    .hero-badge {

        width: 185px;

        height: 185px;

    }



    .hero-badge strong {

        font-size: 2.65rem;

    }



    .hero-badge span {

        font-size: 1rem;

    }



    .idea-card {

        width: 96px;

        height: 80px;

        padding: 11px;

    }



    .lab-circle {

        width: 225px;

        height: 225px;

        border-width: 40px;

    }



    .lab-circle span {

        font-size: .72rem;

        letter-spacing: .06em;

    }



    .lab-circle span:nth-child(1) {

        left: -33px;

    }



    .lab-circle span:nth-child(2) {

        right: -33px;

    }



    .submission-card>ol>li {

        grid-template-columns: 44px minmax(0, 1fr);

        gap: 12px;

    }

    


   /* Footer partner logos */
.footer-partner-logos {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-top: 36px;
}

.partner-link {
    display: block;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.partner-link:hover {
    opacity: 0.82;
    transform: translateY(-2px);
}

/* H&M image contains transparent padding */
.partner-link-hm {
    width: 210px;
    height: 42px;
    overflow: hidden;
}

.partner-logo-hm {
    display: block;
    width: 210px;
    max-width: none;
    height: auto;
    transform: translateY(-39px);

    /* Changes the black logo to white */
    filter: brightness(0) invert(1);
}

/* CARE logo */
.partner-link-care {
    width: 185px;
}

.partner-logo-care {
    display: block;
    width: 185px;
    max-width: 100%;
    height: auto;
}

/* Responsive footer logos */
@media (max-width: 991px) {
    .footer-partner-logos {
        margin-top: 18px;
    }
}

@media (max-width: 580px) {
    .partner-link-hm,
    .partner-logo-hm {
        width: 190px;
    }

    .partner-logo-hm {
        transform: translateY(-35px);
    }

    .partner-link-care,
    .partner-logo-care {
        width: 165px;
    }
}

    .footer-partner-hm {
        display: block;
        width: 205px;
        height: 42px;
        overflow: hidden;
    }

    .footer-partner-hm img {
        display: block;
        width: 230px;
        max-width: none;
        height: auto;
        transform: translate(-15px, -43px);
    }

    .footer-partner-care img {
        display: block;
        width: 165px;
        height: auto;
    }


    


    

}