#contact-form{--_radius:clamp(12px,1.8vw,22px);--_gap:clamp(16px,2.4vw,28px);--_pad:clamp(16px,3vw,40px);--_shadow-elev:0 6px 20px rgba(10,90,163,0.08);--_outline:2px;--_field-h:clamp(44px,6.2vw,56px);--_ring:0 0 0 var(--_outline) rgba(63,134,199,0.35);--_ring-strong:0 0 0 calc(var(--_outline) + 1px) rgba(10,90,163,0.55);--_label:clamp(12px,1.4vw,14px);--_title:clamp(28px,5vw,44px);--_intro:clamp(14px,1.9vw,18px);--_chip:clamp(8px,1.2vw,10px);background:linear-gradient(180deg,rgba(10,90,163,0.035) 0%,rgba(47,127,94,0.03) 100%),var(--color-background-default);padding:clamp(32px,6vw,80px) 0;color:var(--color-text-primary);font-family:var(--font-family-body);line-height:var(--line-height-body)}.contact-form-container{max-width:1600px;margin:0 auto;background:var(--color-background-paper);border-radius:var(--_radius);box-shadow:var(--_shadow-elev);padding:var(--_pad);position:relative;overflow:hidden;isolation:isolate}.contact-form-container::before,.contact-form-container::after{content:"";position:absolute;inset:auto auto -25% -20%;width:clamp(220px,30vw,420px);height:clamp(220px,30vw,420px);background:radial-gradient(circle at 30% 30%,rgba(63,134,199,0.18),rgba(63,134,199,0) 60%);filter:blur(6px);z-index:-1;border-radius:50%}.contact-form-container::after{inset:-20% -18% auto auto;background:radial-gradient(circle at 70% 70%,rgba(47,127,94,0.16),rgba(47,127,94,0) 60%)}.contact-form-header{display:grid;gap:clamp(8px,1.2vw,12px);margin-bottom:clamp(20px,3vw,36px)}.contact-form-title{font-family:var(--font-family-heading);font-size:var(--_title);line-height:var(--line-height-heading);color:var(--color-primary-dark);letter-spacing:-0.015em}.contact-form-intro{font-size:var(--_intro);color:var(--color-text-secondary);max-width:60ch}.contact-form{display:grid;gap:var(--_gap)}.contact-form-fieldset{border:none;margin:0;padding:0;display:grid;gap:var(--_gap)}.contact-form-legend{font-family:var(--font-family-heading);font-size:clamp(18px,3.2vw,26px);color:var(--color-secondary-dark)}.contact-form-required-note{font-size:var(--_chip);color:var(--color-text-secondary);background:rgba(10,90,163,0.06);border:1px solid rgba(10,90,163,0.12);display:inline-flex;align-items:center;gap:8px;padding:clamp(6px,1vw,10px) clamp(10px,1.5vw,14px);border-radius:clamp(10px,1.6vw,14px)}.contact-form-required-note::before{content:"★";font-size:0.9em;color:var(--color-accent)}.contact-form-grid{display:grid;gap:var(--_gap)}.contact-form-group{display:grid;gap:clamp(6px,1vw,10px)}.contact-form-group label{font-size:var(--_label);color:var(--color-text-secondary)}.contact-form-group input,.contact-form-group textarea{appearance:none;width:100%;height:var(--_field-h);padding:0 clamp(14px,2vw,18px);font:400 clamp(14px,1.9vw,16px)/1.35 var(--font-family-body);color:var(--color-text-primary);background:linear-gradient(180deg,rgba(28,31,36,0.02),rgba(28,31,36,0)) var(--color-paper);border:1px solid rgba(28,31,36,0.12);border-radius:clamp(10px,1.6vw,14px);outline:none;transition:box-shadow .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.contact-form-group textarea{min-height:clamp(140px,22vw,220px);padding:clamp(12px,1.8vw,16px);line-height:1.55;resize:vertical}.contact-form-group input::placeholder,.contact-form-group textarea::placeholder{color:var(--color-text-disabled)}.contact-form-group input:focus,.contact-form-group textarea:focus{border-color:var(--color-primary);box-shadow:var(--_ring),0 10px 20px rgba(10,90,163,0.08);background:var(--color-paper)}.contact-form-group input:hover,.contact-form-group textarea:hover{border-color:rgba(10,90,163,0.35)}.contact-form-group input:disabled,.contact-form-group textarea:disabled{opacity:.6;cursor:not-allowed}.contact-form-group input:user-invalid,.contact-form-group textarea:user-invalid{border-color:var(--color-error);box-shadow:0 0 0 var(--_outline) rgba(197,59,59,0.3)}.contact-form-meta{font-size:clamp(12px,1.6vw,14px);color:var(--color-text-secondary);background:rgba(47,127,94,0.06);border:1px dashed rgba(47,127,94,0.25);padding:clamp(10px,1.6vw,14px);border-radius:clamp(10px,1.6vw,14px)}.contact-form-privacy{margin:0}.contact-form-feedback{min-height:clamp(20px,3vw,28px);font-size:clamp(13px,1.8vw,15px);color:var(--color-text-secondary)}.contact-form-actions{display:grid;gap:clamp(10px,1.6vw,16px);justify-items:start}.contact-form-submit{--_btn-pad-x:clamp(16px,3vw,28px);--_btn-pad-y:clamp(10px,1.8vw,14px);display:inline-grid;grid-auto-flow:column;align-items:center;gap:clamp(8px,1.6vw,12px);padding:var(--_btn-pad-y) var(--_btn-pad-x);border-radius:clamp(12px,1.8vw,18px);border:1px solid rgba(10,90,163,0.4);color:var(--color-primary-contrast);background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);font-weight:600;font-size:clamp(14px,1.9vw,16px);letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 20px rgba(10,90,163,0.18),inset 0 1px 0 rgba(255,255,255,0.25);transition:transform .16s ease,box-shadow .2s ease,filter .16s ease}.contact-form-submit::after{content:"→";font-weight:700;line-height:1}.contact-form-submit:hover{box-shadow:0 14px 28px rgba(10,90,163,0.24),inset 0 1px 0 rgba(255,255,255,0.25);transform:translateY(-1px)}.contact-form-submit:active{transform:translateY(0);box-shadow:0 6px 16px rgba(10,90,163,0.22)}.contact-form-submit:focus-visible{outline:none;box-shadow:var(--_ring-strong),0 14px 28px rgba(10,90,163,0.22)}.contact-form-submit:disabled{opacity:.6;cursor:not-allowed}.contact-form-aside{margin-top:clamp(12px,2.2vw,20px);font-size:var(--_chip);color:var(--color-text-secondary)}.contact-form-small{margin:0}.contact-form-protect{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form-group input[type="tel"]{letter-spacing:0.02em}.contact-form-group input:focus + .mask,.contact-form-group textarea:focus + .mask{pointer-events:none}.contact-form-group input::-webkit-contacts-auto-fill-button{visibility:hidden;display:none}.contact-form-group input:-webkit-autofill,.contact-form-group textarea:-webkit-autofill{-webkit-box-sizing:border-box;box-shadow:inset 0 0 0 1000px rgba(255,255,255,1);border-color:rgba(10,90,163,0.45)}@media (max-width:480px){.contact-form-container{display:block}.contact-form-grid{display:grid}}@media (min-width:481px) and (max-width:768px){.contact-form-grid{display:grid;grid-template-columns:1fr}}@media (min-width:769px) and (max-width:1024px){.contact-form-grid{display:grid;grid-template-columns:1fr 1fr}}@media (min-width:1025px){.contact-form-grid{display:grid;grid-template-columns:1fr 1fr}}.contact-form-group:has(input:focus,textarea:focus) label{color:var(--color-primary)}.contact-form-group:has(input:user-invalid,textarea:user-invalid) label{color:var(--color-error)}.contact-form-group input.valid,.contact-form-group textarea.valid{border-color:var(--color-success);box-shadow:0 0 0 var(--_outline) rgba(47,127,94,0.3)}.contact-form-group input.invalid,.contact-form-group textarea.invalid{border-color:var(--color-error);box-shadow:0 0 0 var(--_outline) rgba(197,59,59,0.3)}.contact-form-feedback[data-state="success"]{color:var(--color-success)}.contact-form-feedback[data-state="error"]{color:var(--color-error)}.contact-form-feedback[data-state="loading"]::after{content:"";display:inline-block;width:clamp(12px,1.8vw,16px);height:clamp(12px,1.8vw,16px);margin-left:8px;border-radius:50%;border:2px solid rgba(10,90,163,0.35);border-top-color:var(--color-primary);animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.contact-form-group input:focus-visible,.contact-form-group textarea:focus-visible{outline:none}.contact-form-group input[type="email"]{caret-color:var(--color-primary)}.contact-form-group textarea{caret-color:var(--color-secondary)}