.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: #d6aa46;
            --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: clip;
        }

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

.program-hero-section {
            min-height: 100vh;
            min-height: 100svh;
            display: grid;
            align-items: stretch;
            padding-top: 7.25rem;
            padding-bottom: 0.75rem;
            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: calc(100svh - 8rem);
            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: 2rem;
        }

.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: 1.15rem 0 0;
            max-width: 13.5ch;
            color: var(--program-ink);
            font-size: 5rem;
            line-height: 0.94;
            letter-spacing: -0.065em;
        }

.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;
            grid-template-columns: minmax(0, 0.86fr) minmax(36rem, 1.14fr);
            align-items: center;
            gap: clamp(2rem, 5vw, 5rem);
        }

.program-areas-copy {
            margin: 0;
        }

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

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

.program-areas-copy h2 span {
            display: block;
        }

.program-areas-copy h2 span:nth-child(2) {
            color: #ffca5f;
        }

.program-areas-copy h2 span:nth-child(3) {
            color: #ffca5f;
        }

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

.program-orbit-system {
            position: relative;
            width: min(100%, 41rem);
            aspect-ratio: 1 / 1;
            justify-self: end;
            border-radius: 50%;
        }

.program-orbit-system::before {
            content: "";
            position: absolute;
            inset: 10%;
            border-radius: 50%;
            background:
                radial-gradient(circle, rgba(214, 170, 70, 0.22), transparent 12%),
                radial-gradient(circle at 54% 44%, rgba(255, 255, 255, 0.12), transparent 28%),
                radial-gradient(circle, rgba(5, 8, 16, 0.18), transparent 62%);
            filter: blur(0.2px);
            pointer-events: none;
        }

.program-orbit-ring {
            position: absolute;
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 50%;
            box-shadow: inset 0 0 50px rgba(214, 170, 70, 0.04);
            pointer-events: none;
        }

.program-orbit-ring-outer {
            inset: 3%;
        }

.program-orbit-ring-middle {
            inset: 18%;
            border-color: rgba(214, 170, 70, 0.24);
        }

.program-orbit-ring-inner {
            inset: 33%;
            border-color: rgba(255, 255, 255, 0.14);
        }

.program-orbit-core {
            position: absolute;
            left: 50%;
            top: 50%;
            z-index: 2;
            display: grid;
            place-items: center;
            box-sizing: border-box;
            width: 8.8rem;
            height: 8.8rem;
            transform: translate(-50%, -50%);
            border: 1px solid rgba(214, 170, 70, 0.42);
            border-radius: 50%;
            background:
                radial-gradient(circle at 50% 38%, rgba(214, 170, 70, 0.2), transparent 58%),
                rgba(10, 15, 29, 0.8);
            box-shadow: 0 24px 80px rgba(0, 0, 0, 0.32);
        }

.program-orbit-core span {
            color: #ffffff;
            font-size: 3.6rem;
            font-weight: 900;
            line-height: 0.8;
            letter-spacing: -0.07em;
        }

.program-orbit-core small {
            margin-top: -1.2rem;
            color: rgba(255, 255, 255, 0.62);
            font-family: "IBM Plex Mono", "Courier New", monospace;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

.program-orbit-node {
            position: absolute;
            left: var(--x);
            top: var(--y);
            z-index: 3;
            display: inline-flex;
            align-items: center;
            box-sizing: border-box;
            max-width: 10.5rem;
            min-height: 2.8rem;
            padding: 0.55rem 0.8rem;
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.9);
            box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
            backdrop-filter: blur(12px);
            font-size: 0.78rem;
            font-weight: 800;
            line-height: 1.12;
            transform: translate(-50%, -50%);
        }

.program-orbit-node::before {
            content: "";
            flex: 0 0 auto;
            width: 0.5rem;
            height: 0.5rem;
            margin-right: 0.45rem;
            border-radius: 50%;
            background: var(--program-signal);
            box-shadow: 0 0 18px rgba(214, 170, 70, 0.65);
        }

.program-orbit-node.is-numbers {
            border-color: rgba(214, 170, 70, 0.44);
        }

.program-orbit-node.is-people {
            border-color: rgba(255, 255, 255, 0.28);
        }

.program-orbit-node.is-sales {
            border-color: rgba(145, 123, 255, 0.42);
        }

.program-orbit-node.is-sales::before {
            background: #917bff;
            box-shadow: 0 0 18px rgba(145, 123, 255, 0.6);
        }

.motion-safe .program-orbit-ring-outer {
            animation: program-orbit-spin 38s linear infinite;
        }

.motion-safe .program-orbit-ring-middle {
            animation: program-orbit-spin 32s linear infinite reverse;
        }

.motion-safe .program-orbit-system .program-orbit-node {
            opacity: 0;
            filter: blur(0.5rem);
        }

.motion-safe .program-orbit-system.is-visible .program-orbit-node {
            animation:
                program-orbit-node-pop 0.48s cubic-bezier(0.16, 1, 0.3, 1) forwards,
                program-orbit-float 7s ease-in-out infinite;
            animation-delay: var(--pop-delay, 0s), var(--float-delay, 0s);
        }

@keyframes program-orbit-spin {
            to {
                transform: rotate(1turn);
            }
        }

@keyframes program-orbit-float {
            0%,
            100% {
                transform: translate(-50%, -50%);
            }

            50% {
                transform: translate(-50%, calc(-50% - 0.5rem));
            }
        }

@keyframes program-orbit-node-pop {
            0% {
                opacity: 0;
                filter: blur(0.5rem);
            }

            72% {
                opacity: 1;
                filter: blur(0);
                box-shadow:
                    0 18px 50px rgba(0, 0, 0, 0.24),
                    0 0 0 0.5rem rgba(214, 170, 70, 0.08);
            }

            100% {
                opacity: 1;
                filter: blur(0);
            }
        }

.program-contact-section {
            padding-top: 5.75rem;
            width: 100%;
            min-width: 0;
            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;
        }

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

@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-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-hero-copy h1 {
                font-size: 4.1rem;
            }

.program-areas-layout {
                grid-template-columns: 1fr;
                width: 100%;
                min-width: 0;
            }

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

.program-orbit-system {
                justify-self: center;
            }
}

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

.program-hero-section {
                min-height: 100vh;
                min-height: 100svh;
                padding-top: 5rem;
                padding-bottom: 0.75rem;
            }

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

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

.program-hero-copy h1 {
                font-size: 3.45rem;
            }

.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-orbit-system {
                width: 100%;
                aspect-ratio: auto;
                display: grid;
                grid-template-columns: 1fr;
                gap: 0.7rem;
                padding-top: 1rem;
            }

.program-orbit-system::before,
        .program-orbit-ring {
                display: none;
            }

.program-orbit-core {
                position: relative;
                left: auto;
                top: auto;
                width: 100%;
                height: auto;
                min-height: 5rem;
                transform: none;
                border-radius: 1.25rem;
            }

.program-orbit-core small {
                margin-top: -0.5rem;
            }

.program-orbit-node {
                position: relative;
                left: auto;
                top: auto;
                width: 100%;
                max-width: none;
                min-height: 0;
                transform: none;
            }

.motion-safe .program-orbit-system .program-orbit-node,
        .motion-safe .program-orbit-system.is-visible .program-orbit-node {
                animation: none;
                opacity: 1;
                filter: none;
            }

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

@media (max-width: 520px) {
.program-hero-copy h1 {
                font-size: 2.75rem;
            }

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