
/* Hallmark · component: contact form · genre: editorial · theme: site tokens (rust, cream, Oswald + DM Sans)
 * states: default · hover · focus · active · checked · invalid · reduced-motion
 * pre-emit critique: P4 H4 E4 S4 R5 V4
 * Checked and invalid states cannot be set in Webflow styles, so they live here. */
:root{--cf-ink:#1f1f1f;--cf-muted:#5f584e;--cf-line:#d9d2c3;--cf-rust:#a84300;--cf-rust-tint:#fbf0e6;--cf-focus:#f06a1c;--cf-error:#b3261e;--cf-paper:#fff;--cf-ease:cubic-bezier(.22,1,.36,1)}
.cf-head{display:grid;gap:10px;margin-bottom:4px}
.cf-head .svc-form_h{margin:0;font-size:clamp(2rem,3.6vw,2.7rem);line-height:1.05;text-wrap:balance}
.cf-head .svc-form_help{margin:0;max-width:46ch;color:var(--cf-muted)}
.cf-block{margin-top:36px;padding-top:28px;border-top:1px solid var(--cf-line)}
.cf-block_legend{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-family:Oswald,sans-serif;font-size:1.35rem;font-weight:500;line-height:1.2;color:var(--cf-ink)}
.cf-step{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--cf-rust);color:var(--cf-paper);font:600 14px/1 "DM Sans",sans-serif}
.cf-chips{display:flex;flex-wrap:wrap;gap:10px}
.cf-chips .cf-chip{display:block;margin:0;padding:0}
.cf-chips .cf-chip .w-checkbox{position:relative;display:block;margin:0;padding:0}
.cf-chips .cf-check{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.cf-chips .cf-chip_text{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin:0;padding:0 22px 0 16px;border:1.5px solid var(--cf-line);border-radius:999px;background:var(--cf-paper);color:var(--cf-ink);font-size:15px;font-weight:600;line-height:1;cursor:pointer;user-select:none;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s var(--cf-ease)}
.cf-chips .cf-chip_text::before{content:"";flex:none;width:20px;height:20px;border:1.5px solid var(--cf-line);border-radius:50%;background:var(--cf-paper) center/12px no-repeat;transition:background-color .2s,border-color .2s}
.cf-chips .cf-chip:hover .cf-chip_text{border-color:var(--cf-rust);transform:translateY(-1px)}
.cf-chips .cf-chip:active .cf-chip_text{transform:translateY(0)}
.cf-chips .cf-check:checked + .cf-chip_text{border-color:var(--cf-rust);background-color:var(--cf-rust-tint);box-shadow:0 0 0 1px var(--cf-rust)}
.cf-chips .cf-check:checked + .cf-chip_text::before{border-color:var(--cf-rust);background-color:var(--cf-rust);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.cf-chips .cf-check:focus-visible + .cf-chip_text{outline:3px solid var(--cf-focus);outline-offset:2px}
.cf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.cf-grid .cf-field.is-wide,.cf-block>.cf-field.is-wide{grid-column:1/-1}
.cf-field{display:grid;gap:8px;margin:0}
.cf-label{margin:0;font-size:14px;font-weight:600;line-height:1.2;color:var(--cf-ink)}
.cf-field .w-input{min-height:56px;margin:0;padding:0 18px;border:1.5px solid var(--cf-line);border-radius:14px;background:var(--cf-paper);color:var(--cf-ink);font-size:16px;transition:border-color .2s,box-shadow .2s}
.cf-field textarea.w-input{min-height:150px;padding:16px 18px;line-height:1.5;resize:vertical}
.cf-field .w-input:hover{border-color:var(--cf-muted)}
.cf-field .w-input:focus{border-color:var(--cf-rust);box-shadow:0 0 0 3px rgba(168,67,0,.18);outline:0}
.cf-field .w-input:user-invalid{border-color:var(--cf-error);box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.cf-field .w-input::placeholder{color:#8a8377}
.cf-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:32px}
.cf-foot .button{min-height:56px;padding:0 34px;margin:0}
.cf-note{margin:0;max-width:38ch;font-size:13px;line-height:1.45;color:var(--cf-muted)}
@media (max-width:640px){.cf-grid{grid-template-columns:minmax(0,1fr)}.cf-foot .button{width:100%}.cf-block{margin-top:28px;padding-top:22px}}
@media (prefers-reduced-motion:reduce){.cf-chips .cf-chip_text,.cf-field .w-input{transition:none}.cf-chips .cf-chip:hover .cf-chip_text{transform:none}}
