/* NuGrant application page — builds on the contact and apply page system. */
.nugrant-hero-inner {
    display: grid;
    gap: clamp(48px, 7vw, 80px);
    max-width: 1080px;
    padding-top: calc(var(--header-height) + 90px);
    padding-bottom: clamp(80px, 9vw, 120px);
}
.nugrant-hero .apply-intro h1 em { display: block; }

.nugrant-hero-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 26px; margin-top: 40px; }
.nugrant-hero-actions span { color: var(--pa-muted); font-size: .9rem; }

.nugrant-value { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.nugrant-value article {
    position: relative;
    padding: 30px 28px 32px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    background: linear-gradient(160deg, rgba(16,36,45,.72), rgba(8,17,22,.6));
    backdrop-filter: blur(6px);
}
.nugrant-value article.is-featured { border-color: rgba(0,217,163,.34); box-shadow: 0 0 44px rgba(0,217,163,.08); }
.nugrant-value span { color: var(--pa-teal); font-family: var(--heading); font-size: .78rem; font-weight: 700; letter-spacing: .14em; }
.nugrant-value h2 { margin: 18px 0 10px; color: var(--pa-white); font-size: clamp(1.3rem, 2vw, 1.6rem); }
.nugrant-value p { margin: 0; color: rgba(247,255,253,.64); line-height: 1.7; }

.nugrant-process { padding: clamp(80px, 9vw, 120px) 0; background: var(--pa-charcoal-soft); border-block: 1px solid rgba(0,217,163,.1); }
.nugrant-process-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.nugrant-process-copy .pa-eyebrow { margin-bottom: 22px; }
.nugrant-process-copy h2 { color: var(--pa-white); font-size: clamp(2.2rem, 4vw, 3.4rem); }
.nugrant-process-copy h2 em { display: block; color: var(--pa-teal); font-style: normal; }
.nugrant-steps { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: nugrant-step; }
.nugrant-steps li {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 4px 18px;
    padding: 22px 24px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 20px;
    background: rgba(8,17,22,.55);
    counter-increment: nugrant-step;
}
.nugrant-steps li::before {
    grid-row: span 2;
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(0,217,163,.35);
    border-radius: 50%;
    color: var(--pa-teal);
    content: counter(nugrant-step, decimal-leading-zero);
    font-family: var(--heading);
    font-weight: 700;
}
.nugrant-steps strong { color: var(--pa-white); font-family: var(--heading); font-size: 1.1rem; }
.nugrant-steps span { color: rgba(247,255,253,.62); line-height: 1.6; }

.nugrant-shell { padding-top: clamp(80px, 9vw, 110px); }
.nugrant-form { gap: 34px; }
.nugrant-lede { max-width: 640px; margin: 16px 0 0; color: rgba(247,255,253,.64); line-height: 1.75; }
.nugrant-applied-notice { max-width: 640px; margin: 18px 0 0; padding: 14px 18px; border: 1px solid rgba(0,217,163,.35); border-radius: 12px; background: rgba(0,217,163,.08); color: #f7fffd; line-height: 1.6; }
.nugrant-applied-notice[hidden] { display: none; }

.nugrant-stepper { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 6px; }
.nugrant-stepper a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 15px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    color: rgba(247,255,253,.7);
    font-size: .84rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color var(--ease), color var(--ease), background var(--ease);
}
.nugrant-stepper a span { color: var(--pa-teal); font-family: var(--heading); font-size: .72rem; letter-spacing: .08em; }
.nugrant-stepper a:hover, .nugrant-stepper a.active { border-color: rgba(0,217,163,.45); color: var(--pa-white); background: rgba(0,217,163,.08); }

.nugrant-section { margin: 0; padding: 34px 0 0; border: 0; border-top: 1px solid rgba(0,217,163,.16); min-width: 0; scroll-margin-top: calc(var(--header-height) + 24px); }
.nugrant-section-head { display: flex; align-items: flex-start; gap: 18px; width: 100%; margin-bottom: 26px; padding: 0; }
.nugrant-step {
    flex: 0 0 auto;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    color: var(--pa-charcoal);
    background: linear-gradient(135deg, var(--pa-teal), #6ee9ff);
    font-family: var(--heading);
    font-weight: 800;
}
.nugrant-section-title { display: grid; flex: 1; gap: 4px; }
.nugrant-section-title strong { color: var(--pa-white); font-family: var(--heading); font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 700; }
.nugrant-section-title small { color: var(--pa-muted); font-size: .92rem; }
.nugrant-points { flex: 0 0 auto; padding: 6px 12px; border: 1px solid rgba(0,217,163,.3); border-radius: 999px; color: var(--pa-teal); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.nugrant-points.is-context { border-color: rgba(255,255,255,.14); color: var(--pa-muted); }

.nugrant-hint { margin-top: -4px; color: var(--pa-muted); font-size: .84rem; font-style: normal; line-height: 1.5; }
.nugrant-form .contact-field textarea { min-height: 112px; }
.nugrant-form [data-pa-name-field][hidden] { display: none; }

.nugrant-consent { display: grid; grid-template-columns: 22px 1fr; gap: 14px; align-items: start; padding: 20px 22px; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius-sm); background: rgba(8,17,22,.5); color: rgba(247,255,253,.74); line-height: 1.6; cursor: pointer; }
.nugrant-consent input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--pa-teal); }

.nugrant-card .contact-success h2 { margin: 0; }
.nugrant-form[hidden] { display: none; }

@media (max-width: 980px) {
    .nugrant-hero-inner { padding-top: calc(var(--header-height) + 60px); }
    .nugrant-value { grid-template-columns: 1fr; }
    .nugrant-process-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .nugrant-section-head { flex-wrap: wrap; }
    .nugrant-points { margin-left: 64px; }
    .nugrant-stepper { flex-wrap: nowrap; overflow-x: auto; margin-inline: -4px; padding-inline: 4px; scrollbar-width: none; }
    .nugrant-stepper a { flex: 0 0 auto; }
}
