.zform{background:var(--charcoal-2);border:1px solid var(--line-dark);border-radius:var(--r);color:var(--bone);padding:clamp(20px,3vw,36px)}.zform .form{gap:var(--s3);display:grid}.zform .form-title{color:var(--bone);margin-bottom:4px}.zform .form-intro{color:var(--bone-72);margin-top:-8px}.zform .hp{opacity:0;position:absolute;left:-9999px}.zform .row.two{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.zform .field{gap:8px;min-width:0;display:grid}.zform fieldset.field{border:0;margin:0;padding:0}.zform label,.zform legend{color:var(--bone);letter-spacing:.01em;font-size:.9rem;font-weight:600}.zform legend{margin-bottom:8px;padding:0}.zform .req{color:var(--mustard)}.zform input[type=text],.zform input[type=email],.zform input[type=tel],.zform input[type=url],.zform textarea{border:1.5px solid var(--line-dark);border-radius:var(--r);background:var(--charcoal);width:100%;color:var(--bone);font:inherit;caret-color:var(--mustard);transition:border-color var(--t), box-shadow var(--t);padding:12px 14px;font-size:1rem;line-height:1.4}.zform input::placeholder,.zform textarea::placeholder{color:#f5f2d880}.zform input:focus,.zform textarea:focus{border-color:var(--mustard);outline:none;box-shadow:0 0 0 3px #eec31738}.zform input[aria-invalid=true],.zform textarea[aria-invalid=true]{border-color:#e8905a}.zform textarea{resize:vertical;min-height:110px}.zform .checks{grid-template-columns:1fr 1fr;gap:8px 16px;display:grid}.zform .check{cursor:pointer;align-items:center;gap:10px;font-size:1rem;font-weight:500;display:flex}.zform .check input{width:18px;height:18px;accent-color:var(--mustard);cursor:pointer;margin:0}.zform .check input:focus-visible{outline:2px solid var(--mustard);outline-offset:2px}.zform .hint{color:#e8905a;margin-top:6px;font-size:.875rem}.zform .more{border-top:1px solid var(--line-dark);padding-top:var(--s2)}.zform .more summary{cursor:pointer;color:var(--bone);align-items:center;gap:8px;padding:4px 0;font-size:.95rem;font-weight:600;list-style:none;display:inline-flex}.zform .more summary::-webkit-details-marker{display:none}.zform .more summary svg{width:18px;height:18px;transition:transform var(--t)}.zform .more[open] summary svg{transform:rotate(180deg)}.zform .more-in{gap:var(--s2);padding-top:var(--s2);display:grid}.zform .status{border-radius:var(--r);color:var(--bone);background:#e8905a24;border:1px solid #e8905a80;padding:12px 14px;font-size:.95rem}.zform .actions{gap:var(--s2);display:grid}.zform .actions .btn{justify-content:center;width:100%;padding:1rem 1.3rem;font-size:1.05rem}.zform .privacy{color:var(--bone-72);font-size:.85rem}.zform .privacy a{color:var(--mustard)}.zform .success{justify-items:start;gap:var(--s2);padding:var(--s2) 0;color:var(--bone);font-size:1.1rem;line-height:1.5;display:grid}.zform .success svg{width:40px;height:40px;color:var(--mustard)}.zform .success[hidden],.zform .form[hidden],.zform .status[hidden],.zform .hint[hidden]{display:none}.zform .success:not([hidden]){animation:zform-success-in .36s var(--ease-out) both}.zform .success:not([hidden]) svg path{stroke-dasharray:30;stroke-dashoffset:30px;animation:zform-draw-check .48s var(--ease-out) .24s forwards}.zform .actions .btn[disabled] svg{animation:.9s ease-in-out infinite zform-send-nudge}.zform .status:not([hidden]){animation:.22s ease-out both zform-status-in}@keyframes zform-success-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes zform-draw-check{to{stroke-dashoffset:0}}@keyframes zform-send-nudge{0%,to{opacity:1;transform:translate(0)}50%{opacity:.55;transform:translate(6px)}}@keyframes zform-status-in{0%{opacity:0}to{opacity:1}}@media (width<=560px){.zform .row.two,.zform .checks{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.zform .success:not([hidden]){animation-duration:.2s;transform:none}.zform .success:not([hidden]) svg path{stroke-dashoffset:0;animation:none}.zform .actions .btn[disabled] svg{opacity:.6;animation:none}}.zform .hint-soft{color:var(--bone-72)}.zform .hint-soft.is-error{color:#e8905a}.zform .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
