/* Contact page: phase-B long-scroll treatment, scoped to avoid legacy-page bleed. */
body.cf-contact { background: var(--cf-bg-deep); }
body.cf-contact header.site-header { background: rgba(8, 5, 15, .85); border-bottom-color: rgba(104, 225, 253, .18); }
body.cf-contact footer.site-footer { border-top-color: rgba(245, 236, 255, .08); }

.cf-contact-hero { position: relative; overflow: hidden; padding: 88px 0 104px; background: radial-gradient(circle at 78% 42%, rgba(104,225,253,.16), transparent 30%), linear-gradient(145deg, #08050f, #15102a 68%, #08050f); }
.cf-contact-hero::after { content: ''; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, transparent, var(--cf-cyan), transparent); opacity: .55; }
.cf-contact-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; }
.cf-contact-hero-copy h1 { margin: 16px 0 20px; font-family: var(--cf-font-display); font-size: clamp(54px, 7vw, 104px); line-height: .9; letter-spacing: .01em; text-transform: uppercase; }
.cf-contact-hero-copy h1 span { color: var(--cf-cyan); text-shadow: 0 0 24px var(--cf-cyan); }
.cf-contact-hero-copy p { max-width: 540px; margin: 0; color: var(--cf-ink-dim); font-size: clamp(16px, 2vw, 20px); line-height: 1.6; }
.cf-contact-signal { position: relative; min-height: 280px; display: grid; place-items: center; }
/* satellite dish beaming at a far away civilization (Sam's ask, 2026-07-12) */
.cf-contact-dish { width: min(280px, 70vw); height: auto; overflow: visible; filter: drop-shadow(0 0 18px rgba(104,225,253,.22)); }
.cf-contact-dish .cfd-ground { stroke: rgba(104,225,253,.28); stroke-width: 1; }
.cf-contact-dish .cfd-mast,
.cf-contact-dish .cfd-arm { stroke: rgba(104,225,253,.55); stroke-width: 1.5; }
.cf-contact-dish .cfd-bowl { stroke: var(--cf-cyan); stroke-width: 2; stroke-linecap: round; }
.cf-contact-dish .cfd-bowl-rim { stroke: rgba(104,225,253,.45); stroke-width: 1; }
.cf-contact-dish .cfd-horn { fill: var(--cf-magenta); filter: drop-shadow(0 0 8px var(--cf-magenta)); }
.cf-contact-dish .cfd-sig { stroke: var(--cf-cyan); stroke-width: 1.5; stroke-linecap: round; opacity: .25; animation: cfd-beam 2.4s infinite; }
.cf-contact-dish .cfd-sig2 { animation-delay: .4s; }
.cf-contact-dish .cfd-sig3 { animation-delay: .8s; }
.cf-contact-dish .cfd-star line { stroke: var(--cf-magenta); stroke-width: 1.5; stroke-linecap: round; }
.cf-contact-dish .cfd-star { animation: cfd-twinkle 3.6s infinite; }
@keyframes cfd-beam { 0%, 100% { opacity: .18; } 35% { opacity: .95; } }
@keyframes cfd-twinkle { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .cf-contact-dish .cfd-sig, .cf-contact-dish .cfd-star { animation: none; }
  .cf-contact-dish .cfd-sig { opacity: .6; }
}
.cf-contact-signal-label { position: absolute; bottom: 8px; color: var(--cf-ink-mute); font: 10px var(--cf-font-mono); letter-spacing: .16em; }

.cf-contact-section { min-height: 650px; }
.contact-form { max-width: 520px; margin: 40px auto 0; padding: 28px; display: grid; gap: 18px; background: var(--cf-bg-card); border: 1px solid rgba(104,225,253,.22); border-top: 2px solid var(--cf-cyan); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.contact-form > label { display: block; color: var(--cf-ink-dim); font: 11px var(--cf-font-mono); letter-spacing: .14em; text-transform: uppercase; }
.contact-form > label > br { display: none; }
.contact-form input:not([type="checkbox"]):not([type="hidden"]), .contact-form textarea { width: 100%; margin-top: 8px; padding: 13px 14px; border: 1px solid rgba(245,236,255,.16); border-radius: 0; background: var(--cf-bg-deep); color: var(--cf-ink); font: 15px var(--cf-font-mono); }
.contact-form textarea { min-height: 124px; resize: vertical; line-height: 1.5; }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--cf-cyan); outline-offset: 2px; border-color: var(--cf-cyan); box-shadow: 0 0 18px rgba(104,225,253,.16); }
.contact-form #message-count { margin: -8px 0 0; color: var(--cf-ink-mute); font: 10px var(--cf-font-mono); letter-spacing: .08em; }
.contact-form .contact-optin { display: flex; align-items: center; gap: 10px; color: var(--cf-ink); font: 13px var(--cf-font-mono); letter-spacing: 0; text-transform: none; cursor: pointer; }
.contact-form .contact-optin input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--cf-cyan); }
.contact-form button[type="submit"] { justify-self: stretch; border: 0; cursor: pointer; }
.cf-contact-state { max-width: 520px; margin: 40px auto -20px; padding: 20px 24px; display: flex; gap: 16px; align-items: flex-start; background: rgba(77,255,175,.06); border: 1px solid rgba(77,255,175,.38); }
.cf-contact-state-mark { color: var(--cf-green); font: 700 12px var(--cf-font-mono); letter-spacing: .12em; }
.cf-contact-state h2 { margin: 0 0 6px; font: 600 21px var(--cf-font-display); text-transform: uppercase; }
.cf-contact-state p { margin: 0; color: var(--cf-ink-dim); }
.cf-contact-back { max-width: 520px; margin: 22px auto 0; }
.hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 880px) {
  .cf-contact-hero { padding: 56px 0 72px; }
  .cf-contact-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .cf-contact-signal { min-height: 170px; }
  .cf-contact-dish { width: 180px; }
  .cf-contact-signal-label { bottom: 0; }
}
@media (max-width: 480px) {
  .contact-form { padding: 20px; margin-top: 28px; }
  .cf-contact-state { margin-top: 28px; padding: 16px; }
  .cf-contact-state h2 { font-size: 18px; }
}
