.contact-canvas{--bg:#f8fafc;--ink:#1d2a44;--mute:#56627a;--teal:#0e1f3b;--blue:#1b3461;--navy:#0b1a38;--chip:#e3e9f3;--line:#dde5ef;--panel:#fff;--field:#f1f6fb;background:var(--bg);color:var(--ink);font-family:var(--font-jakarta), "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;box-sizing:border-box;min-height:100vh;padding-top:100px;padding-bottom:60px;position:relative;overflow-x:hidden}:root[data-theme=dark] .contact-canvas,html.dark .contact-canvas,.dark .contact-canvas{--bg:#07101f;--ink:#e8eefb;--mute:#9fb0cc;--chip:#0c2340;--line:#1b2a45;--panel:#0f1d38;--field:#13233f}.contact-canvas *{box-sizing:border-box}.contact-canvas a{color:inherit;text-decoration:none}.contact-canvas .wrap{z-index:1;max-width:1180px;margin:auto;padding:0 24px;position:relative}.contact-canvas .aurora{display:none!important}.contact-canvas .aurora i{filter:blur(90px);opacity:.24;border-radius:50%;width:46vw;height:46vw;animation:18s ease-in-out infinite alternate contact_drift;position:absolute}.contact-canvas .aurora i:first-child{background:#0e1f3b;top:-12vw;left:-10vw}.contact-canvas .aurora i:nth-child(2){background:var(--blue);animation-delay:-6s;top:20vh;right:-12vw}@keyframes contact_drift{to{transform:translate(8vw,6vw)scale(1.15)}}.contact-canvas:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(color-mix(in srgb, var(--ink) 16%, transparent) 1px, transparent 1.4px);background-size:26px 26px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 50% 30%,#000,#0000 80%);mask-image:radial-gradient(at 50% 30%,#000,#0000 80%)}.contact-canvas .spot{display:none!important}.contact-canvas .hb{flex-wrap:wrap;gap:14px;margin-top:26px;display:flex}.contact-canvas .orb{place-items:center;height:430px;display:grid;position:relative}.contact-canvas .orb .core{background:linear-gradient(135deg, var(--teal), var(--blue));color:#fff;border-radius:50%;place-items:center;width:130px;height:130px;font-size:54px;animation:3s ease-in-out infinite alternate contact_bob;display:grid;position:relative;box-shadow:0 0 0 14px #0f172a0d,0 0 0 34px #0f172a0a,0 30px 60px -10px #0e1f3b40}.contact-canvas .orb .core svg{width:56px;height:56px;position:relative}.contact-canvas .orb .core .wave{background:var(--blue);opacity:0;pointer-events:none;border-radius:50%;animation:3s ease-out infinite contact_wave;position:absolute;inset:0}.contact-canvas .orb .core .wave:nth-child(2){animation-delay:1s}.contact-canvas .orb .core .wave:nth-child(3){animation-delay:2s}@keyframes contact_wave{0%{opacity:.35;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.contact-canvas .orb .core .wave{animation:none}}.contact-canvas .ring{border:1.5px dashed color-mix(in srgb, var(--teal) 50%, transparent);border-radius:50%;animation:30s linear infinite contact_spin;position:absolute}.contact-canvas .r1{width:290px;height:290px}.contact-canvas .r2{width:420px;height:420px;animation:46s linear infinite reverse contact_spin}.contact-canvas .ring i{transform:rotate(var(--a));font-style:normal;position:absolute;inset:0}.contact-canvas .ring b{text-align:center;background:var(--panel);border:1px solid var(--line);width:128px;color:var(--ink);white-space:nowrap;border-radius:99px;margin:-18px 0 0 -64px;padding:8px 0;font-size:13px;font-weight:500;animation:30s linear infinite contact_unspin;position:absolute;top:0;left:50%;box-shadow:0 10px 24px #0f172a14}.contact-canvas .r2 b{animation:46s linear infinite contact_unspin2}@keyframes contact_spin{to{transform:rotate(360deg)}}@keyframes contact_unspin{0%{transform:rotate(calc(-1 * var(--a)))}to{transform:rotate(calc(-1 * var(--a) - 360deg))}}@keyframes contact_unspin2{0%{transform:rotate(calc(-1 * var(--a)))}to{transform:rotate(calc(-1 * var(--a) + 360deg))}}.contact-canvas .fb{background:var(--panel);border:1px solid var(--line);z-index:2;color:var(--ink);white-space:nowrap;border-radius:16px;padding:10px 16px;font-size:14px;font-weight:600;animation:3s ease-in-out infinite alternate contact_bob;position:absolute;box-shadow:0 14px 30px #0f172a14}.contact-canvas .f1{top:40px;left:0}.contact-canvas .f2{animation-delay:-1.5s;bottom:50px;right:0}.contact-canvas .band{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:30px;margin-top:70px;padding:36px 20px 0;transition:background .3s,color .3s,border-color .3s,box-shadow .3s;overflow:hidden;box-shadow:inset 0 1px #fff,0 3px 6px -1px #0f172a0a,0 16px 38px -6px #0f172a14}.contact-canvas .bst{text-align:center;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:30px;display:grid}.contact-canvas .bst b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);font-size:44px;font-weight:700;display:block}.contact-canvas .bst span{color:var(--mute);font-size:15px;font-weight:500}.contact-canvas .mq{border-top:1px solid var(--line);white-space:nowrap;background:color-mix(in srgb, var(--blue) 5%, var(--field));margin:0 -20px;padding:15px 0;overflow:hidden}.contact-canvas .mq div{color:#0e1f3b;letter-spacing:.02em;font-size:16px;font-weight:600;animation:28s linear infinite contact_mq;display:inline-block}:root[data-theme=dark] .contact-canvas .band,html.dark .contact-canvas .band,.dark .contact-canvas .band{color:#fff;background:#0b1a38;border-color:#1b2a45;box-shadow:0 24px 50px -15px #00000080}:root[data-theme=dark] .contact-canvas .bst b,html.dark .contact-canvas .bst b,.dark .contact-canvas .bst b{color:#fff}:root[data-theme=dark] .contact-canvas .bst span,html.dark .contact-canvas .bst span,.dark .contact-canvas .bst span{color:#9fb0cc}:root[data-theme=dark] .contact-canvas .mq,html.dark .contact-canvas .mq,.dark .contact-canvas .mq{background:0 0;border-top-color:#ffffff1f}:root[data-theme=dark] .contact-canvas .mq div,html.dark .contact-canvas .mq div,.dark .contact-canvas .mq div{color:#c9d3e4}@keyframes contact_mq{to{transform:translate(-50%)}}.contact-canvas .dk2{grid-template-columns:1.25fr 1fr;align-items:start;gap:22px;display:grid}.contact-canvas .map{border:1px solid var(--line);background:var(--panel);border-radius:24px;margin-top:22px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:inset 0 1px #fff,0 2px 4px #0f172a0a,0 8px 18px -2px #0f172a14,0 18px 36px -4px #0f172a14}.contact-canvas .map:hover{transform:translateY(-5px);box-shadow:inset 0 1px #fff,0 4px 8px #0f172a0a,0 14px 28px -3px #0f172a1c,0 30px 60px -8px #0f172a29}.contact-canvas .map{flex-direction:column;display:flex}.contact-canvas .mi{flex-shrink:0}.contact-canvas .mv{background:linear-gradient(180deg, color-mix(in srgb, var(--blue) 14%, var(--field)), var(--field));flex:auto;height:240px;min-height:160px;position:relative;overflow:hidden}.contact-canvas .mv:before{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:34px 34px;animation:14s linear infinite contact_pan;position:absolute;inset:0}@keyframes contact_pan{to{background-position:34px 34px}}.contact-canvas .pin{background:var(--blue);border-radius:50%;width:20px;height:20px;margin:-10px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 6px #0e1f3b33}.contact-canvas .pin:after{content:"";border:2px solid var(--blue);border-radius:50%;animation:2s infinite contact_ringp;position:absolute;inset:-6px}@keyframes contact_ringp{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(3)}}.contact-canvas .mi{padding:22px}.contact-canvas .mi b{color:var(--ink);margin:4px 0;font-size:20px;display:block}.contact-canvas .mi small{color:var(--mute);font-size:13px}.contact-canvas .clk{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:16px;display:flex}.contact-canvas .mi>.clk:first-child{border-top:0;margin-top:0;padding-top:0}.contact-canvas .clk strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:28px}.contact-canvas .clk span{background:var(--chip);color:var(--teal);border-radius:99px;padding:6px 12px;font-size:13px;font-weight:600}.contact-canvas .cv{grid-template-columns:1.25fr 1fr;gap:18px;margin-top:24px;display:grid}.contact-canvas .cv .quote{margin:0}.contact-canvas .why.card{margin-top:0}.contact-canvas .tint{isolation:isolate;background:radial-gradient(520px at 0 0,#0a86c847,#0000 60%),radial-gradient(480px at 100% 100%,#8ea6d438,#0000 60%),linear-gradient(145deg,#0e1f3b 0%,#132a52 55%,#0b1830 100%);border:1px solid #ffffff14;border-radius:36px;padding:56px 40px;position:relative;overflow:hidden}.contact-canvas .tint:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(#ffffff12 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.contact-canvas .tint .eye{margin-top:0}html .contact-canvas .tint .eye{color:#8fd0ff!important}html .contact-canvas .tint .eye:before{background:#8fd0ff!important}html .contact-canvas .tint .sec-head h2{color:#fff!important}html .contact-canvas .tint .section-eyebrow{color:#8fd0ff!important}html .contact-canvas .tint .section-eyebrow-line-solo{background:#8fd0ff!important}html .contact-canvas .tint .section-lead,html .contact-canvas .tint .sec-head .p{color:#e2eaf7c7!important}.contact-canvas .tint .card{border-color:#fff9;box-shadow:0 18px 40px -18px #0000008c}@keyframes contact_rvin{0%{opacity:0;transform:translateY(46px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.contact-canvas .crumb{justify-content:space-between;align-items:center;gap:16px;margin-top:10px;display:flex}.contact-canvas .crumb-trail{color:#64748b;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}:root[data-theme=dark] .contact-canvas .crumb-trail,html.dark .contact-canvas .crumb-trail,.dark .contact-canvas .crumb-trail{color:#94a3b8}.contact-canvas .crumb-trail a{color:inherit;align-items:center;gap:6px;text-decoration:none;transition:color .15s;display:inline-flex}.contact-canvas .crumb-trail a:hover{color:#0f172a}:root[data-theme=dark] .contact-canvas .crumb-trail a:hover,html.dark .contact-canvas .crumb-trail a:hover,.dark .contact-canvas .crumb-trail a:hover{color:#fff}.contact-canvas .crumb-trail .sep{color:#94a3b8;-webkit-user-select:none;user-select:none}:root[data-theme=dark] .contact-canvas .crumb-trail .sep,html.dark .contact-canvas .crumb-trail .sep,.dark .contact-canvas .crumb-trail .sep{color:#475569}.contact-canvas .crumb-trail .current{color:#0e1f3b;font-weight:600}:root[data-theme=dark] .contact-canvas .crumb-trail .current,html.dark .contact-canvas .crumb-trail .current,.dark .contact-canvas .crumb-trail .current{color:#8ea6d4}.contact-canvas .pill{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:99px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.contact-canvas .pill i{background:#0e1f3b;border-radius:50%;width:9px;height:9px;animation:1.6s infinite contact_pulse;display:inline-block}@keyframes contact_pulse{0%{box-shadow:0 0 #0e1f3b59}to{box-shadow:0 0 0 10px #0e1f3b00}}.contact-canvas .eye{color:var(--teal);letter-spacing:.04em;align-items:center;gap:8px;margin:26px 0 8px;font-size:13px;font-weight:600;display:flex}.contact-canvas .eye:before{content:"";background:var(--teal);width:24px;height:2px}.contact-canvas h1{letter-spacing:-.03em;color:var(--ink);margin-bottom:18px;font-size:clamp(34px,4.6vw,56px);font-weight:600;line-height:1.05}.contact-canvas h1 .w{vertical-align:bottom;padding-bottom:.08em;display:inline-block;overflow:hidden}.contact-canvas h1 .c{animation:.8s cubic-bezier(.2,.8,.2,1) forwards contact_up;display:inline-block;transform:translateY(110%)rotate(8deg)}@keyframes contact_up{to{transform:none}}.contact-canvas h2{letter-spacing:-.025em;color:var(--ink);margin-bottom:12px;font-size:clamp(28px,3.3vw,44px);font-weight:600;line-height:1.1}.contact-canvas .p{color:var(--mute);max-width:640px;font-size:18px;line-height:1.6}.contact-canvas section{margin-top:84px}.contact-canvas .sec-head{margin-bottom:32px}.contact-canvas .sec-head .eye{margin:0 0 12px}.contact-canvas .sec-head h2{margin-bottom:12px;font-weight:700}.contact-canvas .sec-head .p{margin:0}.contact-canvas .hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;display:grid}.contact-canvas .hero-text{justify-self:start;transform:translate(-18px)}.contact-canvas .hero .orb{justify-self:end;margin-left:auto;transform:translate(32px)}.contact-canvas .fly{width:460px;max-width:100%;height:200px;margin-top:10px;position:relative}.contact-canvas .fly svg{width:100%;height:100%}.contact-canvas .fly path{fill:none;stroke:var(--teal);stroke-width:2px;stroke-dasharray:6 8;animation:1.2s linear infinite contact_dash}@keyframes contact_dash{to{stroke-dashoffset:-28px}}.contact-canvas .fly .plane{color:var(--teal);offset-path:path("M60 140 C 150 10, 300 190, 400 50");-webkit-offset-path:path("M60 140 C 150 10, 300 190, 400 50");offset-rotate:auto;-webkit-offset-rotate:auto;box-shadow:none;background:0 0;border:0;padding:0;font-size:34px;line-height:1;animation:4.5s ease-in-out infinite contact_fly;position:absolute;top:0;left:0}:root[data-theme=dark] .contact-canvas .fly .plane,html.dark .contact-canvas .fly .plane,.dark .contact-canvas .fly .plane{color:#fff}@keyframes contact_fly{0%{offset-distance:0%;-webkit-offset-distance:0%}to{offset-distance:100%;-webkit-offset-distance:100%}}.contact-canvas .fly span:not(.plane){background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:8px 14px;font-size:15px;font-weight:600;position:absolute;box-shadow:0 10px 24px #0e1f3b26}.contact-canvas .fly .a{animation:3s ease-in-out infinite alternate contact_bob;bottom:6px;left:0}.contact-canvas .fly .b{color:var(--teal);animation:3s ease-in-out -1.5s infinite alternate contact_bob;top:4px;right:0}@keyframes contact_bob{to{transform:translateY(-8px)}}.contact-canvas .g4{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.contact-canvas .g2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-canvas .card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:26px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .25s;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff,0 2px 4px #0f172a0a,0 8px 18px -2px #0f172a14,0 16px 32px -4px #0f172a0f}.contact-canvas .card:hover{border-color:#cbd5e1;transform:translateY(-6px);box-shadow:inset 0 1px #fff,0 4px 8px #0f172a0a,0 14px 28px -3px #0f172a1c,0 30px 60px -8px #0f172a29}.contact-canvas .card:after{content:"";background:linear-gradient(90deg, var(--teal), var(--blue));width:0;height:3px;transition:width .5s;position:absolute;bottom:0;left:0}.contact-canvas .card:hover:after{width:100%}.contact-canvas .ico{background:linear-gradient(135deg, var(--teal), var(--blue));color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:18px;font-size:21px;transition:transform .5s;display:grid}.contact-canvas .card:hover .ico{transform:rotate(-12deg)scale(1.12)}.contact-canvas .card h3{color:var(--ink);margin-bottom:6px;font-size:20px;font-weight:600}.contact-canvas .card p{color:var(--mute);font-size:15px;line-height:1.55}.contact-canvas .tag{border:1px solid var(--line);letter-spacing:.05em;color:var(--mute);border-radius:6px;margin-top:18px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.contact-canvas .desk{gap:12px;margin-top:22px;display:grid}.contact-canvas .row{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:18px;align-items:center;gap:18px;padding:16px 22px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .25s;display:flex;box-shadow:inset 0 1px #fff,0 2px 4px #0f172a0a,0 6px 14px -2px #0f172a0f,0 14px 28px -4px #0f172a0d}.contact-canvas .row:hover{border-color:var(--teal);transform:translate(6px)translateY(-3px);box-shadow:inset 0 1px #fff,0 4px 10px -1px #0f172a0f,0 18px 36px -4px #0f172a1f}.contact-canvas .row .ri{background:var(--field);width:42px;height:42px;color:var(--teal);border-radius:12px;flex-shrink:0;place-items:center;font-size:19px;display:grid}.contact-canvas .row .ri-phone{color:#fff;background:#34c759}.contact-canvas .row .ri-wa{color:#fff;background:#25d366}.contact-canvas .row .ri-mail{background:#fff;border:1px solid #e3e8f0}.contact-canvas .row .ri-clock{color:#0e1f3b;background:#e3e9f3}.contact-canvas .row div{flex:1}.contact-canvas .row small{color:var(--mute);letter-spacing:.05em;font-size:11px;font-weight:600;display:block}.contact-canvas .row b{color:var(--ink);font-size:16px;font-weight:500}.contact-canvas .row b.val-copy{align-items:center;gap:8px;min-width:0;display:flex}.contact-canvas .row b.val-copy a{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;overflow:hidden}.contact-canvas .cp-ico{width:28px;height:28px;color:var(--mute);background:var(--field);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex-shrink:0;place-items:center;transition:background .2s,color .2s,border-color .2s;display:grid}.contact-canvas .cp-ico:hover{color:#fff;background:var(--teal);border-color:var(--teal)}.contact-canvas .cp-ico.is-copied{color:#fff;background:#16a34a;border-color:#16a34a}.contact-canvas .row .go{color:var(--ink);gap:6px;font-size:15px;font-weight:600;display:flex}.contact-canvas .row .go i{font-style:normal;transition:transform .3s}.contact-canvas .row:hover .go i{transform:translate(5px)}.contact-canvas .cp{border:1px solid var(--line);background:var(--field);color:var(--ink);cursor:pointer;font:500 13px var(--font-jakarta), "Plus Jakarta Sans", sans-serif;border-radius:10px;padding:8px 12px;transition:background .2s,color .2s}.contact-canvas .cp:hover{background:var(--teal);color:#fff;border-color:var(--teal)}.contact-canvas .on2{letter-spacing:.05em;border:1px solid color-mix(in srgb, var(--teal) 35%, transparent);background:var(--chip);color:var(--teal);border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700;animation:2s infinite contact_blink}@keyframes contact_blink{50%{background:var(--teal);color:#fff;border-color:var(--teal)}}.contact-canvas .soc{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.contact-canvas .soc span{color:var(--mute);margin-right:6px;font-size:15px}.contact-canvas .soc a{border:1px solid var(--line);background:var(--panel);width:46px;height:46px;color:var(--brand,var(--ink));border-radius:50%;place-items:center;font-size:14px;font-weight:600;transition:all .35s;display:grid}:root[data-theme=dark] .contact-canvas .soc a:is([data-brand=github],[data-brand=x]),html.dark .contact-canvas .soc a:is([data-brand=github],[data-brand=x]){--brand:#fff;--brand-bg:#24292f}.contact-canvas .soc a:hover{background:var(--brand-bg,linear-gradient(135deg, var(--teal), var(--blue)));color:#fff;border-color:#0000;transform:translateY(-6px)rotate(-8deg)}.contact-canvas .steps{position:relative}.contact-canvas .steps .card{gap:18px;display:flex}.contact-canvas .n{border:2px solid var(--teal);width:38px;height:38px;color:var(--teal);border-radius:50%;flex:none;place-items:center;font-weight:600;transition:all .4s;display:grid}.contact-canvas .card:hover .n{background:var(--teal);color:#fff}.contact-canvas .sh{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:22px;display:flex}.contact-canvas .badge{background:var(--chip);color:var(--teal);border:1px solid color-mix(in srgb, var(--teal) 30%, transparent);letter-spacing:.06em;border-radius:99px;padding:5px 14px;font-size:11px;font-weight:700;transition:background .3s,color .3s}:root[data-theme=dark] .contact-canvas .badge,html.dark .contact-canvas .badge,.dark .contact-canvas .badge{color:#c9d3e4;background:#0b1a38;border-color:#1b2a45}.contact-canvas .quote{color:var(--ink);gap:16px;padding:34px;font-size:22px;line-height:1.5;display:flex}.contact-canvas .quote q{quotes:none;font-style:italic}.contact-canvas .quote .qm{color:var(--teal);font-size:60px;line-height:.6}.contact-canvas .quote small{color:var(--blue);margin-top:14px;font-size:14px;font-style:normal;font-weight:500;display:block}.contact-canvas .why{margin-top:26px}.contact-canvas .why h4{color:var(--ink);margin-bottom:12px;font-size:18px}.contact-canvas .why li{color:var(--mute);align-items:center;gap:10px;padding:6px 0;list-style:none;display:flex}.contact-canvas .why li:before{content:"✓";background:var(--chip);width:22px;height:22px;color:var(--teal);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.contact-canvas .form{background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:40px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff,0 2px 4px #0f172a0a,0 10px 24px -2px #0f172a14,0 24px 55px -10px #0f172a1f}.contact-canvas .form:before{content:"";background:linear-gradient(90deg, var(--teal), var(--blue), var(--teal));background-size:200%;width:100%;height:4px;animation:4s linear infinite contact_flow;position:absolute;top:0;left:0}@keyframes contact_flow{to{background-position:200% 0}}.contact-canvas .fg{grid-template-columns:1fr 1fr;gap:16px 20px;margin-top:24px;display:grid}.contact-canvas .form h2{margin-bottom:8px;font-size:clamp(26px,2.8vw,36px)}.contact-canvas .form>.p{font-size:16px}.contact-canvas .fg.fg3{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-canvas .form-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:16px 20px;margin-top:22px;padding-top:22px;display:flex}.contact-canvas .form-foot .capf{flex:0 auto;min-width:0}.contact-canvas .form-foot .cap input{flex:0 0 130px;width:130px}.contact-canvas .form-foot .btn{flex-shrink:0;height:50px;margin-top:0;padding-top:0;padding-bottom:0}@media (max-width:900px){.contact-canvas .fg.fg3{grid-template-columns:1fr 1fr}.contact-canvas .fg.fg3 .fl:nth-child(3){grid-column:1/-1}}@media (max-width:640px){.contact-canvas .fg.fg3{grid-template-columns:1fr}.contact-canvas .form-foot{flex-direction:column;align-items:stretch}.contact-canvas .form-foot .capf{flex:none}.contact-canvas .form-foot .btn{width:100%;margin-top:0}}.contact-canvas .fl{flex-direction:column;gap:6px;display:flex}.contact-canvas .fl.full{grid-column:1/-1}.contact-canvas .fl label{color:var(--mute);letter-spacing:.04em;font-size:12px;font-weight:600}.contact-canvas .fl input,.contact-canvas .fl select,.contact-canvas .fl textarea{font:inherit;color:var(--ink);background:var(--field);border:1.5px solid #0000;border-radius:12px;outline:none;width:100%;padding:13px 16px;font-size:16px;transition:border-color .3s,box-shadow .3s}.contact-canvas .fl textarea{resize:vertical;min-height:160px}.contact-canvas .fl input:focus,.contact-canvas .fl select:focus,.contact-canvas .fl textarea:focus{border-color:var(--teal);box-shadow:0 0 0 5px #0e1f3b26}.contact-canvas .cap{align-items:center;gap:10px;display:flex}.contact-canvas .cap .cap-img{-webkit-user-select:none;user-select:none;border-radius:12px;flex-shrink:0;width:140px;height:50px}.contact-canvas .cap input{letter-spacing:.12em;flex:1;min-width:0}.contact-canvas .cap .cap-r{border:1.5px solid var(--line);width:44px;height:50px;color:var(--ink);cursor:pointer;background:0 0;border-radius:12px;flex-shrink:0;font-size:20px;transition:border-color .3s}.contact-canvas .cap .cap-r:hover{border-color:var(--teal)}.contact-canvas .cap-err{color:#d92d33;background:#e5484d1a;border:1px solid #e5484d59;border-radius:10px;margin-top:4px;padding:8px 12px;font-size:13px;font-weight:600;animation:.6s ease-out contact_cap_flash}@keyframes contact_cap_flash{0%{opacity:0;background:#e5484d59;transform:translateY(-4px)}40%{opacity:1;background:#e5484d4d;transform:none}to{background:#e5484d1a}}.contact-canvas .form.folded>:not(.ok){visibility:hidden}.contact-canvas .btn{font:600 15.5px var(--font-jakarta), "Plus Jakarta Sans", sans-serif;cursor:pointer;color:#fff;background:linear-gradient(90deg, var(--teal), var(--blue));border:0;border-radius:99px;justify-content:center;align-items:center;gap:10px;padding:16px 28px;transition:transform .25s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000040}.contact-canvas .btn:hover{transform:translateY(-3px)}.contact-canvas .btn:before{content:"";background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:40%;height:100%;animation:3.2s infinite contact_sheen;position:absolute;top:0;left:-60%;transform:skew(-20deg)}@keyframes contact_sheen{60%,to{left:130%}}.contact-canvas .btn.dk{background:var(--panel);color:var(--ink);border:1.5px solid var(--line);font-weight:600;box-shadow:0 8px 24px #0f172a0a}.contact-canvas .btn.dk:hover{background:var(--field);border-color:var(--teal);color:var(--teal);transform:translateY(-3px);box-shadow:0 12px 28px #0f172a1f}:root[data-theme=dark] .contact-canvas .btn.dk,html.dark .contact-canvas .btn.dk,.dark .contact-canvas .btn.dk{color:#fff;background:#0f1d38;border:1.5px solid #1b2a45;box-shadow:0 14px 30px #00000059}:root[data-theme=dark] .contact-canvas .btn.dk:hover,html.dark .contact-canvas .btn.dk:hover,.dark .contact-canvas .btn.dk:hover{border-color:var(--teal);color:#fff;background:#13233f}.contact-canvas .btn .pl{transition:transform .8s cubic-bezier(.6,0,.2,1),opacity .8s;display:inline-block}.contact-canvas .form.sent .btn .pl{opacity:0;transform:translate(220px,-110px)rotate(-20deg)scale(.4)}.contact-canvas .ok{background:var(--panel);text-align:center;opacity:0;pointer-events:none;z-index:10;border-radius:30px;place-content:center;gap:10px;padding:24px;transition:opacity .5s .5s;display:grid;position:absolute;inset:0}.contact-canvas .form.sent .ok{opacity:1;pointer-events:auto}.contact-canvas .ok svg{width:96px;margin:auto}.contact-canvas .ok circle,.contact-canvas .ok path{fill:none;stroke:var(--teal);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:300;stroke-dashoffset:300px}.contact-canvas .form.sent .ok circle{animation:1s .9s forwards contact_draw}.contact-canvas .form.sent .ok path{animation:.6s 1.6s forwards contact_draw}@keyframes contact_draw{to{stroke-dashoffset:0}}.contact-canvas .ok h3{color:var(--ink);font-size:28px}.contact-canvas .ok p{color:var(--mute)}.contact-canvas .ok button{margin:8px auto 0}.contact-canvas .still{padding:38px}.contact-canvas .still .bt{flex-wrap:wrap;gap:12px;margin:18px 0 26px;display:flex}.contact-canvas .mk{border-top:1px solid var(--line);color:var(--blue);justify-content:space-between;align-items:center;padding-top:22px;font-size:26px;font-weight:600;line-height:1.15;display:flex}.contact-canvas .mk b{font-size:34px;animation:1.6s ease-in-out infinite contact_arr;display:inline-block}@keyframes contact_arr{50%{transform:translate(8px,-8px)}}.contact-canvas .skip{margin-top:20px;padding:34px}.contact-canvas .skip .bt{flex-wrap:wrap;gap:14px;margin-top:18px;display:flex}.contact-canvas .rv{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(46px)scale(.96)}.contact-canvas .rv.in{opacity:1;transform:translateY(0)scale(1)}@media (max-width:960px){.contact-canvas .hero,.contact-canvas .g2,.contact-canvas .dk2,.contact-canvas .cv{grid-template-columns:1fr}.contact-canvas .hero-text{max-width:100%;transform:none}.contact-canvas .hero .orb{justify-self:center;margin:0 auto;transform:none}.contact-canvas .map{position:static}.contact-canvas .bst{grid-template-columns:1fr 1fr}.contact-canvas .orb{height:400px}.contact-canvas .g4{grid-template-columns:1fr 1fr}.contact-canvas .fg{grid-template-columns:1fr}.contact-canvas .fly{height:170px}}@media (max-width:560px){.contact-canvas .fly{display:none}.contact-canvas .hero .orb,.contact-canvas .orb{margin:-30px auto;transform:scale(.78)}.contact-canvas .tint{padding:30px 16px}.contact-canvas .g4{grid-template-columns:1fr}.contact-canvas .form,.contact-canvas .still,.contact-canvas .skip{padding:24px 18px}.contact-canvas .row{flex-wrap:wrap}.contact-canvas .row b{font-size:14.5px}.contact-canvas .row small{font-size:10px}.contact-canvas .crumb{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.contact-canvas *,.contact-canvas :before,.contact-canvas :after{transition:none!important;animation:none!important}.contact-canvas h1 .c{transform:none!important}.contact-canvas .rv{opacity:1!important;transform:none!important}}:root[data-theme=dark] .contact-canvas .card,html.dark .contact-canvas .card,.dark .contact-canvas .card{box-shadow:inset 0 1px #ffffff14,0 4px 14px -2px #00000080,0 16px 36px -6px #000000a6}:root[data-theme=dark] .contact-canvas .card:hover,html.dark .contact-canvas .card:hover,.dark .contact-canvas .card:hover{box-shadow:inset 0 1px #ffffff24,0 12px 28px -4px #000000b3,0 28px 56px -8px #000000d9}:root[data-theme=dark] .contact-canvas .form,html.dark .contact-canvas .form,.dark .contact-canvas .form{box-shadow:inset 0 1px #ffffff14,0 6px 18px -2px #0009,0 24px 60px -10px #000000bf}:root[data-theme=dark] .contact-canvas .map,html.dark .contact-canvas .map,.dark .contact-canvas .map{box-shadow:inset 0 1px #ffffff14,0 6px 16px -2px #00000080,0 18px 40px -6px #000000b3}:root[data-theme=dark] .contact-canvas .row,html.dark .contact-canvas .row,.dark .contact-canvas .row{box-shadow:inset 0 1px #ffffff14,0 3px 8px -1px #0006,0 8px 20px -2px #0000008c}@media (max-width:560px){.contact-canvas .hero{flex-direction:column;align-items:stretch;gap:0;display:flex}.contact-canvas .hero-text{display:contents}.contact-canvas .hero .orb,.contact-canvas .orb{transform-origin:50%;order:1;justify-self:auto;width:100%;height:430px;margin:-52px auto -72px;transform:scale(.62)}.contact-canvas .hb{order:2;margin-top:24px}}#get-in-touch{scroll-margin-top:76px}.contact-canvas .send-err{margin:4px 0 12px;line-height:1.5}.contact-canvas .send-err a{color:inherit;text-underline-offset:2px;text-decoration:underline}
