@keyframes send-fly{0%{transform:translateY(.1em)}to{transform:translateY(-.1em)}}@keyframes submit-fill{to{width:280px}}@keyframes submit-pop{0%{width:280px;height:8px;border-radius:100px;background:var(--cta-bg)}60%{width:64px;height:64px;border-radius:50%;background:var(--cta-bg)}to{width:64px;height:64px;border-radius:50%;background:#22c55e}}.rollup-stage{perspective:1800px;perspective-origin:50% 100%;position:relative;z-index:2}.contact-section{padding:120px 0;position:relative;z-index:2}.rollup-section{position:relative;z-index:2;transform-origin:50% 100%;will-change:transform,opacity,filter;transition:transform .08s linear}.contact-inner{max-width:680px;margin:0 auto;padding:0 20px;text-align:center;position:relative;z-index:1}.contact-inner h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:16px;line-height:1.1}.contact-inner>p{color:var(--text-muted);margin:0 auto 36px;font-size:1.05rem;max-width:560px}.contact-form{display:flex;flex-direction:column;gap:14px;text-align:left}.contact-form input,.contact-form textarea{padding:15px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#141a26;color:#fff;font-family:inherit;font-size:1rem;width:100%;box-sizing:border-box;box-shadow:0 1px 2px rgba(0,0,0,.4);transition:border-color .3s,background .3s,box-shadow .3s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.5)}.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--primary);background:#1a2132;box-shadow:0 0 0 4px rgba(59,130,246,.18)}.contact-form textarea{resize:vertical;min-height:130px}.form-row{display:flex;gap:14px}.form-row input{flex:1}.submit-wrap{position:relative;height:60px;display:flex;justify-content:center;align-items:center}.submit-wrap .submit-btn{position:relative;overflow:hidden;transition:width .9s cubic-bezier(.7,0,.3,1),height .6s cubic-bezier(.7,0,.3,1),border-radius .6s cubic-bezier(.7,0,.3,1),background .4s ease,padding .4s ease,opacity .3s ease}.submit-text{position:relative;z-index:2;transition:opacity .25s ease}.submit-check,.submit-progress{position:absolute;left:50%;top:50%;opacity:0;pointer-events:none}.submit-progress{width:0;height:0;border-radius:50px;background:var(--accent);transform:translate(-50%,-50%)}.submit-check{width:28px;height:28px;transform:translate(-50%,-50%) scale(.4);transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}.submit-check path{fill:none;stroke:var(--on-dark-text);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .45s cubic-bezier(.6,0,.3,1)}.submit-btn{justify-content:center}.send-plane{display:inline-flex;position:relative;z-index:2;transition:opacity .25s ease}.send-plane svg{display:block;transition:transform .3s cubic-bezier(.2,.7,.2,1);transform-origin:center}.submit-text{display:inline-block;transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .25s ease}.submit-btn:focus-visible .send-plane,.submit-btn:hover .send-plane{animation:send-fly .6s ease-in-out infinite alternate}.submit-btn:focus-visible .send-plane svg,.submit-btn:hover .send-plane svg{transform:translateX(2.4em) rotate(45deg) scale(1.1)}.submit-btn:focus-visible .submit-text,.submit-btn:hover .submit-text{transform:translateX(7em);opacity:0}.submit-wrap.is-loading .send-plane{opacity:0}.submit-wrap.is-loading .submit-btn{height:8px;width:280px;padding:0;border-radius:100px;background:rgba(255,255,255,.08);pointer-events:none}.submit-wrap.is-loading .submit-text{opacity:0}.submit-wrap.is-loading .submit-progress{opacity:1;height:8px;width:0;border-radius:100px;background:var(--cta-bg);animation:submit-fill 1.6s cubic-bezier(.6,.05,.3,1) .55s forwards}.submit-wrap.is-done .submit-btn{width:0;opacity:0}.submit-wrap.is-done .submit-progress{animation:submit-pop .55s cubic-bezier(.2,.8,.2,1) forwards}.submit-wrap.is-done .submit-check{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.55s}.submit-wrap.is-done .submit-check path{stroke-dashoffset:0;transition-delay:.7s}@media (prefers-reduced-motion:reduce){.send-plane,.send-plane svg,.submit-btn,.submit-check,.submit-check path,.submit-progress,.submit-text{transition:none;animation:none!important}.submit-btn:focus-visible .send-plane svg,.submit-btn:hover .send-plane svg{transform:none}.submit-btn:focus-visible .submit-text,.submit-btn:hover .submit-text{transform:none;opacity:1}}.btn-full{width:100%;margin-top:8px}.form-note{font-size:.85rem;color:var(--text-muted);text-align:center;margin-top:10px}.form-note a{color:var(--text-main);text-decoration:underline;text-underline-offset:3px;font-weight:500}.form-consent a,.form-note a:hover,[data-theme=light] .form-note a:hover{color:var(--primary)}.form-error-note,.form-success-note{font-size:1rem;line-height:1.6;text-align:center;margin-top:14px}.form-success-note{color:var(--tj-green)}.form-error-note{color:var(--error-text)}[data-theme=light] .contact-form input,[data-theme=light] .contact-form textarea{background:var(--surface-1);border:1px solid var(--border-soft);color:var(--text-main);box-shadow:0 1px 2px rgba(15,23,42,.08)}[data-theme=light] .contact-form input::placeholder,[data-theme=light] .contact-form textarea::placeholder{color:var(--text-muted)}[data-theme=light] .contact-form input:focus,[data-theme=light] .contact-form textarea:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px rgba(37,99,235,.15)}[data-theme=light] .form-note a{color:#0f172a}@media (max-width:768px){.form-row{flex-direction:column}}.contact-alt{margin-top:28px;text-align:center}.contact-alt-divider{display:flex;align-items:center;gap:14px;margin:0 auto 18px;max-width:420px;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.14em}.contact-alt-divider::after,.contact-alt-divider::before{content:"";flex:1;height:1px;background:var(--border-soft)}.contact-book-btn{gap:10px}.contact-alt-note{margin-top:12px;color:var(--text-muted);font-size:.85rem}.contact-form select{padding:15px 18px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-main);font-family:inherit;font-size:1rem;width:100%;box-sizing:border-box;transition:border-color .3s,background .3s}.contact-form select:focus{outline:0;border-color:var(--primary)}.form-consent{display:flex;align-items:flex-start;gap:10px;text-align:left;font-size:.85rem;color:var(--text-muted);line-height:1.5}.form-consent input[type=checkbox]{width:auto;margin-top:3px;accent-color:var(--primary);flex-shrink:0}