.contact-form{--cf-field-bg:#0d0f119e;--cf-field-bg-focus:#0d0f11d9;--cf-radius:4px;gap:20px;max-width:46rem;margin-block-end:56px;display:grid;position:relative}.contact-form__title{letter-spacing:-.02em;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:500;line-height:1.2}.contact-form__intro{color:var(--ink-2);max-width:36rem;font-size:.98rem}.contact-form__grid{grid-template-columns:1fr;gap:18px;display:grid}.contact-form__field{gap:8px;min-width:0;display:grid}.contact-form__label{color:var(--ink-3);flex-wrap:wrap;align-items:baseline;gap:4px 10px;line-height:1.4;display:flex}.contact-form__req{color:var(--ink-2);letter-spacing:.12em;font-size:.6rem}.contact-form__req:before{content:"· ";color:var(--red-hi)}.contact-form__hint{color:var(--ink-3);margin-block-start:-2px;font-size:.82rem}.contact-form input,.contact-form select,.contact-form textarea{min-block-size:48px;inline-size:100%;font:inherit;color:var(--ink);background:var(--cf-field-bg);border:1px solid var(--line);border-radius:var(--cf-radius);-webkit-backdrop-filter:blur(8px);appearance:none;margin:0;padding-block:12px;padding-inline:14px;font-size:16px;line-height:1.4;transition:border-color .2s,background-color .2s,box-shadow .2s;display:block}.contact-form textarea{resize:vertical;min-block-size:9.5rem}.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:#c7d1d952}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--red-hi);outline-offset:2px;border-color:var(--red-hi);background-color:var(--cf-field-bg-focus)}[dir=rtl] .contact-form input[dir=ltr]{text-align:right}.contact-form__select{position:relative}.contact-form__select select{cursor:pointer;padding-inline-end:44px}.contact-form__select:after{content:"";border-inline-end:1px solid var(--ink-2);border-block-end:1px solid var(--ink-2);pointer-events:none;block-size:8px;inline-size:8px;margin-block-start:-6px;position:absolute;inset-block-start:50%;inset-inline-end:18px;transform:rotate(45deg)}.contact-form select option{background:var(--bg-2);color:var(--ink)}.contact-form select:invalid,.contact-form select option[value=""]{color:var(--ink-3)}.contact-form__field.is-invalid input,.contact-form__field.is-invalid select,.contact-form__field.is-invalid textarea,.contact-form [aria-invalid=true]{border-color:var(--red-hi);box-shadow:inset 3px 0 0 -1px var(--red-hi)}[dir=rtl] .contact-form__field.is-invalid input,[dir=rtl] .contact-form__field.is-invalid select,[dir=rtl] .contact-form__field.is-invalid textarea,[dir=rtl] .contact-form [aria-invalid=true]{box-shadow:inset -3px 0 0 -1px var(--red-hi)}.contact-form__error{color:#ff6b70;align-items:baseline;gap:8px;font-size:.85rem;line-height:1.4;display:flex}.contact-form__error:before{content:"!";block-size:16px;inline-size:16px;font-family:var(--font-mono);border:1px solid;border-radius:50%;flex:none;place-items:center;font-size:.65rem;line-height:1;display:inline-grid}.contact-form__actions{justify-items:start;gap:14px;display:grid}.contact-form__submit{cursor:pointer;min-block-size:48px;font:inherit;padding-inline:24px;font-size:.9rem;font-weight:600}.contact-form__submit[aria-disabled=true]{cursor:progress;opacity:.75}.contact-form__submit[aria-disabled=true]:after{content:"";background:#fff;border-radius:50%;block-size:8px;inline-size:8px;animation:1s ease-in-out infinite cf-pulse}.contact-form__consent{color:var(--ink-3);max-width:34rem;font-size:.82rem}.contact-form__status{outline:none;min-block-size:1.5em;font-size:.95rem}.contact-form__status:empty{min-block-size:0}.contact-form__status:focus-visible{outline:2px solid var(--red-hi);outline-offset:4px}.contact-form__status:not(:empty),.contact-form__notice{border:1px solid var(--line);border-inline-start:2px solid var(--ink-3);border-radius:var(--cf-radius);color:var(--ink);background:#0d0f11b8;padding-block:14px;padding-inline:16px}.contact-form__status[data-state=sending]{color:var(--ink-2)}.contact-form__status[data-state=success],.contact-form__notice[data-tone=success]{border-inline-start-color:var(--ink)}.contact-form__status[data-state=success]:before,.contact-form__notice[data-tone=success]:before{content:"";background:var(--red-hi);vertical-align:.1em;border-radius:50%;block-size:8px;inline-size:8px;margin-inline-end:12px;display:inline-block}.contact-form__status[data-state^=error],.contact-form__notice[data-tone=error]{border-inline-start-color:var(--red-hi)}.contact-form__status a,.contact-form__notice a{color:inherit;text-underline-offset:.2em;overflow-wrap:anywhere;text-decoration:underline}.contact-form__status a:focus-visible,.contact-form__notice a:focus-visible{outline:2px solid var(--red-hi);outline-offset:2px}.contact-form__status[data-state=checking]{color:var(--ink-2)}.contact-form__nojs>p{display:none}.contact-form__nojs>p:target{display:block}html.js .contact-form__nojs{display:none}.contact-form__hp{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;inset-inline-start:-9999px;overflow:hidden;position:absolute!important}@media (min-width:700px){.contact-form__grid{grid-template-columns:1fr 1fr;gap:20px 24px}.contact-form__field--wide{grid-column:1/-1}.contact-form__actions{grid-template-columns:auto 1fr;align-items:center;gap:24px}}@keyframes cf-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.contact-form input,.contact-form select,.contact-form textarea{transition:none}.contact-form__submit[aria-disabled=true]:after{opacity:1;animation:none}}@media (forced-colors:active){.contact-form [aria-invalid=true]{border-width:2px}.contact-form__status:not(:empty),.contact-form__notice{border-inline-start-width:4px}}
