.contact{width:min(720px,100% - 48px);margin:0 auto clamp(48px,6vh,80px)}.contact__head{width:calc(var(--grid-step) * 30);text-align:center;max-width:100%;margin:0 auto clamp(36px,5vh,64px)}.contact__title{font-family:var(--font-serif);letter-spacing:-.022em;color:var(--ink);margin:0;font-size:46px;font-weight:500;line-height:1.02}.contact__title em{color:hsl(var(--accent));font-style:italic}.contact__lead{font-family:var(--font-sans);color:var(--ink-mild);margin:18px 0 0;font-size:16px;font-weight:400;line-height:1.4}.contact__telegram{justify-content:center;margin:clamp(40px,6vh,64px) auto 0;display:flex}.contact__telegram-cta{--tg-blue:#229ed9;color:var(--ink);background:#229ed90f;border:1px solid #229ed947;border-radius:14px;align-items:center;gap:16px;padding:14px 20px 14px 16px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.contact__telegram-cta:hover{background:#229ed91a;border-color:#229ed98c;transform:translateY(-1px);box-shadow:0 8px 20px #229ed929}.contact__telegram-icon{background:var(--tg-blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.contact__telegram-icon svg{width:32px;height:32px;margin-top:-4px;margin-left:1px;display:block}.contact__telegram-text{text-align:left;flex-direction:column;gap:2px;display:flex}.contact__telegram-lead{font-family:var(--font-sans);color:var(--ink-mild);font-size:12.5px;line-height:1.25}.contact__telegram-handle{font-family:var(--font-mono);color:var(--tg-blue);letter-spacing:-.005em;font-size:15px;font-weight:500;line-height:1.2}.contact__telegram-arrow{width:16px;height:16px;color:var(--tg-blue);flex-shrink:0;transition:transform .15s}.contact__telegram-cta:hover .contact__telegram-arrow{transform:translate(3px)}@media (max-width:599.98px){.contact__title{font-size:36px}.contact__telegram-cta{gap:12px;width:100%;padding:12px 16px 12px 12px}.contact__telegram-icon{width:40px;height:40px}.contact__telegram-icon svg{width:24px;height:24px}.contact__telegram-lead{font-size:11.5px}.contact__telegram-handle{font-size:14px}}.contact__card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:clamp(28px,4vw,44px);transition:border-color .15s,box-shadow .15s;position:relative;box-shadow:0 8px 22px #0b0b0b0a}.contact__card:hover{border-color:hsl(var(--accent) / .4);box-shadow:0 8px 22px #0b0b0b0f}.contact__formTitle{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 24px;font-size:clamp(28px,3vw,34px);font-weight:500;line-height:1.05}.contact__formTitle em{color:hsl(var(--accent));font-style:italic}.contactForm{flex-direction:column;gap:18px;display:flex}.contactForm__row{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:599.98px){.contactForm__row{grid-template-columns:1fr}}.contactForm__field{flex-direction:column;gap:6px;display:flex}.contactForm__label{font-family:var(--font-sans);letter-spacing:.02em;color:var(--ink-mild);font-size:12px;font-weight:500}.contactForm__input,.contactForm__textarea{box-sizing:border-box;background:var(--paper);border:1px solid var(--line);width:100%;font-family:var(--font-sans);color:var(--ink);appearance:none;border-radius:10px;padding:12px 14px;font-size:15px;line-height:1.4;transition:border-color .15s,box-shadow .15s,background .15s}.contactForm__textarea{resize:vertical;min-height:132px}.contactForm__input::placeholder,.contactForm__textarea::placeholder{color:var(--ink-faint)}.contactForm__input:focus,.contactForm__textarea:focus,.contactForm__input:focus-visible,.contactForm__textarea:focus-visible{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .18);border-radius:10px;outline:0}.contactForm__input.is-invalid,.contactForm__textarea.is-invalid{border-color:hsl(var(--accent));background:hsl(var(--accent) / .04)}.contactForm__error{font-family:var(--font-sans);color:hsl(var(--accent));margin:-4px 0 0;font-size:13px;line-height:1.4}.contactForm__submit{box-sizing:border-box;cursor:pointer;border:1.5px solid var(--ink);background:var(--ink);height:46px;color:var(--paper);font-family:var(--font-sans);letter-spacing:.005em;appearance:none;border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;gap:8px;margin-top:8px;padding:0 24px;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.contactForm__submit svg{flex-shrink:0;width:16px;height:16px}.contactForm__submit:hover:not(:disabled){background:hsl(var(--accent));border-color:hsl(var(--accent));color:#fff;box-shadow:0 6px 18px hsl(var(--accent) / .28);transform:translateY(-1px)}.contactForm__submit:disabled{cursor:not-allowed;opacity:.7}.contactForm__hint{font-family:var(--font-sans);color:var(--ink-mild);margin:14px 0 0;font-size:13px}.contactForm__hint a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.contactForm__hint a:hover{color:hsl(var(--accent));-webkit-text-decoration-color:hsl(var(--accent));text-decoration-color:hsl(var(--accent))}.contactForm__success{text-align:center;padding:clamp(16px,3vw,32px) 0}.contactForm__successTitle{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 14px;font-size:clamp(32px,3vw,42px);font-weight:500;line-height:1.05}.contactForm__successTitle em{color:hsl(var(--accent));font-style:italic}.contactForm__successLead{max-width:48ch;font-family:var(--font-sans);color:var(--ink-mild);margin:0 auto;font-size:16px;line-height:1.5}
