/* A direct contact path; drafting assistance is available when it is useful. */
.page-contact .contact-heading { padding-top: 32px; padding-bottom: 58px; }
.page-contact .contact-topline { display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:13px; color:var(--muted); }
.page-contact .contact-topline > a { display:inline-flex; align-items:center; gap:20px; min-height:44px; }
.page-contact .contact-heading .page-intro { grid-template-columns:1fr 1fr; align-items:end; gap:60px; margin-top:48px; }
.page-contact .contact-heading h1 { font-size:clamp(40px,4.5vw,64px); font-weight:500; line-height:1.3; letter-spacing:-.05em; }
.page-contact .contact-heading .page-intro > p { font-size:17px; line-height:1.85; margin:0; padding:0; }
.page-contact .contact-section { padding-top:0; padding-bottom:0; }
.page-contact .contact-front { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:42px 0 50px; border-top:1px solid var(--line); }
.page-contact .contact-direct, .page-contact .contact-guidance { min-width:0; }
.page-contact .contact-direct h2, .page-contact .contact-guidance h2 { font-size:17px; line-height:1.7; font-weight:500; letter-spacing:-.02em; }
.page-contact .contact-email { display:inline-flex; align-items:center; font-size:clamp(20px,2.2vw,31px); font-weight:400; letter-spacing:-.03em; gap:24px; line-height:1.5; margin:18px 0 0; padding:0 0 10px; color:var(--ink); border-bottom:1px solid var(--ink); }
.page-contact .contact-email #contact-email-text { min-width:0; overflow-wrap:anywhere; }
.page-contact .contact-email > span:last-child { font-size:25px; }
.page-contact .copy-email { display:block; margin-top:9px; font-size:13px; padding:7px 0; color:var(--muted); background:transparent; }
.page-contact .contact-email:hover, .page-contact .copy-email:hover, .page-contact .contact-topline > a:hover, .page-contact .contact-process-heading > a:hover { color:var(--orange); }
.page-contact .contact-guidance dl { margin:20px 0 15px; }
.page-contact .contact-guidance dl > div { display:grid; grid-template-columns:94px minmax(0,1fr); gap:22px; padding:7px 0; font-size:15px; line-height:1.8; }
.page-contact .contact-guidance dt { font-weight:500; }
.page-contact .contact-guidance dd { margin:0; color:var(--muted); }
.page-contact .contact-guidance > p { color:var(--muted); font-size:15px; line-height:1.85; }
.page-contact .inquiry-helper { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.page-contact .inquiry-helper > summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:76px; padding:20px 0; font-size:17px; font-weight:500; cursor:pointer; }
.page-contact .inquiry-helper > summary::-webkit-details-marker { display:none; }
.page-contact .inquiry-helper > summary > span:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px 26px; }
.page-contact .inquiry-helper > summary small { font-size:13px; font-weight:400; color:var(--muted); }
.page-contact .inquiry-expand { display:block; font-size:24px; font-weight:300; line-height:1; transition:transform .2s; }
.page-contact .inquiry-helper[open] .inquiry-expand { transform:rotate(45deg); }
.page-contact .inquiry-helper-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; padding:20px 0 42px; }
.page-contact .inquiry-helper-intro h2 { font-size:26px; line-height:1.5; letter-spacing:-.035em; font-weight:500; }
.page-contact .inquiry-helper-intro > p { font-size:15px; line-height:1.85; max-width:28em; color:var(--muted); margin-top:17px; }
.page-contact .inquiry-helper .contact-form { margin:0; padding:0; }
.page-contact .inquiry-helper .contact-form input[type="text"], .page-contact .inquiry-helper .contact-form textarea { border-radius:0; }
.page-contact .inquiry-helper .contact-form legend, .page-contact .inquiry-helper .field-label { font-weight:500; }
.page-contact .inquiry-helper .contact-submit, .page-contact .inquiry-helper .contact-send { background:var(--ink); color:var(--paper); }
.page-contact .inquiry-helper .contact-submit:hover, .page-contact .inquiry-helper .contact-send:hover { background:var(--brand-fill)!important; color:var(--on-brand)!important; }
.page-contact .contact-process { padding-top:62px; padding-bottom:64px; }
.page-contact .contact-process-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.page-contact .contact-process-heading h2 { font-size:26px; font-weight:500; letter-spacing:-.035em; }
.page-contact .contact-process-heading > a { display:inline-flex; align-items:center; gap:18px; min-height:44px; font-size:13px; }
.page-contact .contact-next-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin:26px 0 0; }
.page-contact .contact-next-steps li { display:block; border-top:1px solid var(--line); border-bottom:0; padding:20px 0 0; }
.page-contact .contact-step-number { display:block; color:var(--muted); font-size:12px; margin-bottom:18px; font-variant-numeric:tabular-nums; }
.page-contact .contact-next-steps h3 { font-size:17px; line-height:1.6; font-weight:500; }
.page-contact .contact-next-steps p { font-size:15px; line-height:1.85; margin-top:9px; }
.page-contact .faq-section { grid-template-columns:1fr 1.55fr; gap:60px; padding-top:40px; padding-bottom:80px; border-top:0; }
.page-contact .faq-heading h2 { font-size:26px; font-weight:500; letter-spacing:-.035em; margin-top:17px; }
.page-contact .faq-list summary { font-size:16px; font-weight:500; padding:20px 0; }
.page-contact .faq-list details > p { margin-top:0; padding:0 30px 22px 0; font-size:15px; line-height:1.85; }
@media (max-width:850px) {
  .page-contact .contact-heading .page-intro, .page-contact .contact-front, .page-contact .inquiry-helper-body { gap:36px; }
  .page-contact .contact-heading .page-intro > p { font-size:16px; }
  .page-contact .contact-guidance dl > div { grid-template-columns:80px minmax(0,1fr); gap:12px; }
  .page-contact .contact-next-steps { gap:24px; }
  .page-contact .contact-next-steps p br { display:none; }
  .page-contact .faq-section { gap:35px; }
}
@media (max-width:620px) {
  .page-contact .contact-heading { padding-top:22px; padding-bottom:34px; }
  .page-contact .contact-topline { gap:18px; font-size:12px; }
  .page-contact .contact-topline > a { gap:10px; }
  .page-contact .contact-heading .page-intro { grid-template-columns:minmax(0,1fr); gap:22px; margin-top:30px; }
  .page-contact .contact-heading h1 { font-size:38px; }
  .page-contact .contact-heading .page-intro > p { font-size:16px; }
  .page-contact .contact-front { grid-template-columns:minmax(0,1fr); gap:34px; padding:30px 0 35px; }
  .page-contact .contact-email { font-size:clamp(20px,5.5vw,26px); gap:15px; margin-top:14px; }
  .page-contact .contact-guidance dl { margin:14px 0 12px; }
  .page-contact .contact-guidance dl > div { grid-template-columns:82px minmax(0,1fr); }
  .page-contact .inquiry-helper > summary { min-height:76px; font-size:16px; }
  .page-contact .inquiry-helper > summary > span:first-child { display:block; }
  .page-contact .inquiry-helper > summary small { display:block; font-size:12px; margin-top:5px; }
  .page-contact .inquiry-helper-body { grid-template-columns:minmax(0,1fr); gap:27px; padding:10px 0 30px; }
  .page-contact .inquiry-helper-intro h2 { font-size:23px; }
  .page-contact .inquiry-helper-intro h2 br { display:none; }
  .page-contact .inquiry-helper-intro > p { margin-top:10px; }
  .page-contact .inquiry-helper .contact-form { grid-column:1; grid-row:auto; }
  .page-contact .contact-process { padding-top:42px; padding-bottom:35px; }
  .page-contact .contact-process-heading { display:block; }
  .page-contact .contact-process-heading h2, .page-contact .faq-heading h2 { font-size:24px; }
  .page-contact .contact-process-heading > a { margin-top:12px; }
  .page-contact .contact-next-steps { grid-template-columns:minmax(0,1fr); gap:0; margin-top:17px; }
  .page-contact .contact-next-steps li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:18px; padding:20px 0; }
  .page-contact .contact-step-number { margin:3px 0 0; }
  .page-contact .contact-next-steps p { margin-top:7px; }
  .page-contact .faq-section { display:block; padding-top:20px; padding-bottom:50px; }
  .page-contact .faq-heading h2 { margin:0 0 25px; }
  .page-contact .faq-list summary { font-size:16px; gap:18px; }
  .page-contact .faq-list details > p { padding-right:0; }
}
@media (prefers-reduced-motion:reduce) {
  .page-contact .inquiry-expand { transition:none; }
}
