/* A spacious message form, with typography shared by the team and sponsor pages. */
.contact-page{max-width:1240px;padding-top:52px;}
.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(36px,7vw,100px);margin-top:38px;align-items:start;}
.contact-eyebrow{font:.8125rem/1.6 var(--mono);color:var(--muted);letter-spacing:.06em;margin-bottom:28px;}
.contact-intro h1{font-size:var(--page-heading-size);line-height:1.02;letter-spacing:var(--page-heading-spacing);color:var(--white);font-weight:var(--page-heading-weight);}
.contact-intro h1 > span{color:var(--uw-red);}
.contact-intro .contact-deck{font-size:clamp(1.5rem,2.7vw,2.1rem);line-height:1.45;letter-spacing:-.02em;font-weight:500;max-width:34ch;color:var(--white);margin-top:0;}
.contact-alternatives{margin-top:44px;max-width:370px;border-top:1px solid var(--border);}
.contact-alternatives a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--border);text-decoration:none;}
.contact-alternatives strong{display:block;font-size:.95rem;font-weight:550;color:var(--white);}
.contact-alternatives small{display:block;font-size:.78rem;line-height:1.6;color:var(--muted);margin-top:5px;}
.contact-alternatives a > span:last-child{font-size:1.4rem;color:var(--uw-red);transition:transform .2s;}
.contact-alternatives a:hover > span:last-child{transform:translate(3px,-3px);}
.contact-page .contact-form{max-width:none;min-width:0;padding:32px 34px 18px;border:1px solid var(--border);border-top:3px solid var(--uw-red);background:var(--surface);box-shadow:0 18px 60px rgb(var(--bg-rgb) / 0.15);}
.contact-form-heading{padding-bottom:27px;margin-bottom:27px;border-bottom:1px solid var(--border);}
.contact-form-heading h2{font-size:clamp(1.45rem,2.7vw,2rem);letter-spacing:-.04em;line-height:1.2;color:var(--white);}
.contact-form-heading h2 span{color:var(--uw-red);}
.contact-form-heading p{font-size:.8125rem;line-height:1.6;color:var(--muted);margin-top:10px;}
.contact-page .form-row{margin-bottom:25px;}
.contact-page .form-row label{display:flex;align-items:center;gap:12px;font-size:.875rem;font-weight:550;margin-bottom:11px;}
.field-number{font:.65rem/1 var(--mono);color:var(--muted);}
.contact-page .form-row input,.contact-page .form-row textarea{width:100%;min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:3px;background:var(--bg);font-size:1rem;line-height:1.5;color:var(--ink);}
.contact-page .form-row input::placeholder,.contact-page .form-row textarea::placeholder{color:var(--muted);opacity:1;}
.contact-page .form-row input:hover,.contact-page .form-row textarea:hover{border-color:var(--uw-red-dark);}
.contact-page .form-row input:focus,.contact-page .form-row textarea:focus{border-color:var(--uw-red);box-shadow:0 0 0 3px rgb(var(--uw-red-rgb) / 0.15);outline:none;}
.contact-page .form-row:focus-within .field-number{color:var(--ink);}
.field-hint{font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:9px;}
.field-label-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-bottom:11px;}
.contact-page .form-row .field-label-row label{margin-bottom:0;}
.field-label-row .field-hint{margin:0;}
.contact-send-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;}
.contact-send-row p{max-width:20ch;font-size:.75rem;line-height:1.6;color:var(--muted);}
.contact-page #contactSubmit{flex-shrink:0;min-height:48px;padding:13px 23px;background:var(--uw-red);border:1px solid var(--uw-red);border-radius:3px;color:var(--ink);box-shadow:none;font-size:.875rem;}
.contact-page #contactSubmit:hover{background:var(--uw-red-dark);}
.contact-page #contactSubmit:disabled{opacity:.65;cursor:wait;}
.contact-page a:focus-visible,.contact-page button:focus-visible{outline:2px solid var(--uw-red);outline-offset:5px;}
.contact-page .form-status{line-height:1.6;}
.contact-page .form-status.error{color:var(--ink);}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:38px;}.contact-intro h1 br{display:none;}.contact-intro h1{max-width:11ch;}.contact-deck{max-width:50ch;}.contact-alternatives{max-width:none;display:grid;grid-template-columns:1fr;gap:24px;margin-top:28px;}.contact-page .contact-form{padding:28px;}}
@media(max-width:520px){.contact-layout{margin-top:28px;}.contact-page .contact-form{padding:24px 18px 12px;}.contact-alternatives{grid-template-columns:1fr;gap:0;}.contact-send-row{align-items:stretch;flex-direction:column;gap:14px;}.contact-send-row p{max-width:none;}.contact-intro h1{font-size:3.8rem;}}
@media(prefers-reduced-motion:reduce){.contact-page *{transition:none!important;}}
