.contact{position:relative;padding-top:clamp(120px,16vw,168px);overflow:hidden}.contact__glow{position:absolute;top:4%;left:-8%;width:42vw;height:42vw;max-width:560px;max-height:560px;background:radial-gradient(circle,rgba(215,40,90,.12),transparent 62%);pointer-events:none}.contact__inner{position:relative}.contact__grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);align-items:start}.contact__intro{padding-top:4px}.contact__intro .lead{margin-top:16px;text-align:justify;text-justify:inter-word}.contact__cards{display:grid;grid-gap:14px;gap:14px;margin-top:32px}.contact__card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:22px 24px;transition:transform .35s var(--ease),border-color .35s var(--ease)}.contact__card:hover{transform:translateY(-3px);border-color:var(--accent)}.contact__card-emoji{font-size:1.5rem}.contact__card h3{font-size:.95rem;margin:10px 0 6px}.contact__card a,.contact__card p{color:var(--ink-55);font-size:14.5px;line-height:1.55}.contact__card a:hover{color:var(--accent)}.contact__form{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:clamp(24px,4vw,36px);box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px}.contact__row{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.contact__field{display:grid;grid-gap:8px;gap:8px}.contact__field>span{font-size:13px;font-weight:600;color:var(--ink-55)}.contact__field input,.contact__field select,.contact__field textarea{font-family:inherit;font-size:15px;color:var(--ink);padding:13px 15px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)}.contact__field textarea{resize:vertical;line-height:1.6}.contact__field input::placeholder,.contact__field textarea::placeholder{color:var(--ink-40)}.contact__field input:focus,.contact__field select:focus,.contact__field textarea:focus{outline:none;border-color:var(--accent);background:var(--white);box-shadow:0 0 0 4px var(--accent-soft)}.contact__check{display:grid;grid-template-columns:auto 1fr;grid-gap:11px;gap:11px;align-items:start;cursor:pointer;font-size:13.5px;line-height:1.5;color:var(--ink-70)}.contact__check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;margin-top:1px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--surface);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease);position:relative;flex:none}.contact__check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.contact__check input[type=checkbox]:checked:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:var(--white);font-size:13px;font-weight:800}.contact__check input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 4px var(--accent-soft)}.contact__check a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.contact__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.contact__error{font-size:13.5px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);padding:10px 14px}.contact__submit{justify-self:start;margin-top:2px}.contact__submit:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.contact__note{font-size:12.5px;color:var(--ink-40)}.contact__done{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:clamp(32px,5vw,52px);box-shadow:var(--shadow);text-align:center;display:grid;place-items:center;grid-gap:12px;gap:12px;animation:contactRise .45s var(--ease)}.contact__done-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--white);font-size:1.8rem;font-weight:800;animation:contactPop .6s var(--ease) both}.contact__done h2{font-size:1.5rem}.contact__done p{color:var(--ink-55);max-width:38ch}.contact__done .btn{margin-top:8px}@keyframes contactRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes contactPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@media (max-width:860px){.contact__grid{grid-template-columns:1fr}.contact__cards{grid-template-columns:1fr 1fr}}@media (max-width:560px){.contact__cards,.contact__row{grid-template-columns:1fr}}