.ct-backdrop{z-index:200;-webkit-backdrop-filter:blur(6px);background:#040c16b8;justify-content:center;align-items:center;padding:clamp(16px,4vw,40px);animation:.2s forwards ct-fade;display:flex;position:fixed;inset:0}@keyframes ct-fade{0%{opacity:0}to{opacity:1}}.ct-panel{border:1px solid var(--tm-line-2);background:var(--tm-panel);opacity:0;border-radius:14px;width:min(620px,100%);max-height:calc(100dvh - 2*clamp(16px,4vw,40px));padding:clamp(24px,4vw,38px);animation:.32s cubic-bezier(.22,.85,.3,1) 40ms forwards ct-rise;position:relative;overflow-y:auto;transform:translateY(14px)scale(.985);box-shadow:0 30px 90px #00000080}@keyframes ct-rise{to{opacity:1;transform:translateY(0)scale(1)}}.ct-x{width:32px;height:32px;color:var(--tm-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;font-size:20px;line-height:1;transition:color .16s,border-color .16s;display:grid;position:absolute;top:12px;right:14px}.ct-x:hover{color:var(--tm-ice);border-color:var(--tm-line-2)}.ct-title{font-family:var(--tm-display);letter-spacing:-.02em;color:var(--tm-ice);margin:0 0 6px;font-size:clamp(22px,3vw,27px);font-weight:600}.ct-sub{color:var(--tm-muted);max-width:46ch;margin:0 0 22px;font-size:14px;line-height:1.6}.ct-form{flex-direction:column;gap:14px;display:flex}.ct-row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:560px){.ct-row2{grid-template-columns:1fr}}.ct-field{flex-direction:column;gap:6px;display:flex}.ct-field>span{font-family:var(--tm-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--tm-dim);font-size:10.5px}.ct-field input,.ct-field textarea{width:100%;font:inherit;color:var(--tm-ice);background:var(--tm-panel-2);border:1px solid var(--tm-line-2);border-radius:9px;outline:none;padding:11px 13px;font-size:14.5px;transition:border-color .16s,box-shadow .16s}.ct-field textarea{resize:vertical;min-height:96px;line-height:1.55}.ct-field input::placeholder,.ct-field textarea::placeholder{color:var(--tm-dim)}.ct-field input:focus,.ct-field textarea:focus{border-color:var(--tm-emerald-2);box-shadow:0 0 0 3px var(--tm-emerald-dim)}.ct-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.ct-err{color:#ffb4b4;background:#dc3c3c1a;border:1px solid #dc3c3c47;border-radius:8px;margin:0;padding:9px 12px;font-size:13px}.ct-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.ct-cancel,.ct-submit{font-family:var(--tm-display);cursor:pointer;border-radius:999px;padding:11px 20px;font-size:14px;font-weight:600;transition:background .16s,border-color .16s,opacity .16s}.ct-cancel{color:var(--tm-text);border:1px solid var(--tm-line-2);background:0 0}.ct-cancel:hover{color:var(--tm-ice);border-color:var(--tm-ice)}.ct-submit{color:#04120a;background:linear-gradient(180deg, var(--tm-emerald-2), var(--tm-emerald));border:1px solid #0000}.ct-submit:hover{filter:brightness(1.07)}.ct-submit:disabled{opacity:.6;cursor:default;filter:none}.ct-done{text-align:center;padding:14px 0 6px}.ct-tick{width:54px;height:54px;color:var(--tm-emerald-2);border:1px solid var(--tm-emerald-2);background:var(--tm-emerald-dim);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:26px;animation:.42s cubic-bezier(.22,1.4,.4,1) forwards ct-pop;display:grid}@keyframes ct-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.ct-done h2{font-family:var(--tm-display);color:var(--tm-ice);margin:0 0 8px;font-size:22px;font-weight:600}.ct-done p{max-width:40ch;color:var(--tm-muted);margin:0 auto 22px;font-size:14px;line-height:1.6}@media (prefers-reduced-motion:reduce){.ct-backdrop,.ct-panel,.ct-tick{opacity:1;animation:none;transform:none}}.tm-ctarow{margin-top:26px}.tm-getintouch{font-family:var(--tm-display);letter-spacing:-.01em;color:var(--tm-ice);border:1px solid var(--tm-line-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:9px;padding:13px 26px;font-size:14.5px;font-weight:600;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.tm-getintouch:after{content:"→";font-size:15px;transition:transform .2s}.tm-getintouch:hover{color:#04120a;background:linear-gradient(180deg, var(--tm-emerald-2), var(--tm-emerald));border-color:#0000}.tm-getintouch:hover:after{transform:translate(3px)}
