.program-page {
            --program-paper: var(--bg);
            --program-paper-soft: var(--bg-soft);
            --program-surface: rgba(255, 255, 255, 0.78);
            --program-surface-strong: var(--surface-strong);
            --program-ink: var(--text);
            --program-ink-soft: var(--muted);
            --program-rule: var(--border);
            --program-rule-strong: var(--border-strong);
            --program-signal: var(--signal-muted);
            --program-signal-soft: rgba(214, 170, 70, 0.16);
            --program-dark: #0f172a;
            --program-success: #14532d;
            --program-error: #9f1239;
            background:
                radial-gradient(circle at top left, rgba(214, 170, 70, 0.12), transparent 34%),
                linear-gradient(180deg, #fbf8f3 0%, var(--bg) 28%, var(--bg-soft) 100%);
        }

.program-content {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 0;
            overflow-x: clip;
            overflow-y: visible;
        }

.program-section,
        .program-hero-section,
        .program-contact-section {
            position: relative;
            padding: 5.5rem 0;
        }

.program-hero-section {
            box-sizing: border-box;
            height: 100vh;
            height: 100svh;
            min-height: 100vh;
            min-height: 100svh;
            display: grid;
            align-items: stretch;
            padding-top: 7.25rem;
            padding-bottom: 1.1rem;
            overflow: hidden;
            background:
                radial-gradient(circle at 50% 18%, rgba(214, 170, 70, 0.17), transparent 27rem),
                radial-gradient(circle at 50% 100%, rgba(15, 23, 42, 0.08), transparent 28rem),
                linear-gradient(180deg, #fbf8f3 0%, #f4eee4 76%, #f2ece2 100%);
        }

.program-hero-section::after,
        .program-section::after {
            content: "";
            position: absolute;
            inset-inline: 0;
            bottom: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--program-rule-strong), transparent);
            opacity: 0.7;
        }

.program-contact-section::after {
            display: none;
        }

.program-hero-section::after {
            display: none;
        }

.program-hero-section + .program-section {
            margin-top: -1px;
            background:
                radial-gradient(circle at 18% 0%, rgba(214, 170, 70, 0.08), transparent 24rem),
                linear-gradient(180deg, #f2ece2 0%, #f4efe6 16rem, rgba(244, 239, 230, 0) 32rem);
        }

.program-hero-grid,
        .program-contact-grid {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: 1.25rem;
            align-items: start;
        }

.program-hero-grid {
            min-height: 0;
            height: 100%;
            align-items: stretch;
}

.program-hero-copy {
            grid-column: 1 / -1;
            width: min(100%, 60rem);
            min-height: 100%;
            justify-self: center;
            display: grid;
            grid-template-rows: minmax(0, 1fr) auto;
            justify-items: center;
            text-align: center;
        }

.program-hero-main {
            align-self: center;
            display: grid;
            justify-items: center;
            padding-bottom: 1rem;
            min-height: 0;
        }

.program-process-number {
            margin: 0;
            font-family: "IBM Plex Mono", "Courier New", monospace;
            font-size: 0.74rem;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

.program-hero-copy h1 {
            margin: 0;
            max-width: 22em;
            color: var(--program-ink);
            font-family: var(--font-sans);
            font-size: clamp(2.2rem, 2.9vw, 3.25rem);
            line-height: 1.02;
            letter-spacing: -0.055em;
            text-wrap: balance;
        }

.program-hero-break {
            display: none;
        }

@media (min-width: 900px) {
.program-hero-break {
                display: inline;
            }

.program-hero-copy h1 {
                max-width: none;
            }
}

.program-hero-copy h1 .program-hero-accent {
            color: #ffca5f;
        }

.program-hero-support {
            margin: 1.25rem 0 0;
            max-width: 34rem;
            color: var(--program-ink-soft);
            font-size: 1.05rem;
            line-height: 1.7;
        }

.program-hero-copy .button-row {
            justify-content: center;
            align-items: center;
            margin-top: 1.7rem;
        }

.program-hero-trust {
            align-self: end;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0;
            width: min(100%, 48rem);
            margin-top: auto;
            padding: 1.1rem 0;
            border-top: 1px solid var(--program-rule-strong);
            border-bottom: 1px solid var(--program-rule-strong);
        }

.program-hero-trust span {
            display: grid;
            place-items: center;
            min-height: 3.25rem;
            padding: 0.35rem 1rem;
            border-right: 1px solid var(--program-rule);
            color: var(--program-ink);
            font-weight: 900;
            letter-spacing: -0.015em;
        }

.program-hero-trust span:last-child {
            border-right: 0;
        }

.program-heading-narrow {
            max-width: 46rem;
        }

.program-signal-grid {
            display: grid;
            grid-template-columns: repeat(6, minmax(0, 1fr));
            gap: 0;
            width: 100%;
            border-block: 1px solid var(--program-rule);
        }

.program-signal-card {
            display: grid;
            align-content: start;
            gap: 0.9rem;
            min-height: 10.5rem;
            padding: 1.25rem 1rem;
            background: transparent;
            border-right: 1px solid var(--program-rule);
            box-shadow: none;
            border-radius: 0;
        }

.program-signal-card:last-child {
            border-right: 0;
        }

.program-signal-icon {
            display: inline-grid;
            place-items: center;
            width: 2.85rem;
            height: 2.85rem;
            color: var(--program-signal);
        }

.program-signal-icon [data-lucide] {
            width: 2rem;
            height: 2rem;
            stroke-width: 1.75;
        }

.program-signal-title {
            margin: 0;
            color: var(--program-ink);
            font-family: "Playfair Display", Georgia, serif;
            font-size: 1.22rem;
            font-weight: 700;
            line-height: 1.12;
        }

.program-signal-card:nth-child(1) {
            --signal-pop-delay: 0.04s;
        }

.program-signal-card:nth-child(2) {
            --signal-pop-delay: 0.16s;
        }

.program-signal-card:nth-child(3) {
            --signal-pop-delay: 0.28s;
        }

.program-signal-card:nth-child(4) {
            --signal-pop-delay: 0.4s;
        }

.program-signal-card:nth-child(5) {
            --signal-pop-delay: 0.52s;
        }

.program-signal-card:nth-child(6) {
            --signal-pop-delay: 0.64s;
        }

.motion-safe .program-signal-card {
            transition-delay: var(--signal-pop-delay, 0s);
        }

.motion-safe .program-signal-card .program-signal-icon,
        .motion-safe .program-signal-card .program-signal-title {
            opacity: 0;
            transform: translate3d(0, 0.8rem, 0) scale(0.96);
            filter: blur(0.35rem);
        }

.motion-safe .program-signal-card.is-visible .program-signal-icon {
            animation: program-signal-pop 0.48s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: calc(var(--signal-pop-delay, 0s) + 0.08s);
        }

.motion-safe .program-signal-card.is-visible .program-signal-title {
            animation: program-signal-pop 0.52s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: calc(var(--signal-pop-delay, 0s) + 0.2s);
        }

@keyframes program-signal-pop {
            0% {
                opacity: 0;
                transform: translate3d(0, 0.8rem, 0) scale(0.96);
                filter: blur(0.35rem);
            }

            72% {
                opacity: 1;
                transform: translate3d(0, -0.08rem, 0) scale(1.015);
                filter: blur(0);
            }

            100% {
                opacity: 1;
                transform: translate3d(0, 0, 0) scale(1);
                filter: blur(0);
            }
        }

.program-process-step h3 {
            margin: 0;
            font-size: clamp(1.3rem, 2.1vw, 1.75rem);
            line-height: 1.12;
        }

.program-process-list {
            position: relative;
            display: grid;
            gap: 0;
            margin-top: 0.5rem;
            padding-block: 0.7rem;
        }

.program-process-list::before {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            width: 2px;
            transform: translateX(-50%);
            background: linear-gradient(180deg, transparent, var(--program-signal), var(--program-rule-strong), transparent);
        }

.program-process-step {
            position: relative;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 5.5rem minmax(0, 1fr);
            align-items: center;
            gap: 1.25rem;
            padding: 0.9rem 0;
            border-bottom: 0;
        }

.program-process-number {
            position: relative;
            z-index: 1;
            display: grid;
            grid-column: 2;
            grid-row: 1;
            place-items: center;
            width: 5.5rem;
            height: 5.5rem;
            border: 1px solid rgba(214, 170, 70, 0.62);
            border-radius: 999px;
            background:
                radial-gradient(circle at 50% 42%, rgba(214, 170, 70, 0.22), transparent 58%),
                var(--program-paper);
            color: var(--program-signal);
            box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
        }

.program-process-card {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            justify-items: start;
            gap: 0.6rem;
            grid-column: 3;
            grid-row: 1;
            min-height: 9.6rem;
            padding: 1.2rem;
            border: 1px solid var(--program-rule);
            border-radius: 1.25rem;
            background: rgba(255, 255, 255, 0.34);
            box-shadow: var(--shadow-soft);
            overflow: hidden;
            outline: none;
            transition: border-color 0.22s ease, background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
        }

.program-process-card h3 {
            grid-column: 1;
            grid-row: 1;
            position: relative;
            z-index: 1;
            transition: opacity 0.22s ease, transform 0.22s ease, filter 0.22s ease;
        }

.program-process-card .program-process-icon {
            grid-column: 2;
            grid-row: 1;
            position: relative;
            z-index: 1;
            transition: opacity 0.22s ease, transform 0.22s ease, filter 0.22s ease;
        }

.program-process-card::before {
            content: "";
            position: absolute;
            top: 50%;
            right: 100%;
            width: 1.25rem;
            height: 1px;
            background: var(--program-rule-strong);
        }

.program-process-icon {
            display: inline-grid;
            place-items: center;
            width: 3.05rem;
            height: 3.05rem;
            border: 1px solid rgba(214, 170, 70, 0.46);
            border-radius: 999px;
            background: rgba(214, 170, 70, 0.12);
            color: var(--program-signal);
            box-shadow: 0 14px 34px rgba(214, 170, 70, 0.16);
        }

.program-process-icon [data-lucide] {
            width: 1.55rem;
            height: 1.55rem;
            stroke-width: 1.8;
        }

.program-process-card p {
            grid-column: 1 / -1;
            grid-row: 1;
            align-self: center;
            max-height: none;
            opacity: 0;
            transform: translateY(0.45rem);
            filter: blur(0.25rem);
            overflow: visible;
            pointer-events: none;
            transition: opacity 0.24s ease, transform 0.24s ease, filter 0.24s ease;
        }

.program-process-card:hover,
        .program-process-card:focus {
            border-color: rgba(214, 170, 70, 0.58);
            background: rgba(255, 255, 255, 0.56);
            box-shadow: 0 26px 70px rgba(15, 23, 42, 0.12);
            transform: translateY(-0.18rem);
        }

.program-process-card:hover p,
        .program-process-card:focus p {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }

.program-process-card:hover h3,
        .program-process-card:focus h3,
        .program-process-card:hover .program-process-icon,
        .program-process-card:focus .program-process-icon {
            opacity: 0;
            transform: translateY(-0.35rem) scale(0.96);
            filter: blur(0.25rem);
        }

.program-process-step:nth-child(even) .program-process-card {
            grid-column: 1;
            grid-template-columns: auto minmax(0, 1fr);
            justify-items: start;
            text-align: left;
        }

.program-process-step:nth-child(even) .program-process-card .program-process-icon {
            grid-column: 1;
        }

.program-process-step:nth-child(even) .program-process-card h3 {
            grid-column: 2;
        }

.program-process-step:nth-child(even) .program-process-card::before {
            right: auto;
            left: 100%;
        }

.motion-safe .program-process-icon {
            animation: program-process-icon-float 3.4s ease-in-out infinite;
        }

.motion-safe .program-process-step:nth-child(even) .program-process-icon {
            animation-delay: -1.1s;
        }

.motion-safe .program-process-card:hover .program-process-icon,
        .motion-safe .program-process-card:focus .program-process-icon {
            animation-play-state: paused;
        }

@keyframes program-process-icon-float {
            0%,
            100% {
                transform: translateY(0) rotate(0deg);
            }

            50% {
                transform: translateY(-0.25rem) rotate(-3deg);
            }
        }

.program-parallax-section {
            position: relative;
            isolation: isolate;
            min-height: 34rem;
            display: grid;
            align-items: center;
            padding: 7rem 0;
            overflow: clip;
            color: #ffffff;
            background:
                linear-gradient(180deg, rgba(8, 13, 25, 0) 0%, rgba(8, 13, 25, 0.48) 42%, #101827 82%, #101827 100%),
                linear-gradient(90deg, rgba(6, 10, 20, 0.88) 0%, rgba(8, 13, 25, 0.58) 48%, rgba(8, 13, 25, 0.9) 100%),
                linear-gradient(180deg, rgba(6, 10, 20, 0.34), rgba(8, 13, 25, 0.88)),
                url("fotosito/1777554856511.jpg") center / cover fixed no-repeat;
        }

.program-parallax-section::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            background:
                radial-gradient(circle at 24% 34%, rgba(214, 170, 70, 0.2), transparent 26rem),
                linear-gradient(90deg, rgba(255, 255, 255, 0.08), transparent 42%);
            pointer-events: none;
        }

.program-parallax-section::after {
            content: "";
            position: absolute;
            inset-inline: 0;
            bottom: 0;
            z-index: 0;
            height: 18rem;
            background: linear-gradient(180deg, rgba(16, 24, 39, 0) 0%, rgba(16, 24, 39, 0.88) 58%, #101827 100%);
            pointer-events: none;
        }

.program-parallax-section > .container {
            position: relative;
            z-index: 1;
        }

.program-parallax-content {
            width: min(100%, 62rem);
            margin-inline: auto;
            display: grid;
            box-sizing: border-box;
            grid-template-columns: minmax(0, 1fr);
            justify-items: center;
            text-align: center;
            row-gap: 0.65rem;
            padding: 1.6rem 2rem 1.75rem;
            border-block: 1px solid rgba(214, 170, 70, 0.44);
            background: linear-gradient(90deg, rgba(6, 10, 20, 0), rgba(6, 10, 20, 0.58), rgba(6, 10, 20, 0));
            backdrop-filter: blur(10px);
        }

.program-parallax-content .eyebrow {
            grid-column: 1 / -1;
            color: rgba(255, 255, 255, 0.74);
        }

.program-parallax-count {
            margin: 0;
            color: var(--program-signal);
            font-size: 7.6rem;
            font-weight: 900;
            line-height: 0.88;
            letter-spacing: -0.08em;
            text-shadow: 0 0.16em 0.72em rgba(0, 0, 0, 0.28);
        }

.program-parallax-content h2 {
            position: relative;
            margin: 0;
            max-width: 13ch;
            padding-left: 0;
            color: #ffffff;
            font-size: 3.35rem;
            line-height: 0.96;
            letter-spacing: -0.065em;
        }

.program-parallax-content h2::before {
            display: none;
        }

.program-parallax-note {
            margin: 0;
            max-width: 17rem;
            color: rgba(255, 255, 255, 0.66);
            font-size: 1.05rem;
            line-height: 1.45;
        }

.program-areas-section {
            margin-top: -1px;
            overflow: hidden;
            color: #ffffff;
            background:
                linear-gradient(180deg, #101827 0%, #101827 5rem, rgba(16, 24, 39, 0) 16rem),
                radial-gradient(circle at 80% 32%, rgba(214, 170, 70, 0.28), transparent 24rem),
                radial-gradient(circle at 62% 68%, rgba(83, 52, 148, 0.26), transparent 28rem),
                linear-gradient(135deg, #101827 0%, #1c2440 48%, #080d19 100%);
        }

.program-areas-section::after {
            background: linear-gradient(90deg, transparent, rgba(214, 170, 70, 0.42), transparent);
        }

.program-reviews-section {
            margin-top: -1px;
            padding-top: 0;
            background: #080d19;
        }

.program-areas-layout {
            display: grid;
            gap: clamp(2.25rem, 4vw, 3.5rem);
        }

.program-areas-copy {
            margin: 0;
            max-width: 38rem;
        }

.program-areas-copy .eyebrow {
            color: rgba(255, 255, 255, 0.72);
        }

.program-areas-copy h2 {
            max-width: 12ch;
            color: #ffffff;
        }

.program-areas-copy p:not(.eyebrow) {
            max-width: 34rem;
            color: rgba(255, 255, 255, 0.68);
        }

.program-area-track {
            position: relative;
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: clamp(1.25rem, 2.4vw, 2rem);
            margin: 0;
            padding: 0;
            list-style: none;
        }

.program-area-track::before {
            content: "";
            position: absolute;
            top: 0.85rem;
            left: 6%;
            right: 6%;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 202, 95, 0.72), transparent);
            pointer-events: none;
        }

.program-area-item {
            position: relative;
            display: grid;
            align-content: start;
            gap: 0.7rem;
            min-width: 0;
            margin: 0;
            padding-top: 2.35rem;
        }

.program-area-index {
            position: absolute;
            top: 0;
            left: 0;
            color: #ffca5f;
            font-family: "IBM Plex Mono", "Courier New", monospace;
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.16em;
            line-height: 1;
        }

.program-area-item h3 {
            margin: 0;
            max-width: 12ch;
            color: #ffffff;
            font-size: clamp(1.45rem, 2.1vw, 1.9rem);
            font-weight: 700;
            line-height: 1.08;
            letter-spacing: -0.04em;
        }

.program-area-item p {
            margin: 0;
            max-width: 18ch;
            color: rgba(255, 255, 255, 0.64);
            font-size: 0.98rem;
            line-height: 1.45;
        }

.program-contact-section {
            padding-top: 5.75rem;
            width: 100%;
            min-width: 0;
            overflow: visible;
            background:
                linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.54)),
                radial-gradient(circle at top right, rgba(214, 170, 70, 0.14), transparent 34%);
        }

.program-contact-grid {
            align-items: start;
            min-width: 0;
        }

.program-contact-copy {
            grid-column: 1 / span 5;
            position: sticky;
            top: 9.5rem;
            align-self: start;
            z-index: 1;
}

.program-contact-copy h2 {
            margin: 0.7rem 0 0;
            max-width: 11ch;
            font-size: clamp(2.6rem, 4.3vw, 4rem);
            line-height: 0.98;
}

.program-contact-copy > p:not(.eyebrow) {
            margin: 1.1rem 0 0;
            color: var(--program-ink-soft);
            font-size: 1.02rem;
            line-height: 1.7;
}

.program-page .program-form-panel {
            grid-column: 7 / span 6;
}

.program-page .program-form-panel.contact-form-panel {
            --contact-ink: var(--program-ink);
            --contact-ink-soft: var(--program-ink-soft);
            padding: 1.7rem 1.8rem 1.55rem;
            border: 1px solid rgba(15, 23, 42, 0.1);
            border-radius: 0.7rem;
            background: #fffdf8;
            box-shadow: 0 18px 42px rgba(15, 23, 42, 0.05);
}

.program-page .contact-form-head {
            display: grid;
            gap: 0.4rem;
            margin: 0 0 1.35rem;
            padding: 0 0 1.15rem;
            border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}

.program-page .contact-form-head .eyebrow {
            color: var(--contact-ink-soft);
}

.program-page .contact-form-head h3 {
            margin: 0;
            color: var(--contact-ink);
            font-size: clamp(1.35rem, 2vw, 1.55rem);
            line-height: 1.15;
}

.program-page .contact-form-panel .program-form {
            gap: 1.25rem;
}

.program-page .contact-form-panel .program-form-grid {
            gap: 1.05rem 1.2rem;
}

.program-page .contact-form-panel .program-field {
            gap: 0.38rem;
}

.program-page .contact-form-panel .program-field label,
.program-page .contact-form-panel .program-checkbox span {
            color: var(--contact-ink-soft);
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.01em;
}

.program-page .contact-form-panel .program-field input,
.program-page .contact-form-panel .program-field select,
.program-page .contact-form-panel .program-field textarea {
            border: 0;
            border-bottom: 1px solid rgba(15, 23, 42, 0.16);
            border-radius: 0;
            background: transparent;
            color: var(--contact-ink);
            padding: 0.55rem 0 0.62rem;
            box-shadow: none;
}

.program-page .contact-form-panel .program-field select {
            appearance: none;
            background-image: linear-gradient(45deg, transparent 50%, #0f172a 50%), linear-gradient(135deg, #0f172a 50%, transparent 50%);
            background-position: calc(100% - 0.55rem) calc(50% + 0.12rem), calc(100% - 0.18rem) calc(50% + 0.12rem);
            background-size: 0.38rem 0.38rem, 0.38rem 0.38rem;
            background-repeat: no-repeat;
            padding-right: 1.4rem;
}

.program-page .contact-form-panel .program-field input:focus,
.program-page .contact-form-panel .program-field select:focus,
.program-page .contact-form-panel .program-field textarea:focus {
            outline: none;
            border-bottom-color: #0f172a;
            box-shadow: none;
            background-color: transparent;
}

.program-page .contact-form-panel .program-field input.is-invalid,
.program-page .contact-form-panel .program-field select.is-invalid,
.program-page .contact-form-panel .program-field textarea.is-invalid,
.program-page .contact-form-panel .program-checkbox input.is-invalid {
            border-color: transparent;
            border-bottom-color: rgba(159, 18, 57, 0.55);
            background: transparent;
            box-shadow: none;
}

.program-page .contact-form-panel textarea {
            min-height: 4.1rem;
            resize: vertical;
}

.program-page .contact-form-panel .contact-verify-field input {
            max-width: 4.5rem;
}

.program-page .contact-form-panel .contact-verify-field label {
            font-size: 0.86rem;
            font-weight: 600;
            color: var(--contact-ink-soft);
}

.program-page .contact-form-panel .program-consent {
            margin-top: 0.15rem;
}

.program-page .contact-form-panel .program-form-status {
            min-height: 0;
}

.program-page .contact-form-panel .program-form-status:empty {
            display: none;
}

.program-page .contact-form-panel .button.program-submit {
            justify-self: start;
            min-height: 3.1rem;
            padding: 0.9rem 1.4rem;
            border: 0;
            background: #ffca5f;
            color: #0f172a;
            box-shadow: none;
}

.program-page .contact-form-panel .button.program-submit:hover {
            background: #f3d27a;
            color: #0f172a;
}

.program-page .contact-form-note {
            margin: 0;
            color: var(--contact-ink-soft);
            font-size: 0.92rem;
            line-height: 1.55;
}

.program-page .accordion-item {
            background: rgba(255, 255, 255, 0.72);
        }

.program-page .accordion-item summary {
            color: var(--program-ink);
        }

.program-page .accordion-content p {
            margin: 0;
            color: var(--program-ink-soft);
        }

.program-faq-heading {
            margin-bottom: 1.25rem;
        }

.program-faq-heading h2 {
            max-width: 15ch;
            line-height: 0.94;
        }

@media (max-width: 1180px) {
.program-signal-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

.program-signal-card:nth-child(3n) {
                border-right: 0;
            }

.program-contact-copy h2 {
                max-width: 12ch;
            }

.program-area-track {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 1.75rem 1.5rem;
            }

.program-area-track::before {
                display: none;
            }
}

@media (max-width: 980px) {
.program-hero-grid,
        .program-contact-grid {
                grid-template-columns: 1fr;
            }

.program-contact-copy,
        .program-form-panel {
                grid-column: auto;
                width: 100%;
                min-width: 0;
            }

.program-page .program-form-panel {
                grid-column: auto;
            }

.program-contact-copy {
                position: static;
                top: auto;
            }

.program-contact-grid {
                width: min(calc(100% - 2rem), var(--container));
                max-width: calc(100vw - 2rem);
            }

.program-form-grid,
        .program-field,
        .program-field input,
        .program-field select,
        .program-field textarea {
                min-width: 0;
            }

.program-areas-layout {
                width: 100%;
                min-width: 0;
            }

.program-areas-copy h2 {
                max-width: 12ch;
            }

.program-area-track {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 1.75rem 1.5rem;
            }

.program-area-track::before {
                display: none;
            }
}

@media (max-width: 760px) {
.program-section,
        .program-hero-section,
        .program-contact-section {
                padding: 4.25rem 0;
            }

.program-hero-section {
                height: auto;
                max-height: none;
                min-height: 100vh;
                min-height: 100svh;
                padding-top: 5.5rem;
                padding-bottom: 0.75rem;
            }

.program-hero-grid {
                height: auto;
                min-height: calc(100svh - 6.25rem);
            }

.program-hero-copy h1,
        .program-contact-copy h2 {
                max-width: none;
            }

.program-signal-grid {
                grid-template-columns: 1fr;
            }

.program-signal-card {
                min-height: 0;
                border-right: 0;
                border-bottom: 1px solid var(--program-rule);
            }

.program-signal-card:last-child {
                border-bottom: 0;
            }

.program-process-list::before {
                left: 2.25rem;
            }

.program-process-step {
                grid-template-columns: 4.5rem minmax(0, 1fr);
                gap: 1rem;
                align-items: start;
            }

.program-process-number {
                grid-column: 1;
                width: 4.5rem;
                height: 4.5rem;
            }

.program-process-card,
        .program-process-step:nth-child(even) .program-process-card {
                grid-column: 2;
                grid-template-columns: auto minmax(0, 1fr);
                justify-items: start;
                text-align: left;
            }

.program-process-card .program-process-icon,
        .program-process-step:nth-child(even) .program-process-card .program-process-icon {
                grid-column: 1;
            }

.program-process-card h3,
        .program-process-step:nth-child(even) .program-process-card h3 {
                grid-column: 2;
            }

.program-process-card::before,
        .program-process-step:nth-child(even) .program-process-card::before {
                top: 2.25rem;
                right: 100%;
                left: auto;
                width: 1rem;
            }

.program-process-card p {
                max-height: none;
                opacity: 0;
                transform: translateY(0.45rem);
                filter: blur(0.25rem);
            }

.program-process-card:hover p,
        .program-process-card:focus p {
                opacity: 1;
                transform: translateY(0);
                filter: blur(0);
            }

.program-areas-section {
                width: 100%;
                max-width: 100vw;
                overflow: hidden;
                background:
                    linear-gradient(180deg, #101827 0%, #101827 4.5rem, rgba(16, 24, 39, 0) 12rem),
                    radial-gradient(circle at 50% 7rem, rgba(214, 170, 70, 0.22), transparent 18rem),
                    linear-gradient(180deg, #101827 0%, #0b1020 100%);
            }

.program-areas-section > .container {
                width: min(calc(100% - 2rem), var(--container));
                max-width: calc(100vw - 2rem);
            }

.program-areas-copy h2 {
                max-width: 100%;
                font-size: clamp(2.55rem, 10.8vw, 2.9rem);
            }

.program-area-track {
                grid-template-columns: 1fr;
                gap: 0;
                padding-left: 0;
            }

.program-area-track::before {
                display: block;
                top: 0.4rem;
                bottom: 0.4rem;
                left: 0.85rem;
                right: auto;
                width: 1px;
                height: auto;
                background: linear-gradient(180deg, transparent, rgba(255, 202, 95, 0.72), transparent);
            }

.program-area-item {
                padding: 1.15rem 0 1.15rem 2.75rem;
                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            }

.program-area-index {
                top: 1.35rem;
                left: 0;
                width: 2.1rem;
                text-align: center;
            }

.program-area-item:last-child {
                border-bottom: 0;
            }

.program-area-item h3,
        .program-area-item p {
                max-width: 22ch;
            }

.program-parallax-section {
                min-height: 29rem;
                padding: 5rem 0;
                overflow: hidden;
                background-attachment: scroll;
                background-position: center;
            }

.program-parallax-section > .container {
                width: min(calc(100% - 2rem), var(--container));
                max-width: calc(100vw - 2rem);
            }

.program-parallax-content {
                width: 100%;
                max-width: 100%;
                grid-template-columns: 1fr;
                align-items: start;
                row-gap: 0.85rem;
                padding: 1.35rem;
            }

.program-parallax-count {
                font-size: 4.9rem;
            }

.program-parallax-content h2 {
                max-width: none;
                padding-left: 0;
                font-size: 2.7rem;
            }

.program-parallax-content h2::before {
                display: none;
            }

.program-parallax-note {
                max-width: none;
                font-size: 0.98rem;
            }

.program-page .program-form-panel.contact-form-panel {
                padding: 1.2rem 1.15rem 1.25rem;
                border-radius: 0.7rem;
            }

.program-page .contact-form-panel .button.program-submit {
                width: auto;
                justify-self: start;
            }
}

@media (max-width: 520px) {
.program-hero-support,
        .program-contact-copy > p:not(.eyebrow) {
                font-size: 0.98rem;
            }

.program-page .button-row {
                flex-direction: column;
                align-items: stretch;
            }

.program-page .button-row .button {
                width: 100%;
                justify-content: center;
            }

.program-hero-trust {
                grid-template-columns: 1fr;
                width: 100%;
                padding: 0;
            }

.program-hero-trust span {
                border-right: 0;
                border-bottom: 1px solid var(--program-rule);
            }

.program-hero-trust span:last-child {
                border-bottom: 0;
            }
}
