.cp-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,64px)}
.cp-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;width:100%;min-width:0;text-align:left;color:inherit}
.cp-contact-field{display:flex;flex-direction:column;gap:9px;min-width:0}.cp-contact-field--wide,.cp-contact-submit{grid-column:1/-1}
.cp-contact-field label{font-size:.875rem;font-weight:500;line-height:1.5;letter-spacing:.01em}
.cp-contact-field input,.cp-contact-field textarea{width:100%;min-width:0;border:1px solid rgba(255,253,249,.24);border-radius:0;background:rgba(255,253,249,.025);color:inherit;font:inherit;font-size:1rem;line-height:1.5;padding:13px 15px;transition:border-color .2s,background .2s;outline:none}
.cp-contact-field input{min-height:52px}.cp-contact-field textarea{resize:vertical;min-height:128px;max-height:480px}.cp-contact-field input::placeholder{color:currentColor;opacity:.45}
.cp-contact-field input:focus,.cp-contact-field textarea:focus{border-color:var(--cp-red-bright);outline:2px solid var(--cp-red-bright);outline-offset:2px}
.cp-contact-field small,.cp-contact-submit small{font-size:.8125rem;line-height:1.6;opacity:.7}
.cp-contact-submit{display:flex;align-items:center;gap:20px;margin-top:4px}.cp-contact-submit .cp-button{font-family:inherit;font-size:.875rem;text-transform:none;letter-spacing:.02em;min-width:130px;cursor:pointer;flex-shrink:0}
.cp-contact-submit .cp-button:focus-visible{outline:2px solid var(--cp-red-bright);outline-offset:4px}
.area-page .cp-contact-field input,.area-page .cp-contact-field textarea{border-color:rgba(21,19,18,.22);background:rgba(255,253,249,.48)}
.area-page .cp-contact-field input:focus,.area-page .cp-contact-field textarea:focus{border-color:var(--cp-red-bright)}
@media(max-width:900px){.cp-contact-layout{grid-template-columns:1fr;gap:36px}.cp-contact-form{max-width:680px}}
@media(max-width:480px){.cp-contact-form{grid-template-columns:1fr;gap:18px}.cp-contact-submit{align-items:flex-start;flex-direction:column;gap:12px}.cp-contact-submit .cp-button{width:100%}}
@media(prefers-reduced-motion:reduce){.cp-contact-field input,.cp-contact-field textarea{transition:none}}

/* Compact forms with accessible names inside the fields. */
.cp-contact-form { gap: 10px; }
.cp-contact-field { position: relative; gap: 0; }
.cp-contact-field label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.cp-contact-field input, .cp-contact-field textarea { background: rgba(20,20,20,.8); padding: 12px 14px; }
.cp-contact-field input::placeholder, .cp-contact-field textarea::placeholder { color: currentColor; opacity: .65; font-weight: 400; }
.cp-contact-field input { min-height: 48px; }
.cp-contact-field textarea { min-height: 104px; }
.area-page .cp-contact-field input, .area-page .cp-contact-field textarea { background: rgba(255,253,249,.8); }
.cp-contact-submit { margin-top: 2px; }
@media (max-width: 480px) { .cp-contact-form { gap: 10px; } }
