canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;transition:opacity .3s var(--ease-3)}#matrix-canvas{z-index:1;background:#000}#overlay-canvas{z-index:2;background:transparent}.canvases-fade-out{animation:fadeOut .3s var(--ease-3) forwards}@keyframes fadeOut{to{opacity:0}}#splash-screen{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;z-index:1000}.splash-logo{max-width:90px;margin-bottom:0;filter:drop-shadow(0 0 10px var(--splash-glow-color));opacity:0;transition:opacity .3s var(--ease-3)}#title-container{display:flex;flex-direction:column;align-items:center;gap:0;position:relative;z-index:1002;text-align:center}.title-fly-away{animation:titleFlyUpFadeOut .6s var(--ease-3) forwards}@keyframes titleFlyUpFadeOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100px);opacity:0}}.site-title{font-size:var(--font-size-7);text-align:center;color:var(--cyan-1)}.typewriter{font-family:Saira,sans-serif;font-weight:var(--font-weight-5);display:inline-block}.word{display:inline}.cursor{font-weight:var(--font-weight-9);color:var(--splash-cursor-color);text-shadow:0 0 10px var(--splash-glow-color);display:inline;padding-left:var(--size-1);animation:blink .7s step-end infinite;opacity:.75}.cursor-fade-out{animation:blink .7s step-end infinite}@keyframes blink{50%{opacity:0}}.letter-glow{animation:glow 1s var(--ease-3) forwards}@keyframes glow{0%{color:var(--splash-glow-color);text-shadow:0 0 6px var(--splash-glow-color)}to{color:var(--cyan-1);text-shadow:none}}.skip-btn{position:absolute;bottom:var(--size-7);right:var(--size-7);z-index:1010;background:var(--splash-skip-bg);color:var(--splash-cursor-color);border:var(--border-size-1) solid var(--splash-skip-border);padding:var(--size-2) var(--size-4);border-radius:var(--radius-4);cursor:pointer;font-family:Saira,sans-serif;font-size:var(--font-size-1);transition:all .3s var(--ease-3);opacity:.7;pointer-events:auto}.skip-btn:hover{opacity:1;background:var(--splash-skip-hover-bg);transform:translateY(var(--size--2))}.skip-btn:focus{outline:var(--border-size-2) solid var(--splash-cursor-color);outline-offset:var(--size-1);opacity:1;transform:scale(var(--font-size-1))}#main-content{opacity:0;transition:opacity .3s var(--ease-3);position:relative;z-index:100;height:100vh;padding-top:var(--size-9);box-sizing:border-box}.top-navbar{position:fixed;top:-80px;left:0;right:0;height:64px;backdrop-filter:blur(10px);display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;z-index:2000;transition:top .3s ease}.top-navbar.navbar-visible{top:0}.navbar-left{display:flex;align-items:center;gap:var(--size-4)}.logo-small{height:var(--size-7);width:auto;transition:filter .3s ease}.navbar-title{font-family:Saira,sans-serif;font-size:var(--font-size-4);margin:0;font-weight:var(--font-weight-5);transform:translateY(var(--size--2));animation:fadeInUp .3s var(--ease-3) forwards;animation-delay:.3s}.navbar-left:hover .logo-small{filter:drop-shadow(0 0 var(--size-2) var(--splash-glow-color))}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.navbar-right{display:flex;align-items:center;gap:var(--size-3)}@media (max-width: 480px){.typewriter{display:flex;flex-wrap:wrap;justify-content:center}.word{display:inline;margin-right:var(--size-1)}.word:last-of-type{margin-right:0}.site-title{font-size:var(--font-size-4)}.skip-btn{bottom:var(--size-4);right:var(--size-4);padding:var(--size-2) var(--size-3)}.navbar-title{font-size:var(--font-size-3)}.logo-small{height:var(--size-7)}@keyframes titleFlyUpFadeOut{to{transform:translateY(-50px)}}}.hamburger-btn{width:var(--size-6);height:var(--size-6);display:flex;flex-direction:column;justify-content:center;gap:var(--size-1);background:none;border:none;cursor:pointer;padding:0}.hamburger-btn span{display:block;height:2px;width:100%;transition:all .3s ease;transform-origin:center}.hamburger-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--cyan-4)!important}.hamburger-btn.active span:nth-child(2){opacity:0}.hamburger-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--cyan-4)!important}.sidebar{position:fixed;top:0;right:-300px;width:300px;height:100%;backdrop-filter:blur(20px);z-index:3000;transition:right .3s ease;padding:var(--size-8) var(--size-5);display:flex;flex-direction:column;box-shadow:-5px 0 25px #0000004d;overflow-y:auto}.sidebar.open{right:0}.close-btn{position:absolute;top:var(--size-1);right:var(--size-4);background:none;border:none;font-size:var(--font-size-6);cursor:pointer;padding:var(--size-1);color:var(--cyan-7)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--size-3);margin-bottom:var(--size-8)}.sidebar-nav a{text-decoration:none;padding:var(--size-2) var(--size-3);border-radius:var(--radius-3);transition:all .3s ease;font-weight:var(--font-weight-5)}.sidebar-nav a:hover{transform:translate(-5px);box-shadow:2px 2px 0 2px #0000000d}.sidebar-controls{position:relative;margin-top:auto;display:flex;flex-direction:column;gap:var(--size-4)}.toggle-theme-btn{background:transparent;border:transparent;padding:var(--size-2) var(--size-3);border-radius:var(--radius-4);cursor:pointer;transition:all .3s ease}.theme-icon{font-size:var(--font-size-3)}.sidebar-footer{text-align:center}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;backdrop-filter:blur(5px);z-index:2999;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-overlay.active{opacity:1;visibility:visible}@media (max-width: 480px){.sidebar{width:280px;right:-280px}.hamburger-btn{width:var(--size-5);height:var(--size-5)}}.accessibility-toggle-btn{display:flex;align-items:center;gap:var(--size-2);padding:var(--size-2) var(--size-3);border-radius:var(--radius-3);cursor:pointer;transition:all .3s ease;font-family:Saira,sans-serif;font-weight:500;width:100%;justify-content:center;margin-bottom:var(--size-3);position:relative;z-index:2}.accessibility-panel{position:absolute;bottom:100px;left:calc(var(--size-1) - 2%);right:calc(var(--size-1) - 2%);margin-bottom:var(--size-2);border:1px solid var(--cyan-8);border-radius:var(--radius-3);padding:var(--size-3);z-index:1;box-shadow:0 -4px 12px #0000004d}.accessibility-panel[hidden]{display:none}.accessibility-panel{animation:slideUp .3s ease forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body.reduce-motion .accessibility-panel{animation:none}.accessibility-controls{padding-top:var(--size-00);margin-top:var(--size-00)}.accessibility-controls h3{font-size:var(--font-size-2);margin-top:var(--size-00);margin-bottom:var(--size-1);text-align:center}.control-group{margin-bottom:var(--size-3)}.control-group label{display:block;margin-bottom:var(--size-1);font-size:var(--font-size-0);font-weight:var(--font-weight-5)}.font-controls{display:flex;align-items:center;gap:var(--size-2);justify-content:center}.font-btn,.accessibility-btn{padding:var(--size-2) var(--size-3);border-radius:var(--radius-2);cursor:pointer;transition:all .3s ease;font-family:Saira,sans-serif;font-size:var(--font-size-1);font-weight:500}.font-btn:hover,.accessibility-btn:hover,.font-btn:focus,.accessibility-btn:focus{transform:translateY(-1px)}.current-size{min-width:var(--size-6);text-align:center;font-weight:var(--font-weight-6)}body.increased-spacing{--font-lineheight-3: 1.8 !important;letter-spacing:.05em!important}body.reduce-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media (max-width: 480px){.accessibility-controls{padding-top:var(--size-3)}.font-btn,.accessibility-btn{padding:var(--size-2);font-size:var(--font-size-0)}.control-group{margin-bottom:var(--size-2)}}.reset-btn{background:color-mix(in srgb,var(--red-9) 40%,transparent)!important;border-color:var(--red-7)!important;width:100%;margin-bottom:var(--size-00)}.reset-btn:hover{background:color-mix(in srgb,var(--red-8) 60%,transparent)!important}.accessibility-btn.active{background:color-mix(in srgb,var(--cyan-7) 50%,transparent)!important;box-shadow:0 0 0 2px var(--cyan-4)}.skip-btn:focus-visible{opacity:1!important;transform:scale(1.1)!important;outline:4px solid var(--cyan-4)!important}.hamburger-btn:focus-visible{outline:3px solid var(--cyan-4)!important;outline-offset:3px!important;border-radius:4px}.sidebar-nav a:focus-visible{background:color-mix(in srgb,var(--cyan-10) 95%,transparent)!important;outline:2px solid var(--cyan-10)!important;transform:translate(-5px);color:var(--cyan-0)}.toggle-theme-btn:focus-visible{outline:3px solid var(--cyan-4)!important;outline-offset:2px!important;background:color-mix(in srgb,var(--cyan-8) 60%,transparent)!important}.font-btn:focus-visible,.spacing-btn:focus-visible,.contrast-btn:focus-visible,.animation-btn:focus-visible{outline:2px solid var(--cyan-4)!important;outline-offset:2px!important;background:color-mix(in srgb,var(--cyan-8) 50%,transparent)!important}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}#counters-block{text-align:center;view-timeline-name:--counters-timeline;view-timeline-axis:block}.counters-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.counter-item{transition:transform .3s ease}.counter-number{font-size:var(--font-size-fluid-3);font-weight:500;margin-bottom:15px;display:block}.counter-label{font-size:1.5rem;font-weight:600;margin-bottom:10px}.counter-description{line-height:1.6}@property --clients-value{syntax: "<integer>"; initial-value: 0; inherits: false;}@property --projects-value{syntax: "<integer>"; initial-value: 0; inherits: false;}@property --partners-value{syntax: "<integer>"; initial-value: 0; inherits: false;}@keyframes count-up{0%{--clients-value: 0;--projects-value: 0;--partners-value: 0}to{--clients-value: 15;--projects-value: 18;--partners-value: 7}}.counter-item:nth-child(1) .counter-number:before{content:counter(clients);counter-reset:clients var(--clients-value);animation:count-up 3s linear forwards;animation-timeline:--counters-timeline;animation-range:contain -100% contain -30%}.counter-item:nth-child(2) .counter-number:before{content:counter(projects);counter-reset:projects var(--projects-value);animation:count-up 3s linear forwards;animation-timeline:--counters-timeline;animation-range:contain -100% contain -30%}.counter-item:nth-child(3) .counter-number:before{content:counter(partners);counter-reset:partners var(--partners-value);animation:count-up 3s linear forwards;animation-timeline:--counters-timeline;animation-range:contain -100% contain -30%}@media (max-width: 768px){.counters-container{grid-template-columns:1fr}}button.contact-btn{padding:var(--size-3) var(--size-5);border-radius:var(--radius-4);font-size:var(--font-size-fluid-1);cursor:pointer}button.contact-btn:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.modal-dialog{padding:2rem;border-radius:8px;max-width:70%;width:60%;box-shadow:0 15px 70px 40px #00000073;position:relative;zoom:85%;opacity:0;transform:scale(.9) translateY(-100px);transition:opacity .3s ease,transform .3s ease,overlay .3s ease allow-discrete,display .3s ease allow-discrete}.modal-dialog::backdrop{background-color:#3d3d3d99;backdrop-filter:blur(15px) saturate(.5)}@media (max-width: 480px) and (orientation: portrait),(max-width: 768px) and (max-height: 600px) and (orientation: portrait){.modal-dialog{max-width:none;width:100%;height:100dvh;border-radius:0;margin:0;padding:2rem 1.5rem}@media (max-height: 700px){.modal-dialog{padding:1.5rem 1rem}}}@media (max-width: 768px) and (orientation: landscape){.modal-dialog{max-width:500px;width:90%;border-radius:8px}}.modal-dialog[popover]:popover-open{opacity:1;transform:scale(1) translateY(0);@starting-style{opacity:0;transform:scale(.9) translateY(-100px)}}.modal-dialog[popover]{transition:opacity .2s ease,transform .2s ease,overlay .2s ease allow-discrete,display .2s ease allow-discrete}.open-modal-btn{background:#007bff;color:#fff;padding:10px 20px;border-radius:6px;cursor:pointer;margin-top:1rem;border:none}.desktop-close{position:absolute;top:12px;right:16px;font-size:24px;cursor:pointer;background:none;border:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;z-index:100;color:var(--gray-7)}.desktop-close:hover{color:var(--red-7)}.mobile-close-btn{display:none;background-color:var(--gray-9);color:#fff;border:none;padding:12px 20px;border-radius:4px;font-size:1rem;cursor:pointer;flex:1}.btn-icon{font-size:1.2em;margin-right:8px}@media (max-width: 768px) and (orientation: portrait){.modal-dialog{max-width:none;width:100%;height:100%;border-radius:0;margin:0;padding:1.5rem;border:none}.desktop-close{display:none}.mobile-close-btn{display:block}.form-buttons{display:flex;gap:.75rem;margin-top:auto;padding:1.5rem 0;border-top:1px solid var(--gray-7)}.mobile-close-btn,.clear-btn,.submit-btn{display:flex;align-items:center;justify-content:center;flex:1;padding:12px 16px;font-size:1rem}.form-buttons{padding-bottom:env(safe-area-inset-bottom,1rem)}}@media (max-width: 768px) and (orientation: landscape){.desktop-close{display:flex}.mobile-close-btn{display:none}}#emailForm{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}#emailForm>button.modal-close,#emailForm>h3{grid-column:1 / -1;position:relative;z-index:101}#emailForm>button.modal-close{position:absolute;top:12px;right:16px;grid-row:1!important;margin:0}#emailForm>h3{grid-row:1;padding:0;margin:0!important;font-size:max(1.34rem,min(4vw,1.7rem));font-weight:500;text-align:left;width:fit-content;max-width:calc(100% - 64px);word-break:break-word}.label-container{display:flex;justify-content:space-between;align-items:center;grid-column:1 / -1}label{font-weight:400;font-size:1.2rem}.message-container{grid-area:9 / 1 / 9 / 3}.error-message{color:#dc3545;font-size:.8em;text-align:right;margin:0;padding:0}#emailForm>.label-container[data-for=from_name],#emailForm>#from_name,#emailForm>.label-container[data-for=from_email],#emailForm>#from_email{grid-column:1}#emailForm>.label-container[data-for=category],#emailForm>#category,#emailForm>.label-container[data-for=subcategory],#emailForm>#subcategory,#emailForm>#subcategory-options{grid-column:2}#emailForm>.label-container[data-for=from_name]{grid-row:2}#emailForm>#from_name{grid-row:3}#emailForm>.label-container[data-for=from_email]{grid-row:4}#emailForm>#from_email{grid-row:5}#emailForm>.label-container[data-for=category]{grid-row:2}#emailForm>#category{grid-row:3 / span 2}#emailForm>.label-container[data-for=subcategory]{grid-row:4}#emailForm>#subcategory{grid-row:5 / span 2}#emailForm>#subcategory-options{grid-row:5 / span 2}#emailForm>.label-container[data-for=subject],#emailForm>#subject,#emailForm>.label-container[data-for=message],#emailForm>#message,#emailForm>.form-buttons{grid-column:1 / -1}#emailForm>.label-container[data-for=subject]{grid-row:6}#emailForm>#subject{grid-row:7}#emailForm>.label-container[data-for=message]{grid-row:8}#emailForm>#message{grid-row:9}#emailForm>.form-buttons{grid-row:10}@media (max-width: 768px){#emailForm{grid-template-columns:1fr;gap:.75rem}#emailForm>*{grid-column:1!important}#emailForm>button.modal-close{position:absolute;top:12px;right:16px;z-index:101;grid-row:1!important}#emailForm>h3{grid-row:1;text-align:center;max-width:fit-content}#emailForm>.label-container[data-for=from_name]{grid-row:2}#emailForm>#from_name{grid-row:3}#emailForm>.label-container[data-for=from_email]{grid-row:4}#emailForm>#from_email{grid-row:5}#emailForm>.label-container[data-for=category]{grid-row:6}#emailForm>#category{grid-row:7}#emailForm>.label-container[data-for=subcategory]{grid-row:8}#emailForm>#subcategory{grid-row:9}#emailForm>.label-container[data-for=subject]{grid-row:10}#emailForm>#subject{grid-row:11}#emailForm>.label-container[data-for=message]{grid-row:12}#emailForm>#message{grid-row:13}#emailForm>.form-buttons{grid-row:14}.message-container{grid-area:13 / 1 / 13 / 2}}input,textarea{width:100%;padding:10px;border-radius:4px;font:inherit;resize:vertical;font-size:1.2rem!important}input[list]{position:relative}datalist{max-height:200px;overflow-y:auto}input:-webkit-autofill{transition:background-color 5000s ease-in-out 0s}#category{width:100%;padding:14px;border-radius:4px;font-size:1.2rem;cursor:pointer;appearance:none;background-repeat:no-repeat;background-position:right 12px center;background-size:12px;transition:border-color .2s,box-shadow .2s}#category option{padding:8px;font-size:.95rem}#subcategory{width:100%;border-radius:4px;font:inherit;transition:border-color .2s,box-shadow .2s}#subject{width:100%;border-radius:4px;font:inherit;cursor:not-allowed}.form-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.clear-btn{color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}button[type=submit]{color:#fff;border:inherit;padding:10px;border-radius:4px;font-size:1rem;cursor:pointer}@font-face{font-family:"Font Awesome 6 Pro";src:url(../webfonts/fa-light-300.woff2) format("woff2");font-weight:300}button span:before{font-family:"Font Awesome 6 Pro";margin-right:var(--size-2)}button.mobile-close-btn span:before{content:"\f177"}button.clear-btn span:before{content:"\f1f8"}button.submit-btn span:before{content:"\f0e0"}.error-message{color:#dc3545;font-size:1.2em}.success-content{display:flex;flex-direction:column;height:94%;justify-content:center}.clearable{position:relative;display:inline-block;width:100%}.clearable input,.clearable textarea{box-sizing:border-box;width:100%;padding-right:2.6rem}.clearable .clear-btn{position:absolute;right:.8rem;top:.8rem;width:1.6rem;height:1.6rem;border-radius:6px;cursor:pointer;visibility:hidden;opacity:0;transition:background-color .5s ease,transform 5.5s ease,opacity .5s ease-in-out;font-size:.8rem;line-height:0rem;padding:.4rem;aspect-ratio:1 / 1}.clearable.has-value .clear-btn{visibility:visible;opacity:1}.vcard-link{color:var(--cyan-9);text-decoration:underline;cursor:pointer;transition:color .3s ease}.vcard-link:hover{color:var(--cyan-8);text-decoration:none}.vcard-link:focus{outline:2px solid var(--cyan-9);outline-offset:2px}@media (prefers-reduced-motion: reduce){.clearable .clear-btn{transition:none}}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:1.6rem;height:1.6rem;margin-right:.4rem;background:#ffffff0f url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='%23fff' d='M14.348 5.652a.8.8 0 0 0-1.13 0L10 8.87 6.782 5.652a.8.8 0 1 0-1.13 1.13L8.87 10l-3.218 3.218a.8.8 0 1 0 1.13 1.13L10 11.13l3.218 3.218a.8.8 0 0 0 1.13-1.13L11.13 10l3.218-3.218a.8.8 0 0 0 0-1.13z'/></svg>") center/60% no-repeat;border-radius:6px;cursor:pointer;transition:background-color .5s ease,transform .5s ease,opacity .5s ease}input[type=search]:hover::-webkit-search-cancel-button,input[type=search]:focus::-webkit-search-cancel-button{background-color:#ff191980;transform:scale(1.06);opacity:1}input[type=search]::-webkit-search-cancel-button:active{transform:scale(.52)}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}button.phone-link.qr-button{background:transparent;border:none;color:inherit;font-size:large;cursor:pointer}.phone-link:hover{background:#1473e61a}@media (min-width: 769px){.phone-call{display:none}.phone-qr{display:inline-block}}@media (max-width: 768px){.phone-call{display:inline-block}.phone-qr,button.phone-link.qr-button{display:none}}#qrpopover{border:none;padding:1.5rem;border-radius:1rem;max-width:280px;text-align:center;box-shadow:0 10px 25px #0003;background-color:var(--gray-12);color:var(--cyan-3)}#qrpopover::backdrop{background-color:#00000080;backdrop-filter:blur(6px)}button.icon{background:none;border:none;cursor:pointer;position:absolute;top:1rem;right:1rem;filter:grayscale();outline:0;font-size:1.2rem}#qrpopover h3{margin-top:0;margin-bottom:1rem;color:unset}#qrpopover p{color:var(--cyan-0);margin-bottom:1.5rem;padding:0!important}.qr-code{width:200px;height:200px;margin:0 auto 1.5rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.qr-code img{width:100%;height:100%;object-fit:contain}.phone-display{font-size:1.2rem;font-weight:400;margin-bottom:1rem;color:var(--cyan-4)}button.primary{background-color:var(--gray-9);padding:.8rem 2rem;border-radius:.6rem;border:none;color:#fff;cursor:pointer;width:100%}button.primary:hover{background-color:var(--gray-8)}
