/* Contact: the original words and fields, in the same curved visual system. */
.contact-layout{max-width:var(--width);margin:0 auto;padding:56px var(--gutter) 90px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);column-gap:5%;row-gap:38px;align-items:start}
.contact-content{display:contents}
.contact-introduction{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:5%;align-items:end;padding-bottom:12px}
.contact-introduction h2{font-size:clamp(38px,4.25vw,61px);line-height:1.12;max-width:23ch;margin:0;text-wrap:balance}
.contact-introduction .fusion-button{margin-bottom:5px}
.contact-form-shell{min-width:0;background:var(--paper);color:var(--ink);padding:42px 42px 46px;border-radius:72px 24px 88px 24px}
.contact-fields{border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-required-notice{grid-column:1/-1;font-size:12px;line-height:1.5;margin:0 0 4px;color:#58465d}
.contact-field{min-width:0}
.contact-field label{display:block;margin-bottom:9px;font-size:14px;font-weight:600}
.contact-required{color:var(--violet)}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;padding:13px 15px;border:1px solid #918096;border-radius:13px;background:#fffaf7;color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.contact-field textarea{resize:vertical;min-height:174px;border-radius:14px 14px 34px 14px}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-color:var(--violet)}
.contact-field-message{grid-column:1/-1}
.contact-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:45px;justify-self:start;background:var(--yellow);color:var(--ink);border:1px solid #927900;border-radius:999px 999px 999px 12px;min-width:174px;min-height:52px;padding:12px 24px;font-size:15px;font-weight:600}
.contact-submit:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.contact-fields:disabled{opacity:.65}
.contact-fields:disabled .contact-submit{cursor:wait}
.contact-status{margin:22px 0 0;font-size:15px;line-height:1.65;max-width:58ch}
.contact-status:empty{display:none}
.contact-status[data-state="error"]{border-left:3px solid #a82a19;padding-left:15px;color:#702012}
.contact-status[data-state="success"]{margin:0;padding:26px 0;font-size:24px;line-height:1.45}
.contact-sidebar{min-width:0;padding:35px 32px 64px;background:var(--magenta);color:var(--paper);border-radius:24px 66px 24px 90px}
.contact-sidebar h4{font-size:clamp(24px,2.5vw,34px);line-height:1.25;margin:0 0 35px}
.contact-info-container p{font-size:15px;overflow-wrap:anywhere}
.contact-info-container p:last-child{margin-bottom:0}
@media(max-width:950px){
  .contact-layout,.contact-introduction{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);column-gap:4%}
  .contact-form-shell{padding:35px 28px 40px;border-radius:52px 20px 68px 20px}
  .contact-fields{grid-template-columns:1fr;gap:22px}
  .contact-sidebar{padding:30px 25px 52px;border-radius:20px 48px 20px 66px}
  .contact-introduction .fusion-button{font-size:11px;padding:14px 19px;gap:17px}
}
@media(max-width:650px){
  .contact-layout{display:block;padding-top:34px;padding-bottom:55px}
  .contact-introduction{display:block;padding-bottom:30px}
  .contact-introduction h2{font-size:clamp(34px,8vw,48px);max-width:25ch;margin-bottom:24px}
  .contact-introduction .fusion-button{margin:0;font-size:12px}
  .contact-form-shell{padding:32px 25px 37px;border-radius:46px 18px 58px 18px}
  .contact-submit{width:100%;min-height:52px}
  .contact-sidebar{margin-top:25px;padding:30px 26px 42px;border-radius:18px 48px 18px 58px}
  .contact-sidebar h4{font-size:27px;margin-bottom:24px;max-width:30ch}
}
