.contact-page { background: var(--paper, #f6f5f1); color: var(--ink, #183044); }
.contact-main { padding-bottom: 112px; }
.contact-intro { padding-top: 86px; padding-bottom: 72px; }
.contact-intro .eyebrow { margin-bottom: 24px; }
.contact-intro .eyebrow span { padding: 0 10px; color: #9ba7ad; }
.contact-title { margin: 0 0 27px; font-size: clamp(40px, 5.2vw, 68px); line-height: 1.42; letter-spacing: -.035em; font-weight: 500; }
.contact-lead { margin: 0; line-height: 2.05; font-size: 16px; color: var(--muted, #5c6d78); }
.contact-grid { display: grid; grid-template-columns: .76fr 1.34fr; gap: 84px; align-items: start; }
.contact-aside-rule { width: 40px; height: 2px; background: var(--ink, #183044); margin: 0 0 27px; }
.contact-aside h2 { margin: 0 0 28px; font-size: 23px; line-height: 1.8; letter-spacing: -.025em; font-weight: 500; }
.contact-aside > p:not(.contact-direct) { font-size: 14px; color: var(--muted, #5c6d78); line-height: 1.9; margin-bottom: 15px; }
.contact-prompts { list-style: none; padding: 0; margin: 0 0 40px; }
.contact-prompts li { position: relative; padding: 15px 0 15px 19px; border-bottom: 1px solid var(--line, #d9dedd); color: var(--muted, #5c6d78); font-size: 14px; line-height: 1.9; }
.contact-prompts li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--ink, #183044); position: absolute; left: 0; top: 27px; }
.contact-guidance-label { font-size: 14px; font-weight: 600; margin: 0 0 18px; }
.contact-guidance ol { list-style: none; padding: 0; margin: 0; }
.contact-guidance li { display: flex; align-items: baseline; gap: 17px; font-size: 13px; color: var(--muted, #5c6d78); line-height: 1.8; margin: 13px 0; }
.contact-guidance li span { font-family: Arial, sans-serif; font-size: 11px; letter-spacing: .09em; color: var(--ink, #183044); }
.contact-direct { font-size: 12px; line-height: 2; color: var(--muted, #5c6d78); margin-top: 37px; }
.contact-direct a { display: inline-flex; gap: 25px; align-items: center; color: var(--ink, #183044); font-family: Arial, sans-serif; font-size: 17px; text-decoration: none; border-bottom: 1px solid var(--line, #d9dedd); padding-bottom: 3px; }
.contact-direct a:hover { border-bottom-color: currentColor; }
.contact-local-note { display: flex; gap: 14px; align-items: flex-start; padding: 20px 22px; background: #ecefeb; margin-bottom: 30px; }
.contact-note-mark { flex: 0 0 18px; margin-top: 3px; height: 18px; display: grid; place-items: center; font: 12px Georgia, serif; border: 1px solid #7d8d90; border-radius: 50%; }
.contact-local-note p { margin: 0; font-size: 12px; line-height: 1.9; color: #4e6068; }
.contact-required-note { text-align: right; color: var(--muted, #5c6d78); font-size: 12px; margin: 0 0 31px; }
.contact-required-note span { display: inline-block; padding: 0 5px; margin-right: 5px; background: #e8eceb; color: #4d626b; font-size: 10px; line-height: 1.7; }
.contact-field { margin-bottom: 29px; min-width: 0; }
.contact-field label { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; margin-bottom: 11px; }
.contact-required, .contact-optional { font-size: 10px; font-weight: 400; padding: 2px 6px; line-height: 1.5; letter-spacing: .03em; }
.contact-required { color: #4d626b; background: #e8eceb; }
.contact-optional { color: var(--muted, #5c6d78); border: 1px solid var(--line, #d9dedd); padding: 1px 5px; }
.contact-field input, .contact-field select, .contact-field textarea, .contact-result textarea { display: block; width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #bfc9cb; border-radius: 2px; background: #fff; padding: 14px 16px; font: inherit; font-size: 16px; color: var(--ink, #183044); line-height: 1.7; box-shadow: none; }
.contact-field input, .contact-field select { min-height: 55px; }
.contact-field select { padding-right: 30px; cursor: pointer; }
.contact-field textarea, .contact-result textarea { resize: vertical; min-height: 150px; }
.contact-field input::placeholder, .contact-field textarea::placeholder { color: #76838b; opacity: 1; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus, .contact-result textarea:focus { outline: 2px solid #496f80; outline-offset: 3px; }
.contact-field-row { display: grid; grid-template-columns: 1fr 1.22fr; gap: 20px; }
.contact-field-help { font-size: 12px; color: var(--muted, #5c6d78); line-height: 1.9; margin: -2px 0 12px; }
.contact-character-count { text-align: right; margin: 7px 0 0; font-size: 11px; color: var(--muted, #5c6d78); font-variant-numeric: tabular-nums; }
.contact-privacy-note { margin: 3px 0 26px; font-size: 12px; line-height: 2; color: var(--muted, #5c6d78); }
.contact-privacy-note a, .contact-result-help a, .contact-noscript a { color: var(--ink, #183044); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.contact-compose { width: 100%; justify-content: space-between; padding: 21px 27px; }
.contact-compose:disabled { opacity: .55; cursor: not-allowed; }
.contact-send-note { text-align: center; margin: 12px 0 0; color: var(--muted, #5c6d78); font-size: 11px; line-height: 1.8; }
.contact-alternative { margin-top: 37px; padding-top: 24px; border-top: 1px solid var(--line, #d9dedd); }
.contact-alternative p { margin: 0 0 12px; font-size: 12px; color: var(--muted, #5c6d78); line-height: 1.9; }
.contact-alternative a { font-size: 13px; color: var(--ink, #183044); text-decoration: underline; text-underline-offset: 4px; line-height: 1.9; }
.contact-new-tab { font-size: 10px; display: inline-block; margin-left: 6px; color: var(--muted, #5c6d78); }
.contact-result { margin-top: 44px; padding: 30px 24px; border: 1px solid #bac8cc; background: #eef1ee; scroll-margin-top: 120px; }
.contact-result[hidden] { display: none; }
.contact-result .eyebrow { font-size: 10px; margin: 0 0 13px; }
.contact-result h2 { font-size: 25px; font-weight: 500; line-height: 1.6; margin: 0 0 16px; }
.contact-result > p:not(.eyebrow) { font-size: 13px; line-height: 1.9; color: var(--muted, #5c6d78); }
.contact-result-label { display: block; font-size: 12px; font-weight: 600; margin: 23px 0 10px; }
.contact-result textarea { font-size: 14px; line-height: 1.85; background: #fcfdfb; }
.contact-result-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.contact-result-actions .btn { font-size: 12px; padding: 15px 19px; min-height: 48px; }
.contact-result .contact-copy-status { min-height: 23px; margin: 9px 0; font-size: 12px; color: var(--ink, #183044); }
.contact-result .contact-result-help { font-size: 11px; line-height: 1.9; margin-bottom: 0; overflow-wrap: anywhere; }
.contact-noscript { border: 1px solid var(--line, #d9dedd); padding: 18px; line-height: 1.9; font-size: 14px; }
.contact-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-bottom: 35px; }
.contact-back { display: flex; gap: 30px; align-items: center; font-size: 13px; text-decoration: none; }

@media (max-width: 1000px) {
  .contact-grid { gap: 48px; grid-template-columns: .8fr 1.4fr; }
  .contact-field-row { grid-template-columns: 1fr; gap: 0; }
  .contact-aside h2 { font-size: 20px; }
  .contact-prompts li br { display: none; }
}
@media (max-width: 700px) {
  .contact-main { padding-bottom: 72px; }
  .contact-intro { padding-top: 48px; padding-bottom: 42px; }
  .contact-intro .eyebrow { font-size: 10px; margin-bottom: 21px; }
  .contact-title { font-size: clamp(35px, 9.4vw, 49px); line-height: 1.5; margin-bottom: 22px; }
  .contact-lead { font-size: 14px; line-height: 2; }
  .contact-desktop-break { display: none; }
  .contact-grid { display: flex; flex-direction: column; gap: 38px; }
  .contact-aside, .contact-form-column { width: 100%; min-width: 0; }
  .contact-aside-rule { margin-bottom: 19px; width: 30px; }
  .contact-aside h2 { font-size: 20px; margin-bottom: 16px; }
  .contact-prompts { display: grid; grid-template-columns: 1fr; margin-bottom: 24px; }
  .contact-prompts li { font-size: 13px; padding-top: 11px; padding-bottom: 11px; }
  .contact-prompts li::before { top: 22px; }
  .contact-guidance { padding: 21px 0 0; }
  .contact-guidance ol { display: flex; flex-direction: column; gap: 2px; }
  .contact-guidance li { font-size: 12px; margin: 5px 0; }
  .contact-direct { margin-top: 22px; }
  .contact-local-note { padding: 17px 15px; margin-bottom: 24px; gap: 10px; }
  .contact-local-note p { font-size: 11px; }
  .contact-required-note { margin-bottom: 26px; }
  .contact-field { margin-bottom: 25px; }
  .contact-field label { font-size: 13px; }
  .contact-field input, .contact-field select, .contact-field textarea { padding: 12px 13px; }
  .contact-compose { padding: 19px 20px; }
  .contact-result { padding: 25px 17px; margin-top: 34px; }
  .contact-result h2 { font-size: 23px; }
  .contact-result-actions { display: grid; grid-template-columns: 1fr; }
  .contact-result-actions .btn { justify-content: center; }
  .contact-footer-top { align-items: flex-start; flex-direction: column; gap: 25px; }
}

/* v2: the same paper-and-navy visual world continues into the quiet contact page. */
.contact-intro{position:relative;isolation:isolate;max-width:none;padding:83px max(48px,calc((100vw - 1184px)/2)) 85px;background:#eee7d9;overflow:hidden;border-bottom:1px solid #c5cec4}
.contact-intro:before{content:"";position:absolute;inset:0;z-index:-2;background:url('hero_C_desk.webp') 65% 50%/cover no-repeat;opacity:.83}
.contact-intro:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f5f2ebf0,#f5f2ebd9 38%,#f5f2eb40 75%)}
.contact-intro .eyebrow{font-size:10px;letter-spacing:.18em}
.contact-title{font-family:var(--display);font-weight:500;font-size:clamp(43px,4.8vw,68px);line-height:1.55;letter-spacing:.01em}
.contact-lead{font-size:16px;line-height:2.1;max-width:690px}
.contact-grid{margin-top:80px;gap:85px;grid-template-columns:.8fr 1.35fr}
.contact-aside h2{font-family:var(--display);font-size:25px;font-weight:500;line-height:1.85}
.contact-aside>p:not(.contact-direct),.contact-prompts li{font-size:16px;line-height:2}
.contact-guidance-label{font-size:16px}
.contact-guidance li{font-size:14px}
.contact-direct{font-size:13px}
.contact-local-note{padding:23px;background:#e7ece5;border-left:2px solid #8faaa0}
.contact-local-note p{font-size:14px;line-height:1.9}
.contact-required-note{font-size:13px}
.contact-field label{font-size:16px}
.contact-field input,.contact-field select,.contact-field textarea{border-radius:0;border-color:#adbeb8;background:#fdfdfa}
.contact-field-help,.contact-privacy-note{font-size:13px;line-height:2}
.contact-result{border-color:#a5b9ad;background:#e7ede5;padding:32px 27px;box-shadow:6px 7px 0 #d2dcd0}
.contact-result h2{font-family:var(--display);font-size:29px;line-height:1.7}
.contact-result>p:not(.eyebrow){font-size:15px;line-height:2}
.contact-result .contact-result-help{font-size:12px}
.contact-result-actions .btn{font-size:13px}
.contact-alternative p{font-size:14px}
.contact-alternative a{font-size:14px}
@media(max-width:1000px){.contact-intro{padding-left:38px;padding-right:38px}.contact-grid{gap:44px}.contact-aside h2{font-size:22px}.contact-prompts li{font-size:15px}.contact-local-note p{font-size:13px}}
@media(max-width:700px){.contact-intro{padding:205px 25px 48px}.contact-intro:before{background-position:72% 0;background-size:auto 340px;background-repeat:no-repeat;opacity:.95}.contact-intro:after{background:linear-gradient(0deg,#f5f2eb 0%,#f5f2eb 42%,#f5f2ebbf 65%,#f5f2eb00 90%)}.contact-title{font-size:42px;line-height:1.55}.contact-lead{font-size:16px;line-height:2.1}.contact-grid{margin-top:45px;gap:37px}.contact-aside h2{font-size:23px}.contact-aside>p:not(.contact-direct),.contact-prompts li{font-size:16px}.contact-guidance li{font-size:14px}.contact-local-note{padding:19px 17px}.contact-local-note p{font-size:13px}.contact-field label{font-size:15px}.contact-result{padding:26px 20px;margin-right:6px}.contact-result h2{font-size:26px}.contact-result>p:not(.eyebrow){font-size:14px}.contact-result .contact-result-help{font-size:12px}.contact-alternative p,.contact-alternative a{font-size:13px}}
@media(max-width:370px){.contact-intro{padding-left:20px;padding-right:20px}.contact-title{font-size:38px}}
