.contact-page { font-family: var(--sr-sans); color: var(--sr-ink); }
.contact-hero { position: relative; overflow: hidden; background: var(--sr-night); color: var(--sr-paper); padding: 160px 0 82px; }
.contact-hero::before { content: ''; position: absolute; width: 620px; height: 620px; right: -160px; top: -160px; border: 1px solid #b8c8fa12; border-radius: 50%; box-shadow: 0 0 0 70px #b8c8fa06, 0 0 0 140px #b8c8fa04; pointer-events: none; }
.contact-hero-grid { position: relative; display: grid; grid-template-columns: 1.65fr 1fr; gap: 80px; align-items: center; }
.contact-eyebrow { font-size: 13px; font-weight: 500; line-height: 1.5; color: var(--sr-muted); margin-bottom: 22px; }
.contact-hero .contact-eyebrow { color: var(--sr-night-accent); }
.contact-hero h1 { font-size: clamp(48px, 6.4vw, 88px); font-weight: 500; letter-spacing: -.055em; line-height: 1.06; margin-bottom: 26px; }
.contact-hero h1 em { display: block; font-family: var(--sr-serif); font-weight: 400; }
.contact-lede { font-size: clamp(17px, 1.6vw, 21px); line-height: 1.65; color: #bec9d9; max-width: 550px; }
.contact-signal { position: relative; padding: 25px 0 15px 48px; max-width: 330px; justify-self: end; width: 100%; }
.contact-signal-line { position: absolute; left: 14px; top: 42px; bottom: 73px; width: 1px; background: linear-gradient(#a4b6ff80, #a4b6ff15); }
.contact-signal p { position: relative; margin: 0 0 26px; font-size: 24px; letter-spacing: -.025em; }
.contact-signal p::before { content: ''; position: absolute; left: -38px; top: 11px; width: 9px; height: 9px; border-radius: 50%; background: #a4b6ff; box-shadow: 0 0 18px #8eabff55; }
.contact-signal p span { color: #8d9bb1; font-size: 11px; letter-spacing: .06em; margin-right: 20px; vertical-align: middle; }
.contact-signal-caption { font-size: 12px; color: #99a7bc; }
.contact-main { padding: 58px 0 0; }
.contact-options { border: 0; padding: 0; margin: 0; min-width: 0; }
.contact-options legend { padding: 0; margin-bottom: 24px; font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.contact-options-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.contact-option { position: relative; cursor: pointer; display: block; min-width: 0; }
.contact-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.contact-option-content { display: flex; flex-direction: column; height: 100%; padding: 30px 34px 24px; background: #eeeee9; border: 1px solid #d6dbdf; border-radius: 8px; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.contact-option:hover .contact-option-content { border-color: #8c9aaa; }
.contact-option input:checked + .contact-option-content { border-color: var(--sr-blue); background: #f1f3fb; box-shadow: inset 0 0 0 1px var(--sr-blue); }
.contact-option input:focus-visible + .contact-option-content { outline: 3px solid var(--sr-blue); outline-offset: 5px; }
.contact-option input:disabled + .contact-option-content { cursor: default; }
.contact-option-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 12px; color: #52606e; margin-bottom: 32px; }
.contact-choice-mark { display: inline-flex; flex: none; width: 21px; height: 21px; border: 1px solid #a2adba; border-radius: 50%; align-items: center; justify-content: center; }
.contact-option input:checked + .contact-option-content .contact-choice-mark { border-color: var(--sr-blue); background: var(--sr-blue); }
.contact-option input:checked + .contact-option-content .contact-choice-mark::after { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.contact-option strong { font-size: clamp(26px, 3.2vw, 42px); font-weight: 500; line-height: 1.12; letter-spacing: -.045em; margin-bottom: 21px; }
.contact-option-copy { font-size: 15px; line-height: 1.7; max-width: 400px; color: var(--sr-muted); margin-bottom: 30px; }
.contact-option-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid #cbd2de; font-size: 13px; font-weight: 500; }
.contact-option-bottom span { font-size: 21px; }
.contact-details { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 7vw, 110px); padding: 88px 0; }
.contact-expectations h2 { font-size: clamp(34px, 3.5vw, 48px); font-weight: 500; letter-spacing: -.045em; line-height: 1.15; margin-bottom: 22px; }
.contact-expectations > p:not(.contact-eyebrow) { font-size: 15px; line-height: 1.75; color: var(--sr-muted); }
.contact-expectations ol { list-style: none; padding: 0; margin: 34px 0; }
.contact-expectations li { display: flex; gap: 20px; padding: 20px 0; border-top: 1px solid var(--sr-line); }
.contact-expectations li > span { font-size: 11px; color: #68768a; padding-top: 4px; }
.contact-expectations li strong { display: block; font-size: 15px; font-weight: 500; margin-bottom: 5px; }
.contact-expectations li p { font-size: 13px; color: var(--sr-muted); line-height: 1.7; }
.contact-direct a { display: inline-block; margin-top: 8px; color: var(--sr-ink); text-decoration: underline; text-underline-offset: 5px; font-size: 15px; overflow-wrap: anywhere; }
.contact-direct a:hover, .contact-submit-row a:hover { color: var(--sr-blue); }
.contact-fields { min-width: 0; }
.contact-required { font-size: 12px; color: var(--sr-muted); margin: 2px 0 24px; }
.contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contact-field { margin-bottom: 24px; }
.contact-field label { display: block; color: var(--sr-ink); font-size: 14px; font-weight: 500; margin-bottom: 10px; }
.contact-field label span { font-size: 12px; font-weight: 400; color: var(--sr-muted); }
.contact-field :is(input,select,textarea) { display: block; width: 100%; max-width: 100%; font: 400 16px/1.5 var(--sr-sans); color: var(--sr-ink); border: 1px solid #bfc8cf; border-radius: 5px; background: #fff; padding: 12px 14px; min-height: 50px; box-shadow: none; }
.contact-field textarea { resize: vertical; min-height: 145px; }
.contact-field :is(input,select,textarea):disabled { opacity: .65; cursor: default; }
.contact-field :is(input,select,textarea):focus { outline: 2px solid var(--sr-blue); outline-offset: 3px; border-color: var(--sr-blue); }
.contact-field textarea::placeholder { color: #718090; opacity: 1; }
.contact-field-note { font-size: 12px; line-height: 1.7; color: var(--sr-muted); margin-top: 12px; }
.contact-sensitive { font-size: 12px; line-height: 1.8; color: #586779; border-top: 1px solid var(--sr-line); padding-top: 20px; margin: 30px 0; }
.contact-submit-row { display: flex; align-items: center; gap: 24px; margin-top: 18px; }
.contact-submit-row .btn-primary { flex: none; }
.contact-submit-row p { color: var(--sr-muted); font-size: 11px; line-height: 1.8; }
.contact-submit-row a { text-decoration: underline; text-underline-offset: 3px; }
.contact-page .form-message { padding: 0; margin: 0; border: 0; background: transparent; font-size: 14px; line-height: 1.7; }
.contact-page .form-message:not(:empty) { padding: 18px 20px; margin-top: 24px; border: 1px solid #bec8d9; border-radius: 5px; background: #edf0f6; }
.contact-page .form-message.error { color: #8c2424; background: #fff3f1; border-color: #e0b5ae; }
.contact-page .form-message.success { color: #174e3a; background: #edf6ef; border-color: #a6c4b2; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-updates { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 35px 0 42px; border-top: 1px solid var(--sr-line); }
.contact-updates .contact-eyebrow { margin-bottom: 8px; font-size: 12px; }
.contact-updates h2 { font-size: 22px; font-weight: 500; line-height: 1.4; letter-spacing: -.025em; }
.contact-updates > div:last-child { display: flex; gap: 30px; flex-wrap: wrap; }
.contact-updates a { font-size: 13px; padding: 8px 0; border-bottom: 1px solid #9da9b6; }
.contact-updates a:hover { color: var(--sr-blue); border-color: var(--sr-blue); }
.contact-updates a span { margin-left: 12px; }
.contact-page [hidden] { display: none !important; }
@media (max-width: 900px) {
  .contact-hero-grid { gap: 40px; grid-template-columns: 1.6fr 1fr; }
  .contact-signal { padding-left: 35px; }
  .contact-signal-line { left: 0; }
  .contact-signal p::before { left: -39px; }
  .contact-signal p { font-size: 20px; }
  .contact-signal p span { margin-right: 12px; }
  .contact-details { gap: 40px; grid-template-columns: .8fr 1.2fr; }
  .contact-row { grid-template-columns: 1fr; gap: 0; }
  .contact-submit-row { flex-direction: column; align-items: flex-start; gap: 16px; }
  .contact-updates { align-items: flex-start; flex-direction: column; gap: 20px; }
}
@media (max-width: 640px) {
  .contact-hero { padding: 125px 0 52px; }
  .contact-hero-grid { grid-template-columns: 1fr; }
  .contact-signal { display: none; }
  .contact-main { padding-top: 38px; }
  .contact-options-grid { grid-template-columns: 1fr; gap: 16px; }
  .contact-option-content { padding: 24px; }
  .contact-option-top { margin-bottom: 22px; }
  .contact-option strong br { display: none; }
  .contact-option strong { font-size: 28px; }
  .contact-option-copy { margin-bottom: 20px; }
  .contact-details { grid-template-columns: 1fr; gap: 38px; padding: 54px 0; }
  .contact-expectations ol { display: none; }
  .contact-expectations h2 br { display: none; }
  .contact-direct { margin-top: 20px; }
  .contact-submit-row .btn-primary { width: 100%; }
  .contact-updates > div:last-child { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) { .contact-option-content { transition: none; } }
