/* Contact pages: one form column and an adjacent office directory. */
@media screen {
  .contact-page .masthead { padding-top:42px!important;padding-bottom:44px!important; }
  .contact-page .masthead .mmeta { display:none; }
  .contact-page .masthead .label { margin-bottom:20px;font-size:11px; }
  .contact-page .masthead h1 { font-size:clamp(28px,3vw,38px);line-height:1.2;max-width:900px;margin-bottom:22px; }
  .contact-page .masthead .stand { font-size:16px;line-height:1.7;max-width:680px; }
  .contact-page .sheet:has(form#form) { padding-top:48px; }
  .contact-page .contact-layout { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:64px;align-items:start;padding-bottom:64px; }
  .contact-page .contact-primary,.contact-page .contact-details { min-width:0; }
  .contact-page .contact-intro { margin-bottom:28px; }
  .contact-page .contact-intro h2 { font-size:25px;font-weight:400;line-height:1.3;margin:0; }
  .contact-page .contact-intro p { margin-bottom:0;line-height:1.7; }
  .contact-page form#form { border:0;border-radius:0;background:none;box-shadow:none;padding:0;margin:0; }
  .contact-page form#form .row { gap:24px;align-items:start; }
  .contact-page form#form .field { margin-bottom:24px;min-width:0; }
  .contact-page form#form .field label { min-height:0;margin:0 0 9px;font-size:11px;letter-spacing:.08em;line-height:1.5; }
  .contact-page form#form .field input,.contact-page form#form .field select,.contact-page form#form .field textarea { display:block;background:#FFFFFF;border-radius:0;min-height:52px; }
  .contact-page form#form .field textarea { min-height:170px; }
  .contact-page form#form .field:not(.is-invalid) :is(input,select,textarea) { border-color:#C8C8C8;transition:border-color .18s ease,box-shadow .18s ease; }
  .contact-page form#form .field:not(.is-invalid) :is(input,select,textarea):focus { border-color:#333333;box-shadow:0 0 0 2px rgba(51,51,51,.12);outline:2px solid transparent; }
  .contact-page form#form .field:focus-within label { color:#333333; }
  .contact-page form#form #result:not(:empty) { padding:16px 18px;border:1px solid currentColor;line-height:1.7;margin-top:20px; }
  @media(prefers-reduced-motion:reduce) { .contact-page form#form .field :is(input,select,textarea) { transition:none; } }
  .contact-page form#form .help,.contact-page form#form .msg { font-size:12px;line-height:1.6;margin-top:8px; }
  .contact-page form#form .legal { font-size:12px;line-height:1.7;max-width:none; }
  .contact-page form#form .btn { width:auto;min-width:200px;margin:4px 0 8px; }
  .contact-page .contact-details { border:1px solid #DEDEDE;border-top:2px solid #333333;padding:30px;background:#FFFFFF; }
  .contact-page .sheet { background:#FFFFFF; }
  .contact-page .contact-details .label,.contact-page #start .label,.contact-page #start .step .no,.contact-page #start .send .h { color:#333333; }
  .contact-page .contact-details a,.contact-page #start a:not(.btn) { color:#333333!important; }
  .contact-page #start .send { background:#FFFFFF;border-left-color:#333333; }
  .contact-page .contact-details .label { font-size:11px;margin-bottom:20px; }
  .contact-page .contact-details h2.big { font-size:24px;line-height:1.4;margin:0 0 28px;max-width:16em; }
  .contact-page .contact-facts { margin:0 0 28px; }
  .contact-page .contact-fact { margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid #E3DFDA; }
  .contact-page .contact-fact:last-child { border-bottom:0;padding-bottom:0; }
  .contact-page .contact-fact dt { font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:#6E6862;margin-bottom:5px; }
  .contact-page .contact-fact dd { margin:0;font-size:14px;line-height:1.75;overflow-wrap:anywhere; }
  .contact-page .contact-details > p { font-size:13px;line-height:1.8; }
  .contact-page #start section { padding-top:48px!important;padding-bottom:48px;border-top:1px solid #DDD7D0; }
  .contact-page #start .two > div:first-child { position:static; }
  .contact-page #start section h2.big { font-size:30px;line-height:1.3; }
  .contact-page #start section .label { font-size:11px;margin-bottom:24px; }
  .contact-page #start .step { grid-template-columns:28px minmax(0,1fr);gap:16px;padding:18px 0; }
  .contact-page #start .step p { font-size:14px;line-height:1.8; }
  .contact-page #start .send { margin-top:28px; }
  .contact-page #start .send p { font-size:14px;line-height:1.8; }
  .contact-page #faq-home summary { font-size:18px; }
  .contact-page .next-steps { list-style:none;margin:0;padding:0;counter-reset:next; }
  .contact-page .next-steps li { counter-increment:next;position:relative;padding:24px 0 24px 42px;border-top:1px solid #DEDEDE; }
  .contact-page .next-steps li:first-child { padding-top:0;border-top:0; }
  .contact-page .next-steps li::before { content:'0' counter(next);position:absolute;left:0;top:27px;font-size:12px;color:#666666; }
  .contact-page .next-steps li:first-child::before { top:3px; }
  .contact-page .next-steps h3 { font-family:var(--sans,Arial,sans-serif);font-size:16px;font-weight:500;line-height:1.5;margin:0 0 8px; }
  .contact-page .next-steps p { font-size:14px;line-height:1.8;margin:0; }
  .contact-page .work-examples-title { margin:0 0 28px; }
  @media(max-width:1000px) {
    .contact-page .contact-layout { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px; }
    .contact-page .contact-details { padding:24px; }
  }
  @media(max-width:800px) {
    .contact-page .contact-layout { grid-template-columns:1fr;gap:40px;padding-bottom:40px; }
    .contact-page .contact-details { padding:28px; }
    .contact-page .contact-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px; }
    .contact-page .masthead { padding-top:32px!important;padding-bottom:32px!important; }
    .contact-page .sheet:has(form#form) { padding-top:32px; }
    .contact-page #start section { padding-top:36px!important;padding-bottom:36px; }
  }
  @media(max-width:600px) {
    .contact-page form#form .row,.contact-page .contact-facts { grid-template-columns:1fr;gap:0; }
    .contact-page form#form .btn { width:100%; }
    .contact-page .contact-intro h2 { font-size:23px; }
    .contact-page .contact-details { padding:24px 20px; }
    .contact-page #start section h2.big { font-size:27px; }
  }
}
