/* Contact details and form share equal desktop columns and stack on compact screens. */
.contact-page{--contact-gap:clamp(16px,4vw,64px)}
.contact-page main>.contact{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:var(--contact-gap);row-gap:48px;
}
.contact-page .contact-intro{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:var(--contact-gap);row-gap:20px;
}
.contact-page .contact-intro>h2{grid-column:1;min-width:0}
.contact-page .contact-intro>p:not(.eyebrow){grid-column:2;min-width:0}
.contact-page .contact-copy{grid-column:1;min-width:0}
.contact-page .contact-form{grid-column:2;min-width:0;max-width:100%;margin-top:0}
.contact-page .contact-direct{margin-top:0}
.contact-page .contact-form label,.contact-page .contact-direct strong{min-width:0}
.contact-page .contact-form input,.contact-page .contact-form select,
.contact-page .contact-form textarea{min-width:0;max-width:100%}
.contact-page .contact-form select{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
@media(max-width:1120px){
  .contact-page main>.contact{grid-template-columns:minmax(0,1fr)}
  .contact-page .contact-copy,.contact-page .contact-form{grid-column:1/-1}
  .contact-page .contact-copy{position:static}
  .contact-page .contact-intro{grid-template-columns:minmax(0,1fr);align-items:start}
  .contact-page .contact-intro>h2,
  .contact-page .contact-intro>p:not(.eyebrow){grid-column:1/-1}
  .contact-page .contact-direct>a,.contact-page .contact-direct>div{
    grid-template-columns:minmax(0,1fr);gap:8px;
  }
  .contact-page .form-row.two-col{grid-template-columns:minmax(0,1fr);gap:0}
  .contact-page .contact-form label small{position:static;display:block;margin-top:6px}
  .contact-page .form-bottom{grid-template-columns:minmax(0,1fr);gap:18px}
  .contact-page .send-button{width:100%;min-width:0;gap:8px;padding-inline:10px}
  .contact-page .send-button-label{min-width:0}
  .contact-page .privacy-consent-choice{
    --consent-font-size:11px;--consent-line-height:1.6;
    display:grid;grid-template-columns:17px minmax(0,1fr);gap:10px 8px;align-items:start;
  }
  /* Align the native checkbox with the first line, including wrapped consent text. */
  .contact-page .privacy-consent-choice>input[type="checkbox"]{
    width:17px;height:17px;min-height:17px;
    margin:calc((var(--consent-font-size) * var(--consent-line-height) - 17px) / 2) 0 0;
  }
  .contact-page .privacy-consent-choice label>span{
    font-size:var(--consent-font-size);line-height:var(--consent-line-height);
  }
  .contact-page .privacy-consent-choice label{width:auto;min-width:0}
  .contact-page .privacy-consent-choice>a{grid-column:1/-1;margin-left:0;justify-self:start}
  .contact-page .privacy-consent-summary{margin-left:0}
}
@media(max-width:700px){
  .contact-page .contact-intro>h2{font-size:clamp(20px,5.8vw,28px)!important;line-height:1.2!important}
  .contact-page .send-button{font-size:14px;letter-spacing:.03em}
}

@media(max-width:640px){
  .contact-page .privacy-consent-choice{--consent-font-size:16px}
}
