/* Contact page: dark SolidTech visual system, scoped to this route only. */
.contact-page {
  --ink: #050b14;
  --ink-soft: #0b1728;
  --canvas: #050b14;
  --white: #f2f6fb;
  --lime: #00e676;
  --lime-deep: #00c98c;
  --muted: #9aabc0;
  --line: rgba(155, 180, 208, .2);
  background: #050b14;
  color: #f2f6fb;
}

.contact-page .site-header { min-height: 80px; height: 80px; border-bottom-color: rgba(155, 180, 208, .16); background: rgba(5, 11, 20, .92); color: #f2f6fb; }
.contact-page .brand, .contact-page .menu-toggle { color: #f2f6fb; }
.contact-page .brand small { color: #a9b9cc; }
.contact-page .site-nav a:not(.nav-cta)::after { background: #00d9ff; }
.contact-page .site-nav .nav-cta { border-color: rgba(214, 232, 246, .72); }
.contact-page .site-nav .nav-cta:hover, .contact-page .site-nav .nav-cta:focus-visible { background: #fff; color: #050b14; }

.contact-page .page-hero { padding: clamp(62px, 7vw, 108px) 0 clamp(54px, 6vw, 86px); background: radial-gradient(circle at 79% 45%, rgba(0, 217, 255, .1), transparent 27%), radial-gradient(circle at 16% 12%, rgba(0, 230, 118, .055), transparent 24%), #050b14; }
.contact-page .page-hero::before { opacity: .23; background-image: linear-gradient(rgba(155, 180, 208, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(155, 180, 208, .13) 1px, transparent 1px); }
.contact-page .page-hero::after { border-color: rgba(0, 217, 255, .28); box-shadow: 0 0 0 min(8vw, 120px) rgba(0, 217, 255, .03), 0 0 0 min(16vw, 240px) rgba(0, 230, 118, .025); }
.contact-page .page-hero h1 { max-width: 820px; font-size: clamp(46px, 5.4vw, 80px); letter-spacing: -.045em; }
.contact-page .page-hero .lead { max-width: 650px; color: #b7c7d8; }
.contact-page .page-hero .eyebrow, .contact-page .contact-layout > div > .eyebrow, .contact-page .contact-aside .eyebrow { color: #a7bad0; font-size: 10px; letter-spacing: .13em; }
.contact-page .page-hero .eyebrow::before, .contact-page .contact-layout > div > .eyebrow::before, .contact-page .contact-aside .eyebrow::before { display: inline-block; width: 24px; height: 1px; margin: 0 10px 3px 0; background: #00d9ff; content: ""; }
.contact-page .contact-aside .eyebrow::before { background: #00e676; }

.contact-page .section { position: relative; overflow: hidden; padding: clamp(58px, 6vw, 94px) 0; background: linear-gradient(145deg, #07101e, #050b14 66%); }
.contact-page .section::before { position: absolute; top: 0; right: 7%; width: 29vw; height: 100%; background: radial-gradient(ellipse, rgba(0, 217, 255, .045), transparent 67%); content: ""; pointer-events: none; }
.contact-page .contact-layout { position: relative; z-index: 1; gap: clamp(38px, 7vw, 112px); }
.contact-page .contact-layout h2 { color: #f2f6fb; font-size: clamp(34px, 3.7vw, 54px); line-height: 1.08; letter-spacing: -.04em; }
.contact-page .contact-intro { color: #aebed1; }
.contact-page .contact-form label { color: #b8c8d8; }
.contact-page .contact-form input, .contact-page .contact-form select, .contact-page .contact-form textarea { border-bottom-color: rgba(155, 180, 208, .38); background: transparent; color: #f2f6fb; }
.contact-page .contact-form select { color-scheme: dark; }
.contact-page .contact-form option { background: #0b1728; color: #f2f6fb; }
.contact-page .contact-form input:focus, .contact-page .contact-form select:focus, .contact-page .contact-form textarea:focus { border-color: #00d9ff; }
.contact-page .contact-form .button { min-height: 49px; border-color: transparent; border-radius: 4px; background: #1877ef; color: #fff; box-shadow: 0 10px 26px rgba(24, 119, 239, .22); }
.contact-page .contact-form .button:hover, .contact-page .contact-form .button:focus-visible { background: #2984ef; }
.contact-page .form-note, .contact-page .form-status { color: #9aabc0; }

.contact-page .contact-aside { padding: clamp(30px, 3vw, 40px); border: 1px solid rgba(155, 180, 208, .22); border-radius: 5px; background: linear-gradient(145deg, rgba(10, 25, 43, .96), rgba(5, 11, 20, .94)); box-shadow: 0 24px 55px rgba(0, 0, 0, .24); }
.contact-page .contact-aside::after { opacity: 1; background-image: radial-gradient(circle at 92% 8%, rgba(0, 217, 255, .045), transparent 43%); }
.contact-page .contact-aside h2 { margin: 15px 0 28px; font-size: clamp(30px, 3vw, 42px); }
.contact-page .contact-aside p, .contact-page .contact-aside address, .contact-page .contact-checklist li { color: #b8c8d8; }
.contact-page .contact-aside a, .contact-page .contact-checklist strong { color: #f2f6fb; }
.contact-page .contact-checklist li::before { color: #00e676; }
.contact-page .contact-checklist { margin: 0 0 30px; border-top-color: rgba(255, 255, 255, .18); }
.contact-page .contact-checklist li { padding: 18px 0 18px 34px; border-bottom-color: rgba(255, 255, 255, .14); }
.contact-page .contact-aside__note { margin: 0 0 34px; }
.contact-page .site-footer { padding: 38px max(4.5vw, 26px); border-top: 1px solid rgba(155, 180, 208, .18); background: #050b14; }
.contact-page .footer-grid { display: grid; grid-template-columns: 1.25fr .85fr .95fr; }
.contact-page .footer-bottom { margin-top: 34px; }
.contact-page .footer-title { color: #a7bad0 !important; }

@media (max-width: 720px) {
  .contact-page .site-header { min-height: 67px; height: 67px; padding: 0 20px; }
  .contact-page .site-nav { top: 67px; padding: 10px 20px 20px; background: #07101e; }
  .contact-page .page-hero { padding: 48px 0 42px; }
  .contact-page .page-hero h1 { font-size: clamp(38px, 10vw, 48px); }
  .contact-page .section { padding: 56px 0; }
  .contact-page .contact-aside { padding: 24px 21px; }
  .contact-page .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .contact-page .footer-bottom { display: grid; }
}
