.contact-page {
            --contact-paper: var(--bg);
            --contact-ink: var(--text);
            --contact-ink-soft: var(--muted);
            --contact-signal: #ffca5f;
            background: #f7f3ed;
            overflow-x: clip;
        }

.contact-page .site-shell,
.contact-page .site-content {
            overflow-x: clip;
        }

.contact-content {
            display: grid;
            gap: 0;
        }

.contact-page .site-content > .contact-letter-hero {
            position: relative;
            min-height: 38rem;
            height: 100vh;
            height: 100dvh;
            padding: 0;
            overflow: hidden;
            background: #1a2438;
}

.contact-letter-hero-media {
            position: absolute;
            inset: 0;
            background:
                    radial-gradient(ellipse at 74% 38%, rgba(255, 202, 95, 0.16), transparent 42%),
                    linear-gradient(90deg, #101827 0%, #172033 46%, #243044 100%);
}

.contact-letter-hero-figure {
            position: relative;
            height: 100%;
}

.contact-letter-hero-media img {
            position: absolute;
            left: auto;
            right: 0;
            bottom: 0;
            z-index: 0;
            display: block;
            width: min(78vw, 57rem);
            max-width: none;
            height: auto;
            object-fit: contain;
            object-position: right bottom;
            transform: none;
            filter: drop-shadow(0 28px 48px rgba(8, 12, 24, 0.35));
            pointer-events: none;
}

.contact-letter-hero-media::after {
            content: "";
            position: absolute;
            inset: 0;
            background:
                    linear-gradient(90deg, rgba(16, 24, 39, 0.72) 0%, rgba(16, 24, 39, 0.28) 42%, transparent 68%),
                    linear-gradient(180deg, rgba(16, 24, 39, 0.18) 0%, transparent 30%, rgba(16, 24, 39, 0.22) 100%);
            pointer-events: none;
}

.contact-letter-hero-copy {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 2;
            display: grid;
            justify-items: start;
            align-content: end;
            gap: 0;
            padding-bottom: clamp(2.6rem, 7vh, 4.4rem);
            color: #f7f3ed;
}

.contact-letter-hero-copy .eyebrow {
            margin: 0 0 0.85rem;
            color: #ffca5f;
}

.contact-letter-hero-copy h1 {
            max-width: 8ch;
            margin: 0 0 0.9rem;
            color: #f7f3ed;
            font-size: clamp(3.6rem, 7vw, 6.6rem);
            line-height: 0.88;
}

.contact-hero-lead {
            max-width: 26rem;
            margin: 0 0 0.7rem;
            color: rgba(247, 243, 237, 0.92);
            font-size: clamp(1.12rem, 1.55vw, 1.32rem);
            font-weight: 500;
            line-height: 1.4;
}

.contact-hero-proof {
            margin: 0 0 1.55rem;
            color: rgba(247, 243, 237, 0.52);
            font-family: "IBM Plex Mono", "Courier New", monospace;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
}

.contact-hero-actions {
            display: grid;
            justify-items: start;
            gap: 0.55rem;
}

.contact-hero-jump {
            min-height: 3.15rem;
            padding: 0.95rem 1.45rem;
            border: 0;
            background: #ffca5f;
            color: #0f172a;
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.28);
}

.contact-hero-jump:hover {
            background: #f3d27a;
            color: #0f172a;
}

.contact-hero-safe {
            margin: 0;
            color: rgba(247, 243, 237, 0.62);
            font-size: 0.9rem;
            line-height: 1.4;
}

.contact-page .site-content > .contact-letter-body {
            padding: clamp(2.8rem, 5vw, 4.6rem) 0 clamp(3.6rem, 6vw, 5.6rem);
            background: var(--bg);
            scroll-margin-top: 8rem;
}

.contact-letter-layout {
            display: grid;
            grid-template-columns: minmax(16rem, 0.9fr) minmax(22rem, 1.1fr);
            align-items: start;
            gap: clamp(2rem, 4vw, 4.5rem);
}

.contact-letter-copy {
            position: sticky;
            top: 7.25rem;
            display: grid;
            gap: 1.6rem;
            padding-top: 0.2rem;
}

.contact-form-intro {
            display: grid;
            gap: 0.75rem;
}

.contact-form-intro .eyebrow {
            color: var(--contact-ink-soft);
}

.contact-form-intro h2 {
            margin: 0;
            color: var(--contact-ink);
            font-size: clamp(1.85rem, 3vw, 2.35rem);
            line-height: 1.12;
}

.contact-form-intro p {
            margin: 0;
            max-width: 28ch;
            color: var(--contact-ink-soft);
            font-size: 1.02rem;
            line-height: 1.55;
}

.contact-ledger {
            display: grid;
            margin: 0;
            border-top: 1px solid rgba(15, 23, 42, 0.12);
}

.contact-ledger div {
            display: grid;
            grid-template-columns: 7.5rem minmax(0, 1fr);
            gap: 0.75rem 1rem;
            padding: 0.95rem 0;
            border-bottom: 1px solid rgba(15, 23, 42, 0.12);
}

.contact-ledger dt {
            margin: 0;
            color: var(--contact-ink);
            font-size: 0.92rem;
            font-weight: 700;
            line-height: 1.45;
}

.contact-ledger dd {
            margin: 0;
            color: var(--contact-ink-soft);
            font-size: 0.95rem;
            line-height: 1.5;
}

.contact-form-panel {
            --contact-ink: var(--text);
            --contact-ink-soft: var(--muted);
            grid-column: auto;
            width: 100%;
            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);
}

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

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

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

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

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

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

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

.contact-form-panel .program-field input,
.contact-form-panel .program-field select,
.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;
}

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

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

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

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

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

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

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

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

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

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

.contact-form-note {
            margin: -0.35rem 0 0;
}

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

.contact-direct a {
            color: var(--contact-ink);
            font-weight: 700;
            text-decoration: none;
            text-underline-offset: 0.14em;
}

.contact-direct a:hover {
            text-decoration: underline;
}

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

@media (max-width: 860px) {
.contact-page .site-content > .contact-letter-hero {
                height: auto;
                min-height: 0;
                display: flex;
                flex-direction: column;
            }

.contact-letter-hero-media {
                position: relative;
                min-height: min(78vw, 26rem);
                background:
                        radial-gradient(ellipse at 50% 20%, rgba(255, 202, 95, 0.14), transparent 46%),
                        linear-gradient(180deg, #172033 0%, #101827 100%);
            }

.contact-letter-hero-figure {
                min-height: min(78vw, 26rem);
            }

.contact-letter-hero-media img {
                left: 50%;
                right: auto;
                width: min(88vw, 24rem);
                max-width: none;
                height: auto;
                transform: translateX(-50%);
                object-position: center bottom;
            }

.contact-letter-hero-media::after {
                background:
                        linear-gradient(180deg, transparent 28%, rgba(16, 24, 39, 0.82) 100%);
            }

.contact-letter-hero-copy {
                position: relative;
                margin-top: -8.5rem;
                padding-bottom: 1.6rem;
            }

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

.contact-letter-layout {
                grid-template-columns: 1fr;
            }

.contact-letter-copy {
                position: static;
                padding-top: 0;
            }

.contact-form-intro h2 {
                max-width: none;
            }

.contact-form-intro p {
                max-width: none;
            }

.contact-ledger div {
                grid-template-columns: 6.5rem minmax(0, 1fr);
            }
}

@media (max-width: 560px) {
.contact-letter-hero-copy {
                margin-top: -7rem;
            }

.contact-letter-hero-copy h1 {
                font-size: clamp(3.1rem, 14vw, 4.1rem);
            }

.contact-letter-layout,
.contact-letter-copy {
                gap: 1.1rem;
            }

.contact-form-panel {
                padding: 1.2rem 1.15rem 1.25rem;
            }
}
